The debugger with hist. Data has a problem that makes it practically worthless. I use one (my) indicator on EURUSD m15, which runs everywhere without problems (symbols, time frame), and I call the same indicator parallel for m1. The StrategyTester EURUSD m15 is switched on. Start date 2021.06.15. OnInit() with:
The EA itself is designed for multiple symbols (later). Therefore there is the call of the method oTick, which simulates OnTick():
int CMa::oTick() {
ResetLastError();
Requotes = false;
string frLne="";
int n = 0;
if ( (n=BarsCalculated(Hdl_UmaSlow))<min_rates_total)
return n;
if (!SymbolInfoTick(SYM,q))
return -__LINE__;
if ( q.ask*q.bid==0)
return -__LINE__; // checkif ( CopyRates(SYM,TF_UmaSlow,0,2,b)<2) {
Print(__LINE__," e: ",sErr());
return -__LINE__;
}// return false; //
tC = TimeCurrent();
if (tC >= D'2021.06.16 05:15') // start of the program to analyse and trade
tC = TimeCurrent(); // to switch on and off on-the-fly debugBreak()elsereturn n;
I query if the long indicator already has enough values (BarsCalculated(Hdl_UmaSlow))), which happens after a short while, but suddenly the indicator gets no more values and BarsCalculated() falls back to zero and stays there?
void OnTimer() {
static int count, retN=0;
datetime tC = TimeCurrent();
if (tC >= D'2021.06.16 05:15') count++;
int ret,iSym = NoSym;
while(iSym-->0) {
ret = arrCMa[iSym].oTick();
}
if ( ret < retN )
DebugBreak();
retN = ret;
count++;
if(count%10000==0)
count++; // to switch on and off on-the-fly debugBreak()
}
(BTW I have no function OnTick() - only OnTimer()
The chart shows certain oddities: 1. you can see when the indicator(s) are no longer calculated, although the chart continues to get the rates??? 2. where does the chart EURUSD M5 come from, I have only m15 and m1? 3. no other indicator is started with m5. 4. when I bring the m5-chart to the foreground, it is the M15 chart or - to put it in different words - nothing happens, except that at the bottom the tabs change???
Below are the charts of m15 and m5.
Отладчик с hist. У данных есть проблема, которая делает их практически бесполезными. Я использую один (свой) индикатор на EURUSD m15, который везде работает без проблем (символы, таймфреймы), и этот же индикатор я называю параллельным для m1. Включен StrategyTester EURUSD m15. Дата начала 2021.06.15. OnInit () с:
Сам советник рассчитан на несколько символов (позже). Поэтому есть вызов метода oTick, имитирующего OnTick ():
int CMa::oTick() {
ResetLastError ();
Requotes = false ;
string frLne= "" ;
int n = 0 ;
if ( (n= BarsCalculated (Hdl_UmaSlow))<min_rates_total)
return n;
if (! SymbolInfoTick (SYM,q))
return - __LINE__ ;
if ( q.ask*q.bid== 0 )
return - __LINE__ ; // checkif ( CopyRates (SYM,TF_UmaSlow, 0 , 2 ,b)< 2 ) {
Print ( __LINE__ , " e: " ,sErr());
return - __LINE__ ;
} // return false; //
tC = TimeCurrent ();
if (tC >= D'2021.06.16 05:15' ) // start of the program to analyse and trade
tC = TimeCurrent (); // to switch on and off on-the-fly debugBreak()elsereturn n;
Я спрашиваю, достаточно ли у длинного индикатора уже значений (BarsCalculated (Hdl_UmaSlow))), что происходит через короткое время, но внезапно индикатор не получает больше значений, а BarsCalculated () возвращается к нулю и остается там?
void OnTimer() {
static int count, retN=0;
datetime tC = TimeCurrent();
if (tC >= D'2021.06.16 05:15') count++;
int ret,iSym = NoSym;
while(iSym-->0) {
ret = arrCMa[iSym].oTick();
}
if ( ret < retN )
DebugBreak();
retN = ret;
count++;
if(count%10000==0)
count++; // to switch on and off on-the-fly debugBreak()
}
(Кстати, у меня нет функции OnTick () - только OnTimer ()
На графике видны некоторые странности: 1. вы можете видеть, когда индикатор (ы) больше не рассчитываются, хотя на графике по-прежнему отображаются значения ??? 2. откуда берется график EURUSD M5, у меня только m15 и m1? 3. ни один другой индикатор не запускается с m5. 4. когда я вывожу на передний план m5-график, это график M15 или - другими словами - ничего не происходит, кроме того, что внизу вкладки меняются ???
Вот графики м15 и м5:
From/Из OnTimer();
And finally the journal entry: И, наконец, запись в дневнике:
2021.06.21 15:10:53.587 Core 01 connecting to 127.0.0.1:3000 2021.06.21 15:10:53.587 Core 01 connected 2021.06.21 15:10:53.592 Core 01 authorized (agent build 2980) 2021.06.21 15:10:53.592 Tester EURUSD,M15 (MetaQuotes-Demo): visual testing of Experts\MaDrUltima\MaEA.ex5 from 2021.06.15 00:00 to 2021.06.20 00:00 2021.06.21 15:10:53.617 Core 01 common synchronization completed 2021.06.21 15:10:53.741 Tester quality of analyzed history is 9% (5418 minute bars, tick volume errors 0, spread errors 4929)
Каждый раз, когда я начинаю отладку с помощью hist. data (MQ demo EURUSD m15) терминал (тестер) выводит в журнал:
Что это значит? Как мне интерпретировать:
Если я начну нормальную отладку своей программы:
реализует (для EURUSD m15):
Я предполагаю, что всего доступно 563 468 баров.
The debugger with hist. Data has a problem that makes it practically worthless.
I use one (my) indicator on EURUSD m15, which runs everywhere without problems (symbols, time frame), and I call the same indicator parallel for m1.
The StrategyTester EURUSD m15 is switched on. Start date 2021.06.15. OnInit() with:
finishes successfully.
The EA itself is designed for multiple symbols (later). Therefore there is the call of the method oTick, which simulates OnTick():
I query if the long indicator already has enough values (BarsCalculated(Hdl_UmaSlow))), which happens after a short while, but suddenly the indicator gets no more values and BarsCalculated() falls back to zero and stays there?
void OnTimer() { static int count, retN=0; datetime tC = TimeCurrent(); if (tC >= D'2021.06.16 05:15') count++; int ret,iSym = NoSym; while(iSym-->0) { ret = arrCMa[iSym].oTick(); } if ( ret < retN ) DebugBreak(); retN = ret; count++; if(count%10000==0) count++; // to switch on and off on-the-fly debugBreak() }(BTW I have no function OnTick() - only OnTimer()
The chart shows certain oddities:
1. you can see when the indicator(s) are no longer calculated, although the chart continues to get the rates???
2. where does the chart EURUSD M5 come from, I have only m15 and m1?
3. no other indicator is started with m5.
4. when I bring the m5-chart to the foreground, it is the M15 chart or - to put it in different words - nothing happens, except that at the bottom the tabs change???
Below are the charts of m15 and m5.
Отладчик с hist. У данных есть проблема, которая делает их практически бесполезными.
Я использую один (свой) индикатор на EURUSD m15, который везде работает без проблем (символы, таймфреймы), и этот же индикатор я называю параллельным для m1.
Включен StrategyTester EURUSD m15. Дата начала 2021.06.15. OnInit () с:
заканчивается успешно.
Сам советник рассчитан на несколько символов (позже). Поэтому есть вызов метода oTick, имитирующего OnTick ():
Я спрашиваю, достаточно ли у длинного индикатора уже значений (BarsCalculated (Hdl_UmaSlow))), что происходит через короткое время, но внезапно индикатор не получает больше значений, а BarsCalculated () возвращается к нулю и остается там?
void OnTimer() { static int count, retN=0; datetime tC = TimeCurrent(); if (tC >= D'2021.06.16 05:15') count++; int ret,iSym = NoSym; while(iSym-->0) { ret = arrCMa[iSym].oTick(); } if ( ret < retN ) DebugBreak(); retN = ret; count++; if(count%10000==0) count++; // to switch on and off on-the-fly debugBreak() }(Кстати, у меня нет функции OnTick () - только OnTimer ()
На графике видны некоторые странности:
1. вы можете видеть, когда индикатор (ы) больше не рассчитываются, хотя на графике по-прежнему отображаются значения ???
2. откуда берется график EURUSD M5, у меня только m15 и m1?
3. ни один другой индикатор не запускается с m5.
4. когда я вывожу на передний план m5-график, это график M15 или - другими словами - ничего не происходит, кроме того, что внизу вкладки меняются ???
Вот графики м15 и м5:
From/Из OnTimer();
And finally the journal entry: И, наконец, запись в дневнике:
2021.06.21 15:10:53.587 Core 01 connected
2021.06.21 15:10:53.592 Core 01 authorized (agent build 2980)
2021.06.21 15:10:53.592 Tester EURUSD,M15 (MetaQuotes-Demo): visual testing of Experts\MaDrUltima\MaEA.ex5 from 2021.06.15 00:00 to 2021.06.20 00:00
2021.06.21 15:10:53.617 Core 01 common synchronization completed
2021.06.21 15:10:53.741 Tester quality of analyzed history is 9% (5418 minute bars, tick volume errors 0, spread errors 4929)