![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Se si esegue questo EA su un conto senza posizioni o ordini correnti.
e poi chiudere manualmente la posizione aperta dall'EA, allora ci saranno tre posizioni aperte sulla copertura (sulla posizione a triplo volume netting).
È questo il comportamento corretto? Probabilmente non ho capito bene il Terminale. Allora, per favore, chiarisci.
Prima di tutto dovreste leggere l'aiuto.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Si prega di notare:
In parole povere, il gestore OnTrade() può essere chiamato per ogni singolo trade. La conseguenza della chiusura di una posizione può essere l'arrivo di diverse transazioni separate.
Questo è facilmente verificabile - basta aggiungere Print() a OnTrade() del vostro esempio.
Inoltre voglio attirare la tua attenzione sul tuo test precedente che invano ti aspetti di conoscere il biglietto dell'ordine attraverso OrderSendAsync().
Inoltre voglio attirare la tua attenzione, secondo il tuo test precedente, che ti aspetti invano di trovare il biglietto d'ordine tramite OrderSendAsync().
Sembra che non ci sia da nessuna parte. Solo HistorySelect ritarda in OnTrade.
Non sembra esserci da nessuna parte. Vengono mostrati solo i ritardi di HistorySelect in OnTrade.
La prima cosa da fare è leggere il foglio informativo.
https://www.mql5.com/ru/docs/event_handlers/ontrade
Si prega di notare:
In parole povere, il gestore OnTrade() può essere chiamato per ogni singola transazione commerciale. La conseguenza della chiusura di una posizione può essere l'arrivo di diverse transazioni separate.
Si controlla facilmente - basta aggiungere Print() a OnTrade() del vostro esempio.
Naturalmente, ho fatto la stampa. La domanda non riguardava il numero di chiamate OnTrade, ma il numero di posizioni aperte.
Dopo il primo OnTrade, viene piazzato un ordine a mercato. Al prossimo OnTrade, questo ordine di mercato non deve permettere l'apertura di altri ordini in base alla condizione. Ma nel prossimo OnTrade, la somma di OrdersTotal() + PositionsTotal() è anche zero. È corretto?
Grazie, non avevo visto il pezzo del copia-incolla.
Non sembra esserci da nessuna parte. Vengono mostrati solo i ritardi di HistorySelect in OnTrade.
Caching delle selezioni degli ordini ancora migliorato oggi, sarà beta in poche ore.
Caching delle selezioni degli ordini ancora migliorato oggi, sarà beta in poche ore.
Intendi HistorySelect? Solo il link automatico non porta a OrderSelect.
Qualche idea sul perché mt5 non presenti la scheda 'Commissioni'? Appaiono solo dopo la chiusura di uno scambio.
Qualche idea sul perché mt5 non abbia la scheda 'Commissioni'? Appaiono solo dopo la chiusura di uno scambio.
Ha fatto la stampa, naturalmente. La questione non era il numero di chiamate OnTrade, ma il numero di posizioni aperte.
Dopo il primo OnTrade, viene piazzato un ordine a mercato. Al prossimo OnTrade, questo ordine di mercato non deve permettere l'apertura di altri ordini in base alla condizione. Ma nel prossimo OnTrade, la somma di OrdersTotal() + PositionsTotal() è anche zero. È corretto?
È tutto nell'aiuto: https://www.mql5.com/ru/docs/trading/ordersendasync
Tutto è nell'aiuto: https://www.mql5.com/ru/docs/trading/ordersendasync
https://www.mql5.com/ru/docs/constants/tradingconstants/orderproperties#enum_order_state
Ogni ordine ha uno stato che descrive il suo stato. Per ottenere informazioni, usate la funzioneOrderGetInteger() oHistoryOrderGetInteger() con il modificatore ORDER_STATE. I valori validi sono memorizzati nell'enumerazione ENUM_ORDER_STATE.
STATO DELL'ORDINE
Identificatore
Descrizione
STATO DELL'ORDINE INIZIATO
Ordine controllato per la correttezza, ma non ancora accettato dal broker
Lo Started-state non avviene dopo un OrderSendAsync riuscito?