ABERTURA DE ORDEM EM PAVIO DO CANDLE

 

PESSOAL. TUDO BEM?

ESTOU COM DIFICULDADE EM ABRIR ORDEM NO ROBÔ DE BANDA DE BOLLINGER QUE CRIEI. QUANDO O PREÇO PASSA DA LINHA, QUERO FAZER ENTRADA QUANDO FICAR +/- 40 ABAIXO OU ACIMA DA LINHA. MAS SÓ CONSEGUI CONFIGURAR ABERTURA NO PROXIMO CANDLE. 


if (PositionsTotal() == 1 && OrdersTotal()==1) 

              

            {

                  

                  if (rates[0].close < rates[1].close) 

                  {

                  //ObjectCreate(0, rates [1].time + "_", OBJ_ARROW_BUY,0,rates[1].time, rates[1].low);

                  double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);

                  trade.Buy(contrato,_Symbol,ask,ask -200 *_Point, ask+25*_Point,"[Compra a mercado]");

                  Print("COMPRA EXECUTADA");

                  }

             }

Arquivos anexados:
bbbb.png  13 kb
 
marcosgos10:

PESSOAL. TUDO BEM?

ESTOU COM DIFICULDADE EM ABRIR ORDEM NO ROBÔ DE BANDA DE BOLLINGER QUE CRIEI. QUANDO O PREÇO PASSA DA LINHA, QUERO FAZER ENTRADA QUANDO FICAR +/- 40 ABAIXO OU ACIMA DA LINHA. MAS SÓ CONSEGUI CONFIGURAR ABERTURA NO PROXIMO CANDLE. 


if (PositionsTotal() == 1 && OrdersTotal()==1) 

              

            {

                  

                  if (rates[0].close < rates[1].close) 

                  {

                  //ObjectCreate(0, rates [1].time + "_", OBJ_ARROW_BUY,0,rates[1].time, rates[1].low);

                  double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);

                  trade.Buy(contrato,_Symbol,ask,ask -200 *_Point, ask+25*_Point,"[Compra a mercado]");

                  Print("COMPRA EXECUTADA");

                  }

             }

Na imagem BBB vc usa low[0]<low[0]?

Aí nunca vai executar mesmo.

No código copiado aqui está ok, na imagem não. Veja se não é isso

Abs
 
Eu já fiz isso. Porem mesmo assim a ordem abre no próximo candle. o que quero é que quando o preço passar X pontos abaixo da linha da banda de bollinger, no mesmo instante executar uma compra ou venda. dessa forma só consigo no próximo candle. As vezes  o candle já retraiu e não compensa mais entrar na próxima vela. 
 
marcosgos10 #:
Eu já fiz isso. Porem mesmo assim a ordem abre no próximo candle. o que quero é que quando o preço passar X pontos abaixo da linha da banda de bollinger, no mesmo instante executar uma compra ou venda. dessa forma só consigo no próximo candle. As vezes  o candle já retraiu e não compensa mais entrar na próxima vela. 

Como  o colega disse, deveria ser algo assim "if (rates[0].close < lowBand[0])" ao inves de usar o rates dos dois lados que nem tu colou aqui no forum... E aquele PositionsTotal() == 1 e OrdersTotal() == 1 deveriam estar como zero nao? ou isso eh um trecho de reversao?

Razão: