Take profit não executa até entrar nova ordem

 

Olá,

Não estou entendendo porque um take profit fica "suspenso" até que uma nova ordem seja executada. O preço de disparo já foi atingido dias atrás e o TP não executa mas, ao entrar nova ordem, ele executa com preço definido antes, porém já não faz mais sentido tamanho o atraso.

Vejam, no exemplo, que a ordem (de venda) #2 executa corretamente com TP=36.29, aí nada mais acontece até que eu envie a ordem #3 (compra a 34.64). Isso faz o MT disparar a ordem #4 , que é o TP criado na ordem #2, que já deveria ter entrado dias antes. Aí ocorre compra aos 36.29, conforme definido no envio da ordem #2, quando o preço de compra da ordem #3, nesse momento, foi de 34.64! Não faz o menor sentido...

Parece que o problema é carregar a posição de um dia para o outro, aí os TP ficam "congelados". É isso mesmo? Se for, como fazer para reativar todos os TP e SL pendentes a cada novo dia?

Uso MT5 version 5, build 2560 (Jul 2020). Timeframe é H1. Tudo acontece no OnTimer() event, com mercado fechado. Testes no modo "netting".


Obrigado!

Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Deal Properties
Documentation on MQL5: Constants, Enumerations and Structures / Trade Constants / Deal Properties
  • www.mql5.com
A deal is the reflection of the fact of a trade operation execution based on an order that contains a trade request. Each trade is described by properties that allow to obtain information about it. In order to read values of properties, functions of the Identifier of a position, in the opening, modification or closing of which this deal took...
Arquivos anexados:
chart.png  20 kb
orders.png  35 kb
 
Wagner Cateb:

Olá,

Não estou entendendo porque um take profit fica "suspenso" até que uma nova ordem seja executada. O preço de disparo já foi atingido dias atrás e o TP não executa mas, ao entrar nova ordem, ele executa com preço definido antes, porém já não faz mais sentido tamanho o atraso.

Vejam, no exemplo, que a ordem (de venda) #2 executa corretamente com TP=36.29, aí nada mais acontece até que eu envie a ordem #3 (compra a 34.64). Isso faz o MT disparar a ordem #4 , que é o TP criado na ordem #2, que já deveria ter entrado dias antes. Aí ocorre compra aos 36.29, conforme definido no envio da ordem #2, quando o preço de compra da ordem #3, nesse momento, foi de 34.64! Não faz o menor sentido...

Parece que o problema é carregar a posição de um dia para o outro, aí os TP ficam "congelados". É isso mesmo? Se for, como fazer para reativar todos os TP e SL pendentes a cada novo dia?

Uso MT5 version 5, build 2560 (Jul 2020). Timeframe é H1. Tudo acontece no OnTimer() event, com mercado fechado. Testes no modo "netting".


Obrigado!

Você já se entendeu com a corretora que você está usando o MT5 para Swing trade?
 

Flavio Jarabeck:
Você já se entendeu com a corretora que você está usando o MT5 para Swing trade?

Obrigado pela sugestão Flavio, aparentemente o problema é com a XP mesmo.

A propósito: alguém pode me indicar uma corretora que ofereça contas demo (de preferência gratuitas) que aceitem Swing Trade? A Genial é boa mas também é só day trade...

 

Acontece comigo também na active trades, no swing trade, mas por enquanto apenas em backtests, e ainda não coloquei na real pra saber se isso também vai acontecer. E no meu caso é conta hedge. Caso eu descubra uma solução, eu posto aqui.



Wagner Cateb:

Olá,

Não estou entendendo porque um take profit fica "suspenso" até que uma nova ordem seja executada. O preço de disparo já foi atingido dias atrás e o TP não executa mas, ao entrar nova ordem, ele executa com preço definido antes, porém já não faz mais sentido tamanho o atraso.

Vejam, no exemplo, que a ordem (de venda) #2 executa corretamente com TP=36.29, aí nada mais acontece até que eu envie a ordem #3 (compra a 34.64). Isso faz o MT disparar a ordem #4 , que é o TP criado na ordem #2, que já deveria ter entrado dias antes. Aí ocorre compra aos 36.29, conforme definido no envio da ordem #2, quando o preço de compra da ordem #3, nesse momento, foi de 34.64! Não faz o menor sentido...

Parece que o problema é carregar a posição de um dia para o outro, aí os TP ficam "congelados". É isso mesmo? Se for, como fazer para reativar todos os TP e SL pendentes a cada novo dia?

Uso MT5 version 5, build 2560 (Jul 2020). Timeframe é H1. Tudo acontece no OnTimer() event, com mercado fechado. Testes no modo "netting".


Obrigado!

Razão: