Abordamos o tema de automatização de estratégias em NTSL, MQL5 e NinjaScript!
Estou colocando uma Ordem de Compra Stop (BuyStop) na máxima do candle que deu meu sinal de compra. Mas ele só executa a ordem caso o candle que veio imediatamente após rompa essa maxima.
Alguem sabe se existe uma forma de ele carregar essa ordem para os proximos candles para que ele execute mesmo que o preço supere o valor em candles subsequentes, ou seja, mesmo que nao seja o candle que veio logo após meu candle sinal, que colocou a ordem?
obrigado desde já
Boa noite @brunochimenti!
Esse é o comportamento esperado pois é a forma como funciona o modelo de execução da Nelógica.
Se você deseja manter essa ordem apregoada pelas próximas x barras ou até que algo ocorra, você deve programar explicitamente isso. Uma sugestão seria fazer o seguinte:
const cManterOrdemApregoadaPorXBarras(10); var bSinalCompra: boolean; iBarraSinalCompra: integer; fPrecoCompra: float; begin //XYZ deve ser a Condição de compra if XYZ then begin fPrecoCompra := High; iBarraSinalCompra := CurrentBar; end; // Uma vez ocorrido o sinal de compra, retem a ordem stop pelas próximas 10 barras if bSinalCompra and not hasPosition and (CurrentBar < iBarraSinalCompra + cManterOrdemApregoadaPorXBarras) then BuyStop(fPrecoCompra, fPrecoCompra + 10*MinPriceIncrement); end;
Espero ter ajudado!
Abs!
Muito obrigado! ajudou sim