Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1321
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
Chi altro può aiutare? Come fare una pausa in ticks o candlesticks (barre), per non addormentarsi (Sleep), cioè, per esempio, dopo che la transazione è chiusa per 100 barre, non fare trading, non fare nulla, in modo che la funzione funziona nel tester e nel conto reale.
trova l'ultimo ordine chiuso nella storia con il tuo mago e simbolo
il tempo di chiusura sarà disponibile per questo ordine
trovare il tempo attuale ogni tick e sottrarre questo tempo dal tempo trovato di un ordine chiuso e confrontarlo con quello che ti serve, anche in barre - una barra ha un tempo aperto e il timeframe, o solo in secondi
l'unico problema è il primo ordine, quando si determina l'ultimo ordine chiuso, se non è stato trovato nella storia, dovremmo restituire 0, cioè 1970.01.01.
Non scriverò il codice - dovrebbe essere nelle funzioni KIM come trovare l'ultimo ordine chiuso
trova l'ultimo ordine chiuso nella storia con il tuo mago e simbolo
il tempo di chiusura sarà disponibile per questo ordine
trovare il tempo attuale ogni tick e sottrarre questo tempo dal tempo trovato di un ordine chiuso e confrontarlo con quello che ti serve, anche in barre - una barra ha un tempo aperto e il timeframe, o solo in secondi
l'unico problema è il primo ordine, quando si determina l'ultimo ordine chiuso, se non è stato trovato nella storia, dovremmo restituire 0, cioè 1970.01.01.
Non scriverò il codice - dovrebbe essere nelle funzioni KIM come trovare l'ultimo ordine chiuso
Sarà meglio che tu mi dica come funziona.
int WaitXBars = 100;
datetime signalTime = TimeCurrent();
if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.
Non funziona nel tester. E quello che hai scritto è complicato e ripugnante.
è meglio che tu mi dica come funziona.
int WaitXBars = 100;
datetime signalTime = TimeCurrent();
if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.
E quello che avete scritto è complesso e ripugnante.
Non ho nulla contro di esso, aspetta, forse qualcuno suggerirà un modo più semplice, io ho suggerito il modo più affidabile
è meglio che tu mi dica come funziona.
int WaitXBars = 100;
datetime signalTime = TimeCurrent();
if (iBarShift(NULL,0, signalTime) < 100) return; // per saltare.
la vostra barra attuale è sempre zero
ed è sempre meno di 100, poiché NULL è meno di STA
vi è stato scritto che avete bisogno del tempo dell'ultima posizione chiusa
e avete anche specificato dove cercare
c'è anche una funzione che restituisce il numero di barra, siete a posto
Non ho nulla contro di esso, aspettare forse qualcuno mi dirà come rendere più facile, ho suggerito più affidabile.
Se possibile, mandatemi un esempio con il codice dell'accordo, non ho trovato nulla su internet
Se possibile, mandatemi un esempio di codice di transazione, non riesco a trovare nulla su internet
https://www.mql5.com/ru/forum/131859
la vostra barra attuale è sempre zero
ed è sempre inferiore a 100, perché zero è inferiore a CTA
vi è stato scritto che avete bisogno del tempo dell'ultima posizione chiusa
e anche indicato dove guardare
c'è anche una funzione che restituisce il numero di barra, siete tutti pronti
Dove si inserisce il numero di barre in sospeso?
numero di barre diattesa allora?
Non capisco, qual è ilnumero di barre daaspettare?
il tuo esempio dice già
solo il tempo deve essere cambiato