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
Ciao
Questo approccio funziona solo se la dimensione della posizione corrente è zero e il nuovo trade viene eseguito con successo con la dimensione della posizione desiderata.
Vedi il codice:
Ma cosa succede se il tuo EA sta girando la posizione: da una posizione LONG a una SHORT o viceversa e questa azione viene eseguita in 2 trade diversi?
Dopo il primo trade la booleana "position_opened" è impostata a "TRUE" e l'EA non può aprire il secondo trade perché la condizione sta controllando"if(conditions_to_open && !position_opened)", quindi il secondo trade sarà bloccato.
E cosa succede se la dimensione della posizione è solo parzialmente aperta? Avete bisogno di un secondo trade per portare la dimensione della posizione alla dimensione corretta.
Alla fine, per farla breve, avete sempre bisogno della funzione PositionSelect(Symbol()) per calcolare la dimensione della posizione CORRENTE ed è qui che è iniziato il problema (e questo thread del forum).
Nel momento critico, quando l'EA chiama la funzione PositionSelect(Symbol()), il terminale non ha ancora aggiornato la dimensione corrente della posizione e l'EA sta lavorando con la dimensione sbagliata della posizione e invia un nuovo doppio ordine al server di trading.
Penso che l'approccio di(figurelli) sia migliore perché si è costretti ad aspettare che l'EA abbia aggiornato la funzione PositionSelect(Symbol()) alla giusta dimensione della posizione.
Ciao
Questo approccio funziona solo se la dimensione corrente della posizione è zero e il nuovo trade viene eseguito con successo con la dimensione della posizione desiderata.
Vedi il codice:
Ma cosa succede se il tuo EA sta girando la posizione: da una posizione LONG a una SHORT o viceversa e questa azione viene eseguita in 2 trade diversi?
Dopo il primo trade la booleana "position_opened" è impostata a "TRUE" e l'EA non può aprire il secondo trade perché la condizione sta controllando"if(conditions_to_open && !position_opened)", quindi il secondo trade sarà bloccato.
E cosa succede se la dimensione della posizione è solo parzialmente aperta? Avete bisogno di un secondo trade per portare la dimensione della posizione alla dimensione corretta.
Alla fine, per farla breve, avete sempre bisogno della funzione PositionSelect(Symbol()) per calcolare la dimensione della posizione CORRENTE ed è qui che è iniziato il problema (e questo thread del forum).
Nel momento critico, quando l'EA chiama la funzione PositionSelect(Symbol()), il terminale non ha ancora aggiornato la dimensione corrente della posizione e l'EA sta lavorando con la dimensione sbagliata della posizione e invia un nuovo doppio ordine al server di trading.
Penso che l'approccio di(figurelli) sia migliore perché si è costretti ad aspettare che l'EA abbia aggiornato la funzione PositionSelect(Symbol())
Hai ragione, entrambi gli approcci hanno dei limiti.
L'origine di questo problema è ora identificata chiaramente. Ognuno deve adattare il suo codice a seconda della sua strategia. Non credo che ci sia un metodo generale che possa essere applicato a tutti i casi.
Abbiamo bisogno di una libreria OrderSendReliable() per il grande e potente mql5?
Hai ragione, entrambi gli approcci hanno dei limiti.
L'origine di questo problema è ora identificata chiaramente. Ognuno deve adattare il suo codice a seconda della sua strategia. Non credo che ci sia un metodo generale che possa essere applicato a tutti i casi.
Oppure dobbiamo aspettare una "dichiarazione ufficiale" dagli stessi ragazzi di Metaquotes.
C'è già una risposta dal service desk?
Se fossi d'accordo con te lo considereresti poco utile? .
Ho solo insegnato che la soluzione di Dormire fino al Terminating Trading mi ricordava OrderSendReliable(). Ho insegnato che questi sarebbero stati affrontati in modo più elegante.
Mi ricorda anche la gestione di old_documents ... dove va { e tutto il trading dovrebbe essere fermato }.
Comunque, le scuse non intendevano prendersela con mql5.
O dobbiamo aspettare una "dichiarazione ufficiale" dagli stessi ragazzi di Metaquotes.
C'è già una risposta dal service desk?
No. Stavo solo pensando a questo... Sarebbe probabilmente utile se tutte le persone interessate scrivessero un ticket al ServiceDesk su questo problema. Tuttavia sono molto scettico se MQ è disposto a cambiare questo design. Ma possiamo provare.
Le persone possono scrivere al ServiceDesk e riportare il numero del ticket qui. Il mio è
Se fossi d'accordo con te, lo considereresti non utile?
Ho solo insegnato che la soluzione di Dormire fino a terminare il trading mi ha ricordato OrderSendReliable(). Ho insegnato che questi sarebbero stati affrontati in modo più elegante.
Mi ricorda anche la gestione di old_documents ... dove va { e tutto il trading dovrebbe essere fermato }.
Comunque, le scuse non intendevano prendersela con mql5.
Sì, ma è difficile dire se è a causa di una cattiva codifica. Il doppio trading era un problema anche prima del thread sul trading multiplo. Il modo in cui viene gestito tradizionalmente è il modo in cui lo gestisce snelle_moda.
Sì, ma è difficile dire se è a causa di una cattiva codifica. Il doppio trading era un problema anche prima del thread sul trading multiplo. Il modo in cui è tradizionalmente gestito è il modo in cui snelle_moda lo gestisce.