Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 20

 
Andrey Dik:

Anche per la copertura.

Nel corso degli anni il mio cervello si è affinato per fare il netting: Ordine->Transazione->Posizione. Ci possono essere molti accordi in una posizione(in un hedge c'è un solo accordo, correggetemi se sbaglio), si può dire cosa è successo alla posizione dal tipo di accordo.

In una copertura è ovviamente più facile da capire, ma più difficile da seguire. Certo che lo è.

Uno finché la posizione esiste sul mercato. Ma quando viene chiuso c'è un secondo ordine e un secondo commercio.

ps; probabilmente mi sbaglio. Vedi ps nel post qui sotto.

 
Artyom Trishkin:
E il trawl di SL? Come si determina ciò che si è chiuso sulla rete a strascico SL sul lato positivo?

Ok, non l'avevo considerato. Poi controlliamo il prezzo dell'ordine che ha aperto la posizione e il prezzo dell'ordine che ha chiuso la posizione.

Anche se probabilmente possiamo lasciare stare gli ordini e operare solo con accordi.

ps; No... C'è qualcosa di sbagliato qui. Dopo tutto, ogni cambiamento di Take o Stop dopo l'apertura della posizione è un nuovo ordine e un nuovo accordo. A quanto pare questo è ciò con cui dovremmo lavorare...

Non posso controllarlo, non ho posizioni con stop. Solo alcuni con le prese.

 
Alexey Viktorov:

Quando si trova l'ultimo trade DEAL_ENTRY_OUT e si seleziona l'intera storia della posizione HistorySelectByPosition in questa lista ci sono, per i conti hadge 2 trade e 2 ordini, aprendo una posizione e chiudendola. L'ordine in base al quale è avvenuta la chiusura contiene ORDER_PRICE_OPEN. Poi si controlla il tipo di posizione e il tipo di ordine che è stato usato per chiuderla. Se il tipo di ordine è opposto, significa che era una chiusura. Di conseguenza, il prezzo dell'ordine è il prezzo che dovremmo cercare, con una piccola correzione: se il profitto dell'ordine è > 0, allora questo è il prezzo di TP, se è < 0, allora la posizione ha chiuso su SL.

Se ci basiamo sul commento all'ordine, non lo farei.

Non è così semplice. L'ultimo ordine in una posizione può essere sia quello che ha chiuso la posizione che quello che l'ha invertita.

Per quanto riguarda SL e TP - dal commento per determinare il modo più semplice e affidabile. Confrontare i prezzi per SL e TP non funziona sempre correttamente, perché SL e TP possono essere sia nella zona di profitto che in quella di perdita. Questo è già stato discusso abbastanza animatamente sul forum, il signor Sergeev ha dato la soluzione appropriata per il commento che ho citato.

 
Andrey Dik:

Non è così semplice. L'ultimo ordine in una posizione può essere quello che ha chiuso il trade o quello che lo ha invertito.

E su SL e TP - dal preventivo per determinare il modo più semplice e affidabile. Confrontare i prezzi di SL e TP non funzionerà sempre correttamente, perché sia SL che TP possono essere nella zona di profitto e perdita.

Non ho detto che è facile. Infatti, solo sui conti netti lo SL e il TP sono uguali allo SL e al TP. E solo nei conti netting. Per invertire una posizione nei conti di copertura, questa deve essere chiusa da quella opposta con un volume maggiore. Non è così?

Questo argomento è interessante, ma non posso controllarlo a causa delle ragioni sopra menzionate. Non ho posizioni con stop e takeaway, specialmente quelli trailing.

 
Alexey Viktorov:

Un ordine che inverte una posizione non può essere un take o uno stop.

TP e SL non sono ordini nel sistema contabile di MT, sono proprietà della posizione. Quindi non si può lavorare con SL/TP su ordini/scambi (anche il saggio motore del sito lo conferma con un link).

Alexey Viktorov:

Nei conti di copertura per invertire una posizione bisogna chiuderla con un ordine opposto di volume maggiore. Non è così?

No, non lo è. Nei conti di copertura una posizione non può essere invertita, può solo essere chiusa.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Andrey Dik:

TP e SL non sono ordini nel sistema contabile di MT, sono proprietà della posizione. Quindi non puoi lavorare con SL/TP su ordini/transazioni (anche il motore del sito saggio conferma con un link).

No, non lo è. Nei conti di copertura una posizione non può essere invertita, può solo essere chiusa.

Ma una volta che una posizione è chiusa, le sue proprietà non sono più disponibili. Tutto quello che devi fare è cercare le informazioni necessarie su ordini e scambi.
 

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

MQL5 Come faccio a sapere se un trade ha chiuso su uno stop loss o no?

fxsaber, 2017.02.14 19:46

Biglietto l'ordine che è stato il motivo della chiusura della posizione, spingerlo qui
#define ORDER_TYPE_TAKEPROFIT (-1)
#define ORDER_TYPE_STOPLOSS   (-2)

int GetOrderType(const ulong OrderTicket)
{
  int OrderType=(int)::HistoryOrderGetInteger(OrderTicket,ORDER_TYPE);

  if((OrderType==ORDER_TYPE_BUY) || (OrderType==ORDER_TYPE_SELL))
    {
     const string OrderComment=HistoryOrderGetString(OrderTicket,ORDER_COMMENT);
     const string OrderPrice=::DoubleToString(::HistoryOrderGetDouble(OrderTicket,ORDER_PRICE_OPEN),
                                              (int)::SymbolInfoInteger(HistoryOrderGetString(OrderTicket,ORDER_SYMBOL),SYMBOL_DIGITS));

     if(OrderComment=="tp "+OrderPrice)
        OrderType=ORDER_TYPE_TAKEPROFIT;
     else if(OrderComment=="sl "+OrderPrice)
        OrderType=ORDER_TYPE_STOPLOSS;
    }

  return(OrderType);
}
 
Andrey Dik:
Mi faccia un esempio, per favore.
Un esempio di cosa? Che le proprietà della posizione non sono disponibili dopo averla chiusa?
 
Alexey Viktorov:
Un esempio di cosa? Che le proprietà di una posizione non sono disponibili dopo la sua chiusura?
Un esempio di come si determina cosa ha chiuso la posizione SL o TP su ordini e compravendite. Ho dato un esempio di come si determina questo dal tuo commento.
 
Andrey Dik:
Esempio di come si determina la posizione SL o TP chiusa su ordini e compravendite. Ho dato un esempio di come si determina questo dal tuo commento.

Non sto facendo nulla. Anche in mql4, trovo inutile guardare la cronologia degli ordini. Sto ancora cercando di capire la direzione in cui posso iniziare a scavare quando necessario. Dato che non ci sono posizioni trafficate in nessun terminale, semplicemente non posso controllarle.

Di conseguenza, dopo aver chiuso la posizione sui miei conti, ci sono solo 2 ordini e 2 operazioni che si riferiscono alla posizione. Usandoli possiamo ottenere alcune informazioni sulla posizione. Per esempio, a che prezzo è stata aperta la richiesta e a che prezzo è stato aperto l'ordine. Di conseguenza, possiamo facilmente determinare lo slippage al quale la posizione è stata aperta.

Io tratto i commenti con cautela da MT4 perché le società di brokeraggio sovrascrivono tutti i commenti secondo le loro ragioni.