Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1284
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
utilizzarehttps://www.mql5.com/ru/docs/dateandtime/timecurrent
seconda versione della chiamata di funzione
in generale èhttps://www.mql5.com/ru/docs/dateandtime/timetostructGrazie mille per le preziose informazioni.
Ho capito qual è la struttura e come funziona, ma non ho ancora capito tutti i dettagli.
Non ho ancora afferrato completamente le sottigliezze associate ad esso. Sto imparando il nuovo materiale molto meglio con l'aiuto di esempi chiari.
Vi sarei molto grato se poteste mostrarmi come scrivere il codice della seguente condizione in mql5
Ho già imparato come aprire un ordine utilizzando la struttura
se(Ora()==10)
per aprire un ordine.
Non è necessario scrivere il modello per aprire l'ordine.... solo la scrittura della condizione.
Grazie ancora per il vostro aiuto.
deve essere il modo in cui volete determinare il prezzo e il tempo della barra:
O piuttosto sono le coordinate del clic del mouse nei valori di tempo + prezzo sul grafico, la barra deve essere definita tramite iBarShift()Sì, è così, come è stato ulteriormente compreso. Grazie)
Grazie mille per le preziose informazioni.
Ho capito cos'è la struttura e come funziona, ma non ho ancora afferrato i pro e i contro
Sto imparando meglio il nuovo materiale con gli esempi. Sto imparando il nuovo materiale molto meglio con l'aiuto di esempi chiari.
Vi sarei molto grato se poteste mostrarmi come scrivere il codice della seguente condizione in mql5
Ho imparato come aprire un ordine utilizzando la struttura
se(Ora()==10)
per aprire un ordine.
Non è necessario scrivere il modello per aprire l'ordine.... solo la scrittura della condizione.
Grazie ancora per il vostro aiuto.
Grazie mille per il vostro aiuto. Ora tutto è chiaro e comprensibile.
Buongiorno a tutti!
Sto cercando di passare da mql4 a mql5. Ho creato un semplice codice che apre gli ordini per i test. Nel tester, l'EA apre gli ordini. Ho messo la funzione Print() all'inizio della funzione void OnTick() e il mio Expert Advisor entrerebbe in questa funzione ad ogni tick e la stamperebbe ad ogni tick del giornale. E al quinto segno di spunta l'Expert Advisor non inserisce nessuna delle funzioni Print() e non stampa nulla nel Giornale dell'immatricolazione. La visualizzazione e l'ottimizzazione sono disabilitate in Expert Advisor.
Per favore, consigliate come cambiare il codice in modo che Print() sia stampato nel diario ad ogni tick, come nel 4.
Molte grazie in anticipo a coloro che mi aiutano.
Ecco il mio codice
Ho aumentato il deposito di EA fino a 100 000. Come risultato, ad ogni tick Print() viene stampato nel giornale.... Ma non si è aperto un solo trade.
Ma ho bisogno che apra le offerte e che Print() venga stampato.
Buongiorno a tutti!
Sto cercando di passare da mql4 a mql5. Ho creato un semplice codice che apre gli ordini per i test. Nel tester, l'EA apre gli ordini. Ho messo la funzione Print() all'inizio della funzione void OnTick() e il mio Expert Advisor entrerebbe in questa funzione ad ogni tick e la stamperebbe ad ogni tick del giornale. E al quinto segno di spunta l'Expert Advisor non inserisce nessuna delle funzioni Print() e non stampa nulla nel Giornale dell'immatricolazione. La visualizzazione e l'ottimizzazione sono disabilitate in Expert Advisor.
Per favore, consigliate come cambiare il codice in modo che Print() sia stampato nel diario ad ogni tick, come nel 4.
Molte grazie in anticipo a coloro che mi aiutano.
Ecco il mio codice
Ho aumentato il deposito di EA fino a 100 000. Come risultato, ad ogni tick Print() viene stampato nel giornale.... Ma non si è aperto un solo trade.
Ma ho bisogno che i trade siano stati aperti e che Print() sia stato stampato.
Guardate i registri, guardate cosa viene stampato, le informazioni sono inserite lì ad ogni passo. Molto probabilmente, qualcosa è sbagliato con l'apertura degli ordini e l'EA non funziona.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Abbiamo già discusso se sia necessario accedere ripetutamente ai dati del terminale da MQL4, quindi OrderSelecthttps://www.mql5.com/ru/forum/342989#comment_16743716
Penso che sia possibile usarlo anche 100500 volte per tick, perché l'output sarà aumentato di milioni di volte al secondo
più simboli ci sono nella finestra dell'orologio di mercato, più grande sarà il carico sul terminale stesso, e rispettivamente, se chiamate i dati da molti simboli diversi, allora avrete anche dei ritardi
Cioè, se usate il terminale in modo sensato, non si blocca niente - nella finestra di osservazione del mercato ci sono dieci simboli che usate
Non ho controllatoquanti grafici si possono aprire allo stesso tempo, ma penso che se si limita la storia a 1000 barre, allora penso che il terminale probabilmente aprirà un paio di dozzine di finestre di grafici senza problemi
100
Guardate i log per vedere cosa stampa, ci sono informazioni registrate ad ogni passo. Molto probabilmente c'è qualcosa di sbagliato nell'apertura degli ordini e l'EA non funziona.
C:\Users\....\AppData\Roaming\MetaQuotes\Terminal\99193835FC75DE8874B99F9A3B93F15E\MQL5\Logs
Grazie per il suggerimento.
Non funziona davvero. C'è scritto.
2020.10.27 06:40:45.311 Tester EURUSD: i dati della storia iniziano dal 2018.01.02 00:00
2020.10.27 06:40:45.312 Core 1 connessione a 127.0.0.1:3000
2020.10.27 06:40:45.312 Core 1 connesso
2020.10.27 06:40:45.320 Core 1 autorizzato (agent build 2650)
2020.10.27 06:40:45.323 Tester EURUSD,M1 (Alpari-MT5-Demo): test di esperti\GRAAL.ex5 dal 2020.09.01 00:00 al 2020.09.03 00:00
2020.10.27 06:40:45.327 Core 1 sincronizzazione comune completata
2020.10.27 06:40:45.328 Tester qualità della storia analizzata è al 100%
2020.10.27 06:40:45.348 Core 1 test experts\GRAAL.ex5 su EURUSD,M1 thread finito
2020.10.27 06:40:45.348 Core 1
2020.10.27 06:40:45.348 Core 1 login (build 2650)
2020.10.27 06:40:45.348 Core 1 informazioni sul conto trovate con valuta USD
2020.10.27 06:40:45.348 Core 1 1482 byte di parametri del tester caricati
2020.10.27 06:40:45.348 Core 1 1724 byte di parametri di input caricati
2020.10.27 06:40:45.348 Core 1 calcolare il profitto in pip, deposito iniziale 10000, leva 1:100
2020.10.27 06:40:45.348 Core 1 inizializzato con successo
2020.10.27 06:40:45.348 Core 1 731 byte di dati di inizializzazione totali ricevuti
2020.10.27 06:40:45.348 Core 1 Intel Core i5-6400 @ 2.70GHz, 7883 MB
2020.10.27 06:40:45.348 Core 1 EURUSD: simbolo da sincronizzare
2020.10.27 06:40:45.348 Core 1 EURUSD: simbolo già sincronizzato, 18 byte ricevuti
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: storia nella cache dal 2019.01.02 06:00
2020.10.27 06:40:45.348 Core 1 EURUSD,M1 (Alpari-MT5-Demo): ogni tick che genera
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: test di esperti\GRAAL.ex5 dal 2020.09.01 00:00 al 2020.09.03 00:00 iniziato con input:
2020.10.27 06:40:45.348 Core 1 StopLoss=30
2020.10.27 06:40:45.348 Core 1 TakeProfit=100
2020.10.27 06:40:45.348 Core 1 Lot=0.1
2020.10.27 06:40:45.348 Core 1 saldo finale 10000.00 pips
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: 111967 ticks, 2880 barre generate. Test superato in 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb di memoria usata inclusi 35 Mb di dati storici, 64 Mb di dati di tick
2020.10.27 06:40:45.348 Core 1 file di log "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" scritto
2020.10.27 06:40:45.371 Core 1 connessione chiusa
Lo sto testando per un periodo di un giorno. Significa che Expert Advisor dovrebbe aprire 1440 ordini. Forse è un problema. Forse, ci sono alcune limitazioni sul numero di ordini aperti simultaneamente.
Se l'ho controllato, può essere perché quando avevo 10 000 sul deposito del mio EA, ha aperto solo 300 ordini e ha mancato il resto per qualche motivo legato al denaro (come ho capito dalle voci del diario). Più tardi, ho aumentato il deposito di EA a 100 000 e non ha più avuto diritto a saltare. E ha smesso del tutto di aprire ordini.
Ma poi ho diminuito di nuovo il deposito dell'EA a 10 000. Tuttavia, il mio Expert Advisor continua a non aprire nulla e scrive sempre i valori che ho indicato sopra.
Ho creato un altro EA. Ho scaricato lo stesso codice in esso. Ho un deposito di 10 000. Ho lo stesso problema: non ho aperto ordini.
Vi prego di consigliarmi come far funzionare correttamente il mio EA. Manda lo stesso messaggio, solo che la mia linea gialla evidenziata ha 271 invece di 270 mb
Ho Windows 10. Ho un sistema operativo a 64 bit e 8 GB di RAM.
Grazie.
Grazie per il suggerimento.
Non funziona davvero. C'è scritto.
2020.10.27 06:40:45.348 Core 1 EURUSD,M1: 111967 ticks, 2880 barre generate. Test superato alle 0:00:00.019.
2020.10.27 06:40:45.348 Core 1 270 Mb di memoria usata inclusi 35 Mb di dati storici, 64 Mb di dati di tick
2020.10.27 06:40:45.348 Core 1 file di log "C:\Users\a1960\AppData\Roaming\MetaQuotes\Tester\36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" scritto
2020.10.27 06:40:45.371 Core 1 connessione chiusa
Lo sto testando per un periodo di un giorno. Significa che Expert Advisor dovrebbe aprire 1440 ordini. Forse è un problema. Forse, ci sono alcune limitazioni sul numero di ordini aperti allo stesso tempo.
Se l'ho controllato, può essere perché quando avevo 10 000 sul deposito del mio EA, ha aperto solo 300 ordini e ha mancato il resto per qualche motivo legato al denaro (come ho capito dalle voci del diario). Più tardi, ho aumentato il deposito di EA a 100 000 e non ha più avuto diritto a saltare. E ha smesso del tutto di aprire ordini.
Vi prego di consigliarmi come far funzionare normalmente il mio EA.
Cercherò sempre di farlo funzionare come prima.
Se ci sono 1440 ordini al giorno, l'Expert Advisor dovrebbe controllare l'inizio del minuto o, più facilmente, la comparsa della barra di un minuto. E si apre in questo momento. Tu non ce l'hai e quindi l'EA apre una posizione ad ogni tick, che è una condizione difficile in sé secondo il nostro simbolo alla quotazione attuale. Questa condizione può non essere soddisfatta, e le zecche non saranno prese in considerazione. E ad un certo punto, si verificherà un errore critico.
Anche il tipo di esecuzione dell'ordine (ordine di creare una posizione) Tutto o niente.
Per favore, consigliatemi!
Perché l'ora del server non viene aggiornata quando arrivano nuove zecche?
Al momento dell'avvio dell'EA, tutto funziona come dovrebbe, ma poi il tempo passa, ma il nuovo valore del minuto corrente non entra nella variabile.
Cioè, l'Expert Advisor lavora in funzione del numero ottenuto nella variabile int M = TimeMinute(TimeCurrent());
In realtà questa linea di codice è dal riferimento e non funziona.
Per esempio, lo faccio partire alle 12-l'oracorrente restituita dal server corrisponde all'ora nella variabile, ma poi la variabile rimane alle 12, anche se sono già 15-20 minuti sull'orologio