![MQL5 - Linguagem para estratégias de negociação inseridas no terminal do cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Estou com um problema de expiração da ordem, se alguém puder me ajudar agradeço.
Desenvolvi um expert para validar estratégias no gráfico semanal ou diário. A situação que descrevo ocorre nos dois:
1. Quando aparece o sinal para uma nova entrada, no candle posterior ao do sinal, posiciono uma compra um tick acima da máxima do candle do sinal, com stop loss e take profit definidos.
2. Recebo a mensagem que a ordem foi colocada com sucesso e é mostrado no gráfico os locais da possivel entrada, stop loss e take profit, conforme defini.
3. O que acontece é que depois de alguns ticks recebo a mensagem de "order expired". O estranho é que isso acontece algumas vezes, em outras a entrada é realizada, assim como os alvos de stop loss ou take profit.
Obs:
Já utilizei o ORDER_TIME_GTC, desta forma:
trade.BuyStop(volume, priceBuy, symbol, stopLoss, takeProfit, ORDER_TIME_GTC, 0)
e o ORDER_TIME_SPECIFIED (passando uma data de expiração de 1 ano para frente):
trade.BuyStop(volume, priceBuy, symbol, stopLoss, takeProfit, ORDER_TIME_SPECIFIED, expiration)
Já tentei com o TypeFilling configurado como ORDER_FILLING_FOK ou ORDER_FILLING_RETURN:
trade.SetTypeFilling(ORDER_FILLING_FOK);