Errori, bug, domande - pagina 2388

 
Slava:

Nessun problema. Ecco l'indicatore

Ecco i registri

È vero, OnDeinit con richiesta di controllo non è stato chiamato. A causa del test dell'indicatore. OnDeinit solo durante il debug

E perché durante il debug sui dati storici non vengono dati i tick prima della data di inizio del test? Il tester li ha ricevuti e sincronizzati dopo tutto. Capisco che nella modalità "Tutti i tick" il tester non può generare tick prima della data d'inizio del test, ma nella modalità "Ogni tick basato su tick reali" sono presenti nella storia e sincronizzati (evidenziati in rosso nel log+)! Come fare il debug della parte dell'indicatore tick che si basa sui dati storici? Come ottenere i tick della barra time[0] nell'OnCalculate nel tester?

2019.02.20 10:45:28.357 RTS-3.19: symbol to be synchronized
2019.02.20 10:45:28.357 RTS-3.19: symbol synchronized, 3864 bytes of symbol info received
2019.02.20 10:45:28.365 RTS-3.19: history synchronization started
2019.02.20 10:45:28.382 RTS-3.19: load 5264 bytes of history data to synchronize in 0:00:00.007
2019.02.20 10:45:28.382 RTS-3.19: history synchronized from 2017.05.04 to 2019.02.19
2019.02.20 10:45:28.383 RTS-3.19: ticks synchronization started
2019.02.20 10:45:28.384 RTS-3.19: load 38 bytes of tick data to synchronize in 0:00:00.000
2019.02.20 10:45:28.384 RTS-3.19: history ticks synchronized from 2018.12.17 to 2019.02.18
2019.02.20 10:45:28.402 RTS-3.19,M4: history cache allocated for 15218 bars and contains 14188 bars from 2018.01.03 21:16 to 2019.02.14 23:48
2019.02.20 10:45:28.402 RTS-3.19,M4: history begins from 2018.01.03 21:16
2019.02.20 10:45:28.427 RTS-3.19,M4 (Open-Broker): generating based on real ticks
2019.02.20 10:45:28.427 RTS-3.19,M4: testing of Indicators\TestCopyTicksRange.ex5 from 2019.02.15 00:00 to 2019.02.19 00:00 started
2019.02.20 10:45:28.496 RTS-3.19 : real ticks begin from 2018.12.17 00:00:00
2019.02.20 10:46:20.806 2019.02.15 09:45:19   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.809 2019.02.15 09:47:02   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.863 2019.02.15 09:49:47   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:20.948 2019.02.15 09:55:21   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.032 2019.02.15 09:57:25   2019.02.14 23:24 - 2019.02.14 23:48  ticks_trade=0  ticks_info=0  ticks_all=0
2019.02.20 10:46:21.200 2019.02.15 10:00:00   2019.02.14 23:28 - 2019.02.15 10:00  ticks_trade=0  ticks_info=15  ticks_all=15
2019.02.20 10:47:25.096 2019.02.15 10:04:00   2019.02.14 23:32 - 2019.02.15 10:04  ticks_trade=3544  ticks_info=973  ticks_all=4517
2019.02.20 10:47:25.099 2019.02.15 10:08:00   2019.02.14 23:36 - 2019.02.15 10:08  ticks_trade=6246  ticks_info=1469  ticks_all=7715
2019.02.20 10:47:25.101 2019.02.15 10:12:00   2019.02.14 23:40 - 2019.02.15 10:12  ticks_trade=7460  ticks_info=1648  ticks_all=9108

E un'altra domanda: perché OnCalculate è stato chiamato 5 volte prima della comparsa dei tick (evidenziati in giallo nel log)?

 
Dmitriy Burlachenko:

Perché il debug sui dati storici non dà i tick prima della data di inizio del test? Il tester li ha ricevuti e li ha sincronizzati. Capisco che nella modalità "Tutti i tick" il tester non può generare tick prima della data di inizio del test, ma nella modalità "Ogni tick basato su tick reali" sono già nella storia e sincronizzati (evidenziati in rosso nel log+)! Come fare il debug della parte dell'indicatore tick che si basa sui dati storici? Come ottenere i tick della barra time[0] nell'OnCalculate nel tester?

E un'altra domanda: perché OnCalculate è stato chiamato 5 volte prima della comparsa dei tick (evidenziati in giallo nel log)?

Quando si prova su una yedetica, non cederanno mai.

Su zecche reali, fai dei test da una data molto precedente in modo che le zecche siano caricate nel database dell'agente tester.

OnCalculate viene chiamato ad ogni tick. Viene solo registrato molto meno frequentemente, all'inizio di ogni barra successiva da testare. Se, naturalmente, stiamo parlando del mio esempio di indicatore

 
Slava:

Quando il test è in corso, l'idiota non darà mai via.

Su zecche reali, fai dei test a partire da una data molto precedente per ottenere le zecche caricate nel database dell'agente tester.

OnCalculate viene chiamato ad ogni tick. È solo che la registrazione è fatta molto meno frequentemente - all'inizio di ogni prossima barra da testare. Se, naturalmente, stiamo parlando del mio esempio di indicatore

Questo è quello che ha aiutato. Grazie mille! :)

 
Slava:

Bild 1997. Ancora non è stato fissato il comportamento delle funzioni di chiusura delle posizioni parziali. Si prega di correggerlo prima del rilascio.

 

Ho già postato questo bug del compilatore una volta, ma nessuna risposta, proverò di nuovo:

class A { };
class B : public A { };
class C : public B { };

void f(A &) {  }
void f(B &) {  }  // Должна вызываться эта функция

void OnStart()
{
  C c; 
  f(c); // 'f' - ambiguous call to overloaded function
}

Il compilatore genera un falso errore. Non c'è ambiguità qui. La classe B è la più vicina degli antenati, quindi ha la priorità.

 

Ragazzi, aiutatemi, come superare il controllo prima di mettere il robot sul mercato. Dice che non ha superato la convalida, ma qual è il problema, non capisco. E non vedo il supporto tecnico sul sito

 
Stanislav Sarbey:

Ragazzi, aiutatemi, come superare il controllo prima di mettere il robot sul mercato. Dice che non ha superato la convalida, ma qual è il problema, non capisco. E non vedo il supporto tecnico sul sito

C'è scritto nel rapporto qual è il problema...

 

nessuna operazione commerciale

Cosa significa?

 
test su EURUSD,H1 non ci sono operazioni di trading
test su NZDUSD,H1 non ci sono operazioni di trading test su GBPUSDcheck,M30 non ci sono operazioni di trading test su XAUUSDcheck,Daily non ci sono operazioni di trading
 
Stanislav Sarbey:

nessuna operazione commerciale

Cosa significa questo?

Come pensi di vendere qualcosa su un mercato con una completa mancanza di conoscenza dell'inglese, che è un must per un mercato?