Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1414

 
Lo capisco, grazie. Ma non ho ancora capito quale stop loss si applica se il primo EA acquista 0,01 lotti e il secondo acquista 0,05 lotti. Quindi si apre una posizione di 0,06 lotti, giusto? E quale stop loss si applica a questa posizione? Il primo, il secondo o uno aggregato?
 
Benjamin Fotteler #:
Lo capisco, grazie. Ma non ho ancora capito quale stop loss si applica se il primo EA acquista 0,01 lotti e il secondo acquista 0,05 lotti. Quindi si apre una posizione di 0,06 lotti, giusto? E quale stop loss si applica a questa posizione? Il primo, il secondo o uno aggregato?
Penso che sia stato inserito l'ultimo.
 

Ok, se questo è il caso, allora ho finalmente capito il principio alla base di un conto di compensazione: Esiste una sola posizione, che è l'aggregazione di tutte le operazioni precedenti; e chiunque sia stato l'ultimo a impostare SL e TP - sia tramite il metodo OrderSend che tramite PositionModify o altro - ha impostato SL e TP per l'intera posizione, indipendentemente dal fatto che ciò vada bene o meno agli altri EA.

Ciò significa che quando si utilizzano diversi EA su uno stesso simbolo con un conto di compensazione, l'utente deve essere consapevole di dover impostare gli SL e i TP dei diversi EA in modo identico, in modo che non funzionino in modo diverso da quello originariamente previsto - a meno che non abbiano una funzione di protezione e aprano una posizione "interna" solo se non è aperta alcuna posizione sul rispettivo simbolo. Il PositionSelect() che avete menzionato in precedenza è molto utile a questo scopo.

Documentation on MQL5: Trade Functions / PositionSelect
Documentation on MQL5: Trade Functions / PositionSelect
  • www.mql5.com
PositionSelect - Trade Functions - MQL5 Reference - Reference on algorithmic/automated trading language for MetaTrader 5
 
Benjamin Fotteler metodo OrderSend che tramite PositionModify o altro - ha impostato SL e TP per l'intera posizione, indipendentemente dal fatto che ciò vada bene o meno agli altri EA.

Ciò significa che quando si utilizzano diversi EA su uno stesso simbolo con un conto di compensazione, l'utente deve essere consapevole di dover impostare gli SL e i TP dei diversi EA in modo identico, in modo che non funzionino in modo diverso da quello originariamente previsto - a meno che non abbiano una funzione di protezione e aprano una posizione "interna" solo se non è aperta alcuna posizione sul rispettivo simbolo. Il PositionSelect() che avete menzionato in precedenza è molto utile a questo scopo.

Per sicurezza, tuttavia, proverei di nuovo a vedere se lo SL e il TP vengono adottati per un altro ordine o se è meglio modificare lo SL e il TP separatamente in seguito - non ho esperienza in merito!

 
Salve buon pomeriggio, qualcuno può aiutarmi, non riesco a scaricare nessun indicatore di mql5 per mt5, se do il download dell'indicatore in mql5 mi appare una finestra che mi chiede se ho mt5 io do si, poi automaticamente si apre mt5 nella sezione di marcatura o mercato e non scarica nulla.
Ho provato a inserire l'utente e la password di mql5 in mt5 nella sezione strumenti, comunità, per scaricarli direttamente da mt5 direttamente e niente non scarica nulla, solo fa lo stesso suono quando un'operazione non entra o c'è un errore lotaje....

Il mio pc è windows 8.1 32 bit, non so se il sistema operativo ha qualcosa a che fare.
Apprezzo l'aiuto grazie mille.
 

Sì, dovresti sicuramente provare tutto. Per quanto riguarda il conto di compensazione, non l'ho ancora fatto, ma l'ho fatto con il valore tradeResult.deal, che avevo salvato come positionTicket.

Mi sono reso conto che se eseguo l'EA e invio anche ordini limite e simili tra gli ordini di mercato, che uso solo in esso (a parte SL e TP), allora il ticket della posizione aperta non è identico a tradeResult.deal, ma a tradeResult.order. E come descritto nella pagina delle proprietà della posizione, il ticket della posizione può semplicemente cambiare, mentre POSITION_IDENTIFIER non cambia, ma rimane identico al ticket dell'ordine che ha aperto la posizione, cioè a tradeResult.order dell'operazione di entrata.

 

per favore, chi sa dove si può commerciare USDKZT?

 
Ho appena provato questo con il conto di compensazione. Se si inserisce un ordine di vendita a mercato di 1 lotto con stop loss a 1,1 EURUSD e poi si inserisce un ordine di vendita a mercato di 1 lotto con stop loss a 1,05 EURUSD, l'intera posizione di compensazione a 2 lotti ha lo stop loss a 1,05 EURUSD. Ciò significa che se si eseguono due EA concorrenti su un unico simbolo, che gestiscono o gestiscono lo StopLoss e il TakeProfit in modo diverso, ciò potrebbe portare al caos. Sarebbe meglio controllare nel mio EA con PositionSelect() se una posizione è già aperta e lasciare che il mio EA attenda che non ci siano più posizioni prima di ingarbugliarsi.
 
Benjamin Fotteler #:
Ho appena provato questo con il conto di compensazione. Se si inserisce un ordine di vendita a mercato di 1 lotto con stop loss a 1,1 EURUSD e poi si inserisce un ordine di vendita a mercato di 1 lotto con stop loss a 1,05 EURUSD, l'intera posizione di compensazione a 2 lotti ha lo stop loss a 1,05 EURUSD. Ciò significa che se si eseguono due EA concorrenti su un unico simbolo, che gestiscono o gestiscono lo StopLoss e il TakeProfit in modo diverso, ciò potrebbe portare al caos. Sarebbe meglio controllare nel mio EA con PositionSelect() se una posizione è già aperta e lasciare che il mio EA attenda fino a quando non ci sono più posizioni prima di ingarbugliarsi.
Grazie per il test! Come sospettavo, su un conto di compensazione le posizioni aperte non hanno "memoria". Oppure si può usare un conto di copertura, dove ogni posizione ha il numero magico del 'suo' EA, che può quindi gestirla.
 

Ho appena letto I controlli che un robot di trading deve superare. Le informazioni sono state molto utili. Tuttavia, è emersa la questione delle richieste di margine. Non so se ho capito bene.

Attualmente il mio EA fa due cose per evitare le chiamate di margine: Prima di un'operazione che apre o potrebbe aprire una posizione, utilizza OderCalcMargin(...) e ACCOUNT_MARGIN_FREE per vedere se il margine può essere aumentato. Poi, se deve essere aperta una posizione, controlla se l'importo dello stop loss supera il margine da pagare. Non sono sicuro di aver frainteso qualcosa riguardo al secondo punto.

Supponiamo che il margine sia di 500 dollari, che il mercato stia andando contro la mia direzione e che il mio stop loss entri in vigore o si attivi solo in caso di perdita di 1000 dollari. Se il valore del P&L aperto della mia posizione è -750$, cioè il margine di 500$ è esaurito, ricevo una margin call? Quindi avrebbe senso controllare lo SL? - Perché è una cosa che non voglio provare.