
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
Olá pessoal!
Estou desenvolvendo um bot para swingtrade, que faz aumentos de posição (basicamente um preço médio quando o mercado vai contra).
Ainda estou apenas fazendo backtestes, mas me deparei com a seguinte situacao:
1) Quando coloco a ordem pendente e o preço chega nela no mesmo dia, executa normalmente;
2) Quando o mercado só chega na ordem em um dia posterior, a ordem continua na pedra mas não é executada.
3) Estou testando isso no Forex, mt5.
Segue a forma como coloco as ordens pendentes:
entradaCalculada = latest_price.bid + DistanciaReentrada;
mrequest.action = TRADE_ACTION_PENDING; // pending order
mrequest.price = NormalizeDouble(entradaCalculada,_Digits); // latest ask price
mrequest.sl = NormalizeDouble(entradaCalculada + STP*_Point,_Digits); // Stop Loss
mrequest.tp = NormalizeDouble(entradaCalculada - TKP*_Point,_Digits); // Take Profit
mrequest.symbol = _Symbol; // currency pair
mrequest.volume = Reentry1LotSize; // number of lots to trade
mrequest.magic = EA_Magic; // Order Magic Number
mrequest.type = ORDER_TYPE_SELL_LIMIT; // Buy Order
mrequest.type_filling = ORDER_FILLING_FOK; // Order execution type
mrequest.deviation=100; // Deviation from current price
mrequest.comment = "Entrada pelo sinal - aumento 1";
A situação é esta na foto abaixo. O mercado atingiu o preço de entrada (no caso era uma venda), mas não executou. E se a ordem tivesse sido colocada no mesmo dia, teria executado sem problemas.
Será que é bug do backtest ou é bug do programador kkk? Em termos de mql5 eu sou um programador júnior.
Agradeço desde já quem puder dar uma força.