Buon pomeriggio a tutti. Non sono un buon programmatore, quindi non capisco alcune cose semplici. Ho questo problema: devo scegliere tra gli ordini chiusi nel mio EA l'ultimo chiuso da SL.
l'idea è chiara, solo più corretta >= con ogni probabilità
non ha controllato, staccare le variabili immediatamente vedere se da 1 errore, poi o la vostra versione, o non zero, e assegnare valori =1 a timer1 e timer2 contatori
come opzione, potete provare anche in questo modo:
non ha controllato, staccare le variabili immediatamente vedere se da 1 errore, poi o la vostra versione o non zero, e assegnare valori =1 a timer1 e timer2 contatori
Tuttavia, il metodo non garantisce certamente una determinata periodicità. L'esecuzione del codice in un timer può superare il tempo dell'altro timer.
Tuttavia, il metodo non garantisce certamente una data periodicità. L'esecuzione del codice in un timer può superare il tempo di un altro timer.
Dove si può ottenere un timer in tempo reale garantito sui sistemi Windows? - Se il sistema è sovraccarico, ci saranno dei ritardi.
in MQL - se si sovraccarica OnTick() con calcoli complessi, allora finché non viene eseguito l'evento OnTimer() non accadrà.
Cioè, anche MT4 è sufficiente per i calcoli complessi, se non lo è allora MT5 - funziona davvero a livello di C++, ma la mancanza di prestazioni è di solito legata a un cattivo algoritmo di calcolo - usa il profiler, non fare calcoli ogni tick dove non c'è niente da calcolare fino a quando appare una nuova barra, non calcolare l'intera storia, se usi segnali sulle ultime 1 o 3 barre - calcola solo 100 barre ... ci sono molte varianti
HH: lavorare con oggetti grafici rallenta tutto, lavorare con stringhe riduce anche le prestazioni - in teoria, ma ultimamente non l'ho notato, come lavorare con funzioni di conversione del tempo - si vede inequivocabilmente nel profiler, dove si spende molto tempo - cerchiamo di usare meno spesso questo frammento di codice
Профилирование — это сбор характеристик программы во время ее выполнения. При профилировании замеряется время выполнения и количество вызовов отдельных функций и строк в коде программы. При помощи этого инструмента программист может найти наиболее медленные участки кода и провести их оптимизацию. Профилирование можно проводить на обычном...
e dove si può avere la garanzia di ottenere un timer in tempo reale sui sistemi Windows? - se il sistema è sovraccarico, ci saranno dei ritardi
lo stesso in MQL - se avete caricato calcoli complessi con OnTick(), allora finché non viene eseguito l'evento OnTimer() non accadrà.
Cioè, anche MT4 è sufficiente per i calcoli complessi, se non lo è allora MT5 - funziona davvero a livello di C++, ma la mancanza di prestazioni è di solito legata a un cattivo algoritmo di calcolo - usa il profiler, non fare calcoli ogni tick dove non c'è niente da calcolare fino a quando appare una nuova barra, non calcolare l'intera storia, se usi segnali sulle ultime 1 o 3 barre - calcola solo 100 barre ... ci sono molte varianti
HH: lavorare con gli oggetti grafici rallenta tutto, lavorare con le stringhe riduce anche le prestazioni - in teoria, ma ultimamente non l'ho notato, come lavorare con le funzioni di conversione del tempo è anche un dolore - chiaramente tutto nel profiler è visibile, dove viene speso molto tempo - cerchiamo di usare questa parte del codice meno spesso
Sono d'accordo, anche il timer standard non garantisce nulla. Beh, grazie, faremo una prova.
Potete dirmi se è possibile in MKL4 impostarel'apertura di una posizione per un simbolo al momento di aprire una posizione per un altro simbolo? Forse una tale domanda già discussa, allora datemi un link.
Potete dirmi se è possibile in MKL4 impostarel'apertura di una posizione per un simbolo al momento di aprire una posizione per un altro simbolo? Forse una tale domanda già discussa, allora dammi un link.
Grazie.
La domanda non è completamente formulata.
Ma in generale - è possibile. Ma non simultaneamente, bensì sequenzialmente in uno dei due casi.
Artyom Trishkin: La domanda non è formulata completamente.
Ma in generale, è possibile. Ma non contemporaneamente, ma consecutivamente in entrambi i casi.
È fantastico. Come lo descrivo nel codice? Per esempio, se le condizioni sono corrette e apro una posizione Buy in GBP alle 9:00, apro anche una posizione Buy in EUR (alle 9:00).
Fantastico. Come lo descrivo nel codice? Per esempio, se le condizioni si sono sviluppate alle 9:00 e si apre un BUY sulla sterlina, allora si apre anche un BUY sull'euro (alle 9:00).
non si possono complicare compiti semplici! ... disse Me, che avvolse pigramente la nuova funzione di definizione della barra in una classe ))))
al punto:
l'idea è chiara, ma è più corretto >= con ogni probabilità
l'idea è chiara, solo più corretta >= con ogni probabilità
non ha controllato, staccare le variabili immediatamente vedere se da 1 errore, poi o la vostra versione, o non zero, e assegnare valori =1 a timer1 e timer2 contatori
come opzione, potete provare anche in questo modo:
non ha controllato, staccare le variabili immediatamente vedere se da 1 errore, poi o la vostra versione o non zero, e assegnare valori =1 a timer1 e timer2 contatori
Tuttavia, il metodo non garantisce certamente una determinata periodicità. L'esecuzione del codice in un timer può superare il tempo dell'altro timer.
Tuttavia, il metodo non garantisce certamente una data periodicità. L'esecuzione del codice in un timer può superare il tempo di un altro timer.
Dove si può ottenere un timer in tempo reale garantito sui sistemi Windows? - Se il sistema è sovraccarico, ci saranno dei ritardi.
in MQL - se si sovraccarica OnTick() con calcoli complessi, allora finché non viene eseguito l'evento OnTimer() non accadrà.
Cioè, anche MT4 è sufficiente per i calcoli complessi, se non lo è allora MT5 - funziona davvero a livello di C++, ma la mancanza di prestazioni è di solito legata a un cattivo algoritmo di calcolo - usa il profiler, non fare calcoli ogni tick dove non c'è niente da calcolare fino a quando appare una nuova barra, non calcolare l'intera storia, se usi segnali sulle ultime 1 o 3 barre - calcola solo 100 barre ... ci sono molte varianti
HH: lavorare con oggetti grafici rallenta tutto, lavorare con stringhe riduce anche le prestazioni - in teoria, ma ultimamente non l'ho notato, come lavorare con funzioni di conversione del tempo - si vede inequivocabilmente nel profiler, dove si spende molto tempo - cerchiamo di usare meno spesso questo frammento di codice
e dove si può avere la garanzia di ottenere un timer in tempo reale sui sistemi Windows? - se il sistema è sovraccarico, ci saranno dei ritardi
lo stesso in MQL - se avete caricato calcoli complessi con OnTick(), allora finché non viene eseguito l'evento OnTimer() non accadrà.
Cioè, anche MT4 è sufficiente per i calcoli complessi, se non lo è allora MT5 - funziona davvero a livello di C++, ma la mancanza di prestazioni è di solito legata a un cattivo algoritmo di calcolo - usa il profiler, non fare calcoli ogni tick dove non c'è niente da calcolare fino a quando appare una nuova barra, non calcolare l'intera storia, se usi segnali sulle ultime 1 o 3 barre - calcola solo 100 barre ... ci sono molte varianti
HH: lavorare con gli oggetti grafici rallenta tutto, lavorare con le stringhe riduce anche le prestazioni - in teoria, ma ultimamente non l'ho notato, come lavorare con le funzioni di conversione del tempo è anche un dolore - chiaramente tutto nel profiler è visibile, dove viene speso molto tempo - cerchiamo di usare questa parte del codice meno spesso
Sono d'accordo, anche il timer standard non garantisce nulla. Beh, grazie, faremo una prova.
Buon pomeriggio, cari amici!
Potete dirmi se è possibile in MKL4 impostarel'apertura di una posizione per un simbolo al momento di aprire una posizione per un altro simbolo? Forse una tale domanda già discussa, allora datemi un link.
Grazie.
Buon pomeriggio, cari amici!
Potete dirmi se è possibile in MKL4 impostarel'apertura di una posizione per un simbolo al momento di aprire una posizione per un altro simbolo? Forse una tale domanda già discussa, allora dammi un link.
Grazie.
La domanda non è formulata completamente.
È fantastico. Come lo descrivo nel codice? Per esempio, se le condizioni sono corrette e apro una posizione Buy in GBP alle 9:00, apro anche una posizione Buy in EUR (alle 9:00).
Fantastico. Come lo descrivo nel codice? Per esempio, se le condizioni si sono sviluppate alle 9:00 e si apre un BUY sulla sterlina, allora si apre anche un BUY sull'euro (alle 9:00).