In backtesting AlgoTest use 1 min OHLC data. I am buying options. Suppose I want to buy at Rs. 110 , SL is at 10% i.e. 99 and for every 4% rise in premium my SL moves by 4% .
Now lets say 1 min candle opens at 108, make high of 125, low of 103 and close at 120. At the close of this candle AlgoTest will show SL moved at 112 and profit of 10.
Here AlgoTest assumes that first candle went down to 103 i.e. low of the candle and since SL it 99 its not executed and than it when to 125 and SL is moved.
This is best case scenario. Lets assume another scenario where candle opened at 108 went up till 115 and then moved down to 103 i.e. low of candle and than made high of 125 before closing at 120. In this scenario user is exited at 104 and in loss. This two scenarios are no where near and has huge difference. If I do a backtesting it show me profit of 30-40 times but in reality my profit would we some were 30%. This is no match
For backtesting to be near accurate we should have:
- Have per second data. May be have this a paid service but this will be really useful.
- If not second data, give user option to select best case scenario or worst case scenario.
- Even better would be to give user an option to give percentage of best case and worst case scenario like 60% of the time have best case and 40% of the time worst case
PS:- By worst case scenario I mean when SL come within low of the candle it should be considered executed. Also Backtesting can never be successful without 1 sec data. Please consider having 1 second data.