Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 195

 
barabashkakvn:

Guarda di nuovo il codice dell'indicatore dalla guida https://www.mql5.com/ru/docs/indicators/ima . Notate le linee in OnInit():

Questo crea la maniglia dell'indicatore per il periodo - "period".

Ho trovato l'errore nella dimensione dell'array, era il mio errore principale dal codice iniziale. Non riesco a capire perché il grafico del terminale si comporta in modo inadeguato (sfuma, si aggiorna, si sposta, ecc.). Grazie.
File:
macd2.mq5  4 kb
 
Ciao. Quali sono i vantaggi traIndicatorCreate() eiCustom() e quale è meglio usare. Grazie
 

Buon pomeriggio.

Sto cercando di ottenere l'ultimo valore di un frattale:

Handle[Number]=iFractals(Symbol_,0);

CopyBuffer(Handle[Number],UPPER_LINE,4,100,Upper)

upenv[Numero]=Upper[0];


ma a volte ottengo qualche strano numero upenv[Numero]=1.797693134862316e+308

Se questo numero fosse 0, il problema si risolverebbe in questo modo

if(upenv[Number]=Upper[0] && Upper[0]!=0)

upenv[Numero]=Upper[0];

Dov'è il mio errore? Cosa sto facendo di sbagliato? Come posso ottenere l'ultimo valore del frattale prima che cambi?

 
Vikon:
barabashkakvn:

Ancora una volta si dovrebbe guardare attraverso il codice dell'indicatore da https://www.mql5.com/ru/docs/indicators/ima . Notate le linee in OnInit():

Qui è doveviene creata la maniglia dell'indicatore per il periodo - "period".

Ho trovato l'errore nella dimensione dell'array, era il mio errore principale dal codice iniziale. Non riesco a capire perché il grafico del terminale si comporta in modo inadeguato (sfuma, si aggiorna, si sposta, ecc.). Grazie.

Avete creato un handle dell'indicatore ad ogni tick (cioè nella funzione OnCalculate()). Questo non è corretto. La maniglia dell'indicatore dovrebbe essere creata in OnInit().

 
barabashkakvn:

Tutti hanno trovato un errore nella dimensione dell'array, che era il mio errore principale nel codice originale. Ma perché il grafico del terminale si comporta in modo inadeguato (lampeggia, si aggiorna, si sposta, ecc.). Grazie.

Avete creato un handle dell'indicatore ad ogni tick (cioè nella funzione OnCalculate()). Questo non è corretto. La maniglia dell'indicatore deve essere creata in OnInit().

E se ho bisogno delle letture MACD in un indicatore (M1;M5;M15;H1;H4;D1;W1), allora devo creare un handle per ogni periodo?
 
Vikon:
E se ho bisogno delle letture MACD in un indicatore (M1;M5;M15;H1;H4;D1;W1), allora devo creare un handle per ogni periodo?
Sì, fate tutte le maniglie degli indicatori di cui avete bisogno in OnInit.
 
paladin800:
Sì, fate tanti handle di indicatori quanti ne servono in OnInit.
Non è a causa del manico, non riesco ancora a capirlo, infatti il codice funziona correttamente e dà dati comparabilmente corretti. Ma il computer decolla, il terminale salta, al diavolo.
 
barabashkakvn:

Tutti hanno trovato un errore nella dimensione dell'array, che era il mio errore principale nel codice originale. Ma perché il grafico del terminale si comporta in modo inadeguato (lampeggia, si aggiorna, si sposta, ecc.). Grazie.

Hai creato un handle dell'indicatore ad ogni tick (cioè nella funzione OnCalculate(). Questo non è corretto. La maniglia dell'indicatore deve essere creata in OnInit().

È più probabile che su un grafico con M15 si usino dati D1, o mi sbaglio.
 
Ciao, forse qualcuno avrà il tempo di guardare il mio izvoyanie, dove è il mio errore principale o è un errore degli sviluppatori.
File:
macd2.mq5  7 kb
 
Vikon:
È più probabile che il grafico M15 utilizzi dati D1, oppure mi sbaglio.

Si crea un handle dell'indicatore ad ogni tick (cioè in OnCalculate()). Questo non è corretto. Il manico dell'indicatore dovrebbe essere creato in OnInit(). Sul grafico M15, potete usare i dati di D1. Tuttavia, in questo caso, i dati potrebbero essere incompleti - leggi "Organizzare l'accesso ai dati" https://www.mql5.com/ru/docs/series/timeseries_access.

Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
Документация по MQL5: Доступ к таймсериям и индикаторам / Организация доступа к данным
  • www.mql5.com
Доступ к таймсериям и индикаторам / Организация доступа к данным - Документация по MQL5