MetaTrader 5 Strategy Tester: bugs, bugs, suggestions for improvement - page 45

 
Slava:
Replace && with ||

PS. The condition there is RIGHT.
The condition there is for testing, not for work. Which is basically what Print is reporting. This is done, because sometimes I can give the test version to those who are interested.

And regularly, when I change the input parameters, the first run goes "idle" - i.e. it doesn't trade, then from the second run everything is OK. What is wrong with this - the genetic algorithm immediately eliminates the first results:


 
Andrey Pogoreltsev:

PS. The condition there is RIGHT.
It's a test condition, not a run condition. Which is basically what Print is reporting. This is done, because sometimes I can give the testing version to those who are interested.

And regularly, when I change the input parameters, the first run goes "idle" - i.e. it doesn't trade, then from the second run everything is OK. What's wrong with this - the genetic algorithm immediately eliminates the first results:


What is the build number?
 
Slava:
What is the build number?

2280

PS. Here's the log again when there was no trade. At the same time in OnInit it checks fine. Apparently not in OnTimer, I'll add logs. The robot does not trade if it is not allowed, probably some condition is triggered.

NL      0       21:15:27.195    Server  MetaTester 5 stopped
IE      0       22:14:37.946    Startup MetaTester 5 x64 build 2280 (13 Dec 2019)
FQ      0       22:14:37.976    Server  MetaTester 5 started on 127.0.0.1:3011
QJ      0       22:14:37.977    Startup initialization finished
DQ      0       22:14:38.125    127.0.0.1       login (build 2280)
IG      0       22:14:38.145    Network 4372 bytes of account info loaded
CP      0       22:14:38.145    Network 1482 bytes of tester parameters loaded
CG      0       22:14:38.145    Network 6332 bytes of input parameters loaded
GM      0       22:14:38.145    Network 386 bytes of symbols list loaded
CJ      0       22:14:38.146    Tester  expert file added: Experts\Advisors\4 x.ex5. 1044587 bytes loaded
DR      0       22:14:38.148    Tester  6413 Mb available, 80 blocks set for ticks generating
HG      0       22:14:38.148    Tester  initial deposit 1000000.00 USD, leverage 1:500
LM      0       22:14:38.152    Tester  successfully initialized
IJ      0       22:14:38.152    Network 1018 Kb of total initialization data received
QS      0       22:14:38.152    Tester  AMD Ryzen 5 2600 Six-Core Processor , 32704 MB
LL      0       22:14:38.163    Symbols AUDCAD.m: symbol to be synchronized
MG      0       22:14:38.164    Symbols AUDCAD.m: symbol synchronized, 3800 bytes of symbol info received
PM      0       22:14:38.486    History AUDCAD.m: load 31 bytes of history data to synchronize in 0:00:00.001
KK      0       22:14:38.486    History AUDCAD.m: history synchronized from 2016.01.04 to 2019.12.27
ME      0       22:14:38.488    Ticks   AUDCAD.m: ticks synchronization started
MS      0       22:14:38.489    Ticks   AUDCAD.m: load 38 bytes of tick data to synchronize in 0:00:00.000
QF      0       22:14:38.489    Ticks   AUDCAD.m: history ticks synchronized from 2017.01.02 to 2019.12.27
OJ      0       22:14:38.601    History AUDCAD.m,M1: history cache allocated for 742101 bars and contains 369587 bars from 2018.01.02 10:00 to 2018.12.31 20:00
MK      0       22:14:38.601    History AUDCAD.m,M1: history begins from 2018.01.02 10:00
QR      0       22:14:38.624    Tester  AUDCAD.m,M1 (RoboForex-MetaTrader 5): generating based on real ticks
NS      0       22:14:38.624    Tester  AUDCAD.m,M1: testing of Experts\Advisors\4 x.ex5 from 2019.01.01 00:00 to 2019.12.29 00:00 started with inputs:
HM      0       22:14:38.624    Tester    LotsMultiplier=1 e-06
CH      0       22:14:38.624    Tester    SymbolPostfix=.m
DG      0       22:14:38.624    Tester    DefaultSet=1
QO      0       22:14:38.624    Tester    MaxTrades=40
FK      0       22:14:38.624    Tester    Deviation=7
RG      0       22:14:38.624    Tester    ProfitDigger=false
KM      0       22:14:38.624    Tester    RandomShuffler=false
GI      0       22:14:38.624    Tester    PeriodSec=60
NK      0       22:14:38.624    Tester    Booster=1.4
GS      0       22:14:38.624    Tester    TakeProfit=9
ND      0       22:14:38.624    Tester    PipStarter=46
KH      0       22:14:38.624    Tester    Symbols=EURGBP
KM      0       22:14:38.647    Symbols EURGBP.m: symbol to be synchronized
KF      0       22:14:38.648    Symbols EURGBP.m: symbol synchronized, 3800 bytes of symbol info received
EN      0       22:14:39.139    History EURGBP.m: load 31 bytes of history data to synchronize in 0:00:00.227
QR      0       22:14:39.139    History EURGBP.m: history synchronized from 2016.01.04 to 2019.12.27
OI      0       22:14:39.141    Ticks   EURGBP.m: ticks synchronization started
QS      0       22:14:40.239    Ticks   EURGBP.m: load 38 bytes of tick data to synchronize in 0:00:01.094
IO      0       22:14:40.239    Ticks   EURGBP.m: history ticks synchronized from 2017.01.02 to 2019.12.27
GH      0       22:14:40.268    Symbols GBPUSD.m: symbol to be synchronized
JN      0       22:14:40.269    Symbols GBPUSD.m: symbol synchronized, 3800 bytes of symbol info received
QP      0       22:14:40.865    History GBPUSD.m: load 31 bytes of history data to synchronize in 0:00:00.313
MD      0       22:14:40.865    History GBPUSD.m: history synchronized from 2016.01.04 to 2019.12.27
FG      0       22:14:40.867    Ticks   GBPUSD.m: ticks synchronization started
JM      0       22:14:41.962    Ticks   GBPUSD.m: load 38 bytes of tick data to synchronize in 0:00:01.093
KF      0       22:14:41.962    Ticks   GBPUSD.m: history ticks synchronized from 2017.01.02 to 2019.12.27
HP      0       22:14:45.633    Ticks   AUDCAD.m : real ticks begin from 2017.01.02 00:00:00
FN      0       22:14:48.989    Ticks   EURGBP.m : real ticks begin from 2017.01.02 00:00:00
LE      0       22:14:53.730    Ticks   GBPUSD.m : real ticks begin from 2017.01.02 00:00:00
MO      0       22:15:11.576    Tester  final balance 1000000.00 USD
QF      0       22:15:11.576    Tester  OnTester result 0
DQ      0       22:15:11.638    Tester  AUDCAD.m,M1: 25591590 ticks, 366283 bars generated. Environment synchronized in 0:00:00.029. Test passed in 0:00:33.483 (including ticks preprocessing 0:00:11.735).
FJ      0       22:15:11.638    Tester  AUDCAD.m,M1: total time from login to stop testing 0:00:33.512 (including 0:00:02.762 for history data synchronization)
FI      0       22:15:11.638    Tester  84417924 total ticks for all symbols
LS      0       22:15:11.638    Tester  AUDCAD.m: generate 25591590 ticks in 0:00:03.625, passed to tester 25591591 ticks
GP      0       22:15:11.638    Tester  EURGBP.m: generate 23575704 ticks in 0:00:03.360, passed to tester 23575705 ticks
OF      0       22:15:11.638    Tester  GBPUSD.m: generate 35250630 ticks in 0:00:04.750, passed to tester 35250631 ticks
CG      0       22:15:11.638    Tester  2119 Mb memory used including 42 Mb of history data, 1728 Mb of tick data
RK      0       22:15:11.638    Tester  log file "E:\Metatrader\Tester\Agent-127.0.0.1-3011\logs\20200101.log" written
GR      0       22:15:11.639            test Experts\Advisors\4 x.ex5 on AUDCAD.m,M1 thread finished
LH      0       22:15:11.654    127.0.0.1       prepare for shutdown
KO      0       22:20:39.558    Server  MetaTester 5 stopped
 
