Considering when I have setup trading strategies to test I usually pick a profit target either based on the size of the stop loss, indicators, previous experience about the win ratio I'd like to have or a genetic algorithm based on testing.
In this example I am thinking about I am keeping the actual bet size the same. What if a first trade is taken with the same size take profit and stop loss. Then if the trade wins this same trade is repeated. If the trade loses then the profit target is doubled in respect to the stop loss. This continues until there is a winning trade where the process starts again from the beginning.
Perhaps this means you could start with say 5 minute bar trades and then move up the timescale to say your more profitable 4 hour bar trades, if losers start to occur at the lower time scales.... So what happens is the amount of time you are in each trade increases.
At some point there possibly would be a maximum profit target based on the trends a particular currency has had before. There would also possibly an optimum target which may be for example 5 or 10 times the stop loss. This target may have a higher frequency of occurring and you would get you money back and start making a profit quicker than say 20 times the stop loss size.
I have included a example program demonstrating the idea which I produced on a Empty4 editor (sorry everyone) as to write a program raw with the logic I wanted to demonstrate is beyond my current abilities. This program does not work on a real account only demo or backtest. The program may not work properly on JPY pairs.