Resposta

Como verificar o lucro aberto?

1 resposta

boomza100

Assinante, bbp_participante, comunidade, 7 respostas.

Perfil da visita

11 anos atrás #111237

Existe uma maneira de verificar o lucro total da conta aberta?

 

Por exemplo, se eu tiver 4, 5 ou 10 negociações abertas, em diferentes moedas, AUDUSD, USDJPY etc..., algumas com lucro, outras com prejuízo, quero fechar todas as negociações se meu lucro aberto estiver em algum nível.

 

Eu estava usando o Open P/L (em pips), com o número mágico definido como 0, mas ele parecia ler apenas o lucro de uma moeda.

 

Alguma idéia?

 

Obrigado.

 

0

Marca Fric

Administrador, sq-ultimate, 2 respostas.

Perfil da visita

11 anos atrás #121826

Hi,

 

isso só é possível usando a função personalizada. Abra o arquivo {EA Wizard installation}/code/CustomFunctions.mq4

e adicione a seguinte função lá:

 

 

double sqGetTotalOpenPLInPips() {
  double pl = 0;

  para (int cc = OrderTotal() - 1; cc >= 0; cc-) {
    se (!OrderSelect(cc, SELECT_BY_POS) ) continuar;
    if(OrderType() != OP_BUY && OrderType() != OP_SELL) continue;

    if(OrderType() == OP_BUY) {
      pl += Bid - OrderOpenPrice();
    {} else {
      pl += OrderOpenPrice() - Ask;
    }
  }

  return(pl*gPointPow);
}

 

 

isso adicionará uma nova função ao programa que será anexada a cada EA gerado pelo EA Wizard.

 

 

Em seguida, você pode chamar essa nova função em Functions -> Custom Function ou em Then actions -> Other -> Custom Action.

Você o chamará normalmente como GetTotalOpenPLInPips()

Sua condição pode ser, por exemplo:

 

IF Função personalizada: GetTotalOpenPLInPips() > 1000

ENTÃO

...faça algo

Marcar
EstratégiaQuant arquiteto

0

Visualizando 1 resposta (de um total de 1)