Блог им. YUROCK13

quik - lua. буду очень благодарен за помощь.

  При написании скриптов пользуюсь notepad++ и встроенным интерпретатором языка LUA в quik для отладки достаточно только одной функции message. Опробование и отладку всегда производил на учебном счете Открытия и тут они поступили как то крайне нелогично, ввели по срочному рынку 19 — значные заявки, а квик оставили седьмой версии и интерпретатор LUA 5.1 и он просто не может работать с такими числами.  Причем на реальном рынке сначала они ввели квик 8 версии с интерпретатором LUA 5.3, а потом только длинные ордера. Как можно к учебному квику 7 версии привязать интерпретатор LUA 5.3?
  • обсудить на форуме:
  • Quik Lua
★2
12 комментариев
Зачем танцы с бубнами на учебном счете, когда можно путем эмуляции действия получать результат тестов на реале? Другое дело что вы пытаетесь большой объем пропихнуть и тут уже цена входа-выхода «попляшет».
avatar
Винни Пух, На реале во первых у меня он зависал, и на учебном счете я хотел победить эти проблемы. Очень неприятно когда арбитражный робот зависает с выставленными заявками, пока ты перезапускаешь квик, видишь сработавшие заявки по которым вторую ногу не поставили. Это одна проблема. Другая проблема, он может начинать хаотично сам ставить задвоение или даже затроение заявок, все функци on… работают как то некорректно особенно если твоя заявка исполняется пятью или шестью сделками одномоментно по рынку. Короче тесты на реале набили мне  в сумме убытков где то тысячи на четыре, как то не охота просто так деньгами сорить.
Роджер (веселый)., значит нет работы с битовыми флагами, раз задваивает и затраивает. Тут просто нужно функции сделок осуществлять без sendTransaction и посмотреть на поведение через message. Иными словами от простого к сложному идти, а не искать проблему в совокупности, тестируя на учебном счете. Запускайте скрипт кусками. По другому отладку не произвести, имхо.
avatar
Винни Пух, Да не в битах дело. там просто у меня по алгоритму счетчик установлен в функцию ontrade. И когда заявка исполняется одновременно несколько сделками, глюк идет когда больше трех. Теоретически функция должна отработать раз, сколько количество сделок. Но она как то работает с багом, не всегда то ли корректно завершает свою работу. Я так и не понял, но понял что лучше по меньше расчетов в ней делать, особенно когда она вызывается разными событиями с нулевым временным лагом. 
Роджер (веселый)., зачем счетчик в онтрейд, ежели это твои собственные заявки. В сендтранзакшон и жди ответа от сделки и каунти там. Онтрейд тут не нужен даже. Тут же как раз и биты подтянуть можно и ждать результат сделки. Там все равно счет на доли секунды идет. В общем разберетесь)
avatar
Винни Пух, да нет, система выставляет заявки по множеству инструментов через main и попутно корректирует их. При выполнении их срабатывает через ON trade он находит, что сработало и в каком количестве. Записывает в глобальную переменную и тут же в main при проверке соответствующей переменной запускается другой ордер на покупку второй ноги. Суть в том что у меня может одновременно стоять 40 ордеров по разным инструментам и мне надо максимально быстро понять, что сработало и в каком количестве исполнено.
Роджер (веселый)., так есть же некий параметр, указывающий на то, что именно сейчас нужно купить или продать, вот туда счетчик и прописать, в триггерную функцию. Это можно сделать через таблицы и не парится с кол-вом, просто через цикл создать необходимое кол-во отслеживаемых переменных и через индекс находить/изменять/отслеживать нужное.
Как вариант, раз онтрэйд не справляется 
avatar
Винни Пух, да вариантов много, просто я думал что и эта моя программа работает, пока не стала зависать или выдавать задвоенные ордера. Эта я все вроде поправил, только надо хорошо оттестировать на учебном, а затем на реальном счете.
Можно попробовать скопировать рабочий 8ой Квик в другую папку quik8game, закинуть туда crypto.cfg и ip.cfg из папки игрового 7ого и запустить 8ой на игровом. И отлаживать там.

Но то что он виснет (8ой) как бы ставит всю идею под сомнение — надо искать стабильную версию. На 7ом все равно работать не получится.
avatar
quant_trader, да повисание это скорее не квика проблемы, а несоответствие моей программы возможностям quik. надо программу дорабатывать под возможности квик.
quant_trader, А так за идею спасибо, попробую.
У одного из моих бывших учеников стояла демка 8.5. Какой брокер, не помню. Вроде ВТБ, но могу ошибаться.
avatar

теги блога Роджер (веселый).

....все тэги



UPDONW
Новый дизайн