You need more granular data. Most days will hit both up .3 and down .2. How do you know which is hit first?
The problem I believe is the market does not go into a straight line. From open to close you might gain 1%, But what if the market went -2% (low) then 3% (high) then 1% (close) ? Price would have hit your SL before your TP So instead of being a winner as in theory, You would have actually lost in practice.
For intraday strategy and with daily data you might want to consider a day as being a week. To add some dynamics to your backtest. Never done it myself but if it works this way then it might as well works intraday.
Where could I get more granular data? I calculated there's been about 124 million seconds of trading action since January 1st, 2000. I'd love to get that data. But I'd settle for every minute, or 15 minutes, or even hour I suppose. I tried the strategy out the morning and had 3 consecutive losses. Stopped out at 0.2%. The trades only lasted average of 35 minutes. So I know I need to make the stops wider. I moved them to 0.3% SL and 0.4% TP, but I don't think that will be wide enough either.
True. But just as often, I could win in practice when I would have lost. Truth is that I need more granular data.
That’s because the late volatility is in the tail of your distribution. If you do your analysis on the YTD data then you will see that your numbers will be 5x bigger.
It’s like if you say, in average there are 100 peoples daily a this swimming pull since 2000. But in the coldest winter there will be 0. And in the warmest summer there will be 1000. And you always bring 100 ice creams to sell them. You need to adapt to the current conditions.
Esignal gives a free trial. Delayed historical data isn't that expensive. While I like the idea to look at distributions, a major component of strategy development is understanding what you can practically do. If all you have is daily data, I assume you have hi/low data too? Look at longer time periods. Weekly or monthly. You need to reduce the chance tp and sl are hit in the same period so you know which is first. If both hit in same period you need to assume sl hit first.
The way to do it is to take, for exemple, the last 1000 days and give more weight to the nearest data. Then compute the parameters. Mean, variance. Make a student T distribution. And get your numbers from this distribution.