Ошибка размера лота в тестировщике на паре XAUUSD

 

Здравствуйте, подскажите пожалуйста, при тестировании советника в тестировщике в МТ5, на паре XAUUSD не открывает лот размером 5.12. Пробовал разбить на 2 по 2.56 так же не открывает. Какие есть ограничения на размер лота (тем более в тестировщике) и как это можно было бы устранить?

Ошибка :

failed buy limit 2.56 XAUUSD at 1869.524 sl: 1858.972 tp: 1880.091 [Volume limit reached]

Депозит при тестировании выставлен с запасом.

Заранее спасибо.

 
petr085:

Здравствуйте, подскажите пожалуйста, при тестировании советника в тестировщике в МТ5, на паре XAUUSD не открывает лот размером 5.12. Пробовал разбить на 2 по 2.56 так же не открывает. Какие есть ограничения на размер лота (тем более в тестировщике) и как это можно было бы устранить?

Ошибка :

failed buy limit 2.56 XAUUSD at 1869.524 sl: 1858.972 tp: 1880.091 [Volume limit reached]

Депозит при тестировании выставлен с запасом.

Заранее спасибо.


проверьте ограничения на максимальный совокупный объем ордеров
 
Andrey Dik #:

проверьте ограничения на максимальный совокупный объем ордеров
Спасибо. А как и где ? Искал - видел что ограничение на один лот 100. Значит и совокупный точно не меньше 100. В момент попытки открытия - открыто примерно 2,85 лота суммарно)
МТ5 подключен к демосчету на MetaQuotes во время тестирования (если этотимеет значение)
 

SYMBOL_VOLUME_LIMIT

Максимально допустимый для данного символа совокупный объем открытой позиции и отложенных ордеров  в одном направлении (покупка или продажа). Например, при ограничении в 5 лотов можно иметь открытую позицию на покупку объемом 5 лотов и выставить отложенный ордер Sell Limit объемом 5 лотов. Но при этом нельзя выставить отложенный ордер Buy Limit (поскольку совокупный объем в одном направлении превысит ограничение) или выставить Sell Limit объемом более 5 лотов.

 
Andrey Dik #:

SYMBOL_VOLUME_LIMIT

Максимально допустимый для данного символа совокупный объем открытой позиции и отложенных ордеров  в одном направлении (покупка или продажа). Например, при ограничении в 5 лотов можно иметь открытую позицию на покупку объемом 5 лотов и выставить отложенный ордер Sell Limit объемом 5 лотов. Но при этом нельзя выставить отложенный ордер Buy Limit (поскольку совокупный объем в одном направлении превысит ограничение) или выставить Sell Limit объемом более 5 лотов.

Спасибо. Проверил : 2023.05.19 08:37:29.702    2023.01.03 01:05:00   This Symbol Volume Limit is = 55.
Сделал советника, который просто открывает ордера. Открыл 4 ордера с объемом 1.0 Лот. Пятый ордер не открыл. На демосчете открыл 51 лот в одном направлении (дальше депозита не  хватило)

Прошу помочь =)

 
petr085 #:

Спасибо. Проверил : 2023.05.19 08:37:29.702    2023.01.03 01:05:00   This Symbol Volume Limit is = 55.
Сделал советника, который просто открывает ордера. Открыл 4 ордера с объемом 1.0 Лот. Пятый ордер не открыл. На демосчете открыл 51 лот в одном направлении (дальше депозита не  хватило)

Прошу помочь =)


приведите код достаточный для воспроизведения ошибки
 
Andrey Dik #:

приведите код достаточный для воспроизведения ошибки
void OnTick()
  {
  //---
   if (count == 1)
   {Print ("This Symbol Volume Limit is = ",SYMBOL_VOLUME_LIMIT);
   count = 0;}
   
   double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
   double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   double volumeBuy = 1.0;
   double pendAsk = ask*0.995;
   double new_sl = bid*0.99;
   double new_tp = bid*1.02;
   
   for (int i=0; i<=56; i++)
   {trade.BuyLimit(volumeBuy,pendAsk,Symbol(),new_sl,new_tp,ORDER_TIME_GTC);}   
  }
 
petr085 #:



void OnTick()
  {
//---
   if (count == 1)
   {Print ("This Symbol Volume Limit is = ",SYMBOL_VOLUME_LIMIT);
   count = 0;}
   
   double bid = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_BID),_Digits);
   double ask = NormalizeDouble(SymbolInfoDouble(_Symbol,SYMBOL_ASK),_Digits);
   double volumeBuy = 1.0;
   double pendAsk = ask*0.995;
   double new_sl = bid*0.99;
   double new_tp = bid*1.02;
   
   for (int i=0; i<=56; i++)
   {trade.BuyLimit(volumeBuy,pendAsk,Symbol(),new_sl,new_tp,ORDER_TIME_GTC);}
   
 
  }

Вопрос решился. Нужно было изменить максимальный объем в настройках тестировщика.
Благодарю за ответы.
Причина обращения: