Ziveleos (Все сообщения пользователя)
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Выводить через PrintDbgStr подозрительные переменные, и когда в очередной раз глюканёт, посмотреть, кто чудит.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Но если ошибка возникает эпизодически, то это уже сложнее.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Igor_User написал: Есть ли какие-нибудь ещё способы определить строку, из-за которой эта ошибка произошла?
message("OK") и дихотомия.
Ставим message в середине скрипта, если выскочило "OK", значит, ошибка дальше. Нет - до него. Делим проблемный кусок дальше.
И т.д.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Глушкова Екатерина , шорт заработал, но в 10-й версии, в таблице "Купить/продать" по-прежнему, кроме "D long" и "D short", одни нули.
Данные в таблице "Параметры рыночных рисков [ЦК]" отображаются.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата 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
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Vasiliy написал: Покопавшись к интернете, понял, что стандартными силами Lua в Quik, создать графическое окно с кнопками не получиться.
Ну, не знаю... У меня получилось. Сделал себе "автостоп".
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата _LEV_ написал: На ДЕМО QUIK 12.2.0.37 при ручной продаже акции в шорт - выдает сообщение "Данный инструмент запрещен для операции шорт"
Такая же картина в 10 и 11 версиях, шортить "Юниор" не дает ничего. При этом, в 10-ой версии, в таблице "Купить/продать" одни нули, а в 11-ой, в таблице "Позиции по инструментам" тикеры повторяются дважды, с датой расчетов сегодня и завтра.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Karina Dmitrieva , Вы не пробовали вникнуть в суть вопроса, прежде чем отвечать?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Вот эти кнопочки нажаты?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Можно использовать стандартные звуки windows.
Код --[[
MB_OK = 0x0 -- ' Стандартный звук
MB_ICONHAND = 0x10 -- ' Звук SystemHand
MB_ICONQUESTION = 0x20 -- ' Звук Вопрос
MB_ICONASTERISK = 0x40 -- ' Звук Звездочка
MB_ICONEXCLAMATION = 0x30 -- ' Звук Восклицание
--]]
io.popen('rundll32.exe user32.dll, MessageBeep MB_OK')
--os.execute('rundll32.exe user32.dll, MessageBeep MB_OK')
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Код function main()
file = io.open(getScriptPath().."\\Карман.tri", "a+") -- Файл транзакций
tri = file:read("*a")
if not tri:match("%[") then
for rec in tri:gmatch("[^\n]+") do
rec = rec:gsub(";","\n")
rec = rec:gsub("([%g ]+)="," ['%1'] =")
rec = rec:gsub("=([%g ]*)","= '%1',")
rec = rec:gsub(",\n$","")
rec = "\ntransaction = {\n"..rec.."\n }\n"
file:write(rec)
end
end
file:flush()
file:close()
end
Использование: 1) Сохранить содержимое "Кармана транзакций" в файл Карман.tri 2) Запустить скрипт. 3) Забрать результат в том же файле.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата MDFA написал: Я сам давно написал и пользуюсь:
У меня проще. Выставил заявку - автоматом стоп-лосс. Точнее половина «Тейк-профит и стоп-лимит». Приоритет у позиции. Опция удвоения, на отскок/пробой. Простой, как кувалда.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Acaw написал: Вопрос: если так сделать, не повлечет ли это за собой то, что терминал будет обновлять кучу копий датасорсов
Роберту Иерузалимски "Программирование на языке Lua"
https://articles.opexflow.com/wp-content/uploads/2022/02/lua.pdf 2.5. Таблицы (стр.36)
"Вы можете рассматривать таблицу как динамически выделяемый объект; ваша программа работает только
со ссылками (указателями) на них. Lua никогда не прибегает к скрытому копированию или созданию новых таблиц."
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Можно просто написать скрипт, чтобы при закрытии квика сбрасывал все сделки в .csv.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
ПКМ > "Копировать всё" > вставить в "Блокнот" > сохранить как ,csv > открыть в LibreOffice Calc.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Alex написал: Спасибо. А по ЕВРО есть ?
getParamEx("RTSIDX","EURFIXME","CURRENTVALUE").param_value
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Есть инструмент RTSUSDCUR в классе INDX, это курс доллара. Получить можно через getParamEx() getParamEx("INDX","RTSUSDCUR","CURRENTVALUE").param_value
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Anton Belonogov , произошло это однажды, два раза за 3 минуты, но удивило то, что передвинулась только одна заявка, вопреки утверждениям в руководстве и на этом форуме:
https://forum.quik.ru/messages/forum10/message56834/topic6588/#message56834 Поэтому и возник вопрос № 2: на "боевом" такое возможно? Нужен "костыль" в коде, или там не бывает подобных нежданчиков?
Версия QUIK 10.1.2.2. Только зачем она Вам, или сервер по-разному обрабатывает заявки терминалов разных версий?
Случилось это 14 числа.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Если бы не проблема зависания, можно было бы скопировать отчет в текстовый файл, и раскидать инструменты скриптом по отдельным файлам .csv, с подсчетом баланса по каждому инструменту. А так, ждать реализации пожелания можно очень долго.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Столкнулся с неожиданным поведением MOVE_ORDERS и OnTransReply. Пришел reply с номером заявки
'0' .
Скрипт передвигал заявки, всё шло штатно, как вдруг, откуда ни возьмись, появился
Цитата Перестановка заявок завершена успешно. New Order1 ID: 0 , new Order2 ID: 1892958324056452578.
и статус транзакции -
«3» – транзакция выполнена.
Скрытый текст
[TransReply 1405.459 ] account SPBFUT00018 date_time 19:05:00.912 result_msg Заявка 1892958324056452254 успешно зарегистрирована. got_local_time 16:05:00.988 trans_id 30000001 uid 220189 error_code 0 order_num 1892958324056452254 server_trans_id 63 flags 2490369 order_flags 4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:00.939 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190500 price 84951.0 sec_code SiZ4 [TransReply 1405.532 ] account SPBFUT00018 date_time 19:05:00.958 result_msg Заявка 1892958324056452255 успешно зарегистрирована. got_local_time 16:05:01.060 trans_id 30000002 uid 220189 error_code 0 order_num 1892958324056452255 server_trans_id 63 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:00.989 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190500 price 84870.0 sec_code SiZ4 [TransReply 1430.080 ] account SPBFUT00018 date_time 19:05:25.490 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056452506, new Order2 ID: 1892958324056452507. got_local_time 16:05:25.608 trans_id 30000003 uid 220189 error_code 0 order_num 1892958324056452506 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84936.0 class_code = SPBFUT brokerref = order_num = 1892958324056452506 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84865.0 class_code = SPBFUT brokerref = order_num = 1892958324056452507 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:25.512 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190525 price 84936.0 sec_code SiZ4 [TransReply 1430.777 ] account SPBFUT00018 date_time 19:05:26.209 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056452508, new Order2 ID: 1892958324056452509. got_local_time 16:05:26.306 trans_id 30000004 uid 220189 error_code 0 order_num 1892958324056452508 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84966.0 class_code = SPBFUT brokerref = order_num = 1892958324056452508 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84865.0 class_code = SPBFUT brokerref = order_num = 1892958324056452509 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:26.238 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190526 price 84966.0 sec_code SiZ4 [TransReply 1434.817 ] account SPBFUT00018 date_time 19:05:30.287 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056452522, new Order2 ID: 1892958324056452523. got_local_time 16:05:30.346 trans_id 30000005 uid 220189 error_code 0 order_num 1892958324056452522 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84966.0 class_code = SPBFUT brokerref = order_num = 1892958324056452522 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84845.0 class_code = SPBFUT brokerref = order_num = 1892958324056452523 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:30.313 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190530 price 84966.0 sec_code SiZ4 [TransReply 1447.157 ] account SPBFUT00018 date_time 19:05:42.631 result_msg Перестановка заявок завершена успешно. New Order1 ID: 0 , new Order2 ID: 1892958324056452578. got_local_time 16:05:42.685 trans_id 30000006 uid 220189 error_code 0 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84886.0 class_code = SPBFUT brokerref = order_num = 0 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84845.0 class_code = SPBFUT brokerref = order_num = 1892958324056452578 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:42.659 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190542 price 84886.0 sec_code SiZ4 [TransReply 1459.903 ] account SPBFUT00018 date_time 19:05:55.386 result_msg Вы не можете снять данную заявку got_local_time 16:05:55.430 trans_id 30000007 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:55.423 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190555 price 84886.0 sec_code SiZ4 [TransReply 1461.416 ] account SPBFUT00018 date_time 19:05:56.886 result_msg Вы не можете снять данную заявку got_local_time 16:05:56.944 trans_id 30000008 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:56.922 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190556 price 84886.0 sec_code SiZ4 [TransReply 1461.996 ] account SPBFUT00018 date_time 19:05:57.478 result_msg Вы не можете снять данную заявку got_local_time 16:05:57.524 trans_id 30000009 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:05:57.515 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190557 price 84966.0 sec_code SiZ4 [TransReply 1471.973 ] account SPBFUT00018 date_time 19:06:07.436 result_msg Вы не можете снять данную заявку got_local_time 16:06:07.501 trans_id 30000010 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:06:07.472 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190607 price 84856.0 sec_code SiZ4 [TransReply 1489.669 ] account SPBFUT00018 date_time 19:06:25.153 result_msg Вы не можете снять данную заявку got_local_time 16:06:25.196 trans_id 30000011 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:06:25.188 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190625 price 84968.0 sec_code SiZ4 [TransReply 1491.725 ] account SPBFUT00018 date_time 19:06:27.204 result_msg Вы не можете снять данную заявку got_local_time 16:06:27.252 trans_id 30000012 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:06:27.239 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190627 price 84938.0 sec_code SiZ4 [TransReply 1516.273 ] account SPBFUT00018 date_time 19:06:51.758 result_msg Вы не можете снять данную заявку got_local_time 16:06:51.799 trans_id 30000013 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:06:51.791 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190651 price 84938.0 sec_code SiZ4 [TransReply 1521.746 ] account date_time 19:06:57.225 result_msg Удаление заявок по условию успешно завершено. Удалено заявок: 2. got_local_time 16:06:57.272 trans_id 30000014 uid 220189 error_code 0 order_num 0 server_trans_id 69 flags 1310721 order_flags 0 class_code gate_reply_time 00:00:00.000 quantity 0.0 sent_local_time 16:06:57.254 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code firm_id first_ordernum 0 time 190657 price 0.0 sec_code [TransReply 1539.803 ] account SPBFUT00018 date_time 19:07:15.257 result_msg Заявка 1892958324056453090 успешно зарегистрирована. got_local_time 16:07:15.330 trans_id 30000001 uid 220189 error_code 0 order_num 1892958324056453090 server_trans_id 63 flags 2490369 order_flags 4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:15.281 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190715 price 84957.0 sec_code SiZ4 [TransReply 1539.853 ] account SPBFUT00018 date_time 19:07:15.304 result_msg Заявка 1892958324056453091 успешно зарегистрирована. got_local_time 16:07:15.380 trans_id 30000002 uid 220189 error_code 0 order_num 1892958324056453091 server_trans_id 63 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:15.331 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190715 price 84826.0 sec_code SiZ4 [TransReply 1542.927 ] account SPBFUT00018 date_time 19:07:18.382 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056453111, new Order2 ID: 1892958324056453112. got_local_time 16:07:18.452 trans_id 30000003 uid 220189 error_code 0 order_num 1892958324056453111 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84942.0 class_code = SPBFUT brokerref = order_num = 1892958324056453111 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84831.0 class_code = SPBFUT brokerref = order_num = 1892958324056453112 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:18.404 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190718 price 84942.0 sec_code SiZ4 [TransReply 1544.235 ] account SPBFUT00018 date_time 19:07:19.695 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056453119, new Order2 ID: 1892958324056453120. got_local_time 16:07:19.761 trans_id 30000004 uid 220189 error_code 0 order_num 1892958324056453119 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84972.0 class_code = SPBFUT brokerref = order_num = 1892958324056453119 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84831.0 class_code = SPBFUT brokerref = order_num = 1892958324056453120 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:19.715 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190719 price 84972.0 sec_code SiZ4 [TransReply 1547.977 ] account SPBFUT00018 date_time 19:07:23.445 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056453142, new Order2 ID: 1892958324056453143. got_local_time 16:07:23.503 trans_id 30000005 uid 220189 error_code 0 order_num 1892958324056453142 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84972.0 class_code = SPBFUT brokerref = order_num = 1892958324056453142 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84821.0 class_code = SPBFUT brokerref = order_num = 1892958324056453143 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:23.459 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190723 price 84972.0 sec_code SiZ4 [TransReply 1577.927 ] account SPBFUT00018 date_time 19:07:53.399 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056453337, new Order2 ID: 1892958324056453338. got_local_time 16:07:53.453 trans_id 30000006 uid 220189 error_code 0 order_num 1892958324056453337 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84892.0 class_code = SPBFUT brokerref = order_num = 1892958324056453337 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84821.0 class_code = SPBFUT brokerref = order_num = 1892958324056453338 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:07:53.409 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190753 price 84892.0 sec_code SiZ4 [TransReply 1587.912 ] account SPBFUT00018 date_time 19:08:03.384 result_msg Перестановка заявок завершена успешно. New Order1 ID: 1892958324056453376, new Order2 ID: 1892958324056453377. got_local_time 16:08:03.437 trans_id 30000007 uid 220189 error_code 0 order_num 1892958324056453376 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84892.0 class_code = SPBFUT brokerref = order_num = 1892958324056453376 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84831.0 class_code = SPBFUT brokerref = order_num = 1892958324056453377 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:03.402 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190803 price 84892.0 sec_code SiZ4 [TransReply 1600.455 ] account SPBFUT00018 date_time 19:08:15.914 result_msg Перестановка заявок завершена успешно. New Order1 ID: 0, new Order2 ID: 1892958324056453419. got_local_time 16:08:15.980 trans_id 30000008 uid 220189 error_code 0 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 orders order_0 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84882.0 class_code = SPBFUT brokerref = order_num = 0 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 order_1 account = SPBFUT00018 exchange_code = quantity = 1.0 price = 84831.0 class_code = SPBFUT brokerref = order_num = 1892958324056453419 client_code = SPBFUT00018 firm_id = SPBFUT000000 first_ordernum = 0 balance = 0.0 order_flags = 0 sec_code = SiZ4 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:15.937 error_source 0 exchange_code status 3 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190815 price 84882.0 sec_code SiZ4 [TransReply 1619.361 ] account SPBFUT00018 date_time 19:08:34.828 result_msg Вы не можете снять данную заявку got_local_time 16:08:34.886 trans_id 30000009 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:34.857 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190834 price 84883.0 sec_code SiZ4 [TransReply 1619.480 ] account SPBFUT00018 date_time 19:08:34.959 result_msg Вы не можете снять данную заявку got_local_time 16:08:35.005 trans_id 30000010 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:34.987 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190834 price 84893.0 sec_code SiZ4 [TransReply 1619.798 ] account SPBFUT00018 date_time 19:08:35.241 result_msg Вы не можете снять данную заявку got_local_time 16:08:35.323 trans_id 30000011 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:35.270 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190835 price 84893.0 sec_code SiZ4 [TransReply 1619.973 ] account SPBFUT00018 date_time 19:08:35.422 result_msg Вы не можете снять данную заявку got_local_time 16:08:35.497 trans_id 30000012 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:35.450 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190835 price 84883.0 sec_code SiZ4 [TransReply 1621.733 ] account SPBFUT00018 date_time 19:08:37.182 result_msg Вы не можете снять данную заявку got_local_time 16:08:37.258 trans_id 30000013 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:37.210 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190837 price 84893.0 sec_code SiZ4 [TransReply 1622.411 ] account SPBFUT00018 date_time 19:08:37.893 result_msg Вы не можете снять данную заявку got_local_time 16:08:37.935 trans_id 30000014 uid 220189 error_code 8635230 order_num 0 server_trans_id 67 flags 2359297 order_flags 0 class_code SPBFUT gate_reply_time 00:00:00.000 quantity 1.0 sent_local_time 16:08:37.922 error_source 3 exchange_code status 6 brokerref balance 0.0 client_code SPBFUT00018 firm_id SPBFUT000000 first_ordernum 0 time 190837 price 84893.0 sec_code SiZ4
Скрипт, получив от OnTransReply
status 3 , запоминает номера заявок и пытается их передвинуть, что у него, естественно, не получается. Это повторяется дважды в течение трёх минут.
Отсюда два вопроса:
1). Это как пониматьвашу, господа разработчики?
2). Такое поведение вашего продукта возможно только на учебном quik, или на боевом также может произойти такой пердюмонокль?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Загнать отчёт в Excel и отсортировать в нём, не вариант?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата sao написал: Прошу разработчиков зарегистрировать пожелание:Ни в коем случае не делать никаких trans_id=nil !! В руководстве четко прописано что поле trans_id имеет тип NUMBER. Соответственно программисты (в частности я) в своих скриптах считают что в этом поле может быть только число. В Lua значение nil это отдельный тип переменной, и например выражение t.trans_id>0 приведет к ошибке и вылету скрипта. Почему я должен перелопачивать десятки тысяч строк кода в десятках своих скриптов и вводить множество ненужных проверок, из-за того, что кому-то вдруг приспичило получать nil?
Есть же отрицательные числа. Если значение ещё не определенных параметров будет отрицательным, ничего перелопачивать не придётся.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Настройки - Торговля - Код клиента Настройки - Торговля - Заявки - чекбокс "Указыватьсчет..." Настройки - Торговля -Настройки счетов, (убрать ненужные)
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Kypat написал: добавьте фон зелёный красный для купли и продаже
Всё уже есть. ПКМ по заголовку столбца > Форматирование.
"
Всё уже украдено до нас " ©
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Старатель написал: До сих пор нет надёжного решения обсуждаемой проблемы.
Цитата Серж написал: Состояние скрипта при следующем запуске зависит от того успел ли он становиться до сохранения его статуса (остановлен/запущен) в файл scripts.dat.
Так это и есть решение проблемы.
if msg == QTABLE_CLOSE then
sleep(time) OnStop() end
Нужно только, чтобы "time" было больше периода "бесконечного" цикла main, или времени возвращаемого OnStop.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Чтобы кнопки были активны, на панели торговли должны быть указаны количество "Q", и счет "A". Отобразить эти поля в настройках стакана >Панель торговли>Цена количество и счет.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата nikolz написал: пардон, исправил: Код local time_pos = string.gsub ( getInfoParam ( "SERVERTIME" ), ":" , "" );
Из руководства:
Цитата %x: (где x - не алфавитно-цифровой символ) представляет символ x. Это стандартный способ кодирования магических символов. Любой не алфавитно-цифровой символ (включая все знаки пунктуации, даже не магические ) могут предваряться '%', когда используются для представления себя в шаблоне.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата nikolz написал: Цитата Ziveleos написал: local time_pos =string.sub (x,1,2)..string.sub (x,4,5)..string.sub (x,7,8);
Вы утверждаете, что это я написал?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Денис , добрый день.
Вот рабочий код:
Код local t = string.gsub(getInfoParam("SERVERTIME"),"%:", "")
local time_pos = string.format("%06d", tonumber(t))
nikolz , до 10 утра время сервера передается без начального нуля,
одной цифрой.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Если не секрет, в текущей таблице параметров #2 сколько строк?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Поля "Количество" и "Счет" задействованы?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Daniil Pozdnyakov написал: Здравствуйте! Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Прошло 2 года. Как дело движется?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата VPM написал: При тестировании стратегий на исторических свечах. При выводе меток приходит такая ошибка; Цитата Ошибка при создании метки: Группа или ресурс не находятся в нужном состоянии для выполнения требуемой операции.
Ни чего по ней найти не возможно, по смыслу что со свечами не то?
Скорее не со свечами, а с метками. Файлы картинок для меток используются?
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата VPM написал: стоимость контракта = price_last * pos_qty* lot ?
С контрактом на индекса мосбиржи (MXI) такая формула не работает.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата hts написал: Можно ли вывести в эксель все свои сделки, купля продажа итд. И если можно то как. Спасибо
На таблице сделок, правая кнопка мыши > Вывод через DDE сервер.
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Опять я наврал. Нельзя два дела одновременно делать!
Так правильно:
Код x = order.flags & 3 -- для версии lua ниже 5.3 -> bit.band(order.flags,3)
if x == 2 then
message("Заявка снята")
elseif x == 1 then
message("Заявка активна")
elseif x == 0 then
message("Заявка исполнена")
end
end
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Можно.
Код x = order.flags & 3 -- для версии lua ниже 5.3: bit.band(order.flags,3)
if x == 3 then
message("Заявка снята")
elseif x == 2 then
message("Заявка исполнена")
elseif x == 1 then
message("Заявка активна")
end
Всё пройдет. Но это не точно.
Пользователь
Сообщений: 98
Регистрация: 22.02.2023
Цитата Ziveleos написал: r = order.flags & Х, где Х - вес соответствующего флага. r - 1 или 0, в зависимости от того, установлен флаг, или нет.
Наврал. r -
вес флага или 0, в зависимости от того, установлен флаг, или нет.
Всё пройдет. Но это не точно.