Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1495

 
Sergey Izhutov #:

È quello che pensavo anch'io stasera, che dovrei metterlo via. Non ho ancora fatto amicizia con gli indici. Ricordo vagamente che nella 4 scrivevo semplicemente Close > MA e funzionava. Proverò a commentare l'handle e a vedere quali sono i risultati.

Una volta mi è stato consigliato di "fare amicizia" con il debugger di MetaEditor. Dopo aver preso più o meno confidenza con il debugger, il 99,9% delle domande è scomparso da solo. È possibile inserire qualsiasi variabile nell'osservazione e vederne i valori, quindi confrontarli e capire in quale punto del codice c'è un problema. È uno strumento molto comodo. Lo consiglio.

Saluti, Vladimir.

 
MrBrooklin #:


Grazie, darò un'occhiata)

 
Se si riduce a icona il tester per un po', il lavoro si velocizza.
 
Ivan Ivanov #:
Se si riduce a icona il tester per un po', il lavoro si velocizza.

È sempre stato così.

 
Aiuto, nell'indicatore se viene avviato nel tester non funziona
void OnDeinit(const int Reason)

C'è un altro modo per sapere dall'indicatore che il test è stato completato?

 
EgorKim #:
Se l'indicatore è in esecuzione nel tester, non funziona
.

C'è un altro modo per sapere dall'indicatore che il test è stato completato?

Normalmente no. Non standard, è più facile da vedere visivamente. Il file di log del tester dovrebbe smettere di crescere, è ancora un compito da tracciare. Anche la data di completamento del test non è facile da scoprire.
 
Valeriy Yastremskiy #:
Non normalmente. Non è standard, è più facile da vedere visivamente. Il file di log del tester dovrebbe smettere di crescere, è una sfida tenerne traccia. Non è nemmeno facile trovare la data di fine del test.

Arrivo del segno di spunta?

 
Artyom Trishkin #:

Ticchettio in arrivo?

tempo è emulato)))) e come controllare?, il lavoro del tester finisce! tester in 5ka per me cosa come è)))) e, naturalmente, non chiamare ondeinit in indicatori solo tristezza.

 

Meta Editor genera l'errore'ArrayMinimum' - la costante non può essere modificata e 'ArrayMaximum' - la costante non può essere modificata, così come '=' - operazione illegale utilizzata per assegnare la variabile PrevClose nel codice seguente:

ulong copied = CopyTicksRange(Symbol(), ticks, COPY_TICKS_INFO, t0, t1); 
ArrayResize(ticks, copied, 100000);
double PrevClose = ticks[copied-1]; // Получаем последний элемент массива как значение PrevClose
double highestHigh = ArrayMaximum(ticks, 0, copied - 1); // Находим максимальное значение в массиве ticks
double lowestLow = ArrayMinimum(ticks, 0, copied - 1); // Находим минимальное значение в массиве ticks
 
maxvoronin74 'ArrayMinimum' - la costante non può essere modificata e 'ArrayMaximum' - la costante non può essere modificata, così come '=' - operazione illegale utilizzata per assegnare la variabile PrevClose nel codice seguente:

"Trova il valore massimo nell'array dei tick" - il valore massimo di cosa viene trovato?

ticks[copied-1].bid o ticks[copied-1].flags

Scherzo)))))


Molto probabilmente avete confuso CopyTicks con CopyRates, sebbene anche in questo caso abbiate un array di strutture e specifichiate quale elemento della struttura vi serve.

double PrevClose = rates[copied-1].close;

Nelcodice c'è una riga in più.

ArrayResize(ticks, copied, 100000);
Non è necessaria perché CopyTicks e CopyRates allocano la dimensione dell'array durante la copia.