
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
C'è una differenza tra
e quello che state facendo voi
nel primo se un ordine fallisce verrà restituito un valore di -1, ma il bool lo interpreterà come TRUE
nel secondo, stai usando la condizione (Ordersend>0) per assegnare vero o falso al booleano.
C'è una differenza tra
e quello che state facendo voi
nel primo se un ordine fallisce verrà restituito un valore di -1, ma il bool lo interpreterà come TRUE
nel secondo, state usando la condizione (Ordersend>0) per assegnare vero o falso al booleano.
È vero? Non sono in grado di testarlo su un conto demo (Live trade) ora, ma ho fatto una rapida verifica su un backtest interrompendo appositamente OrderSend() con stoploss non valido = ask (prezzo di mercato) per un trade lungo. Il risultato è che OrderSend() restituisce "-1" come previsto e anche il mio bool var Buy_Ticket restituisce falso.
** MODIFICA
Ti è sfuggita la mia condizione "> 0" dietro OrderSend()? Il mio codice originale mostra:
È vero? Non sono in grado di testarlo su un conto demo (Live trade) ora, ma ho fatto qualche rapida verifica su un backtest disturbando appositamente OrderSend() con stoploss non valido = ask (prezzo di mercato) per un trade lungo. Il risultato è che OrderSend() restituisce "-1" come previsto e anche il mio bool var Buy_Ticket restituisce falso.
** MODIFICARE
Ti sei perso le mie condizioni "> 0" dietro OrderSend()? Il mio codice originale mostra:
Scusa, sì, mi è mancato il >0.
Immagino che sia un modo così strano di procedere che non l'ho notato.
@ BigFisherman controlla il codice qui sotto
vedere qui
L'operatore di assegnazione può essere usato più volte in un'espressione. In questo caso l'elaborazione dell'espressione viene eseguita da sinistra a destra:
y=x=3;
Prima, alla variabile x sarà assegnato il valore 3, poi alla variabile y sarà assegnato il valore di x, cioè anche 3.
Scusa, sì, mi è sfuggito il >0.
Immagino che sia un modo così strano di procedere che non l'ho notato.
Nessun problema.
Sono d'accordo che non è una buona pratica codificarlo in quel modo; ho codificato quella parte nella fase iniziale del mio apprendimento del MQL, ma poiché mi sembrava corretto per tutto questo tempo, l'ho lasciato stare fino a quando non si è verificato questo problema di commercio duplicato. Ma a quanto pare, ora "sembra" che il mio codice originale anche se confuso appaia valido, allora si ritorna all'argomento originale di questo thread "Duplicate trades.."; questo potrebbe essere un serio e altamente sgradito bug "raro" in mt4, che purtroppo non sono in grado di riprodurre a causa della sua rara apparizione (1 su oltre 500+ trades).
Per le informazioni di chiunque, a causa di come ho codificato il mio EA (fare riferimento al mio 1 ° post in pg5), SL & TP è stato assegnato solo dopo aver rilevato il successo di OrderSend() (IMHO è piuttosto infallibile fino ad ora). E quello che è successo al mio precedente trade duplicato è stato che non è MAI riuscito a impostare SL & TP per qualche ragione sconosciuta; oltre a OrderSend() che restituisce "-1" ma ha aperto un trade comunque O "ha" aperto 2 trade simultanei in un OrderSend() ** solo una mia speculazione **. Fortunatamente ero davanti al mio PC quando è successo, così ho potuto chiuderlo manualmente; immaginate cosa succederebbe se fossi via per una vacanza.
@ BigFisherman controlla il codice qui sotto
Buy_Ticket restituisce true come previsto. Cosa stai cercando di dire?
Non sto cercando di dire, sto dicendo!
se lo usate in questo modo
ovviamente otterrete true se OrderSend() è stato eseguito
perché prima viene esaminato se il risultato di OrderSend è > 0
e poi è stato passato a
ma comunque non è il modo giusto di gestirlo
Non sto cercando di dire, sto dicendo!
se lo usate in questo modo
ovviamente otterrete true se OrderSend() è stato eseguito
perché prima viene esaminato se il risultato di OrderSend è > 0
e poi è stato passato a
ma comunque non è il modo giusto di gestirlo
Ora so di chi è il post da filtrare in mql4, grazie comunque per il tuo contributo.
y=x=3;
Ho provato a farlo, ma MetaEditor mi ferma sempre ogni volta che provo a compilare.Ora so di chi è il post da filtrare in mql4,
nota: il mio nome utente in mql5 è lo stesso