Backtest Bug - XP - build 1978

 

Código:

#include <Trade/Trade.mqh>

input uint     inp_tickentrada=0;

input double   inp_volume=100;

input double   inp_sl=1;

input double   inp_tp=1;

ulong somador=0;

CTrade trade;


int OnInit(){

   trade.SetTypeFillingBySymbol(_Symbol);

   somador=0;

   return(INIT_SUCCEEDED);

}

void OnDeinit(const int reason){

}

void OnTick(){

   if(somador==inp_tickentrada){

      double   p1=NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_BID)-inp_sl, _Digits),

               p2=NormalizeDouble(SymbolInfoDouble(_Symbol, SYMBOL_BID)+inp_tp, _Digits);

      trade.Buy(inp_volume, _Symbol, 0, p1,p2,IntegerToString(somador));

      somador++;

   }else if(somador<inp_tickentrada)

      somador++;

}


---

é esperado que abra uma posição e feche no stop gain/loss

ao mudar pra BRL em vez de USD fica ok, a duvida é... o TP e SL não estão sendo executados no backtest, e são independentes do valor do ganho, metaquotes fechou o contato para bugs? não tem como resolver isso?