Andrey Pogoreltsev:

2280

PS. Here's the log again when there was no trade. At the same time in OnInit it checks fine. Apparently not in OnTimer, I'll add logs. The robot does not trade if it is not allowed, probably some condition is triggered.

More recent build available.
 
Slava:
A more recent build is available.

It doesn't work

 
Andrey Pogoreltsev:

It doesn't work

Upgrade from MetaQuotes-Demo

 
Artyom Trishkin:

Upgrade from MetaQuotes-Demo

Thank you. Upgraded to 2286. I will write to you if there is a problem again.

 

In general, my fault. I closed flags initialization in ifdef profiling mode and got random(

PS. And, sometimes ArrayResize cleared memory (like during visual mode) - and could not catch this error there.

 

Hello again everyone)


Developers, a question for you. Is it possible to customize the parameters of the genetic algorithm? For example, can you set stopping and mutation criteria?

I often come across the fact that stopping occurs before the extremums are reached.

Also a question. Are you going to introduce other methods, such as simulated annealing?

 
Bild 2280, but this was also the case in previous versions. If I run a script or an EA for debugging, a new window of the first symbol from the market overview opens on timeframe 1H. What if I need to debug not on the first symbol or on another timeframe? Is there any way to do it without deleting all symbols to make the right one come first?