ФОРТС. Вопросы по исполнению - страница 37

 

А ещё проще в функции MarketBookGet()

bool  MarketBookGet(
   string        symbol,     // символ
   MqlBookInfo&  book[]      // ссылка на массив
   );

 возвращать время снэпшота:

datetime  MarketBookGet(
   string        symbol,     // символ
   MqlBookInfo&  book[]      // ссылка на массив
   );

Возвращаемые значения:

"0" - стакан не получен

Не "0" - время снэпшота стакана

 И все довольны и НИКАКИХ лишних проверок!

 

Всё верно. По этому, для определения режимов торговли терминал и напичкан различными флагами

   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alert("Проверьте в настройках терминала разрешение на автоматическую торговлю!");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alert("Автоматическая торговля запрещена в свойствах программы для ",__FILE__);

     }

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alert("Автоматическая торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),

      " на стороне торгового сервера"); 

   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
      Comment("Торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
            ".\n Возможно, подключение к торговому счету произведено по инвест паролю.",
            "\n Проверьте журнал терминала, есть ли там такая запись:",

            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode."); 

и лично для инструментов:

ENUM_SYMBOL_TRADE_MODE

Идентификатор

Описание

SYMBOL_TRADE_MODE_DISABLED

Торговля по символу запрещена

SYMBOL_TRADE_MODE_LONGONLY

Разрешены только покупки

SYMBOL_TRADE_MODE_SHORTONLY

Разрешены только продажи

SYMBOL_TRADE_MODE_CLOSEONLY

Разрешены только операции закрытия позиций

SYMBOL_TRADE_MODE_FULL

Нет ограничений на торговые операции

  где, кстати, не хватает SYMBOL_TRADE_MODE_CANCELONLY, который возможен на ФОРТСе в перерывах.

Но этого оказывается мало - ещё нужен бубен, пляска и портянка кода с проверкой обновились ли котировки с прошлой сессии!

Очень продуктивно!..

Документация по MQL5: Программы MQL5 / Разрешение на торговлю
Документация по MQL5: Программы MQL5 / Разрешение на торговлю
  • www.mql5.com
Программы MQL5 / Разрешение на торговлю - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Открытие. На субсчете торгует советник. До сегодняшнего дня все было ок, но сегодня происходит такая тема - судя по логу в журнале, заявки отправляются на сервер, но на биржу не уходят. Руками сделки открываются. Автоторговля естественно разрешена. Кто-нить знает в чем дело?

1 

 
Vitaliy Semenov:

Открытие. На субсчете торгует советник. До сегодняшнего дня все было ок, но сегодня происходит такая тема - судя по логу в журнале, заявки отправляются на сервер, но на биржу не уходят. Руками сделки открываются. Автоторговля естественно разрешена. Кто-нить знает в чем дело?

 

Пожалуйста, картинки вставляйте в сообщение правильно: Форум: как вставить картинку (Ваше сообщение было исправлено).
 
Vitaliy Semenov:

Открытие. На субсчете торгует советник. До сегодняшнего дня все было ок, но сегодня происходит такая тема - судя по логу в журнале, заявки отправляются на сервер, но на биржу не уходят. Руками сделки открываются. Автоторговля естественно разрешена. Кто-нить знает в чем дело?

 

Проблема может быть в коде советника.

 

P/S Прикольно будет если не в коде :)

Выложите здесь исходный код, как Вы устанавливаете ордер (нажав кнопку SRC) 

 
Михаил:

Проблема может быть в коде советника.

 

P/S Прикольно будет если не в коде :)

Выложите здесь исходный код, как Вы устанавливаете ордер (нажав кнопку SRC) 

Проблему установил - в размере лота. Скорее всего на стороне брокера какие-то мутки с расчетом ГО, т.к. имеется несколько субсчетов. Хотя средств достаточнр для открытия 2 контрактов Си, еще немного остается. Но позу открывает только на 1. На 2 появляется эта лажа со скрина, а при попытке открыть 3 в логе пишется закономерное No money. 
 
Vitaliy Semenov:
Проблему установил - в размере лота. Скорее всего на стороне брокера какие-то мутки с расчетом ГО, т.к. имеется несколько субсчетов. Хотя средств достаточнр для открытия 2 контрактов Си, еще немного остается. Но позу открывает только на 1. На 2 появляется эта лажа со скрина, а при попытке открыть 3 в логе пишется закономерное No money. 

Понятно, сегодня, 7 сентября, изменились ГО

http://moex.com/n10706/?nt=0 

 

Aytugan Khafizov:

После моего ответа в Открытие на указание возможных проблем, они в пятницу обещали новый Access Server развернуть. По непонятным мне причинам это у них может быть сделано не раньше вторника этой недели. Ждем...

Позвонил в Открытие, напомнил - обещали в среду сделать.
 
Aytugan Khafizov:
Позвонил в Открытие, напомнил - обещали в среду сделать.
Спасибо.
 

Ничего в Открывашке не сделали:

 

2015.09.10 13:50:46.675 Trades  'xxxxx': cancel order #20218546 sell limit 50.00 BR-11.15 at 50.28
2015.09.10 13:50:46.690 Trades  'xxxxx': cancel order #20218546 sell limit 50.00 BR-11.15 at 50.28 placed for execution in 15 ms
2015.09.10 13:51:25.317 Trades  'xxxxx': modify order #20213066 sell limit 47.00 Si-9.16 at 78255 sl: 0 tp: 0 -> 78236, sl: 0 tp: 0
2015.09.10 13:51:25.420 Trades  'xxxxx': modify order #20213066 sell limit 47.00 Si-9.16 at 78255 sl: 0 tp: 0 -> 78236, sl: 0 tp: 0 placed for execution in 102 ms
2015.09.10 13:51:25.499 Trades  'xxxxx': modify order #20213066 sell limit 47.00 Si-9.16 at 78236 sl: 0 tp: 0 -> 77132, sl: 0 tp: 0
2015.09.10 13:51:25.530 Trades  'xxxxx': modify order #20213066 sell limit 47.00 Si-9.16 at 78236 sl: 0 tp: 0 -> 77132, sl: 0 tp: 0 placed for execution in 30 ms
2015.09.10 13:53:28.702 Trades  'xxxxx': buy limit 10.00 MXI-3.16 at 1644.70
2015.09.10 13:53:29.040 Trades  'xxxxx': buy limit 10.00 MXI-3.16 at 1644.70 placed for execution in 338 ms
2015.09.10 13:53:50.271 Trades  'xxxxx': cancel order #20213066 sell limit 47.00 Si-9.16 at 77132
2015.09.10 13:53:50.287 Trades  'xxxxx': cancel order #20213066 sell limit 47.00 Si-9.16 at 77132 placed for execution in 16 ms
Причина обращения: