I'll second what Justin said. You're being loose with your stops, and quick with your profits. It's something every trader struggles with, but you need to train yourself to be tight with your stops and let your winners run.
Here is a technique that has really helped me personally when I'm already in a green position - I pretend I'm not in the position, and I pretend that I'm evaluating it as a new trade in the direction that I want to go (long/short). For this example, I'll just say we're green in a long position. I'll ask myself, pretending I'm not in a position:
Would I enter right now? If yes, then hold. If not, then why not? If I won't enter because the trade will probably continue to climb, but it's already made an initial move so I can't get in without a good risk/reward, then hold. If I don't enter because I'm simply uncertain as to whether it will continue long or not, then I consider a partial. If I don't enter because it looks overextended, or it MAY reverse/pull back, then that's a good time to do a full exit.
Hope this helps!