for me it seems that you simply cannot use the manual trading; because you are right; you expect to buy at the open (or close of the previous bar if you prefer), you need to backtest using open bar only, and it will work....
thanks, backtest would work but since it's a discretionary system it's impossible to write an EA
![MQL5 - Language of trade strategies built-in the MetaTrader 5 client terminal](https://c.mql5.com/i/registerlandings/logo-2.png)
You are missing trading opportunities:
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
Registration
Log in
You agree to website policy and terms of use
If you do not have an account, please register
Decisions are made at the H1 bar Open so the backtesting model used is "Open prices only".
Suppose the following situation:
9.00 am bar - open: 1.0000, bar close 1.0100 (+100 pips)
10.00 am bar - open: 1.0100, bar close 1.0200 (+100 pips)
11.00 am bar - open: 1.0200, bar close 0.9900 (-300 pips)
Let us suppose that in real-time the 09.00 am bar completes my setup and I open new long position at the open of the 10.00 am bar (1.0100). Potential profit is 100 pips.
In visual backtesting at 9.00 am I do not see the whole bar, but only a "mark" showing it's just started. Fine. I hit F12 and now I can see the whole 9.00 am bar, but also the "marker" of the next bar. Trade setup is now complete and I "drag" buy command to the chart and hit F12. At this point my order gets filled at the Close of the 10.00 am bar (1.0200) INSTEAD of at the Open (1.0100). A whole hour too late!
Let's say it seems now that the price is overextended and I decide to close the position. I drag the number of ticket to close, hit F12 and get my order closed at the close of the 11.00 am bar!
Instead of earning 100 pips (or a fraction of it, as I could in real time) my position is closed with 300 pips loss! Completely false backtest result.
Potential workaround would be to use control points or every tick model. However, this is quite cumbersome and still only a partial workaround.
Is there a way to do a proper backtest of the described situation/strategy?
Thanks