Hello,
I've been testing some EA on MT5 strategy tester . But I'm getting 2 totally different results from running the strategy tester with and without visual mode. I think It should be reasonable to believe in the results of visual mode testing. And since the optimization results are based on non-visual mode testing, it makes the results of optimizations totally worthless.
I'm so shocked and feels like everything I've been doing up until this point was totally fake and waste of time...
Please someone help me!
So far, We see a lot of emotions, but no technical details.
So: what is the build of the terminal? What are the testing settings? What tick generation mode was used? What are the advisor settings? The advisor himself?
So far, We see a lot of emotions, but no technical details.
So: what is the build of the terminal? What are the testing settings? What tick generation mode was used? What are the advisor settings? The advisor himself?
Hello, thank for responding. Yea you're right. I'm new to this programming game so I really have no idea.
Here is a simple example ea that gives different results:
#include <Trade\Trade.mqh> CTrade Trade; int AsoHandle = 0; int AtrHandle = 0; enum ENUM_MODE { MODE_RSI, MODE_STO }; input uint InpPeriod = 5; input uint InpPeriodSm = 2; input ENUM_MODE InpMode = MODE_STO; input ENUM_MA_METHOD InpMethod = MODE_EMA; input ENUM_APPLIED_PRICE InpAppliedPrice = PRICE_CLOSE; int OnInit() { AtrHandle = iATR(Symbol(),Period(),14); AsoHandle = iCustom(Symbol(),Period(),"ASO",InpPeriod,InpPeriodSm,InpMode,InpMethod,InpAppliedPrice); return(INIT_SUCCEEDED); } void OnDeinit(const int reason) { IndicatorRelease(AtrHandle); IndicatorRelease(AsoHandle); } void OnTick() { OpenPosition(); } void OpenPosition(void) { double Ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits); double Bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits); MqlRates rt[2]; CopyRates(_Symbol,_Period,0,2,rt); if(rt[1].tick_volume>1) return; double bull[]; double bear[]; CopyBuffer(AsoHandle,0,0,4,bull); CopyBuffer(AsoHandle,1,0,4,bear); ArraySetAsSeries(bull,true); ArraySetAsSeries(bear,true); double atr[]; CopyBuffer(AtrHandle,0,0,1,atr); ArraySetAsSeries(atr,true); bool pos = false; int total = PositionsTotal(); if(total <= 0) pos = true; string signal = ""; if(bear[2] > bull[2] && bear[1] < bull[1]) signal = "LONG"; if(bear[2] < bull[2] && bear[1] > bull[1]) signal = "SHORT"; if(signal == "LONG" && pos) Trade.Buy(0.01,Symbol(),Ask,Ask-atr[0]*1.5,Ask+atr[0]); if(signal == "SHORT" && pos) Trade.Sell(0.01,Symbol(),Bid,Bid+atr[0]*1.5,Bid-atr[0]); }
- www.mql5.com
Please insert the code correctly using the button (the first time I corrected your message). Second, you MUST:
- show the EA settings in the strategy tester (screenshot of the 'Inputs' tab)
- show the settings of the strategy tester (screenshot of the 'Settings' tab)
Your code is using a third party indicator - attach this indicator. Without a third-party indicator, no one can check anything.
I have the same problem!
Visual Mode -2000 €
Optimizer +4000 €
its totally different!
Same problem here.
- Using genetic optimization.
- Results reported by optimization are different than that of running with the context menu "Run Single Test," which is then different than using the start button.
- On multiple runs using the context menu "Run Single Test" or the start button, the results change drastically.
In summary:
- The extreme instability of results in different runs of the same setting renders this feature useless.
- I see this problem has been mentioned over the years in different threads, with no real and final resolution.
Configuration:
- Tested with V5 build 3337 and other V5 builds since June 2021
- Our EA uses custom-designed indicators. Both EA and indicators were checked extensively to ensure error-free running.
- We have searched and implemented every solution discussed on the internet
- Checking for updating any missing data prior to running
- Ensuring the input is correctly entered manually before running the test
- Running MT5 and tester fresh after optimization
- Ensuring indicators buffers are copied correctly in onTick
- Comparing the journal logs in different runs.
- For most of the tests we used 1 minute OHLC data, but the problem appears when using Every Tick as well
- With and without forward option.
- With and without delays.
- The only thing that only reduced the number of variations seen in the results was the Emptying tester cache. Although it didn't resolve it and still a huge difference between optimization reports and the single run results exists.
MT5 team, please consider that this is a huge source of waste of time, energy, and money for many many people.
- Free trading apps
- Over 8,000 signals for copying
- Economic news for exploring financial markets
You agree to website policy and terms of use
Hello,
I've been testing some EA on MT5 strategy tester. But I'm getting 2 totally different results from running the strategy tester with and without visual mode. I think It should be reasonable to believe in the results of visual mode testing. And since the optimization results are based on non-visual mode testing, it makes the results of optimizations totally worthless.
I'm so shocked and feels like everything I've been doing up until this point was totally fake and waste of time...
Please someone help me!