MT5 Backtest nao calcula o lucro no fechamento de Posicoes

 

Olá,


Estou com uma situacao em que as ordens de venda são executadas e o fechamento das posicoes em aberto sao tambem sao executados.


Agora o relatorio (e graficos) do Backtest do Metatrader 5 não faz o calculo do lucro. Fica com sendo operacoes independentes. Alguma idéia do que pode estar acontecendo é muito bem vinda !


Segue o codigo de fecgamento das posicoes :


                  ResetLastError();
                  ZeroMemory(request);
                  ZeroMemory(result);
                  MqlTradeRequest request={0};
                  MqlTradeResult  result={0};
                  request.position=ticket;
                  request.symbol= simbolo;
                  request.magic=EXPERT_MAGIC;
                  request.volume = NormalizeDouble(volume,_Digits);
                  request.price = NormalizeDouble(price,_Digits);
                  request.deviation= TradeDeviation;
                  request.type_filling=ORDER_FILLING_IOC;
                  trade.PositionClose(ticket,ULONG_MAX);

Segue o relatorio do backtes:



Observacao: o journal do fechamento de posicao dá a seguinte posicao - (peguei o exemplo da MAGALU):



Quer dizer: ele está usando o simbolo certo, a quantidade certa, preco e esta' executando a ordem ... porem, no final tem um log de invalid price request (embora no Backtest - veja acima - está executando).


Obrigado ! 

Abcs

2020.08.18 14:13:00   exchange buy 100 MGLU3 at 87.85, close #2 (87.84 / 87.85 / 87.85)
2020.08.18 14:13:00   deal #7 buy 100 MGLU3 at 87.85 done (based on order #7)
2020.08.18 14:13:00   deal performed [#7 buy 100 MGLU3 at 87.85]
2020.08.18 14:13:00   order performed buy 100 at 87.85 [#7 buy 100 MGLU3 at 87.85]
2020.08.18 14:13:00   CTrade::OrderSend: exchange buy 100.00 MGLU3 [done]
2020.08.18 14:13:00   failed prices for MGLU3 100 [Invalid request]
2020.08.18 14:13:00   ProcessaFecharPosicao Get Last Error : 4756 Results Comment : Invalid requestResult Retcode : 10013
 

Pessoal,


Descobri a solucao - bem simples :) - nesse Link : 


Problemas com Robôs que operam ações


O que acontece: o Backtest, na caixa para escolha da moeda, nao tem a opcao da moeda Reais. Entao, por isso , deixei em USD e rodei o Expert Advisor na Bolsa Brasileira. Nao da erro (e por isso perdi muitas horas no codigo...) porem abre posicao de compra  independentemente da posicao fechada de venda. nao calcula o PROFIT/LOSS. 


Voce, "forcando" , a entrada na caixa de moedas e colocando BRL, pronto, tudo resolvido !

Escrevi isso para outros nao perderem tanto tempo com um simples erro.


Abcs


Problemas com Robôs que operam ações
Problemas com Robôs que operam ações
  • 2019.03.13
  • www.mql5.com
Bom dia, Sempre fiz experts para Forex e sempre funcionaram super bem, inclusive os backtests e tudo mais...
Razão: