Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1078
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
Pomeriggio.
In un Expert Advisor multivaluta, ho bisogno di chiudere un ordine pendente piazzato contro un profitto quando scatta una posizione aperta.
In questo momento, quando chiudo un ordine pendente in profitto, tutti gli ordini pendenti per tutte le valute vengono chiusi.
Come cambiare il codice in modo che solo l'ordine pendente relativo a una coppia di valute si chiuda e il resto rimanga aperto?
Cosa devo cambiare in questo codice?
Mn in questo codice è un numero magico di un ordine pendente BUY_STOP o SELL_STOP.
La logica è che quando una posizione aperta viene chiusa a Take Profit, questo numero magico viene lasciato e si suppone che il comando di cancellazione venga eseguito.
Questo funziona quando si testa ogni coppia. Tuttavia, quando si lavora con altre valute, tutti gli ordini piazzati su tutte le coppie vengono cancellati.
Per favore, aiutate chi è in grado di farlo.
Capisco che nessuno dovrebbe preoccuparsi di questo problema, ma forse qualcuno ha un modello pronto?
Te ne sarei molto grato.
Ho dovuto copiare il codice nell'editor e fare un po' di styling normale (Ctrl+<) per capire cosa hai combinato lì.
Allora: ho commentato nel codice ciò che era incasinato lì:
Di conseguenza, il vostro codice fa questo, cioè è equivalente a questo codice:
Ora chiedetevi: cosa volevate ottenere da questo?
Per capire cosa hai incasinato lì, ho dovuto copiare il codice nell'editor e fare uno styling adeguato (Ctrl+<).
Quindi: commentate nel codice quello che avete incasinato lì:
Di conseguenza, il vostro codice fa questo, cioè è uguale a questo codice:
Ora chiedetevi: cosa volevate ottenere da questo?
OK.
qui:
Quando viene aperta una posizione (OP_BUY o OP_SELL ), piazziamo simultaneamente ordini pendenti (OP_SELLSTOP e OP_BUYSTOP), rispettivamente.
Quando si chiude una posizione aperta a take profit, l'ordine pendente corrispondente deve essere cancellato. Questo algoritmo viene applicato a tutte le coppie di valute.
Gli altri ordini pendenti piazzati su altre valute dovrebbero rimanere.
Buona giornata a tutti voi!
C'è un indicatore MTF_RSI che sta commutando
Potete dirmi se è possibile impostare il cambio automatico del TimeFrame quando si cambia grafico?
Qualcosa come
Buona giornata a tutti voi!
C'è un indicatore MTF_RSI che sta commutando
Potete dirmi se è possibile impostare il cambio automatico del TimeFrame quando si cambia grafico?
Qualcosa del genere
Create una struttura o un array multidimensionale e fatelo girare sulla dimensione desiderata, se il criterio è soddisfatto, lavorate con una colonna (ogni colonna è responsabile del suo tempo), altrimenti con un'altra colonna, e questo è tutto. Il programma stesso ha accesso a tutti i timeframes contemporaneamente, quindi quello che scrivi è possibile, ma l'implementazione è molto estesa e non puoi vedere questa quantità di lavoro sul forum, perché è molto estesa.
Creare una struttura o un array multidimensionale
Grazie.
Perché questo codice non funziona?
Funziona con funzioni semplici, ma c'è qualcosa di strano.
Grazie.
Stai parlando con me?
Sì a te. Dovrete lavorare attraverso il gioco con tempistiche su ogni dettaglio in ogni ciclo e in ogni funzione. Questo è il motivo per cui raccomando di usare gli array multidimensionali.
Sì a te. Dovrete lavorare attraverso il gioco con tempistiche su ogni dettaglio in ogni ciclo e in ogni funzione. Questo è il motivo per cui raccomando di usare gli array multidimensionali.
Questo problema si risolve più facilmente: