Errori, bug, domande - pagina 1941

 

Potete dirmi come fa MT5 a produrre tali risultati durante l'ottimizzazione, gente che lo sa?

Questo non è un caso isolato. Inoltre, se si prende qualsiasi linea e si esegue un singolo test, il risultato sarà completamente diverso da quello della tabella.

Inoltre, un singolo test con e senza visualizzazione darà risultati completamente diversi.

Inoltre, se si esegue il test più volte, anche i risultati possono differire a volte radicalmente.

=====

Questo è iniziato con il terminale nell'ultima settimana. Prima sembrava funzionare adeguatamente. O forse non ho notato nulla di sbagliato.

Ho avuto lo stesso problema un anno fa. Il tester ha mostrato risultati anche con impostazioni EA impossibili. Per esempio, se Take Profit è disabilitato nell'EA, ha prodotto un risultato di test, ma se lo impostiamo a 10000000000 punti (cioè, non può mai essere raggiunto, quindi, è disabilitato), il tester ha prodotto risultati completamente diversi.


Come posso combattere questi insetti? Perché può sorgere questo problema? Forse sto facendo qualcosa di sbagliato?

File:
ky1b.jpg  590 kb
 
Andrey Koldorkin:

Potete dirmi come fa MT5 a produrre tali risultati durante l'ottimizzazione, gente che lo sa?

Questo non è un caso isolato. Inoltre, se si prende qualsiasi linea e si esegue un singolo test, il risultato sarà completamente diverso da quello della tabella.

Inoltre, un singolo test con e senza visualizzazione darà risultati completamente diversi.

Inoltre, se si esegue il test più volte, anche i risultati possono differire a volte radicalmente.

=====

Questo è iniziato con il terminale nell'ultima settimana. Prima sembrava funzionare adeguatamente. O forse non ho notato nulla di sbagliato.

Ho avuto lo stesso problema un anno fa. Il tester ha mostrato risultati anche con impostazioni EA impossibili. Per esempio, se Take Profit è disabilitato in un EA, ha prodotto un risultato di test, ma se lo impostiamo a 10000000000 punti (cioè, non può mai essere raggiunto, quindi è disabilitato), il tester ha prodotto risultati completamente diversi.


Come posso combattere questi insetti? Perché può sorgere questo problema? Forse sto facendo qualcosa di sbagliato?

Inserisci due righe all'inizio del tuo EA

#define  REPORT_TESTER // В тестере будут автоматически записываться отчеты
#include <Report.mqh> // https://www.mql5.com/ru/code/18801

Questo costringerà il tester a salvare un rapporto dettagliato per ogni passaggio dell'ottimizzatore e per una singola esecuzione.

Confronta il rapporto di esecuzione risultante dall'ottimizzatore e la sua versione di una singola esecuzione.

 
Il compilatore MQL5 è silenzioso, e MQL4++ avverte
m_pixels[y*m_width+x]=(r<<16|g<<8|b<<0|255<<24) &0xffffffff; // check operator precedence for possible error; use parentheses to clarify precedence

Chi ha ragione?

 
Errore di compilazione (MT5b1641)
void NewFunc( int ) {}

#define  MACROS(A) New##A

void OnStart()
{  
  NewFunc(0);      // OK
  MACROS(Func(0)); // Error: 'NewFunc(0)' - undeclared identifier
}
 

Si prega di includere le macro

__SCRIPT__ - il file mq5 compilato è uno Script.

__INDICATOR__ - il file mq5 compilato è un indicatore.

__EXPERT__ - il file mq5 compilato è un Expert Advisor.

__SERVICE__ - il file .mq5 compilato è un servizio.


Situazione in cui MQLInfoInteger non può essere usato

#ifdef __EXPERT__

void OnTick()
{
  static bool FirstRun = true;
  
  if (FirstRun)  
  {
    Print("FirstTick!");
    
    FirstRun = false;
  }
  
  OldOnTick();
}

#endif // __EXPERT__

#ifdef __SERVICE__

void OnTick( const string &Symb )
{
  static bool FirstRun = true;
  
  if (FirstRun)  
  {
    Print("FirstTick!");
    
    FirstRun = false;
  }
  
  OldOnTick(Symb);
}

#endif // __SERVICE__

#define OnTick OldOnTick

// Дальше код советника/сервиса.

 
Come posso ottenere un agente PR attraverso MQL? Misurando la velocità dell'agente, volevo ottenere un PR, ma non è qui.
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
fxsaber:
Come posso ottenere un agente PR attraverso MQL? Sto misurando la velocità dell'agente, volevo ottenere un PR, ma qui non c'è nessun PR.

Qual è il punto? Non si possono comunque scegliere gli agenti. È possibile interrompere un compito se ci vuole troppo tempo per completarlo, anche senza PR.

 
Stanislav Korotky:

Qual è il punto? Non si possono comunque scegliere gli agenti. È possibile interrompere un compito se richiede troppo tempo per essere completato, anche senza PR.

Il punto è quello di essere in grado di mostrare l'incoerenza delle prestazioni effettive del PR-agente. O viceversa - per mostrare l'adeguatezza del calcolo del rating.

 
Impossibile aprire un conto demo MT4 su MetaQuotes-Demo.
 

MT4 tester in modalità "Tutti i tick" fa operazioni su barre che non sono nella storia