Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 305
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
Buonasera a tutti! Ho deciso di mettere una traccia sui trade aperti nel tester, ho provato a passare attraverso OrderGet....() e mi sono accorto che l'affare è passato dalla categoria degli ordini a una posizione aperta, rispettivamente sono passato attraverso PositionGet....(), ma di nuovo non funziona niente,
La domanda è se devo usare ora HistoryDealGet...() ? O non capisco qualcosa? Quale strada seguire per modificare SL in open trade nel tester? Grazie in anticipo per i commenti.
Per favore indirizzatemi a !!!! come implementare in MQL5 il controllo della presenza (o assenza) di un oggetto grafico, per esempio una linea di tendenza o una linea verticale?
Idealmente, vorrei usare una logica simile a "Se l'ordine non esiste" o "Se l'ordine esiste".
Per favore indirizzatemi a !!!! come implementare in MQL5 il controllo della presenza (o assenza) di un oggetto grafico, per esempio una linea di tendenza o una linea verticale?
Idealmente, vorrei usare una logica simile a "Se l'ordine non esiste" o "Se l'ordine esiste".
Puoi consigliare come implementare correttamente l'algoritmo di acquisto?
Al momento, l'Expert Advisor deve comprare molte volte, finché non riceve l'informazione che ci sono posizioni aperte, e rimane indietro. Come fare in modo che l'Expert Advisor aspetti la risposta della borsa dopo il primo acquisto (quando arrivano le condizioni).
Il problema ora è che la variabile Bye_opened dovrebbe diventare vera e questo dovrebbe impedire all'EA di fare operazioni inutili fino a quando gli stop non vengono attivati. Ma cambiare la variabile Bye_opened richiede molto tempo e l'EA ha il tempo di fare diversi trade.
Cosa manca nel mio codice? Si prega di indicare le carenze.
Il problema ora è che la variabile Bye_opened dovrebbe diventare vera e questo dovrebbe impedire all'EA di fare operazioni inutili fino a quando gli stop non vengono attivati. Ma i cambiamenti della variabile Bye_opened avviene molto tempo e ilconsulente ha il tempo di fare diversi trade.
Solo perché un cambio di variabile richiede molto tempo... come ha fatto a determinarlo? Ok, supponiamo che sia così. Allora la risposta sta nella domanda. Se avete bisogno di un ritardo nell'apertura di una posizione dovete usare Sleep( N ) dove N è calcolato sperimentalmente.
Variante 2. La risposta, di nuovo, è nella domanda. Rendete globale Bye_opened e cambiatelo immediatamente dopo che la posizione è stata aperta con successo, proprio in questo modulo. Azzerare allo stesso modo, come si controlla l'esistenza della posizione.
...
Se si inserisce una linea
dopo il comando: OrderSend(), non ci sarà una riapertura delle posizioni.
Forse è meglio controllare se la posizione si è aperta prima, e poi ...
???
A quanto pare ha un robot che gira su ogni tick. Tra l'invio dell'ordine al server e la ricezione della risposta dal server, arriveranno diversi altri tick e si aprirà una posizione extra su ogni tick. La mia proposta esclude la situazione di ripetizione delle aperture. Ed è necessario controllare se una posizione è stata aperta o meno.
Questo è quello che sto dicendo. Altrimenti capirebbe letteralmente tutto e perderebbe un controllo importante.
Quindi questo è effettivamente il modo di controllare correttamente? Scusa, non riesco a capire bene.
Ecco il codice (tutto situato nel blocco OnTick):
Per evitare di aprire volumi inutili:
Sfortunatamente, questa condizione non funziona quando si apre un trade.