Non ho la pazienza di rispondere a queste domande.
RefreshRates
Осуществляет обновление данных в предопределенных переменных и массивах-таймсериях.
E cosa sono le variabili predefinite e gli array di serie temporali si possono trovare nella documentazione.
- docs.mql4.com
Non ho la pazienza di rispondere a queste domande.
E potete leggere le variabili predefinite e gli array di serie temporali nella documentazione.
Cioè i dati della funzione iClose() non sono influenzati da RefreshRates() in alcun modo. Allora come possiamo fare in modo che la funzioneiClose() emetta informazioni aggiornate?
Zero. Un lasso di tempo arbitrario.
Onestamente, sono sorpreso... e questo è dir poco. Pensavo che iClose() ottenesse i valori dal server del broker, ma no... RefreshRates(); aggiorna i valori ottenuti da iClose()
/********************Script program start function*******************/ void OnStart() { for(int i = 0; i < 10; i++) { Print(Bid, " *** ", iClose(_Symbol, PERIOD_CURRENT, 0)); Sleep(1000); RefreshRates();// Без RefreshRates(); значения iClose(_Symbol, PERIOD_CURRENT, 0) не меняются… // То, что без RefreshRates(); не меняются значения Bid, это понятно и нормально… } }/******************************************************************/
Ecco il risultato dell'esecuzione dello script
2021.02.15 11:39:35.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:34.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:33.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:32.559 00 EURUSD,M5: 1.21375 *** 1.21375 2021.02.15 11:39:31.559 00 EURUSD,M5: 1.2138 *** 1.2138 2021.02.15 11:39:30.559 00 EURUSD,M5: 1.21378 *** 1.21378 2021.02.15 11:39:29.559 00 EURUSD,M5: 1.21379 *** 1.21379 2021.02.15 11:39:28.559 00 EURUSD,M5: 1.21378 *** 1.21378 2021.02.15 11:39:27.559 00 EURUSD,M5: 1.21379 *** 1.21379 2021.02.15 11:39:26.559 00 EURUSD,M5: 1.21379 *** 1.21379
Bene, ok... terrò presente questa caratteristica e inserirò RefreshRates() se necessario;
ps; E iClose(_Symbol, PERIOD_CURRENT, 0) cambia in MT5.
Onestamente, sono sorpreso... e questo è dir poco. Pensavo che iClose() ricevesse i valori dal server del broker, ma no... RefreshRates(); aggiorna i valori ricevuti da iClose()
Ecco il risultato dell'esecuzione dello script
Bene, OK... Personalmente terrò presente questa caratteristica e inserirò RefreshRates() quando necessario;
Se cambio il timeframe in un altro rispetto a quello attuale, i dati smettono di essere aggiornati in tempo anche con RefreshRates(). Quindi, iClose e altre funzioni fondamentali in MT4 producono un nonsenso irrilevante. Sono sicuro che l'80% delle informazioni non tiene conto di queste caratteristiche uniche di MT4. Come vivere?)))
Francamente parlando, sono sorpreso... e questo è un eufemismo. Pensavo che iClose() ricevesse i valori dal server del broker, ma no... RefreshRates(); aggiorna i valori ricevuti da iClose()
Ecco il risultato dell'esecuzione dello script
Bene, ok... terrò presente questa caratteristica e inserirò RefreshRates() se necessario;
ps; E iClose(_Symbol, PERIOD_CURRENT, 0) cambia in MT5.
Qual è la soluzione? Altre stampelle? Tipo, tenere una cronologia dei tick e ricalcolare tutti i timeframe negli EA da soli. Questo è al di là del bene e del male))).
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso