A etiqueta [tp] removida em alguns corretores? - página 4

 
cloudbreaker:
Isto é possível. Você precisaria construir uma lógica para fazer o seguinte:- Persistir nas informações relativas às ordens que a EA fechou- Verifique continuamente o Order History pool para ordens que estão "no escopo" mas que sua EA não fechou- Verifique o sinal de lucro para determinar se um corretor invocou SL ou TPWorks para mim. CB

Este método pode ser usado na maioria das plataformas MT4 Broker sem problemas, mas descobri que não funciona na plataforma de demonstração MBTF MT4 Broker. A plataforma MBTF MT4 não registra nenhum comentário nas ordens fechadas pelos clientes (manualmente ou EA). É impossível julgar se uma ordem é fechada por servidor ou cliente neste tipo de plataforma de corretor.

Eu ainda acho que MetaQuotes deveria adicionar a API como OrderCloseReason() para resolver este problema.

 
gordon:

Hmmm.... Talvez esteja me faltando algo, mas há casos em que os seguintes não serão suficientes?


// 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...?
mas, aqui você tem uma solução de como fazer isso
 
qjol:
mas, aqui você tem uma solução de como fazer isso
Leia o fio completo. Este método não leva em conta uma situação em que um pedido foi fechado manualmente ou fechado por um especialista (e não por tp/sl), portanto é limitado. A maneira de fazer isso é através do que a CB sugeriu... Aqui não há atalhos.
 
aihua5:

[...] Eu ainda acho que MetaQuotes deveria adicionar a API como OrderCloseReason() para resolver esta questão.

Agora que o MT5 está fora, isso não é provável que aconteça. No máximo, vamos conseguir algumas correções de bugs para o MT4. Duvido que haja novas funcionalidades...

 
gordon:
Leia o fio completo. Este método não leva em conta uma situação em que um pedido foi fechado manualmente ou fechado por um especialista (e não por tp/sl), portanto é limitado. A maneira de fazer isso é através do que a CB sugeriu... Aqui não há atalhos.


Você tem razão em não ter lido o fio inteiro, mas, se ele for fechado pela EA ou manualmente o usuário tem a maneira de saber isso, o único problema é descobrir se ele está fechado por TP ou ST

É aqui que você entra. com seu código.

 
qjol:


Você tem razão em não ter lido todo o tópico, mas, se ele for fechado pela EA ou manualmente o usuário tem a maneira de saber isso, o único problema é descobrir se ele está fechado por TP ou ST

É aqui que você entra. com seu código.

Talvez o usuário não se lembre de fechar manualmente. Talvez ele não perceba que a EA fechou o pedido. Talvez não tenha sido ele quem desenvolveu o especialista, então ele não tem idéia sobre essas coisas... Claro que se assumirmos que somente TP/SL são possíveis, então a solução é fácil. Mas o objetivo desta linha é que nós não sabemos (o que significa que não assumimos).