m_account.Profit

 

Prezados,

Estou testando um EA da biblioteca e uma das funções é esta: if(m_account.Profit()>100)

Quando o lucro da conta for maior que 100,00 (no caso 100 reais, mini-índice, B3), ele fecha a ordem de compra: ClosePositions(POSITION_TYPE_BUY);

Meu problema é que faço entradas manuais na mesma conta, e o lucro delas está atrapalhando o EA. Então, como é que eu faço para que este EA só monitore o seu próprio lucro ?


Fiquei imaginando um comando assim: if(m_account.Profit()>100 && m_magic==12345), 12345 é o número mágico deste EA-teste


No bloco de comando ClosePositions tem: if(m_position.Magic()==m_magic)

                                                               m_trade.PositionClose(m_position.Ticket());


De fato ele só fecha suas próprias ordens, isso tá funcionando bem. O problema é o EA 'enxergar' só o Profit da conta relativo à suas próprias ordens. Ignorar o resultado financeiro das ordens abertas manualmente.


Agradeço quem souber e puder ajudar revelando o que devo incluir/modificar, e em qual parte do código.

 

Acho que eu consegui resolver

No lugar de: m_account.Profit() usei m_position.Profit()

E ao invés de fechar usando: ClosePositions(POSITION_TYPE_BUY);

Usei: m_trade.PositionClose(m_position.Ticket());


Testar