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
Dove ho fatto un errore. Perché ho una posizione allargata.
C'è un concetto chiamato netting. Secondo la filosofia del NETTING, tutti gli scambi unidirezionali aumentano la posizione, mentre quelli multidirezionali la chiudono, la diminuiscono o la invertono.
Se traiamo una conclusione dalla linea, capiamo che con un Sell esistente una nuova posizione Buy chiuderà o taglierà la posizione esistente.
PS
A proposito, TP e SL in MT5 sono impostati in base all'ultimo trade, quindi anche loro dovrebbero essere monitorati...
Come posso cancellare correttamente tutti gli ordini con una certa modalità?
Ho due funzioni per questo, check_orders controlla gli ordini con una certa modalità, e remove_sl li elimina:
Il problema è che nel diario del mio EA, ottengo righe come questa:
2011.05.11 21:40:19 Trades '726238' : failed cancel order #4375237 buy 0.00 at 0.00000 [Invalid request]
Cioè le richieste inutili vengono inviate al server commerciale con la richiesta di cancellare l'ordine che è già stato richiesto.
Dovrei scorrere l'elenco degli ordini dall'alto verso il basso, ad esempio
ЗЫ Если вы знаете инструмент то для поиска позиции совсем не нужно перебирать все позиции, достаточно воспользоваться вот этой функцией:
Grazie. Farò un tentativo.
A proposito, io uso un solo simbolo.
Secondo la filosofia di questo stesso NETTING, tutti i trade unidirezionali aumentano la posizione e i trade multidirezionali chiudono, diminuiscono o invertono.
Esattamente!
Concludiamo dalla linea che capiamo che con un Sell esistente un nuovo Buy chiuderà o taglierà una posizione esistente.
PS
A proposito, TP e SL in MT5 sono impostati in base all'ultimo trade, quindi anche loro dovrebbero essere monitorati...
Dalle sue parole, signorInteressante , capisco che ho capito tutto correttamente.
Sto usando gli stessi lotti. Sto usando gli stessi stop. Tutto è come dovrebbe essere. Ma c'è qualcosa che non va!
Ok. Ha promesso di fare due EA e mostrare la differenza. Lo farò io. Non voglio mettere il migliore là fuori perché tutti lo vedano.
Quindi, chi tra i rispettati esperti può inviarmi per email due EAs per la stessa strategia su mql4 e su mql5?
Ho solo bisogno di capire cosa sto sbagliando, tutto qui. Beh, le statistiche dei prezzi diversi non possono cambiare i risultati del test di 2-3 volte. Si tratta di programmazione.
Lizar,Renat,sergeev, AIUTATEMI. Posso darvi tutti gli esperti per rivedere il codice. L'Expert Advisor è semplice ma efficace. Posso ancora migliorarlo, ma l'ho semplificato al massimo, per rendere più chiara l'essenza del problema.
Mi scuso anche con tutti per essere stati intemperanti nelle loro affermazioni. Sono imbarazzato. Ma voglio MOLTO capire tutto!
Bisogna passare attraverso l'elenco degli ordini dall'alto verso il basso, ad esempio così:
Non aiuta, apparentemente l'ordine viene cancellato con successo e poi viene inviata un'altra richiesta:
2011.05.12 16:42:57 Trades '726238' : annulla l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700 fatto
2011.05.12 16:42:57 Trades '726238' : annulla l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - already a buy while buy stop was
simile, ma su mql4:
Beh, guarda e confronta. Ho sbagliato da qualche parte... La differenza è sostanziale.
Non aiuta, apparentemente l'ordine viene cancellato con successo e poi viene inviata un'altra richiesta:
2011.05.12 16:42:57 Trades '726238' : annulla l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700 fatto
2011.05.12 16:42:57 Trades '726238' : annulla l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - already a buy while buy stop was
Mi vergogno di ammettere che non ho ancora imparato l'arte della telepatia.
Ripeterò la domanda:
Come posso cancellare correttamente tutti gli ordini con un certo mag?
Ho due funzioni per questo, check_orders controlla gli ordini con una certa modalità e remove_sl li rimuove:
Il problema è che nel diario di EA appaiono queste righe:
2011.05.11 21:40:19 Trades '726238' : failed cancel order #4375237 buy 0.00 at 0.00000 [Invalid request]
Cioè vengono inviate richieste inutili al server commerciale per rimuovere l'ordine che era già stato richiesto.
Lei ha consigliato quanto segue:
Dovete scorrere l'elenco degli ordini dall'alto verso il basso, per esempio così:
Ho provato a fare come hai detto tu, ma il problema rimane - l'ordine in sospeso viene cancellato per primo, poi viene inviata un'altra richiesta per cancellare lo stesso ordine. Ecco un esempio delle linee di log:
2011.05.12 16:42:57 Trades '726238' : cancella l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700 fatto - cancellato con successo l'ordine
2011.05.12 16:42:57 Trades '726238' : annulla l'ordine #4388299 buy stop 0.02 EURUSD a 1.41700 - Un'altra richiesta è stata inviata
2011.05.12 16:42:58 Trades '726238' : failed cancel order #4388299 buy 0.00 at 0.00000 [Invalid request] - era buy per qualche motivo.
Questo non succede sempre, ma a volte, e non influisce sul funzionamento dell'Expert Advisor. Voglio solo fare tutto correttamente, non caricare il server commerciale con richieste vuote, e risolvere il problema.
Grazie per le vostre risposte e la vostra disponibilità ad aiutare.