Ошибка [unsupported filling mode] у БКС.

 
Открыл у БКС демосчет, а на нем невозможно протестить никакой советник. Пишет failed exchange [unsupported filling mode]. Написал им письмо - позвонили и сказали, что надо убрать что-то из кода, что делает такой запрос. Что именно убрать они не в курсе. Может, кто-то в курсе?
 
Youri Tarshecki:
Открыл у БКС демосчет, а на нем невозможно протестить никакой советник. Пишет failed exchange [unsupported filling mode]. Написал им письмо - позвонили и сказали, что надо убрать что-то из кода, что делает такой запрос. Что именно убрать не в курсе. Может, кто-то в курсе?
Дык русским же языком написано - неподдерживаемый режим исполнения. Соответственно, надо при отправке ордера ставить такой  режим исполнения, какой поддерживается.
 

надо подобрать способ исполнения ордера 

ORDER_FILLING_FOK

Данная политика исполнения означает, что ордер может быть исполнен исключительно в указанном объеме. Если на рынке в данный момент не присутствует достаточного объема финансового инструмента, то ордер не будет исполнен. Необходимый объем может быть составлен из нескольких предложений, доступных в данный момент на рынке.

ORDER_FILLING_IOC

Означает согласие совершить сделку по максимально доступному на рынке объему в пределах указанного в ордере. В случае невозможности полного исполнения ордер будет исполнен на доступный объем, а неисполненный объем ордера будет отменен.

ORDER_FILLING_RETURN

Данный режим используется для рыночных (ORDER_TYPE_BUY и ORDER_TYPE_SELL), лимитных и стоп-лимитных ордеров (ORDER_TYPE_BUY_LIMIT, ORDER_TYPE_SELL_LIMIT, ORDER_TYPE_BUY_STOP_LIMIT и ORDER_TYPE_SELL_STOP_LIMIT) и только в режимах "Исполнение по рынку" и "Биржевое исполнение". В случае частичного исполнения рыночный или лимитный ордер с остаточным объемом не снимается, а продолжает действовать.

Для ордеров ORDER_TYPE_BUY_STOP_LIMIT и ORDER_TYPE_SELL_STOP_LIMIT при активации будет создан соответствующий лимитный ордер ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELL_LIMIT с типом исполнения ORDER_FILLING_RETURN.

 
в структуре торгового запроса это параметр request.type_filling
 
У меня исполенение через <Trade\Trade.mqh> где там что искать теперь?
 

это стандартная библиотека, там искать и исправлять не надо, есть способ менять параметры в виде внешней переменной, но я

стандартными библиотеками не пользуюсь поэтому не знаю 

 
Alexander Bereznyak:

это стандартная библиотека, там искать и исправлять не надо, есть способ менять параметры в виде внешней переменной, но я

стандартными библиотеками не пользуюсь поэтому не знаю 

Стандартная библиотека - это удобно. Фиг тогда с этим БКС-м, раз они сами не беспокоятся как теститься у них.
 

вот из справки

SetTypeFilling
Устанавливает тип ордера по исполнению.
void  SetTypeFilling(
   ENUM_ORDER_TYPE_FILLING  filling      // тип ордера по исполнению
   )
Параметры
filling
[in] Тип ордера по исполнению из перечисления ENUM_ORDER_TYPE_FILLING.

Возвращаемое значение
Нет.
 
ну это не правильно, если пользуетесь то надо найти как менять
 
Alexander Bereznyak:
ну это не правильно, если пользуетесь то надо найти как менять

в библиотеке

   void              SetTypeFilling(const ENUM_ORDER_TYPE_FILLING filling) { m_type_filling=filling;    }

 

Т.е. по идее должно работать.  Но не работает.

 

Ставьте:

SetTypeFilling(ORDER_FILLING_RETURN);

 И будет Вам счастье.