Il tag [tp] rimosso in alcuni broker? - pagina 4

 
cloudbreaker:
È possibile. Avresti bisogno di costruire una logica per fare quanto segue: - Persistere le informazioni relative agli ordini che l'EA ha chiuso - Controllare continuamente il pool Order History per gli ordini che sono "in scope" ma che il tuo EA non ha chiuso - Controllare il segno del profitto per determinare se un broker ha invocato SL o TP Funziona per me. CB

Questo metodo può essere utilizzato nella maggior parte delle piattaforme MT4 Broker senza problemi, ma ho scoperto che non funziona nella piattaforma demo MBTF MT4 Broker. La piattaforma MBTF MT4 non registra alcun commento negli ordini chiusi dai clienti (manualmente o EA). E' impossibile giudicare se un ordine è stato chiuso dal server o dal cliente in questo tipo di piattaforma di broker.

Penso ancora che MetaQuotes dovrebbe aggiungere l'API come OrderCloseReason() per risolvere questo problema.

 
gordon:

Hmmm.... Forse mi sfugge qualcosa, ma ci sono casi in cui il seguente non sarà sufficiente?


// select the closed order first and then do this:
   
   double sl_diff = MathAbs(OrderClosePrice() - OrderTakeProfit()),
          tp_diff = MathAbs(OrderClosePrice() - OrderStopLoss());
   
   if ( sl_diff > tp_diff )
      Print("order closed at tp");
   else
      Print("order closed at sl");

   // I assume here that an equality of sl_diff and tp_diff is impossible...?
ma, qui si ottiene una soluzione come farlo
 
qjol:
ma, qui si ottiene una soluzione come farlo
Leggi tutto il thread. Questo metodo non tiene conto di una situazione in cui un ordine è stato chiuso manualmente o da un esperto (e non da tp/sl), quindi è limitato. Il modo per farlo è quello suggerito da CB... Nessuna scorciatoia qui.
 
aihua5:

[...] Penso ancora che MetaQuotes dovrebbe aggiungere l'API come OrderCloseReason() per risolvere questo problema.

Ora che MT5 è uscito, non è probabile che accada. Al massimo avremo qualche correzione di bug per MT4... Dubito che ci saranno nuove funzionalità...

 
gordon:
Leggete tutto il thread. Questo metodo non tiene conto di una situazione in cui un ordine è stato chiuso manualmente o da un esperto (e non da tp/sl), quindi è limitato. Il modo per farlo è quello suggerito da CB... Nessuna scorciatoia qui.


Hai ragione non ho letto tutto il thread, ma, se è chiuso dall'EA o manualmente l'utente ha il modo di saperlo l'unico problema è scoprire se è chiuso da TP o ST

Qui è dove entri tu con il tuo codice.

 
qjol:


Hai ragione non ho letto tutto il thread, ma, se è chiuso dall'EA o manualmente l'utente ha il modo di saperlo l'unico problema è scoprire se è chiuso da TP o ST

È qui che entri in gioco tu con il tuo codice.

Forse l'utente non si ricorda di aver chiuso manualmente. Forse non si rende conto che l'EA ha chiuso l'ordine. Forse non è stato lui a sviluppare l'esperto e quindi non ha idea di queste cose... Naturalmente se assumiamo che siano possibili solo TP/SL allora la soluzione è facile. Ma l'intero punto di questo thread è che non lo sappiamo (il che significa che non lo assumiamo).