Elaborazione OnTradeTransaction - pagina 7

 
fxsaber:

La presenza delle posizioni e dei flag DEAL_ENTRY non dovrebbe essere coinvolta in alcun modo nella logica.

Sì, dovrebbero...

Ecco la situazione: abbiamo una posizione di 1 lotto e un ordine di stop di 0,1 lotti.

Viene attivato un ordine stop e otteniamo una transazione TRADE_TRANSACTION_DEAL_ADD e DEAL_ENTRY_IN.

Come risultato di questo evento, parte della posizione viene chiusa e viene ricevuta una nuova transazione TRADE_TRANSACTION_DEAL_ADD ma con DEAL_ENTRY_OUT

Quindi, c'è il doppio tipo di transazione e la necessità di controllare la direzione della transazione.

 
Alexey Viktorov:

Dovresti essere coinvolto...

Situazione: abbiamo una posizione di 1 lotto e un ordine di stop di 0,1 lotti.

Un ordine stop è attivato e una transazione TRADE_TRANSACTION_DEAL_ADD e DEAL_ENTRY_IN è ricevuta

Come risultato di questo evento, parte della posizione viene chiusa e viene ricevuta una nuova transazione TRADE_TRANSACTION_DEAL_ADD ma con DEAL_ENTRY_OUT

Da qui il tipo di transazione doppia e la necessità di controllare la direzione dello scambio.

Per confutare questa affermazione, basta eseguire l'Expert Advisor che ho citato. Purtroppo è il fine settimana, quindi non funzionerà.

Forum sul trading, sistemi di trading automatico e test di strategia

Elaborazione OnTradeTransaction

fxsaber, 2019.02.08 17:41

È possibile avere una posizione di netting pari a zero, ma ci sono due SL e due TP.

 
fxsaber:

Per confutare questa affermazione, basta eseguire il consulente che ho citato. Sfortunatamente, è il fine settimana, quindi non funzionerà.

E chi vieta di controllare se(!PositionSelectByTicket(trans.position)) e cancellare quelle posizioni in sospeso?
 
Alexey Viktorov:
E chi vieta di controllare if(!PositionSelectByTicket(trans.position)) e rimuovere quelle posizioni in sospeso?

Situazione passo dopo passo

  1. BuyLimit e SellLimit iniziali per 1 lotto, nessuna posizione aperta.
  2. Inneschi BuyLimit - appaiono i suoi SL/TP-trends. Una posizione di acquisto aperta è 1 lotto.
  3. SellLimit si innesca - appaiono le sue posizioni SL/TP. Non c'è nessuna posizione aperta.
Per le coperture questa situazione è identica a quella in cui ci sono due posizioni opposte e le posizioni SL/TP sono impostate per ciascuna di esse. È esattamente lo stesso in questo caso, solo che in Netting le posizioni opposte non sono visibili.

 
fxsaber:

Situazione passo dopo passo

  1. BuyLimit e SellLimit iniziali per 1 lotto, nessuna posizione aperta.
  2. Inneschi BuyLimit - appaiono i suoi SL/TP-trends. Una posizione di acquisto aperta è 1 lotto.
  3. SellLimit si innesca - appaiono le sue posizioni SL/TP. Non c'è nessuna posizione aperta.
Per le coperture questa situazione è identica a quella in cui ci sono due posizioni opposte e le posizioni SL/TP sono impostate per ciascuna di esse. È esattamente la stessa cosa in questo caso, tranne che le posizioni dirette in modo opposto non sono visibili sul Netting.

Forum sul trading, sistemi di trading automatico e test di strategia

Elaborazione OnTradeTransaction

Alexey Viktorov, 2019.02.09 12:10

E chi vieta di controllare if(!PositionSelectByTicket(trans.position)) e rimuovere quegli ordini pendenti?

 
Alexey Viktorov:

Perché rimuovere qualcosa che dovrebbe rimanere? È una situazione perfettamente normale quando ci sono due "posizioni" diversamente dirette con i loro SL/TP.

Sembra che non capisca affatto il compito o che lo presenti come primitivo. Expert Advisor deve sempre fare trading, anche se l'utente ha iniziato a fare trading con le mani in parallelo.


Articolo sull'argomento.

Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели HedgeTerminal, часть 1
Разнонаправленная торговля и хеджирование позиций в MetaTrader 5 с помощью панели HedgeTerminal, часть 1
  • www.mql5.com
В последние полтора года компанией MetaQuotes была проведена масштабная работа по объединению торговых платформ MetaTrader 4 и MetaTrader 5 в единую трейдерскую экосистему. Теперь для обеих платформ существует общий рынок программных решений - Маркет, предлагающий различные программные решения от сторонних разработчиков. Компиляторы для обеих...
 

Forum sul trading, sistemi di trading automatico e test di strategia

Elaborazione OnTradeTransaction

fxsaber, 2019.02.09 12:14

Situazione passo dopo passo.

  1. BuyLimit e SellLimit iniziali per 1 lotto sono in piedi, nessuna posizione aperta.
  2. I trigger di BuyLimit - i suoi SL/TP appaiono. Una posizione di acquisto aperta è 1 lotto.
  3. SellLimit si innesca - appaiono le sue posizioni SL/TP. Non c'è nessuna posizione aperta.
Per le coperture questa situazione è identica a quella in cui ci sono due posizioni opposte e le posizioni SL/TP sono impostate per ciascuna di esse. È esattamente lo stesso in questo caso, solo che in Netting le posizioni opposte non sono visibili.

fxsaber:

Perché rimuovere qualcosa che dovrebbe rimanere? È perfettamente normale avere due "posizioni" diversamente dirette con i loro SL/TP.

Non sembra capire affatto il problema o presentarlo come primitivo. Expert Advisor deve sempre fare trading, anche se l'utente inizia a fare trading con le mani in parallelo.
Non vedi nessuna contraddizione qui?
 
Alexey Viktorov:
Vede qualche contraddizione qui?

Non lo vedo. Le virgolette sono lì per una ragione.

 
fxsaber:

Non lo vedo. Le virgolette sono lì per una ragione.

Quindi non ci sono posizioni, o sono tra virgolette?

 
Alexey Viktorov:

Quindi non ci sono posizioni o sono tra virgolette?

Guarda questo video da 01:35 e 03:35.