Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
No, non lo è. Cosa c'è scritto nella guida della funzione riguardo al valore di ritorno?
Valore restituito
Valore del prezzo di chiusura della barra (specificato dal parametro shift) del grafico corrispondente o 0 in caso di errore. Chiama GetLastError() per ottenere maggiori informazioni sull'errore.
E se cambiate il timeframe in uno diverso da quello attuale, i dati non si aggiorneranno in tempo anche con RefreshRates(). Quindi le funzioni fondamentali di iClose ecc. in MT4 producono stronzate irrilevanti. Sono sicuro che l'80% delle informazioni non tiene conto di queste caratteristiche uniche di MT4. Come vivere?)))
Il cambiamento non darà nulla. Il valore corrente di iClose è uguale al valore Bid indipendentemente dal periodo del grafico.
Ho creato un EA e l'ho fatto funzionare su M5 per un giorno. Al cambio dell'ora disegna delle linee orizzontali per ognuno dei valori: iClose(symbol,PERIOD_H1,1),iClose(symbol, PERIOD_ M5,1), iClose(symbol, PERIOD_ M1,1 ),Close[1],Bid
Domanda agli sviluppatori. Perché abbiamo bisogno della funzioneiClose in MQL4, se non dà le informazioni corrette e non c'è modo di aggiornare i suoi dati?
Ho creato un EA e l'ho fatto funzionare su M5 per un giorno. Al cambio dell'ora disegna delle linee orizzontali per ognuno dei valori: iClose(symbol,PERIOD_H1,1),iClose(symbol, PERIOD_ M5,1), iClose(symbol, PERIOD_ M1,1 ),Close[1],Bid
Domanda agli sviluppatori. Perché MQL4 ha bisogno di funzioniiClose, se non danno informazioni affidabili e non c'è modo di aggiornare i loro dati?
Questa è una sciocchezza. La chiamata RefreshRates() è necessaria solo se l'esecuzione è stata ritardata per qualche motivo. Casi come il ciclo lungo o solo l'aggiornamento dei prezzi al momento dell'invio di un ordine per aprire un ordine. Non dovrebbero esserci problemi nella vostra variante. Meglio postare un esempio di codice che ottiene valori di prezzo così sbagliati.
Ora sto eseguendo il seguente codice
In sostanza, la chiusura del minuto dovrebbe coincidere con qualsiasi periodo alto del grafico. Controllerò più tardi per vedere se c'è qualcosa scritto nel registro.E se cambiate il timeframe in uno diverso da quello attuale, i dati smetteranno di aggiornarsi in tempo, anche con RefreshRates().
C'è qualche codice di test per confermare questa affermazione? Non l'ho notato io stesso. Quando si cambia TF, aspettiamo semplicemente che la storia venga scambiata e poi lavoriamo.
Quindi, iClose e altre funzioni fondamentali in MT4 producono sciocchezze irrilevanti.
Questa è un'affermazione troppo forte. A volte è possibile, ma è a questo che servono i codici di errore. Se non li controllate non saprete mai se potete usare il risultato che ottenete.
Sono sicuro che l'80% degli infoprodotti non tiene conto di queste caratteristiche uniche di MT4. Come vivere?)))
Dirò di più: quasi tutti i programmi non tengono conto di queste caratteristiche. Ecco perché vengono rilasciate le loro nuove versioni. Non appena un prodotto non è più supportato, è reso inutilizzabile.
Questa è una sciocchezza. È necessario chiamare RefreshRates() solo se c'è stato un ritardo nell'esecuzione per qualsiasi motivo. Casi come un lungo ciclo o solo l'aggiornamento dei prezzi al momento dell'invio di un ordine per aprire un ordine. Non dovrebbero esserci problemi nella vostra variante. Meglio postare un esempio di codice che ottiene valori di prezzo così sbagliati.
Ora sto eseguendo tale codice
In sostanza il minuto di chiusura dovrebbe coincidere con qualsiasi periodo alto sul grafico. Più tardi vedrò se c'è qualcosa scritto nel registro.Il mio codice è simile a questo. C'è un errore in OnTick.
Dovrebbe essere
Se abbiamo l'attuale timeframe M5 dovremmo confrontare M5 con H1 e M1
L'attuale timeframe M5 viene visualizzato correttamente. Il problema era con H1 e M1.
L'ho controllato su Alpari real EURCHF M5, ma invece di Print ho disegnato delle barre orizzontali ad ogni livello.
C'è qualche codice di test per supportare questa affermazione? Non ho notato questo con me stesso. Quando si cambiano i TF, aspettiamo solo che la storia si scambi e poi lavoriamo.
Questa è un'affermazione troppo forte. In alcuni casi questo è possibile, ma è a questo che servono i codici di errore. Se non li controllate, non saprete mai se potete usare il risultato che ottenete.
Dirò di più: quasi tutti i programmi non tengono conto di qualcosa. Ecco perché vengono rilasciate le loro nuove versioni. Non appena un prodotto non è più supportato, è incapace di essere utilizzato.
Ecco il codice, inseriscilo e controlla. Non ho un fiammifero su ogni candela. Alpari reale EURCHF M5.
iClose: zero - errore. La funzione non segnala un errore. Emette un valore che è attualmente obsoleto.
Se sospettate errori nelle funzioni iXXXXXXX, usate le funzioni SymbolInfoXXXXXX