Manter o valor do close.

 

Bom dia pessoal. Estou fazendo um EA, e 

esta parte do codigo.

double close_anterior = velas[0].close,

Acontece que quando forma nova vela, esse valor se altera, pois

a vela[0] alterou.

Tem como eu manter o valor do close enquanto a posição estiver aberta? 

quem puder me ajudar agradeço.

 
trindi:

Bom dia pessoal. Estou fazendo um EA, e 

esta parte do codigo.

double close_anterior = velas[0].close,

Acontece que quando forma nova vela, esse valor se altera, pois

a vela[0] alterou.

Tem como eu manter o valor do close enquanto a posição estiver aberta? 

quem puder me ajudar agradeço.

Sim tem. Mas qual a finalidade? Outra coisa, falaria pra voce verificar a ajuda da função que popula a variável "velas" que provavelmente deve te dar uma luz. Eu desconfio que sei qual é, mas sem saber também não da pra ajudar só supor.

 

Obrigado Ricardo, 

Finalidade. Quando o EA inicia, ele pega o valor do close de vela[0}, e desenha uma linha vermelha no grafico neste valor, e abre posições de venda ou compra.

Mas com uma nova vela o valor se altera e a linha muda de lugar, quero que o valor fique estático enquanto a posição estiver aberta, so alterando

após o fechamento da posição. Aí sim pega novamente o novo valor. 

Obrigado.

 


Bom dia pessoal,

Consegui resolver desta forma.

Ficou meio tosco, mas estou compartilhando, caso alguem precise desta solução.

Obrigado.

int barra_entrada = 0;
barra_entrada=iBarShift(_Symbol,PERIOD_CURRENT,PositionGetInteger(POSITION_TIME),false);
  
if(barra_entrada < 0)
{
   barra_entrada = 0;
}
double close_anterior = velas[barra_entrada].close;
Print(" Barra de Entrada ", barra_entrada); 

Código formatado incorrectamente editado pelo moderador. Por favor utilize o botão do CÓDIGO (Alt -S) ao inserir o seu código.

Botão de código no editor