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");
}
}
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?
![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
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");
}
}