venda no fechamento do candles

 

olaa pessoal blzz?

Alguem poderia me ajudar:

preciso que codigo abaixo realiza a venda no fechamento do candles atual:


onde está o erro acima?


fico grato se alguém me ajudar.

if(iClose(_Symbol, PERIOD_H1,0) && PositionsTotal()==1)       //coloquei essa função verificar fechamento do candles e pra verificar se tem posição aberta 

         {

         //trade.PositionClose(_Symbol,1);

        trade.Sell(0.01,bid,_Symbol,0, 0);

         }
 
Douglas Betiol:

olaa pessoal blzz?

Alguem poderia me ajudar:

preciso que codigo abaixo realiza a venda no fechamento do candles atual:


onde está o erro acima?


fico grato se alguém me ajudar.

Está no seu if. Vc está chamando o iClose que traz o preço de fechamento da vela mas não compara isso com nada. Então vai ser sempre true.

E como resolver? Aí o problema é mais complicado. Vender na abertura da próxima vela é simples, mas como saber o tick exato do fechamento? E se for um papel com Baixa liquidez?

Se te atender vender na abertura, pesquise na codebase ou no fórum mesmo por isNewBar.

Se não te atender, pense como você faria se fosse operar manualmente. Usando o onTimer talvez te ajude, mas nunca terá como saber se aquele negócio (tick) foi o último da barra. 

Na verdade vai saber sim, mas só quando a nova barra abrir.

Abs.