Готовый пример для акций, класс — TQBR.
Список всех классов выводится на вторую строку лог-файла.
-- seclist_csv.lua, © smart-lab.ru/profile/XXM/ -- список бумаг, транслируемые QUIK-ом local ver = '0.91' -- 22.12.2016 local scriptPath = getScriptPath() local Terminal_Version=getInfoParam('VERSION') local logFile = scriptPath..'\\'..'seclist.csv' local file = io.open(logFile, "w") assert(file, "Ошибка открытия "..logFile) function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function write_log(str) file:write(str .. "\n") end function Main() local local_datetime = os.time(os.date("*t")) local dtd = os.date("%d.%m.%Y %H:%M",local_datetime) local mes = 'Start seclist_csv '..ver..', QUIK '..Terminal_Version..', '..dtd message(mes); file:write(mes .. "\n") class_list = getClassesList() mes = 'class_list = '..class_list message(mes); write_log(mes); local class_listT = {} class_listT = string.split(class_list, ',') for i = 1, #class_listT do local fline = class_listT[i] if fline == 'TQBR' then -- для примера - только акции! local classInfo = {} classInfo = getClassInfo(fline) -- 3.2.2 getClassInfo -- Функция предназначена для получения информации о классе. local sec_list = getClassSecurities(classInfo.code) local sec_listTable = {} sec_listTable = string.split(sec_list, ',') for i = 1, #sec_listTable do local classCode = classInfo.code local secCode = sec_listTable[i] local securityInfo = getSecurityInfo(classCode, secCode) local name = securityInfo.name local step = securityInfo.min_price_step local secInfo = classInfo.name..';'..classCode..';'..name..';'..secCode..';'..step write_log(secInfo); end end end local mes = 'Готово!' message(mes); write_log(mes); file:flush() file:close() end Main() -- seclist_csv.luaНа выходе получил список из 292 ценных бумаг.
Добрый день, трейдеры)
Новая неделя, новый бесплатный индикатор. По многочисленным просьбам одного из участников, я сделал индикатор круглых уровней для инструментов с целым шагом цены, в дальнейшем выпущу и для дробного шага цены.
Итак входные параметры:
LEVELSTEP: расстояние между целыми уровнями
PRICESTEP: шаг цены Уровня на графике всегда 4: 2 снизу от закрытия предыдущей цены и 2 сверху от закрытия предыдущей цены.
В терминале QUIK доступны сотни и даже тысячи инструментов. Как найти среди них те, в которых выполняются определённые условия? Например, бумага начала расти или достигнут локальный минимум и имеет смысл рассмотреть вопрос покупки этого актива? Или какое-то другое условие, которым пользуетесь именно вы для анализа ценных бумаг рынка.
Очевидный путь — листать эти инструменты в терминале. Да, можно. Например, просматривать дневные графики всех инструментов на сон грядущий вместо сказки на ночь. Или проводить все время перед экраном, тренируя мышцы руки, истирая мышку и ломая глаза, если интересуют сигналы для торговли внутри дня. Даже не принимая во внимание трудоёмкость и малоприятность процесса, часть сигналов в любом случае будет пропущена.
Однако процесс поддаётся автоматизации — и это хорошо. Я не встречал в открытом доступе подобных утилит, поэтому некоторое время назад написал такую утилиту для себя. Она оказалась удобной — я ее причесал и делюсь с публикой. Лишний плюсик в личное дело на главном суде не помешает.
Всем привет! Сегодня понедельник, а, значит, и время для бесплатных фишек) Но сегодня будет немного неформальный пост, потому что обычно я бесплатно создавал индикаторы и скрипты, а в этот день я написал робота и хочу поделится им с вами. Его суть очень проста, он вычисляет АТР за последние n свеч, само количество вы можете выбрать сами, и далее умножает этот АТР на коэффицент, который вы также можете задать, и откладывает от мувинга, период тоже настраиваемый, вверх и вниз по 4 уровня входа, контртренд, и затем ловит обратный импульс, данная стратегия работает только в боковиках, на спокойном рынке, ни в коем случае не использовать в период выхода новостей, поэтому, если вы умеете правильно определять боковик, то этот робот соберет для вас сливки)
На первом скриншоте я запустил робота аж 3 раза за 2,5 часа, на втором скрине 2 раза, чтобы подобрать нужный коэффициент по волатильности.