Errori, bug, domande - pagina 2658

 
Nikolai Semko:

Igor, allora provate MathSrand(int(GetMicrosecondCount()%16384));

Mi chiedo come cambierà l'immagine

int OnInit()
   {
   MathSrand(int(GetMicrosecondCount()%16384));   
   return(INIT_SUCCEEDED);
   }
//+------------------------------------------------------------------+
void OnTick()
   {
   }
//+------------------------------------------------------------------+
double OnTester()
   {
      return(rand());
   }
//+------------------------------------------------------------------+


 

Un tale problema.

Classe CSymbolInfo.

Quando si riferisce al prezzo corrente Ask o Bid, restituisce 0.

Tutti gli altri parametri funzionano bene, per esempio AskHigh o Point

 
Ruslan Udintsev:

Un tale problema.

Classe CSymbolInfo.

Quando si riferisce al prezzo corrente Ask o Bid, restituisce 0.

Tutti gli altri parametri funzionano bene, per esempio AskHigh o Point

Devo prima aggiornare i prezzi.

//+------------------------------------------------------------------+
//| Refreshes the symbol quotes data                                 |
//+------------------------------------------------------------------+
bool RefreshRates()
  {
//--- refresh rates
   if(!m_symbol.RefreshRates())
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","RefreshRates error");
      return(false);
     }
//--- protection against the return value of "zero"
   if(m_symbol.Ask()==0 || m_symbol.Bid()==0)
     {
      if(InpPrintLog)
         Print(__FILE__," ",__FUNCTION__,", ERROR: ","Ask == 0.0 OR Bid == 0.0");
      return(false);
     }
//---
   return(true);
  }
 
Igor Makanu:


Wow, non capisco.
 
Nikolai Semko:
Wow, non capisco.

Cosa c'è da capire? - nel tester GetMicrosecondCount() , GetTickCount() , GetTickCount64() sono legati all'inizio del testerhttps://www.mql5.com/ru/forum/35402/page5#comment_15165640

e MathSrand(GetTickCount()) dalla guida;

gli sviluppatori avrebbero dovuto fare sia l'operazione Print() - non emette messaggi nel tester in modalità GA,

e MathSrand(GetTickCount()); dovrebbe essere inizializzato dal tempo ..... chissà quale tempo, ma non dal tempo di inizio di GA - ora MathSrand() non funziona come previsto

 
Igor Makanu:

Cosa c'è da capire? - nel tester GetMicrosecondCount() , GetTickCount() , GetTickCount64() sono legati all'inizio del testerhttps://www.mql5.com/ru/forum/35402/page5#comment_15165640

e MathSrand(GetTickCount()) dalla guida;

gli sviluppatori avrebbero dovuto fare sia l'operazione Print() - non emette messaggi nel tester in modalità GA,

e MathSrand(GetTickCount()); dovrebbe essere inizializzato dal tempo ..... chissà quale tempo, ma non dal tempo di inizio di GA - ora MathSrand() non funziona come previsto

quindi non è il tempo da usare per il rand, ma qualche maniglia che cambia ogni volta.
 
Nikolai Semko:
quindi non è il tempo da usare per srand, ma una specie di maniglia che cambia ogni volta.

So come risolvere questo problema - mi prenderò il tempo in WinAPI, ma è un'altra caratteristica che deve essere costantemente controllata? ))))

ZS: l'allieb aveva un generatore di precisione superiore.... ma di nuovo la domanda è se l'esempio dell'aiuto funziona correttamente

 
Igor Makanu:

So come risolvere questo problema - mi prenderò il tempo in WinAPI, ma è un'altra caratteristica che deve essere controllata di continuo? ))))

Se i passaggi non sono fulminei e vi serve senza DLL, potete farlo.

MathSrand((uint)GetTimeLocal()); // https://www.mql5.com/ru/forum/170952/page105#comment_9044250

Come influisca sull'SSD non lo so. Io uso RAMDrive.

 
fxsaber:

Se i passaggi non sono fulminei e non è necessaria alcuna DLL, potete farlo in questo modo.

Non so come questo influenzi l'SSD. Io uso RAMDrive.

L'ho controllato mettendo in output a OnTester()

Immagine come sopra

l'intero punto qui è di essere sicuri che se si carica opzionalmente NS tramite GA tester, non è una garanzia che tutti i core del processore locale non lavoreranno con la stessa configurazione iniziale dei pesi NS - questo rovinerà i risultati dell'allenamento, imho

 

Mi dispiace mettere una tasca qui, ma ho davvero bisogno di capire cosa fare.

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Errore nello scaricare indicatori da TF superiori (D1 per esempio)

Vladislav Andruschenko, 2020.02.27 18:42

Ecco il succo:

Ho notato all'inizio di questo errore e interferenze quando si accede ai TF superiori D1 e W1 dall'EA che ho installato su M5 per esempio (non mi interessa quale TF).

Ora ho trovato lo stesso errore nello strategy tester di un altro EA (che non si interseca con il precedente)

Le mie azioni:

  1. L'Expert Advisor controlla i segnali complessi di 3 indicatori (2 indicatori + 3 TF)
  2. Se questi indicatori e TF prendono dati da qualsiasi TF fino a D1 (tutto sotto)! Allora non ci sono errori! E il test con e senza visualizzazione è lo stesso!
  3. Ma se selezioniamo qualsiasi indicatore con TF D1 e superiore, allora i risultati sono diversi (visualizzazione e senza visualizzazione).