Тестер MT4, вывод/маскировка средств

 

Подскажите какие-либо автоматические способы для изменения баланса счета при тестировании стратегий.

К примеру, после определённой прибыльной сделки мне нужно уменьшить балан счета до первоначального.
Я понимаю, что можно использовать переменную, в которой хранить "выведенные" средства, но это всё ухищрения.

Более-менее стандартно можно реализовать?

 
double OpenClose( double Lots )
{
  int Ticket;
  
  Ticket = OrderSend(Symbol(), OP_BUY, Lots, Ask, 0, 0, 0, "Withdrawal");
  OrderClose(Ticket, Lots, Bid, 0);
  
  return (Lots);
}

void Withdrawal( double Amount )
{
  double Lots, LotStep, MinLot;
  
  Lots = Amount / ( MarketInfo(Symbol(), MODE_SPREAD) * MarketInfo(Symbol(), MODE_TICKVALUE));
  
  MinLot = MarketInfo(Symbol(), MODE_MINLOT);
  LotStep = MathMin(MarketInfo(Symbol(), MODE_MAXLOT), AccountFreeMargin() / MarketInfo(Symbol(), MODE_MARGINREQUIRED));
  
  if (LotStep < MinLot)
    return;
  
  while (Lots >= LotStep + MinLot)
  {
    Lots -= OpenClose(LotStep);
    LotStep = MathMin(MarketInfo(Symbol(), MODE_MAXLOT), AccountFreeMargin() / MarketInfo(Symbol(), MODE_MARGINREQUIRED));
  }
  
  if (LotStep < MinLot)
    return;
    
  if (Lots > LotStep)
    Lots -= OpenClose(MinLot);
    
  if (Lots >= MinLot)
    OpenClose(Lots);
  
  return;
}
 

А как учитывать нехватку средств для поддержания позиций? Это же тестер рассчитывает

 
Брокер не позволяет выводить средства ниже уровня Margin Call.