Постов с тегом "Quik Lua": 235

Quik Lua


Индикатор в LUA для Квик

    • 02 июня 2020, 14:31
    • |
    • VladEK
  • Еще
Добрый день.

Решил написать индикатор на LUA. Подскажите, пожалуйста, есть ли уже стандартная функция (или куда можно посмотреть), которая, например, на 15 минутном графике получит данные свечки с дневки.
  • обсудить на форуме:
  • Quik Lua

Quik 8.5.2.11, Lua 5.3.5. Первые впечатления.

    • 01 июня 2020, 19:50
    • |
    • 3Qu
  • Еще
Quik, по сравнению с версией 8.2, стал несколько лучше. Меньше подвисает, но иногда бывает. Мелкие, наверно несущественные, изменения в интерфейсе — не сразу и заметил.
Lua 5.3.5, по сравнению с Lua 3.1, летает. То, что исполнялось несколько секунд, теперь пролетает практически мгновенно. В программах Lua никаких изменений делать не пришлось, мною не использовались специфические для Lua 5.1 конструкции.
Вот, DLL, цепляющиеся к Lua, все упали, в буквальном смысле. Пару дней разбирался, несколько изменился C-API, пришлось переделывать функции luaopen в DLL. Помогли ребята с http://quikluacsharp.ru/, если что — смотрите решение у них.
В DLL, по идее, еще надо переделывать int на 64 бит целое (при компиляции куча алармов на эту тему), но, кроме номеров заявок в обозримом будущем, не обязательно. Кроме заявок-сделок, таких номеров в инструментах нет. Пока, по крайней мере.

КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени

Всех с пятницей — самоизолятницей!
Представляю общественности Python-сервер (в 9 строк кода) для получения данных из КВИКа в Питон через луа-скрипт в режиме реального времени.
Для примера приведу получение тиковых данных по SIM0.
Нам понадобятся следующие ингредиенты.
1. Понятное дело КВИК, версии ниже 8 или 8.5.2 и выше.
2. Питон Jupyter Notebook (Anaconda 3)
3. Луа-скрипт, взятый из Jatotrader (в нем буквально изменено пару строк)
Как работает сервер можно посмотреть в этом видео (1 мин. 38 сек.) Ну и по правилам хорошего тона, естественно сам текст ниже.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Замотала, эта Lua.

    • 29 мая 2020, 15:26
    • |
    • 3Qu
  • Еще
Давненько я не брал в руки шашки не писал индикаторов на Lua. Вчера ближе к ночи приспичило перенести старый отработанный индикатор с Python в терминал на Lua-QLua.
Взял, как водится, какой-то готовый, и начал его переделывать. Дел, в общем, немного, вместо одной линии нарисовать три, и оставив болванку везде поменять код. Python, в общем, похож на Lua (все языки программирования оч. похожи), а потому, берем код Python, в Notepad++ копипастим его в Lua индикатор, немного исправляем синтаксис, немного исправляем код под особенности индикаторов, и через 20 минут готово.
Пытаемся добавить на график. Счас! Индикатор вообще не виден.
Начинаем корежить код и танцевать с бубном. Че сделали, так и не поняли, но индикатор в меню настроек появился — победа! Но, не тут-то было. Однако, добавить не удается, тут же вылетает. Опять танцы с бубном.
Теперь добавляется, но Quik наглухо виснет и падает. Но, зато начал писать ошибку — строка 86, там какой-то nil. Какой еще nil, там строка, типа, buff[i] = a*b[i]^2 + c*d[i]^2. Да, сколько можно? Откуда там nil? Бредятина какая-то.

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Lua индикатор для Quik, Bollinger Bands %b Oscillator. Кому интересно....

Кому интересно, переделал индикатор Bollinger Bands (ВВ.lua) под осциллятор Bollinger Bands  %B   

В теме  https://smart-lab.ru/blog/623989.php



Ниже копипаст как его интерпретировать:


Как интерпретировать график индикатора

По принципу своей работы индикатор %b – это моментум- осциллятор, сходный, например, со стохастиком. Однако есть и отличия: если у стохастического осциллятора цены колеблются в интервале от 1 до 100, то у нашего индикатора цена может и выходить за эти пределы, например, значение может быть 1,15 или -0,15, что означает- цена находится выше или ниже на 15% от ширины ленты. То, что формально интервал обозначен уровнями 0 и 1, не должно вас путать – это одно и то же, но умноженное на коэффициент 100.


Но что означают, все эти нулевые или единичные уровни?

Это означает, что если:

  • График на уровне=0, то цена находится на нижней границе полосы Боллинджера,
  • График на уровне=1, значит, цена на верхней границе,
  • График на уровне 0,5 – цена находится на скользящей средней,
  • График ниже уровня=0 означает, что произошел прорыв полосы в сторону падения,
  • График выше уровня=1 – прорыв полосы в сторону повышения.


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Lua индикатор для Quik, Bollinger Bands %b Oscillator

Доброго времени всем.
Ищу Lua индикатор для Quik, Bollinger Bands %b (Bollinger Bands %BB Oscillator).  На MT4 есть в открытом виде. Возможно у кого-то уже есть переделанный в lua. Буду очень признателен в помощи его отыскать. Если не найду, придется переписывать самому в lua...(




Кому интересно, переделал индикатор Bollinger Bands (ВВ.lua) под осциллятор Bollinger Bands  %B   





Settings = {
Name = "*BB (Bollinger Bands) %B oscillator",
Period = 20,
Metod = «SMA», --(SMA, MMA, EMA, WMA, SMMA, VMA)
VType = «Close», --(Open, High, Low, Close, Volume, Median, Typical, Weighted, Difference)
Shift=2,
line = {{
Name = «Horizontal line (top)»,
Type = TYPE_LINE,
Color = RGB(221, 44, 44)
},
{
Name = «Horizontal line (bottom)»,
Type = TYPE_LINE,
Color = RGB(221, 44, 44)
},
{
Name = «Bollinger Bands %B oscillator line»,
Type = TYPE_LINE,
Color = RGB(255, 255, 255)
}
},
Round = «off»,
Multiply = 1,
Horizontal_line=«0»
}

function Init()
func = BB_B()
return #Settings.line
end

function OnCalculate(Index)
local Out = ConvertValue(Settings, func(Index, Settings))
local HL = tonumber(Settings.Horizontal_line)
if HL then
return 1+HL,HL,Out
else
return nil,nil,Out
end
end


function BB_B() --Bollinger Bands %B oscillator («BB_B»)
local BB_MA=MA()
local BB_SD=SD()
local it = {p=0, l=0}
return function (I, Fsettings, ds)
local Fsettings=(Fsettings or {})
local P = (Fsettings.Period or 20)
local M = (Fsettings.Metod or SMA)
local S = (Fsettings.Shift or 2)
local VT = (Fsettings.VType or CLOSE)
if (P > 0) then
if I == 1 then
it = {p=0, l=0}
end

local b_ma = BB_MA(I, {Period=P, Metod = M, VType=VT}, ds)
local b_sd = BB_SD(I, {Period=P, Metod = SMA, VType=VT}, ds)
if CandleExist(I,ds) then
if I~=it.p then it={p=I, l=it.l+1} end
if it.l >= P and b_ma and b_sd then



( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Прошу написать простой индикатор

Приветствую, сильно увлекся арбитражем, на данный момент прошу написать код простого индикатора на Lua, который просто будет считать разницу между по ценами 2-х инструментов.
Например есть Сбербанк и Сбербанк преф.
Нужно посчитать разницу между ценам закрытия свечей и вывести ее в виде графика.
Условно цена закрытия бара на Сбер 190 руб, цена закрытия бара Себер преф 170 руб, соответственно на графике должен быть результат 20 руб.
Соответственно эти расчеты могут уходить в минус, что означает, что условно цена Сбера стала меньше цены Сбера преф.
Буду благодарен если воткнете вторую возможность выбора сравнения цен инструмента относительно изменения в %. Что бы можно было сравнить например Газпром и Лукойл. 

Задача найти максимумы и минимумы в рублях за период по каждому бару.

Ну если скажете, что стоит денег прийдется оплатить. На последующих этапах готов оплатить создание робота, но при доработанном индикаторе.
  • обсудить на форуме:
  • Quik Lua

Quik, DDE, Excel

    • 21 мая 2020, 12:16
    • |
    • 3Qu
  • Еще
Напомню, что обмен по DDE придуман в далеком 1995 году, еще для Windows 3.1.  DDE считается сильно устаревшим методом обмена данными и практически не поддерживается современными приложениями. Остался один Quik, который цепляется за DDE из последних сил.
Вывод по DDE в Excel еще и не удобен для обработки данных. Понадобилось мне, скажем, ввести дополнительно пару-тройку столбцов на опционную доску — в результате, в Excel все столбцы таблицы на листе сместятся, и всю адресацию ячеек листа Excel в программе надо будет переделывать заново.
В MS Access также имеется DDE-сервер, и есть возможность заполнять таблицы БД по DDE, однако Quik c Access по DDE работать не умеет.
В общем, решил, что экспорт таблицы из Quik по DDE надо запихнуть в таблицу базы данных (БД), и уже из БД программно работать с опционной доской. Что, кстати, гораздо удобней для любой таблицы Quik.
Хотел было через Lua — вроде все просто, Lua с таблицами работает. Ан нет, к доске опционов Lua доступа не имеет.
Наверное на С++ или C# связь по DDE надо делать.
И подумалось, а может у Смартлабовцев есть такие уже готовые рабочие решения, чего велосипеды изобретать? По крайней мере, для DDE (никогда программно с ним не работал), а в БД я и сам запихну, и если нужно поделюсь решением — здесь нет никаких ноу-хау.
Помогайте, граждане кто чем может.
  • обсудить на форуме:
  • Quik Lua

Автозапуск QUIK QLUA

Пожалуй, каждый, даже, самый ленивый программист на LUA презентовал свою версию для запуска QUIK.
Пришла и моя очередь.
Вчера, за небольшую благодарность, swerg перевёл w32.dll на LUA 5.3.
Теперь есть поддержка QUIK 8.5 и выше.
Скачать: http://pmntrade.ru/avtozapusk_quik_qlua/avtozapusk_quik_qlua.zip
Страница программы: http://pmntrade.ru/avtozapusk_quik_qlua.html
Видео:


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

....все тэги
UPDONW
Новый дизайн