Come posso ottenere i parametri Open,Low,High,Close in MQL5? - pagina 2

 
Igor Makanu:

come questo:

Grazie. Questa opzione è più appropriata.
 
Vladimir Karputov:



Questo non è necessario in MQL5.


Ed è così che coloro che

amano imbattersi in errori nascosti (in generale, tutti quelli che sono troppo pigri per fare controlli di base)

Che differenza fa dove controllare i dati? Potete controllare dopo Time[x]. È così che si fa sempre in generale.
 
Реter Konow:
Grazie. Questa opzione è più adatta.

Per favore, nessun problema, sono nella stessa "Z" - molto scomodo tutto in MQL5

 
Alexey Volchanskiy:

È come un codice MT4 multipiattaforma? Gud, scrivo quasi tutto multipiattaforma in questi giorni.

Alexei, questo è per coloro che sono in un serbatoio. Ma per altri, CopyRates() è disponibile in mql4. Quindi dimenticate tutte le iOpen e le altre sciocchezze. Non capisco nemmeno perché l'hanno messo in mql5...

CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL4
CopyRates - Доступ к таймсериям и индикаторам - Справочник MQL4
  • docs.mql4.com
Получает в массив rates_array исторические данные структуры MqlRates указанного символа-периода в указанном количестве. Отсчет элементов от стартовой позиции ведется от настоящего к прошлому, то есть стартовая позиция, равная 0, означает текущий бар. При копировании заранее неизвестного количества данных рекомендуется в качестве приемного...
 

iOpen e le altre funzioni funzionano da sole o avete ancora bisogno di CopyRates? Ho Print(iOpen(0,CURRENT_PERIOD,1)); la voce restituisce 0,0 senza CopyRates (chiamato da Init). La storia locale è lì.

E dove piazzare CopyRates se ne avete bisogno e avete bisogno di ottenere dati sulle barre per tutto il tempo? In OnTick() su ogni tick, o nella funzione di una nuova barra?

 
Реter Konow:
E le funzioni iOpen e le altre funzionano da sole, o abbiamo ancora bisogno di CopyRates? My Print(iOpen(0,CURRENT_PERIOD,1)); la voce restituisce 0,0 senza CopyRates (chiamato da Inite). La storia locale è lì.

Da soli. Forse il problema è che la costante nominata è specificata in modo errato? Non CURRENT_PERIOD, ma PERIOD_CURRENT. Se dà ancora 0, questo è un errore. Può essere scoperto tramite GetLastError().

 
Реter Konow:

iOpen e le altre funzioni funzionano da sole o avete ancora bisogno di CopyRates? Ho Print(iOpen(0,CURRENT_PERIOD,1)); la voce restituisce 0,0 senza CopyRates (chiamato da Init). La storia locale è lì.

E dove mettere CopyRates se è richiesto e abbiamo bisogno di ottenere i dati sulle barre per tutto il tempo? In OnTick() su ogni tick, o nella funzione nuova barra?

Buttate via TUTTE le funzioni iXXXXXX - come detto sopra - solo CopyRates. C'è un esempio di come ottenere dati nell'aiuto, però.

E dovreste ottenere questi dati a seconda delle vostre esigenze: se avete bisogno di valori di zero (la barra più a destra del grafico) o no.

 
Ihor Herasko:

Da soli. Forse il problema è che la costante nominata è specificata in modo errato? Non CURRENT_PERIOD, ma PERIOD_CURRENT. Se dà ancora 0, questo è un errore. Può essere scoperto tramite GetLastError().

No, ho scritto male qui. L'ho scritto correttamente. Errore 0.
 
Vladimir Karputov:

Buttate via TUTTE le funzioni iXXXXXX - come detto sopra - solo CopyRates. C'è un esempio di come ottenere dati nell'aiuto.

E dovreste ottenere questi dati a seconda delle vostre esigenze: se avete bisogno di valori di zero (la barra più a destra del grafico) o no.

OK. Farò un tentativo.
 
Vladimir Karputov:

Buttate via TUTTE le funzioni iXXXXXX - come detto sopra - solo CopyRates. C'è un esempio di come ottenere dati nell'aiuto.

E dovreste ottenere questi dati a seconda delle vostre esigenze: se avete bisogno di valori di zero (la barra più a destra del grafico) o no.

Oh Vladimir. Anche se l'ho spifferato, con rammarico non ho fatto una prenotazione. Se abbiamo bisogno solo del prezzo o dell'ora di apertura, per esempio, non c'è bisogno di usare CopyRates(), in questo caso CopyOpen o iOpen sono sufficienti... rispettivamente CopyTime o iTime. Viene scelto in base alle preferenze religiose.

E aggiungo il mio avvertimento: in termini di costi di produttività, non c'è una differenza percettibile. Di conseguenza, è puramente una questione di pregiudizi religiosi.