Quik Lua

Сайт продукта: https://forum.quik.ru/forum10/
Lua — язык программирования, который используется в программировании торговых роботов под популярный в России терминал Quik.
  1. Аватар Itself
    Напишу робота

    Коллеги, добрый день!

    Готов написать робота под вашу стратегию.

    Требования:
    1. Небольшое количество параметров (если вы оцениваете момент входа по 100500 критериям, это не особо интересно)
    2. Четкая формализация
    3. Подтвержденная доходность

    Ограничения:
    1. Qlua

    Предпочтения:
    1. Спот
    2. Фьючи
    читать дальше на смартлабе
  2. Аватар XXM
    fn044.lua

    fn044.lua — скрипт для расчета стоимости фьючерсных контрактов в портфеле относительно депозита.
    Скачать: https://yadi.sk/d/e7XRt3CQ2v7Miw

    fn044.lua

    Файл настроек:
    -- fn044set.lua расчет стоимости фьючерсных контрактов в портфеле относительно депозита
    -- © smart-lab.ru/profile/xxm 08.10.2018
    
    -- торговый счет (из таблицы «Позиции по клиентским счетам (фьючерсы)»)
    account = 'SPBFUT0003f'
    
    --положение окна с таблицей. Левый верхний угол в координаты left,top и размеры в width и height.
    xy = {} 
    xy.left, xy.top, xy.width,xy.height = 0, 232, 722, nil
    
    --ширина столбцов таблицы
    t_width = {12, 6, 10, 8, 10, 10, 9, 7, 6, 11, 10, 11}
    
    -- месяц и год исполнения, 2 символа, https://www.moex.com/s205
    MonthYear = "Z8"
    -- код базового актива, 2 символа
    -- если 4 символа, то переменная "MonthYear" не учитывается
    SecCodes={
    	{"MM"}, --контракт на индекс МосБиржи
    	{"Si"}, --руб/доллар FORTS
    	{"SR"}, --Sber FORTS
    	{"LK"}, --контракт на Лукойл
    	{"GZ"}, --контракт на Газпром
    	{"BRX8"}, --контракт на нефть Брент, месяц и год - "X8"
    	{"ED"}, --контракт на ED
    	{"RN"}, --контракт на Роснефть
    	{"GD"}, -- Gold
    	}
    
    --Если xy.height == nil, то вычислить ее.
    --Для разных мониторов коэффициенты (17, 45 и 868 - подобраны эмпирически) будут разными.
    local height = xy.height or ((#SecCodes + 1)*17 + 45)
    if height > 868 then height = 868 end
    xy.height = height

    читать дальше на смартлабе
  3. Аватар Gorazio
    Друзья, требуется ваша помощь!

    Есть те, кто может подсказать по способам создания простейших скриптов на LUA? Таких, например, как сложение значений нескольких простых индикаторов и вывод в виде одной диаграммы или сохранения на рабочей станции значений из ТТП (тех, которые брокер хранит одну торговую сессию) для последующего вывода в приемлимом графическом виде. В крайнем случае рассматриваю excel. Буду благодарен всем, кто сможет чем-то подсказать.   
    читать дальше на смартлабе
  4. Аватар Sergey Pavlov
    Сбербанк, Квик, Луа, Небесконечность

    Коллеги! У меня руки дошли до… автоматизации торговли фьючами из под сбербанка… всё шло гуд-гудом… и вдруг везде прошли сделки, а под сбером тишина… Долго не мог ничего понять… чувствовал себя полным идиотом пока не заглянул в сообщения:
    Сбербанк, Квик, Луа, Небесконечность















    Ибо у меня стоит в скрипте:
    ["EXPIRY_DATE"] = "GTC"
    Собственно, два вопроса:
    1. Это у всех так, что в сбере нельзя делать стоп-заявку по типу до отмены? Для меня это новость… под всеми квиками у всех брокеров работает GTC без проблем.
    2. Можно ли это как-то вылечить, чтобы пользоваться GTC?
    читать дальше на смартлабе
  5. Аватар Albus
    Парсер котировок Финама

    Пост будет полезен только тем, кто кодит на Луа.
    ---
    Написал простенькую функцию, которая работает с архивом графиков Финама. На Финаме есть история торгов за много лет. Это полезно, чтобы прогнать вашу стратегию на максимально доступных исторических данных.
    Архив Финама находится здесь: https://www.finam.ru/profile/moex-akcii/sberbank/export/
    ---
    Заходите по ссылке, видите там:
    Парсер котировок Финама
    Там где «Формат записи в файл» выбираете как у меня: DATE,TIME,OPEN,HIGH,LOW,CLOSE,VOL. Можно брать и другие форматы, но тогда код функции придётся переписать.
    ---
    Выбираете вверху даты с 1 января по 31 декабря и год за годом сохраняте себе на компьютер вот так:
    Парсер котировок Финама
    читать дальше на смартлабе
  6. Аватар Ramil Shahattudinov
    LUA индикатор фрактальные уровни. Help.

    Всем доброго дня.
    Народ, очень нужна ваша помощь по данному индикатору. А если кто поделится готовым, буду очень благодарен.
    Намедни решил поколдовать с фрактальным индикатором, так что бы фракталы растянуть по уровню.
    В итоге вот что у меня получилось. Не ахти, сразу скажу. Я конечно не спец в программировании, только учусь, поэтому и обращаюсь к вам за помощью. Как его исправить, что бы фрактальный уровень рисовался с самого начала, там где треугольники на картинке, это обычный индикатор фрактала. И заканчивался в том случае когда цена пересечёт этот уровень выше или ниже.

    LUA  индикатор фрактальные уровни. Help.



    Вот сам индикатор

     

    Settings =
    {Name = «Fracta_l»,
    period=31,
    line =
    {{
    Name = «Level_High»,
    Color = RGB(0,255,0),
    Type = TYPE_POINT,
    Width = 1
    },{
    Name = «Level_Low»,
    Color = RGB(255,0,0),
    Type = TYPE_POINT,
    Width = 1
    }}}
    idx_prosl=0
    function Init()
    return #Settings.line
    end
    function OnCalculate(idx)
    if idx==1 then
    P = math.floor(Settings.period/2)*2+1
    t_H,t_L={},{}
    end
    if idx~=nil and idx>P then
    if idx_prosl~=idx then
    local l=idx-P
    for l=l,idx-1 do
    t_H[l]=H(l)
    t_L[l]=L(l)
    end
    if t_H[#t_H-(P-1)/2]==math.max(unpack(t_H,#t_H-P+1,#t_H)) then
    H_ind_value=t_H[#t_H-(P-1)/2]
    end
    if t_L[#t_L-(P-1)/2]==math.min(unpack(t_L,#t_L-P+1,#t_L)) then
    L_ind_value=t_L[#t_L-(P-1)/2]
    end
    end
    else
    H_ind_value=nil
    L_ind_value=nil
    end
    idx_prosl=idx
    return H_ind_value, L_ind_value
    end



    читать дальше на смартлабе
  7. Аватар MOCKBA
    Обновление Квика. Версия 7.18.1.20 испортила расчет моих алгоритмов.

    Уважаемые программисты, столкнулся с таким вредительством… иначе я не могу сказать...

    Где-то около месяца назад, заходя в терминал, брокер мне предложил обновить квик, я без задней мысли нажал ок и принял все новые файлы, дальше установка, ну и стандартный перезапуск… Сначала я удивился что визуально все дополнительные вещи, тщательно написанные на lua изменились...=/ Но особо не придал значения… Снова все изменил и начал дальше подключать остальные коннекторы и роботов. Но что-то с того дня пошло не так… Я не понимал в чем проблема, но даже думать не думал залезать снова в кодинг… Тем временем робота пилило… Я просто это вроде пережил, и подумал — ну с кем не бывает. И вот позавчера я запустил квик на старом ноуте, где была еще прошлая версия… И какого же было мое удивление когда я увидел что расчеты и конечные данные визуальных линий принятия решения о входе в позицию разнились с тем которые были в новой версии Квика! Разнились ровно настолько, что этого хватало для принятие алгоритмом неверного решения. Теперь я даже не понимаю, что и думать...? Каким образом это могло произойти? Понимающие люди подскажите, возможно ли такое??? Папку с индикаторами lua я не трогал ни там ни на другом компе.

    Если образно говорить, то меня постоянно начало выкидывать на стопы… Я честно говоря теперь вообще хотел бы отключить эти автообновления от брокера…
    читать дальше на смартлабе
  8. Аватар Viacheslav Merten
    Вопрос к программистам QLUA

    Уважаемые программисты!

    Подскажите, как сделать простенькую панель управления роботом. Нужно менять несколько параметров в роботе не останавливая его. Может кто знает как это сделать?
  9. Аватар Boris Litvinov
    Друзья могу взгреть скриптом, на LUA расчет средней цены фьючерса за печеньки

    Сыровато, но скоро будет готово, плюсы скрипта в том, не ведет БД истории которая грузит систему.
    При этом работает без сбоев. Решены ряд багов связанных с рассинхронизацией. Теперь как часы.
    В скрипте встроены плюшки, не только цена средне взвешенная но и 
    расчет маржи, рассчитываться и показывается без задержки, в реальном времени. Это очень удобно!
    + На график с инструментом планирую прикрутить визуальный уровень средней цены!
    Пишите в личку! 
    Друзья могу взгреть скриптом, на LUA расчет средней цены фьючерса за печеньки


  10. Аватар Alex Hell
  11. Аватар Alex Hell
    РАБОТА $ Здравствуйте, кто сможет подправить мой скрипт ? за $ пишите скайп или почту

    РАБОТА $Здравствуйте, кто сможет подправить мой скрипт? за $пишите скайп или почту
  12. Аватар Serg
    Все слолмалось, или что я упустил?

    Сегодня сломался робот на клуа (автостоп + по мелочи) и странные ГО — дробные и разные продавца и покупателя, на примере фьюча сбера. Может кто знает что произошло? Там чего то на бирже меняли, но почему все поломалось то?
  13. Аватар Boris Litvinov
    Продолжение Средневзвешенная цена фьючерса,контроль набора позиций в QUIK

    Вчера написал скрипт на LUA
    Вычисление средней для Фьюча. 
    но как обычно прежде чем доверить ему боевой режим крези тест.
    Который не смог пройти.
    Как это работает. Колбек OnTrade складывал value. BUY как есть,
    Sell наделял "-"  
    После делил на количество лотов. И всё работало.
    А да, там приходит по три пакета, поставил фильтр что бы одни и те же trade_num (Номер сделки в торговой системе)не учитывались

    В общем если торгую одним лотом всё гуд. Но стоит кинуть большим лотом. Или делать много сделок подряд. Беда
    Такое ощущение что колбеки не приходят. Простейший парсинг и сложение value не работает. 
    Что делаю не так? На форуме квика смешали всё в кучу. OnTransReply,  OnTrade, OnOrder.
    Тут одно не пашет OnTrade. А там проверки перепроверки устроили говно скрипты не рабочие. ОНО ТУПО НЕ ПАШЕТ, какие блядь проверки. Когда не приходят кол беки с 2015 года ваши темы, и не одна не рабочая. Рассинхрон полный. В общем ХЕЛП

    И ещё, после того как сработал колбек OnTrade, в его теле вызываю функцию в которой происходит пересчет текущей позы.
    И что вы думаете, сделка исполнена, а поза прежняя. И только спустя какое то время срабатывает правильный пересчет
    Он происходит из кол бека OnFuturesClientHolding (Функция вызывается терминалом QUIK при изменении позиции по срочному рынку)
    Разрыв в пределах секунды. Вот такой тормоз!!!!!!!!
    ХЕЛП по первому пункту. почему пропускаются кол беки?
    Готов их дождаться, только они не приходят, не с задержкой не без неё. 
    И зря вы думаете что ШАРПЫ, АЛАБЫ в целом вся эта глючная шляпа кого та спасет. Там это всё работает через эту же прослойку!
    И только добавит новых глюков.  Удачных глючных трейдов!



  14. Аватар Alex Hell
  15. Аватар kahuna
    В связи с блокировкой telergam.Подскажите идею оповещалки для бота на lua.

    В связи с блокировкой telergam.
    Подскажите идею оповещалки для бота на lua.
    СМС оповещение у меня сделано через свой модем,
    но хочется что-нибудь халявное как с telegram.
  16. Аватар bakiforest@mail.ru
    ZigZag на КВИК

    Здравствуйте ВСЕМ! Обращаюсь с просьбой. Скачал индикатор ZigZag на LUA. Попытался его установить на КВИК. Ничего не получается. Сначала создал папку QUIK/LuaIndicators, в нее скачал два варианта ZigZag))). Открыл КВИК — в окне установки индикаторов ZigZag не отображается(((.
    КВИК перезагружал-безрезультатно.В папке LuaIndicators лежат файлы:Bot4Sale.dll,ZigZag.lua,Zigzag_nl.lua,Zigzag_full.lua, Описание.txt и папка ZigZag с файлами:ZigZag.lua,Zigzag_nl.lua,Zigzag_full.lua, Описание.txtМ.б. что-то лишнее?
    Помогите пжл.
  17. Аватар Маркин Павел
    Стакан на графике | LUA QUIK

    Просто, коротко, минималистично.

    Стакан на графике | LUA QUIK
    Файл:
    xQuote.lua

    Как запустить:

    1. Скопировать в папку LuaIndicators и добавить индикатор.

    2. в свойствах графика инструмента прописать наименование идентификатора.
    Стакан на графике | LUA QUIK

    3. В свойствах индикатора прописать тоже наименование индикатора
    Стакан на графике | LUA QUIK

    4.Окно котировок (стакан) должно быть открытым!!!

    5. Наслаждаемся)))

    Распаковать в папку LuaIndicators и добавить индикатор.

  18. Аватар Alex Hell
    (QUIK Lua) Здравствуйте, я знаю что вас задолбали такие как я) но прошу помочь с кодом, конкретно нужен код для получения цены открытой позиции,цена нужна для выставления точного стоп ордера. Спасибо

    (QUIK Lua) Здравствуйте, я знаю что вас задолбали такие как я) но прошу помочь с кодом, конкретно нужен код для получения цены открытой позиции, цена нужна для выставления точного стоп ордера.Спасибо
  19. Аватар gardist
    график нефть в рублях в Квике

    1. В папке с Квиком создаем директорию LuaIndicators.
    2. В этой папке создаем файл br_rub.lua, туда записываем:

    Settings = 
    {
    Name = «BR_RUB»,
    tag = «USDRUB»,
    tag1 = «BR»,
    line=
    {
    {Name = «brent_rub», Color = RGB(0, 0, 255), Type = 1,Width = 1}
    }
    }

    function Init()
    return 1
    end

    function OnCalculate(index)
    local Out = (getCandlesByIndex(Settings.tag1, 0, index-1, 1)[0].close or 0) * (getCandlesByIndex(Settings.tag, 0, index-1, 1)[0].close or 0)
    if Out > 0 then
    return Out
    else
    return nil
    end
    end

    1. В Квике создаем график с курсом доллара (USDRUB_TOM).
    2. К графику добавляем график с брентом (BR-3.18).
    3. Идем в настройки графика, в разделе Дополнительно указываем Идентификатор: BR -для графика с брентом, USDRUB- для графика с курсом.
    4. Добавляем индикатор (выбираем из выпадающего списка BR_RUB).
    график нефть в рублях в Квике
    5. Уменьшаем ненужные поля. Если график не отобразился — даблкликаем на графике — жмем Применить:
    график нефть в рублях в Квике
    ссылка на файл

    кросспост rffx.ru

  20. Аватар Boris Litvinov
    Тиковый торговый движок на LUA. Первый сделки

    Первые сделки по тренду.
    Тиковый торговый движок на LUA. Первый сделки
    Контр тренд. Но контр не стал торговать. 
    И там и там плюс
    Тиковый торговый движок на LUA. Первый сделки





  21. Аватар Boris Litvinov
    Тест на стабильность системы транзакций для движка LUA

    стабильный круг без остановок связанных с защитными функциями не срабатывания,
    двойными транзакциями, рассинхронизацией. Тест дал минимум 300мск 
    Это на всё что способен сервак квик!!!
    Но опять же, на демо сервере. 
    Ускорил написание копи пестам, частей скрипта Sergey Pavlov
    З
    а что ему благодарен.
  22. Аватар Boris Litvinov
    Тиковый движок интрадей + простейший скальпер бот Lua

    Ранее рассмотрели движок, + простейший бот "контртренд"
    Рассмотрим работу простейшего скальпер, интрадей бота. На остове того же движка.
    Скоро продемонстрирую систему транзакций скальпера, его стабильность, скорость  и
    не возможности рассинхронизации с рынком,  поговорим о проскальзываниях!

    доступность написания, простота скрипта  торгового робота, не сложнее примера ниже
    Тиковый движок интрадей + простейший скальпер бот Lua




     

  23. Аватар Boris Litvinov
    Интрадей движок на lua, за выходные

    Понимаю что STOK SHARP для программистов. 
    +После тестов стабильности, пришел к вывожу что S# не стабилен!
    Развиваю конечно и эту ветку...
    Но.Решил переписать движки с Qpile на Lua. Который стабильней в разы. Собственным опытом.
    Движок интрадей — скальпер.

    А вот скрипт простейшего бота что на видео. Простота!
    Интрадей движок на lua, за выходные




     

  24. Аватар Nikolay_2323
    Реализация Алгоритма под Quik

    Добрый день!

    Ищу исполнителя по реализации алгоритма под Quik.
    Алгоритм не сложный. Расчертить уровни лесенкой и исполнять по ним входы/выходы.
    Предложения напишите в личку пожалуйста.




    Помогите, пожалуйста, плюсами с выводом на главную....

    Заранее спасибо!
  25. Аватар Настя Степанцовва
Чтобы купить акции, выберите надежного брокера: