Minha operação executou a orem de takeproft ou stopLoss como eu identifico via código mql5 a ordem de abertura?

 

Olá a todos,

Estou trabalhando em um código em MQL5 e estou tendo dificuldade em encontrar a ordem vinculada a um stop loss ou take profit de uma ordem específica.

Gostaria de identificar a ordem associada a um stop loss ou take profit para realizar ações específicas em meu código.

Eu consigo encontrar as ordens quando estou com apenas uma ordem aberta por vez, porem quando tenho mais de uma ordem aberta, principalmente se a ordem de stop loss de uma operação estiver no mesmo nivel de preço do take proft de outra não consigo saber qual foi a ordem que eles estavam vinculados.

Alguém poderia me orientar ou fornecer um exemplo de como posso encontrar a ordem vinculada a um stop loss ou take profit usando MQL5?


Agradeço antecipadamente por qualquer ajuda ou direção fornecida!

 
malaquias1:

Olá a todos,

Estou trabalhando em um código em MQL5 e estou tendo dificuldade em encontrar a ordem vinculada a um stop loss ou take profit de uma ordem específica.

Gostaria de identificar a ordem associada a um stop loss ou take profit para realizar ações específicas em meu código.

Eu consigo encontrar as ordens quando estou com apenas uma ordem aberta por vez, porem quando tenho mais de uma ordem aberta, principalmente se a ordem de stop loss de uma operação estiver no mesmo nivel de preço do take proft de outra não consigo saber qual foi a ordem que eles estavam vinculados.

Alguém poderia me orientar ou fornecer um exemplo de como posso encontrar a ordem vinculada a um stop loss ou take profit usando MQL5?


Agradeço antecipadamente por qualquer ajuda ou direção fornecida!

Eu vou perguntar so pra desencargo mesmo, esta falando de uma conta netting ou hedging? Essas ordens seriam ordens individuais (que pode ter tp e sl) ou seria uma unica ordem com sl e/ou tp?
 
Ricardo Rodrigues Lucca #:
hedging
conta hedging.
 
malaquias1 #:
conta hedging.
Se for ordem individual dai tu tem que fazer o controle voce mesmo, se for a posição com o sl e tp (que me parece ser esse o seu caso) dai tu pode fazer que nem esta aqui. So vai precisar colocar nos detalhes para ele recuperar o DealReason. Esse campo permite saber se foi um SL ou um TP, além de outros dados.
Documentação sobre MQL5: Funções de Negociação / HistoryDealGetTicket
Documentação sobre MQL5: Funções de Negociação / HistoryDealGetTicket
  • www.mql5.com
HistoryDealGetTicket - Funções de Negociação - Referência MQL5 - Referência sobre algorítimo/automatização de negociação na linguagem para MetaTrader 5
 
Ricardo Rodrigues Lucca #:
Se for ordem individual dai tu tem que fazer o controle voce mesmo, se for a posição com o sl e tp (que me parece ser esse o seu caso) dai tu pode fazer que nem esta aqui. So vai precisar colocar nos detalhes para ele recuperar o DealReason. Esse campo permite saber se foi um SL ou um TP, além de outros dados.

Ricardo,

Creio que entendi suas observações, portanto eu não vi como ligar a ordem TP ou SL com a ordem de deu inicio a operação.

Veja,
na imagem que coloquei anexa é um exemplo onde eu tenho duas ordem que foram abertas em momentos distintos, uma de compra e outra de venda, portanto o SL de uma esta no mesmo nível de preço da outra. quando a ordem de TP e SL foram executadas como eu consigo relacionar o TP com a ordem de venda e o SL com a ordem de compra que originou a operação?

desde já lé agradeço pelo seu tempo e apoio.

Arquivos anexados:
tp_e_sl.jpg  57 kb
 
malaquias1 #:

Ricardo,

Creio que entendi suas observações, portanto eu não vi como ligar a ordem TP ou SL com a ordem de deu inicio a operação.

Veja,
na imagem que coloquei anexa é um exemplo onde eu tenho duas ordem que foram abertas em momentos distintos, uma de compra e outra de venda, portanto o SL de uma esta no mesmo nível de preço da outra. quando a ordem de TP e SL foram executadas como eu consigo relacionar o TP com a ordem de venda e o SL com a ordem de compra que originou a operação?

desde já lé agradeço pelo seu tempo e apoio.

Então, saber que eh um sl/tp tem o DEAL_REASON e tem a parte de comentario (menos confiavel). Saber qual *posição* que originou tem como sim veja a mesma página do DEAL_REASON tem como recuperar um item chamado DEAL_POSITION_ID.

 
Ricardo Rodrigues Lucca #:

Então, saber que eh um sl/tp tem o DEAL_REASON e tem a parte de comentario (menos confiavel). Saber qual *posição* que originou tem como sim veja a mesma página do DEAL_REASON tem como recuperar um item chamado DEAL_POSITION_ID.

Valeu Ricardo,

Funcionou perfeitamente.


Muito obrigado pela ajuda e esclarecimentos.

Razão: