Может быть дочерние процессы завершаются некорректно? Что, если с ключом /t попробовать? У меня, после перезапуска, терминал обычный, как будто крестиком закрывался. Версия терминала 10.
nikolz написал: Если торги остановлены, то поэтому инструменту не будут вызываться колбеки. Что в таком случае надо еще ?
1, Торги могут быть приостановлены только по одному инструменту из пары, но стакан все равно в это время может изменяться. 2, Во время клиринга колбэки приходят.
nikolz написал: Так как скрипт исполняется при каждом изменении ТТП и при этом останавливает основной поток QUIK, то он тормозит работу терминала.
При каждом изменении ТТП исполняется только первая строка. Проверка по времени - не лучший вариант. Частенько бывают задержки возобновления торгов после клиринга. К тому же, торги могут быть приостановлены по конкретному инструменту; на срочном такое не редкость. Проверку состояния сессии можно проводить непосредственно перед отправкой заявки, и, если инструмент не торгуется, устанавливать соответствующий флаг. А потом, в цикле контролировать возобновление торгов.
param_image = "открыта" или, что то же самое, param_value = 1
На срочном у меня так:
Код
function OnParam(class, sec)
if class == "SPBFUT" and (sec == Tr[1].sec or sec == Tr[2].sec) then
local sessn = (getParamEx("SPBFUT",sec,"TRADINGSTATUS").param_image == "открыта")
if sessn and (cond & 0x0080 == 0x0080) then
cond = cond & 0xFF7F -- Сброс "Сессия стоп".
SetColor(tw_id, 5, -1, -1, -1, -1, -1)
elseif not sessn and cond & 0x0080 == 0 then
cond = cond | 0x0080 -- "Сессия стоп".
SetColor(tw_id, 5, -1, yellow, -1, -1, -1)
end
end
end
Как-то тоже интересовался этим вопросом. Записывал скриптом в лог изменения статусов на срочном рынке (их аж четыре!), и параметр session_status в коллбэке OnFuturesClientHolding.
Лог:
Скрытый текст
Актуальный статус торговой сессии. Возможные значения: «0» – не определено; «1» – основная сессия; «2» – начался промклиринг; «3» – завершился промклиринг; «4» – начался основной клиринг; «5» – основной клиринг: новая сессия назначена; «6» – завершился основной клиринг; «7» – завершилась вечерняя сессия
22/Aug 09:39:32 22/Aug 09:41:18 приостановлена Назначен пр. 22/Aug 09:41:49 приостановлена Назначен пр. BRU4: 1 22/Aug 09:41:49 приостановлена Назначен пр. SRU4: 1 22/Aug 09:50:03 торгуется Назначен пр. 22/Aug 09:59:39 приостановлена Назначен пр. 22/Aug 10:00:11 торгуется Назначен пр. 22/Aug 10:31:50 торгуется Назначен пр. BRU4: 1 22/Aug 10:32:14 торгуется Назначен пр. BRU4: 1 22/Aug 10:50:49 22/Aug 10:54:08 торгуется Назначен пр. 22/Aug 10:54:25 торгуется Назначен пр. BRU4: 1 22/Aug 10:54:25 торгуется Назначен пр. SRU4: 1 22/Aug 11:00:49 торгуется Назначен пр. SiU4: 1 22/Aug 11:01:56 торгуется Назначен пр. SiU4: 1 22/Aug 14:00:02 приостановлена Идёт пр. 22/Aug 14:01:35 приостановлена Идёт пр. SRU4: 3 22/Aug 14:01:35 приостановлена Идёт пр. BRU4: 3 22/Aug 14:01:35 приостановлена Идёт пр. SiU4: 3 22/Aug 14:05:10 торгуется Завершен пр. 22/Aug 14:20:49 торгуется Завершен пр. MMU4: 3 22/Aug 14:21:08 торгуется Завершен пр. MMU4: 3
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 23/Aug 23:00:45 23/Aug 23:01:35 открыта открыта Назначен пр. торгуется 23/Aug 23:01:48 открыта открыта Назначен пр. торгуется MMU4: 6 23/Aug 23:01:48 открыта открыта Назначен пр. торгуется SiU4: 6 23/Aug 23:50:01 открыта закрыта Назначен пр. приостановлена 23/Aug 23:50:07 закрыта закрыта Назначен пр. приостановлена
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк
26/Aug 09:46:57 закрыта закрыта Назначен пр. приостановлена 26/Aug 09:47:19 закрыта закрыта Назначен пр. приостановлена SiU4: 1 26/Aug 09:50:01 закрыта открытие Назначен пр. торгуется 26/Aug 09:50:13 аукцион открытие Назначен пр. торгуется 26/Aug 09:59:23 аукцион закрыта Назначен пр. приостановлена 26/Aug 09:59:27 закрыта закрыта Назначен пр. приостановлена 26/Aug 10:00:09 открыта закрыта Назначен пр. приостановлена 26/Aug 10:00:19 открыта открыта Назначен пр. торгуется
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк
26/Aug 11:12:09 открыта открыта Назначен пр. торгуется 26/Aug 11:12:35 открыта открыта Назначен пр. торгуется SiU4: 1 26/Aug 11:26:16 открыта открыта Назначен пр. торгуется GZU4: 1 26/Aug 11:54:50 открыта открыта Назначен пр. торгуется MMU4: 1 26/Aug 13:18:37 открыта открыта Назначен пр. торгуется MMU4: 1 26/Aug 13:18:37 открыта открыта Назначен пр. торгуется MMU4: 1 26/Aug 13:35:31 открыта открыта Назначен пр. торгуется MMU4: 1 26/Aug 14:00:02 открыта закрыта Идёт пр. приостановлена ************ 26/Aug 14:00:06 закрыта закрыта Идёт пр. приостановлена 26/Aug 14:01:37 закрыта закрыта Идёт пр. приостановлена SiU4: 3 26/Aug 14:01:37 закрыта закрыта Идёт пр. приостановлена GZU4: 3 26/Aug 14:01:37 закрыта закрыта Идёт пр. приостановлена MMU4: 3 26/Aug 14:05:08 открыта закрыта Идёт пр. приостановлена 26/Aug 14:05:10 открыта открыта Завершен пр. торгуется ************ 26/Aug 14:31:19 открыта открыта Завершен пр. торгуется BRU4: 3 26/Aug 14:35:41 открыта открыта Завершен пр. торгуется BRU4: 3
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 26/Aug 18:48:37 26/Aug 18:49:39 открыта открыта Завершен пр. торгуется 26/Aug 18:49:51 открыта открыта Завершен пр. торгуется BRU4: 3 26/Aug 18:49:51 открыта открыта Завершен пр. торгуется GZU4: 3 26/Aug 18:49:51 открыта открыта Завершен пр. торгуется MMU4: 3 26/Aug 18:49:51 открыта открыта Завершен пр. торгуется SiU4: 3 26/Aug 18:50:03 открыта закрыта Идёт осн. завершена 26/Aug 18:50:11 закрыта закрыта Идёт осн. завершена 26/Aug 18:50:14 закрыта закрыта Идёт осн. завершена SiU4: 4 26/Aug 18:50:14 закрыта закрыта Идёт осн. завершена GZU4: 4 26/Aug 18:50:14 закрыта закрыта Идёт осн. завершена MMU4: 4 26/Aug 18:50:14 закрыта закрыта Идёт осн. завершена BRU4: 4 26/Aug 18:58:37 неопределен закрыта Идёт осн. завершена 26/Aug 18:58:39 неопределен закрыта Идёт осн. назначена 26/Aug 18:58:49 неопределен закрыта Идёт осн. назначена SiU4: 5 26/Aug 18:58:49 неопределен закрыта Идёт осн. назначена GZU4: 5 26/Aug 18:58:49 неопределен закрыта Идёт осн. назначена MMU4: 5 26/Aug 18:58:49 неопределен закрыта Идёт осн. назначена BRU4: 5 26/Aug 19:05:02 неопределен закрыта Идёт осн. назначена MMU4: 5 26/Aug 19:05:07 открыта открыта Идёт осн. торгуется 26/Aug 19:05:23 открыта открыта Идёт осн. торгуется MMU4: 5 26/Aug 19:07:51 открыта открыта Идёт осн. торгуется MMU4: 5 26/Aug 19:08:57 открыта открыта Назначен пр. торгуется 26/Aug 19:08:59 открыта открыта Назначен пр. торгуется SiU4: 6 26/Aug 19:09:00 открыта открыта Назначен пр. торгуется GZU4: 6 26/Aug 19:09:00 открыта открыта Назначен пр. торгуется MMU4: 6 26/Aug 19:09:00 открыта открыта Назначен пр. торгуется BRU4: 6 26/Aug 19:09:17 открыта открыта Назначен пр. торгуется MMU4: 6
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 27/Aug 10:52:15 27/Aug 10:55:42 открыта открыта Назначен пр. торгуется 27/Aug 10:55:57 открыта открыта Назначен пр. торгуется MMU4: 1 27/Aug 11:19:22 27/Aug 11:20:03 открыта открыта Назначен пр. торгуется 27/Aug 11:20:26 открыта открыта Назначен пр. торгуется MMU4: 1 27/Aug 14:00:06 закрыта закрыта Идёт пр. приостановлена 27/Aug 14:04:14 закрыта закрыта Идёт пр. приостановлена MMU4: 3 27/Aug 14:05:06 открыта закрыта Идёт пр. приостановлена 27/Aug 14:05:11 открыта открыта Завершен пр. торгуется 27/Aug 18:50:03 открыта закрыта Идёт осн. завершена 27/Aug 18:50:05 открыта закрыта Идёт осн. завершена MMU4: 4 27/Aug 18:50:06 закрыта закрыта Идёт осн. завершена 27/Aug 18:58:05 неопределен закрыта Идёт осн. завершена 27/Aug 18:58:07 неопределен закрыта Идёт осн. назначена 27/Aug 18:58:17 неопределен закрыта Идёт осн. назначена MMU4: 5 27/Aug 19:05:07 открыта открыта Идёт осн. торгуется 27/Aug 19:08:59 открыта открыта Назначен пр. торгуется 27/Aug 19:09:00 открыта открыта Назначен пр. торгуется MMU4: 6 27/Aug 19:46:14 открыта открыта Назначен пр. торгуется IMOEXF: 6 27/Aug 19:54:35 открыта открыта Назначен пр. торгуется IMOEXF: 6
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 28/Aug 13:19:10 28/Aug 13:23:34 открыта открыта Назначен пр. торгуется 28/Aug 13:23:55 открыта открыта Назначен пр. торгуется IMOEXF: 1 28/Aug 14:00:06 закрыта открыта Назначен пр. торгуется 28/Aug 14:00:10 закрыта закрыта Идёт пр. приостановлена 28/Aug 14:01:39 закрыта закрыта Идёт пр. приостановлена IMOEXF: 3 28/Aug 14:05:11 открыта открыта Завершен пр. торгуется 28/Aug 16:13:09 открыта открыта Завершен пр. торгуется MMU4: 3 28/Aug 17:31:04 открыта открыта Завершен пр. торгуется BRU4: 3 28/Aug 17:54:39 открыта открыта Завершен пр. торгуется BRU4: 3 28/Aug 18:15:40 открыта открыта Завершен пр. торгуется MMU4: 3 28/Aug 18:50:02 открыта закрыта Идёт осн. завершена 28/Aug 18:50:05 открыта закрыта Идёт осн. завершена IMOEXF: 4 28/Aug 18:50:05 открыта закрыта Идёт осн. завершена MMU4: 4 28/Aug 18:50:05 открыта закрыта Идёт осн. завершена BRU4: 4 28/Aug 18:50:07 закрыта закрыта Идёт осн. завершена 28/Aug 18:57:47 неопределен закрыта Идёт осн. назначена 28/Aug 18:57:56 неопределен закрыта Идёт осн. назначена IMOEXF: 5 28/Aug 18:57:56 неопределен закрыта Идёт осн. назначена MMU4: 5 28/Aug 18:57:56 неопределен закрыта Идёт осн. назначена BRU4: 5 28/Aug 19:02:09 неопределен закрыта Идёт осн. назначена MMU4: 5 28/Aug 19:02:09 неопределен закрыта Идёт осн. назначена BRU4: 5 28/Aug 19:05:07 открыта открыта Идёт осн. торгуется 28/Aug 19:08:23 открыта открыта Назначен пр. торгуется 28/Aug 19:08:23 открыта открыта Назначен пр. торгуется IMOEXF: 6 28/Aug 19:08:24 открыта открыта Назначен пр. торгуется MMU4: 6 28/Aug 19:08:24 открыта открыта Назначен пр. торгуется BRU4: 6 28/Aug 21:30:28 открыта открыта Назначен пр. торгуется BRU4: 6 28/Aug 23:50:05 закрыта открыта Назначен пр. торгуется 28/Aug 23:50:10 закрыта закрыта Назначен пр. приостановлена
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 29/Aug 09:27:11 29/Aug 09:28:48 закрыта закрыта Назначен пр. приостановлена 29/Aug 09:29:01 закрыта закрыта Назначен пр. приостановлена BRU4: 1 29/Aug 09:50:02 закрыта открытие Назначен пр. торгуется 29/Aug 09:50:06 аукцион открытие Назначен пр. торгуется 29/Aug 09:59:36 аукцион закрыта Назначен пр. приостановлена 29/Aug 09:59:41 закрыта закрыта Назначен пр. приостановлена 29/Aug 10:00:01 закрыта открыта Назначен пр. торгуется 29/Aug 10:00:06 открыта открыта Назначен пр. торгуется 29/Aug 13:16:16 открыта открыта Назначен пр. торгуется MMU4: 1 ............................................................................ 29/Aug 13:50:19 открыта открыта Назначен пр. торгуется MMU4: 1 29/Aug 14:00:02 открыта закрыта Идёт пр. приостановлена 29/Aug 14:00:07 закрыта закрыта Идёт пр. приостановлена 29/Aug 14:00:46 закрыта закрыта Идёт пр. приостановлена MMU4: 2 29/Aug 14:01:38 закрыта закрыта Идёт пр. приостановлена BRU4: 3 29/Aug 14:01:57 закрыта закрыта Идёт пр. приостановлена MMU4: 3 29/Aug 14:05:07 открыта закрыта Идёт пр. приостановлена 29/Aug 14:05:12 открыта открыта Завершен пр. торгуется 29/Aug 14:45:34 открыта открыта Завершен пр. торгуется MMU4: 3 ........................................................................... 29/Aug 18:45:15 открыта открыта Завершен пр. торгуется MMU4: 3 29/Aug 18:50:04 открыта закрыта Идёт осн. завершена 29/Aug 18:50:05 открыта закрыта Идёт осн. завершена BRU4: 4 29/Aug 18:50:05 открыта закрыта Идёт осн. завершена MMU4: 4 29/Aug 18:50:05 открыта закрыта Идёт осн. завершена NGU4: 4 29/Aug 18:50:10 закрыта закрыта Идёт осн. завершена 29/Aug 19:03:39 неопределен закрыта Идёт осн. назначена NGU4: 5 29/Aug 19:03:39 неопределен закрыта Идёт осн. назначена MMU4: 5 29/Aug 19:05:05 неопределен открыта Идёт осн. торгуется 29/Aug 19:05:10 открыта открыта Идёт осн. торгуется 29/Aug 19:09:24 открыта открыта Назначен пр. торгуется 29/Aug 19:09:27 открыта открыта Назначен пр. торгуется BRU4: 6 29/Aug 19:09:27 открыта открыта Назначен пр. торгуется MMU4: 6 29/Aug 19:09:27 открыта открыта Идёт осн. торгуется NGU4: 6 29/Aug 19:09:30 открыта открыта Назначен пр. торгуется
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 30/Aug 09:43:50 30/Aug 09:45:13 закрыта закрыта Назначен пр. приостановлена 30/Aug 09:50:05 закрыта открытие Назначен пр. торгуется 30/Aug 09:50:09 аукцион открытие Назначен пр. торгуется 30/Aug 09:59:55 закрыта закрыта Назначен пр. приостановлена 30/Aug 10:00:10 открыта закрыта Назначен пр. приостановлена 30/Aug 10:00:15 открыта открыта Назначен пр. торгуется 30/Aug 13:10:38 открыта открыта Назначен пр. торгуется MMU4: 1 30/Aug 13:42:33 открыта открыта Назначен пр. торгуется MMU4: 1 30/Aug 14:00:05 закрыта закрыта Идёт пр. приостановлена 30/Aug 14:00:45 закрыта закрыта Идёт пр. приостановлена MMU4: 2 30/Aug 14:01:34 закрыта закрыта Идёт пр. приостановлена MMU4: 3 30/Aug 14:01:56 закрыта закрыта Идёт пр. приостановлена MMU4: 3 30/Aug 14:05:10 открыта открыта Завершен пр. торгуется 30/Aug 14:16:50 открыта открыта Завершен пр. торгуется MMU4: 3 30/Aug 15:16:34 открыта открыта Завершен пр. торгуется MMU4: 3 30/Aug 16:40:35 открыта открыта Завершен пр. торгуется BRU4: 3 30/Aug 16:40:38 открыта открыта Завершен пр. торгуется BRU4: 3 30/Aug 16:40:48 открыта открыта Завершен пр. торгуется NGU4: 3 30/Aug 16:40:50 открыта открыта Завершен пр. торгуется NGU4: 3 30/Aug 16:41:24 открыта открыта Завершен пр. торгуется CRU4: 3 30/Aug 16:43:41 открыта открыта Завершен пр. торгуется CRU4: 3
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 30/Aug 23:03:51 30/Aug 23:11:12 открыта открыта Назначен пр. торгуется 30/Aug 23:11:29 открыта открыта Назначен пр. торгуется BRU4: 6 30/Aug 23:11:29 открыта открыта Назначен пр. торгуется CRU4: 6 30/Aug 23:11:29 открыта открыта Назначен пр. торгуется MMU4: 6 30/Aug 23:11:29 открыта открыта Назначен пр. торгуется NGU4: 6 30/Aug 23:15:54 открыта открыта Назначен пр. торгуется NAU4: 6 30/Aug 23:16:09 открыта открыта Назначен пр. торгуется NAU4: 6 30/Aug 23:50:02 открыта закрыта Назначен пр. приостановлена 30/Aug 23:50:07 закрыта закрыта Назначен пр. приостановлена
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 02/Sep 22:39:41 02/Sep 22:41:23 открыта открыта Назначен пр. торгуется 02/Sep 22:41:40 открыта открыта Назначен пр. торгуется NAU4: 6 02/Sep 23:39:30 открыта открыта Назначен пр. торгуется NAU4: 6 02/Sep 23:50:09 закрыта закрыта Назначен пр. приостановлена
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 03/Sep 11:17:43 открыта открыта Назначен пр. торгуется SiU4: 1 03/Sep 14:00:03 открыта закрыта Идёт пр. приостановлена 03/Sep 14:00:08 закрыта закрыта Идёт пр. приостановлена 03/Sep 14:01:51 закрыта закрыта Идёт пр. приостановлена NAU4: 3 03/Sep 14:01:52 закрыта закрыта Идёт пр. приостановлена SiU4: 3 03/Sep 14:05:13 открыта закрыта Идёт пр. приостановлена 03/Sep 14:05:18 открыта открыта Завершен пр. торгуется 03/Sep 14:24:04 открыта открыта Завершен пр. торгуется SiU4: 3 ........................................................................
03/Sep 18:45:56 открыта открыта Завершен пр. торгуется SiU4: 3 03/Sep 18:50:02 открыта закрыта Идёт осн. завершена 03/Sep 18:50:06 открыта закрыта Идёт осн. завершена NAU4: 4 03/Sep 18:50:06 открыта закрыта Идёт осн. завершена SiU4: 4 03/Sep 18:50:06 открыта закрыта Идёт осн. завершена BRV4: 4 03/Sep 18:50:06 открыта закрыта Идёт осн. завершена NGU4: 4 03/Sep 18:50:07 закрыта закрыта Идёт осн. завершена 03/Sep 18:58:42 неопределен закрыта Идёт осн. завершена 03/Sep 18:58:47 неопределен закрыта Идёт осн. завершена SiU4: 4 03/Sep 18:58:47 неопределен закрыта Идёт осн. назначена 03/Sep 18:58:55 неопределен закрыта Идёт осн. назначена NAU4: 5 03/Sep 18:58:55 неопределен закрыта Идёт осн. назначена SiU4: 5 03/Sep 18:58:55 неопределен закрыта Идёт осн. назначена BRV4: 5 03/Sep 18:58:55 неопределен закрыта Идёт осн. назначена NGU4: 5 03/Sep 19:03:35 неопределен закрыта Идёт осн. назначена SiU4: 5 03/Sep 19:05:02 неопределен открыта Идёт осн. торгуется 03/Sep 19:05:07 неопределен открыта Идёт осн. торгуется SiU4: 5 03/Sep 19:05:08 открыта открыта Идёт осн. торгуется 03/Sep 19:07:11 открыта открыта Идёт осн. торгуется SiU4: 5 03/Sep 19:09:10 открыта открыта Идёт осн. торгуется SiU4: 5 03/Sep 19:09:17 открыта открыта Идёт осн. торгуется NAU4: 6 03/Sep 19:09:17 открыта открыта Идёт осн. торгуется SiU4: 6 03/Sep 19:09:17 открыта открыта Идёт осн. торгуется BRV4: 6 03/Sep 19:09:17 открыта открыта Идёт осн. торгуется NGU4: 6 03/Sep 19:09:18 открыта открыта Назначен пр. торгуется 03/Sep 19:13:30 открыта открыта Назначен пр. торгуется SiU4: 6 ........................................................................
03/Sep 22:51:34 открыта открыта Назначен пр. торгуется BRV4: 6 03/Sep 23:50:07 закрыта закрыта Назначен пр. приостановлена
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 04/Sep 09:33:12 04/Sep 09:34:48 закрыта закрыта Назначен пр. приостановлена 04/Sep 09:35:07 закрыта закрыта Назначен пр. приостановлена BRV4: 1 04/Sep 09:35:07 закрыта закрыта Назначен пр. приостановлена NAU4: 1 04/Sep 09:35:07 закрыта закрыта Назначен пр. приостановлена SiU4: 1 04/Sep 09:50:02 закрыта открытие Назначен пр. торгуется 04/Sep 09:50:07 аукцион открытие Назначен пр. торгуется 04/Sep 09:59:27 аукцион закрыта Назначен пр. приостановлена 04/Sep 09:59:32 закрыта закрыта Назначен пр. приостановлена 04/Sep 10:00:07 открыта закрыта Назначен пр. приостановлена 04/Sep 10:00:12 открыта открыта Назначен пр. торгуется 04/Sep 10:06:00 открыта открыта Назначен пр. торгуется SiU4: 1 04/Sep 10:10:07 открыта открыта Назначен пр. торгуется SiU4: 1 04/Sep 10:10:55 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 10:12:08 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 10:26:08 04/Sep 10:27:03 открыта открыта Назначен пр. торгуется 04/Sep 10:27:26 открыта открыта Назначен пр. торгуется BRV4: 1 04/Sep 10:27:26 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 10:27:26 открыта открыта Назначен пр. торгуется SiU4: 1 04/Sep 11:00:22 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 11:49:48 открыта открыта Назначен пр. торгуется SiU4: 1 04/Sep 11:52:29 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 12:49:56 открыта открыта Назначен пр. торгуется NAU4: 1 04/Sep 14:00:04 закрыта открыта Назначен пр. торгуется 04/Sep 14:00:09 закрыта закрыта Идёт пр. приостановлена 04/Sep 14:01:41 закрыта закрыта Идёт пр. приостановлена SiU4: 3 04/Sep 14:01:41 закрыта закрыта Идёт пр. приостановлена NAU4: 3 04/Sep 14:01:41 закрыта закрыта Идёт пр. приостановлена BRV4: 3 04/Sep 14:05:10 открыта закрыта Идёт пр. приостановлена 04/Sep 14:05:14 открыта открыта Завершен пр. торгуется 04/Sep 15:49:32 открыта открыта Завершен пр. торгуется NAU4: 3 04/Sep 17:09:55 открыта открыта Завершен пр. торгуется NAU4: 3 04/Sep 17:34:45 открыта открыта Завершен пр. торгуется SiU4: 3 04/Sep 17:39:04 открыта открыта Завершен пр. торгуется SiU4: 3 04/Sep 17:56:22 открыта открыта Завершен пр. торгуется MMU4: 3 04/Sep 18:02:42 открыта открыта Завершен пр. торгуется MMU4: 3 04/Sep 18:21:32 открыта открыта Завершен пр. торгуется BRV4: 3 04/Sep 18:22:56 открыта открыта Завершен пр. торгуется BRV4: 3
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 05/Sep 00:21:16 05/Sep 00:22:24 закрыта закрыта Назначен пр. приостановлена 05/Sep 00:22:51 закрыта закрыта Назначен пр. приостановлена BRV4: 6 05/Sep 00:22:51 закрыта закрыта Назначен пр. приостановлена MMU4: 6 05/Sep 00:22:51 закрыта закрыта Назначен пр. приостановлена NAU4: 6 05/Sep 00:22:51 закрыта закрыта Назначен пр. приостановлена SiU4: 6
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 05/Sep 13:22:12 05/Sep 13:29:50 открыта открыта Назначен пр. торгуется 05/Sep 14:00:09 закрыта закрыта Идёт пр. приостановлена 05/Sep 14:05:09 открыта открыта Завершен пр. торгуется 05/Sep 18:25:27 открыта открыта Завершен пр. торгуется BRV4: 3 05/Sep 18:29:59 открыта открыта Завершен пр. торгуется BRV4: 3 05/Sep 18:30:52 открыта открыта Завершен пр. торгуется SiU4: 3 05/Sep 18:34:05 открыта открыта Завершен пр. торгуется SiU4: 3 05/Sep 18:39:03 открыта открыта Завершен пр. торгуется BRV4: 3 05/Sep 18:40:15 открыта открыта Завершен пр. торгуется BRV4: 3 05/Sep 18:50:07 открыта закрыта Идёт осн. завершена BRV4: 4 05/Sep 18:50:07 открыта закрыта Идёт осн. завершена SiU4: 4 05/Sep 18:50:16 закрыта закрыта Идёт осн. завершена 05/Sep 18:58:02 неопределен закрыта Идёт осн. завершена 05/Sep 18:58:12 неопределен закрыта Идёт осн. назначена 05/Sep 18:58:16 неопределен закрыта Идёт осн. назначена BRV4: 5 05/Sep 18:58:16 неопределен закрыта Идёт осн. назначена SiU4: 5 05/Sep 19:05:07 открыта закрыта Идёт осн. назначена 05/Sep 19:05:12 открыта открыта Идёт осн. торгуется 05/Sep 19:06:10 открыта открыта Идёт осн. торгуется SiU4: 5 05/Sep 19:07:15 открыта открыта Идёт осн. торгуется SiU4: 5 05/Sep 19:08:32 открыта открыта Назначен пр. торгуется 05/Sep 19:08:34 открыта открыта Назначен пр. торгуется BRV4: 6 05/Sep 19:08:34 открыта открыта Назначен пр. торгуется SiU4: 6 05/Sep 19:10:54 открыта открыта Назначен пр. торгуется MMU4: 6 05/Sep 20:57:13 открыта открыта Назначен пр. торгуется BRV4: 6 05/Sep 21:12:34 открыта открыта Назначен пр. торгуется MMU4: 6
Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк 10/Sep 22:06:46 10/Sep 22:08:12 открыта открыта Назначен пр. торгуется
Скрипт:
Скрытый текст
Код
function OnInit(scr_path)
is_run = true
file = io.open(scr_path:sub(1,-4).."log", "a+")
callBack = {}
sec = "CNYRUBF" -- Стартовый тикер
end
function OnFuturesClientHolding(t)-- Позиции по клиентским счетам (фьючерсы).
table.sinsert(callBack, t)
end
function OnStop()
file:close()
is_run = false
return 2000
end
function main()
--file:write("\n Дата Время Сессия Бирж.сесс. Статус кл. Статус Коллбэк \n")
file:write("\n Дата\t Время\t Сессия\t Бирж.сесс.\t Статус кл.\t Статус\t Коллбэк \n")
local function UpdStts(param)
return getParamEx("SPBFUT", sec, param).param_image
end
while is_run do
trd_phase = UpdStts("TRADINGPHASE") -- Сессия.
trd_stts = UpdStts("TRADINGSTATUS") -- Биржевой статус торговой сессии.
cl_stts = UpdStts("CLSTATE") -- Статус клиринга.
status = UpdStts("STATUS") -- Статус.
while #callBack > 0 or trd_phase ~= prev_trdphs or trd_stts ~= prev_trdst or cl_stts ~= prev_clst or status ~= prev_st do
if callBack[1] then -- Есть коллбек.
local t = table.sremove(callBack, 1)
sec = t.sec_code
cb_stts = sec ..": ".. t.session_status
else
cb_stts = " "
end
prev_trdphs = trd_phase
prev_trdst = trd_stts
prev_clst = cl_stts
prev_st = status
--file:write(os.date(" %d/%b %X "),trd_phase," ",trd_stts," ",cl_stts," ",status," ",cb_stts,"\n")
file:write(string.format("%s\t %s\t %s\t %s\t %s\t %s\n", os.date(" %d/%b %X"), trd_phase, trd_stts, cl_stts, status, cb_stts))
file:flush()
end
sleep(300)
end
end
Больше всего, до нескольких минут, задержка изменения в коллбэке OnFuturesClientHolding. Такое впечатление, что на бирже статус меняют вручную, рубильником!
Функция предназначена для получения информации о свечках по идентификатору (заказ данных для построения графика плагин не осуществляет, поэтому для успешного доступа нужный график должен быть открыт).
Формат вызова:
TABLE t, NUMBER n, STRING l getCandlesByIndex (STRING tag, NUMBER line, NUMBER first_candle, NUMBER count)
Параметры:
tag – строковый идентификатор графика или индикатора,
line – номер линии графика или индикатора. Первая линия имеет номер 0,
first_candle – индекс первой свечки. Первая (самая левая) свечка имеет индекс 0,
Поскольку QUIK показывает сделки только за текущую сессию, пришлось сделать пару скриптов.
Один - "летописец", ведет историю сделок. При остановке скрипта, разрыве связи с сервером или закрытии терминала добавляет ещё не учтённые сделки в текстовый файл. Всё остальное время он просто ждет.
Второй скрипт реализован как индикатор, выводящий на график метки сделок. Если несколько сделок подряд, одного направления и по одинаковой цене приходятся на одну и ту же свечу, то метки этих сделок объединяются с добавлением значка "плюс", а во всплывающей подсказке указывается, когда и сколько лотов добавилось.
В начало файла History можно скопировать сделки из отчета брокера [Меню > Расширения > Отчёты > Отчёт по всем сделкам клиента], чтобы увидеть на графике свои прошлые сделки (проверено на брокерах ВТБ и Сбер).
Есть опция показа сделок по уже исполненным фьючерсам (для практикующих склейку графиков).
Для быстрой смены инструмента можно подключить график к таблице "Текущие торги".
Attention! Индикатор удаляет ВСЕ метки с графика, на котором установлен. В демоверсии глубина истории ограничена 16-ю сделками.
Подскажите Как сделать в Квике( 9.2.3.15) на Lua вывод окна, с которого будет управляться робот?, Подскажите Как сделать в Квике( 9.2.3.15) на Lua вывод окна, с которого будет управляться робот?
Похоже, iss.moex ввела ограничение на количество запросов без паузы между ними. Качал свечки. Без паузы — 9 запросов, и "Recv failure: Connection was rese". C таймаутом 8 сек. - качает столько, сколько нужно.
function OnParam(class, sec)
if class == "SPBFUT" and (sec == Tr[1].sec or sec == Tr[2].sec) then
local sessn = (getParamEx("SPBFUT",sec,"TRADINGSTATUS").param_image == "открыта")
if sessn and (cond & 0x0080 == 0x0080) then
cond = cond & 0xFF7F -- Сброс "Сессия стоп".
SetColor(tw_id, 5, -1, -1, -1, -1, -1)
elseif not sessn and cond & 0x0080 == 0 then
cond = cond | 0x0080 -- "Сессия стоп".
SetColor(tw_id, 5, -1, yellow, -1, -1, -1)
end
end
end
Очень долгий пересчет клиентского портфеля (секунд 10)., Один из Квиков на компьютере зависает на 10 секунд при нажатии F5 на таблице Клиентский портфель. Если в настройках стоит галка "Обновлять через 15 секунд", то 10 секунд висит а пять работает.
Ziveleos написал: Не знаю как у Вас, возможно это зависит от брокера, в моем QUIKe от ВТБ, в таблице "Текущие торги" ГО указан на первом уровне лимита концентрации.(КПУР) Сравните ГО здесь: https://www.moex.com/ru/contract.aspx?code=Si-6.25
в том то и дело..В таблице всё указано верно,как и должно быть..А при выставлении заявки-уже другое(завышенное)
Вы написали:
Цитата
в таблице"текущие торги" так же соответствует категории КСУР
Не знаю как у Вас, возможно это зависит от брокера, в моем QUIKe от ВТБ, в таблице "Текущие торги" ГО указан на первом уровне лимита концентрации.(КПУР) Сравните ГО здесь: https://www.moex.com/ru/contract.aspx?code=Si-6.25
Igor_User написал: Есть ли какие-нибудь ещё способы определить строку, из-за которой эта ошибка произошла?
message("OK") и дихотомия. Ставим message в середине скрипта, если выскочило "OK", значит, ошибка дальше. Нет - до него. Делим проблемный кусок дальше. И т.д.
Глушкова Екатерина, шорт заработал, но в 10-й версии, в таблице "Купить/продать" по-прежнему, кроме "D long" и "D short", одни нули. Данные в таблице "Параметры рыночных рисков [ЦК]" отображаются.
Vasiliy написал: Это на Lua в Квике, без библиотек?
На qlua, без библиотек. Фрагмент скрипта работающий с окном:
Скрытый текст
Код
local function MainWindow()
limValue = "Market"
red = RGB(255,180,180)
local green = RGB(180,255,180)
yellow = RGB(230,230,0)
local function event_callback(mw_id, msg, row, col)
local function SetLimit()
limValue = string.format("%d ps", indLmPs)
SetColor(mw_id, 3, 4, -1, -1, -1, -1)
SetColor(mw_id, 2, 3, -1, -1, -1, -1)
end
if msg == QTABLE_CLOSE then
w_top, w_left, w_bottom, w_right = GetWindowRect(mw_id)
DestroyTable(x2_id)
DestroyTable(mw_id)
sleep(300)
OnStop()
end
if msg == QTABLE_LBUTTONDBLCLK then
if row == 1 and col == 1 then -- Стоп меньше на 10.
indStPrc = indStPrc - 0.8
elseif row == 1 and col == 4 then -- Стоп больше на 10.
indStPrc = indStPrc + 0.8
elseif row == 2 and col == 1 then -- Лимит меньше на 10.
indLmPs = indLmPs - 8
elseif row == 2 and col == 3 then -- Лимит ноль.
indLmPs = 0
SetLimit()
elseif row == 2 and col == 4 then -- Лимит больше на 10.
indLmPs = indLmPs + 8
end
end
if msg == QTABLE_LBUTTONUP then
if row == 1 and col == 1 then -- Стоп меньше.
indStPrc = indStPrc - 0.1
elseif row == 1 and col == 4 then -- Стоп больше.
indStPrc = indStPrc + 0.1
elseif row == 2 and col == 1 then -- Лимит. меньше.
indLmPs = indLmPs - 1
SetLimit()
elseif row == 2 and col == 4 then -- Лимит больше.
indLmPs = indLmPs + 1
SetLimit()
elseif row == 3 and col == 2 then -- Пауза
sPause = true
SetColor(mw_id, 3, 2, red, -1, red, -1)
SetColor(mw_id, 3, 3, -1, -1, -1, -1)
elseif row == 3 and col == 3 then -- Плей.
sPause = false
SetColor(mw_id, 3, 3, green, -1, green, -1)
SetColor(mw_id, 3, 2, -1, -1, -1, -1)
elseif row == 3 and col == 1 then -- х2
x2key = true
elseif row == 3 and col == 4 then -- Маркет/лимит.
if limValue == "Market" then
SetLimit()
else
limValue = "Market"
SetColor(mw_id, 3, 4, yellow, -1, yellow, -1)
SetColor(mw_id, 2, 3, -1, RGB(0,0,255), -1, RGB(0,0,255))
end
end
SetCell(mw_id, 1, 3, string.format("%.1f %%", indStPrc))
SetCell(mw_id, 2, 3, tostring(limValue))
end
end
mw_id = AllocTable()
-- Создание колонок.
local n = 1
local function NewColumn(hd,wt)
AddColumn(mw_id, n, hd, true, QTABLE_STRING_TYPE, wt)
n = n + 1
end
NewColumn("-",4)
NewColumn("Цена",9)
NewColumn("Отступ",9)
NewColumn("+",4)
CreateWindow(mw_id)
SetWindowPos(mw_id, w_left, w_top, (w_right - w_left), (w_bottom - w_top))
SetWindowCaption(mw_id, "Лонжа")
-- Заполнение строк таблицы.
local function FillRow(...)
local row = InsertRow(mw_id, -1)
for n,v in ipairs{...} do
SetCell(mw_id, row, n, tostring(v))
end
end
FillRow("<","Стоп:",string.format("%.1f %%",indStPrc)," >")
FillRow("<","Лимит:",limValue," >")
FillRow("x2"," I I"," >>","M")
SetColor(mw_id, 3, 3, green, -1, green, -1)
SetColor(mw_id, 2, 3, -1, RGB(0,0,255), -1, RGB(0,0,255))
SetColor(mw_id, 3, 4, yellow, -1, yellow, -1)
SetColor(mw_id, 3, 1, -1, -1, -1, -1)
SetTableNotificationCallback(mw_id, event_callback)
end
_LEV_ написал: На ДЕМО QUIK 12.2.0.37 при ручной продаже акции в шорт - выдает сообщение "Данный инструмент запрещен для операции шорт"
Такая же картина в 10 и 11 версиях, шортить "Юниор" не дает ничего. При этом, в 10-ой версии, в таблице "Купить/продать" одни нули, а в 11-ой, в таблице "Позиции по инструментам" тикеры повторяются дважды, с датой расчетов сегодня и завтра.