Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 363
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
Non credo che tu stia facendo la domanda qui. Crea un thread separato, allega il codice dell'indicatore e spera che qualcuno ti aiuti. Senza il codice... è improbabile che qualcuno vi aiuti.
Scrivendo il ToR, mi sono imbattuto in una situazione in cui non capisco come descrivere correttamente l'algoritmo. Potete consigliarmi sulla possibilità di chiudere parzialmente una posizione nel lavoro dell'EA?
Scrivendo il ToR, mi sono imbattuto in una situazione in cui non capisco come descrivere correttamente l'algoritmo. Potete dirmi se una chiusura parziale di una posizione è possibile nel lavoro di un EA?
Cosa c'è di così complicato? Se la posizione non è equamente divisa (es. 0,09) allora chiudete la maggior parte di essa (0,05) e spostate lo stop a breakeven, poi un'altra distanza di chiusura e di nuovo la metà di quella rimasta (0,02) e spostate lo stop al prossimo passo di chiusura in positivo e così via fino a quando l'intera posizione è chiusa o raggiunge lo stop. Il passo può essere fisso o calcolato da qualsiasi intervallo, dipende dal sistema di trading.
Ho capito bene? Il linguaggio di programmazione MQL4 permette di formalizzare la chiusura solo della metà del volume degli ordini di mercato... come il lotto 10 e chiudere 5 lotti quando il prezzo raggiunge un certo livello.
O è possibile chiudere 1/3?
Oppure, sarebbe più facile implementare questa idea in un EA mettendo diversi ordini. Quando il prezzo raggiunge un livello richiesto, un ordine viene chiuso e l'altro rimane al posto della chiusura parziale del volume dell'ordine di mercato. Cosa ne pensate?
Per fare questo, è necessario specificare un lotto più piccolo del lotto della posizione nell'ordine di chiusura (questo è se MT4, in MT5 è possibile aprire la posizione opposta con un lotto più piccolo, e si sovrapporranno alla fine). La posizione con il lotto rimanente rimarrà sul mercato.
Ho capito bene? Il linguaggio di programmazione MQL4 permette di formalizzare la chiusura solo della metà del volume degli ordini di mercato... come il lotto 10 e chiudere 5 lotti quando il prezzo raggiunge un certo livello.
O è possibile chiudere 1/3?
Oppure, sarebbe più facile implementare questa idea in un EA mettendo diversi ordini. Quando il prezzo raggiunge un livello richiesto, un ordine viene chiuso e l'altro rimane al posto della chiusura parziale del volume dell'ordine di mercato. Cosa ne pensate?
Possiamo fare entrambe le cose. OrderClose permette di chiudere il volume che gli viene indicato. https://docs.mql4.com/ru/trading/orderclose
Naturalmente è possibile aprire diversi ordini con diversi livelli di profitto. In caso di fallimento della connessione sarà ancora più affidabile, perché i livelli di TP sono memorizzati sul server e saranno eseguiti se il prezzo li interseca.
Puoi fare entrambe le cose. OrderClose permette di chiudere il volume che gli è stato indicato. https://docs.mql4.com/ru/trading/orderclose
Naturalmente, puoi anche aprire diversi ordini con diversi livelli di profitto. In caso di fallimento della connessione questo sarà ancora più affidabile, perché i livelli TP sono memorizzati sul server e saranno eseguiti se il prezzo li attraversa.
Ciao a tutti, sto affrontando un problema, mi piacerebbe sentire il parere di professionisti o utenti MT5 più esperti. Ho scritto un indicatore e una classe CEventBase, che permette all'indicatore di generare eventi. Quando si eseguono Expert Advisors che elaborano questi eventi prima o poi, quando si eseguono in tempo reale, ottengo errori: 4001, 4102, 4104. Quando cominciano ad "ammucchiarsi", non smettono di farlo) allego il codice della funzione Generate, che in realtà è la fonte di tutti questi problemi. Sarei molto felice di sentire la tua opinione...)
Buona giornata a tutti!
Ciao a tutti, sto affrontando un problema, mi piacerebbe sentire il parere di professionisti o utenti MT5 più esperti. Ho scritto un indicatore e una classe CEventBase, che permette all'indicatore di generare eventi. Quando si eseguono Expert Advisors che elaborano questi eventi prima o poi, quando si eseguono in tempo reale, ottengo errori: 4001, 4102, 4104. Quando cominciano ad "accumularsi", non smettono di accadere) allego il codice della funzione Generate, che in realtà è la fonte di tutti questi problemi. Sarò molto felice di sentire la tua opinione al riguardo...)
Buona giornata a tutti!
Ovviamente, il metodo che hai presentato è un metodo di transito. L'errore molto probabilmente non è in esso. Non è chiaro dai dati che avete presentato cosa sta succedendo. Ci possono essere diverse varianti:
- Identificatore di carta non corretto (che è quello che dice l'errore 4101).
- Domande troppo frequenti;
- Altri parametri errati (ID degli eventi per esempio).
A giudicare dal livello del codice che hai scritto, possiamo dire che l'errore può essere ovunque e in qualsiasi momento.