Избранное трейдера Роджер (веселый).

по

QLua скринер, или то, о чём мечтал Weddy!

Всем, привет!
Мечты сбываются (и не только у Газпрома)! Weddy, надеюсь этим постом я полностью закрываю ваше ТЗ.
QLua скринер, или то, о чём мечтал Weddy!
Суть скринера в вышеизложенном пожелании. Т.к. первый и второй скринеры не удовлетворяли требованиям ТЗ Weddy.
Надеюсь, теперь все ок. Выглядит так:
QLua скринер, или то, о чём мечтал Weddy!

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

Раскрутка на YouTube. С нуля до первых денег, просмотров и подписчиков

Раскрутка на YouTube. С нуля до первых денег, просмотров и подписчиков

Электронная книга t.me/kudaidem/1097



( Читать дальше )

Нижнекамскнефтехим: эффект от строительства производства метанола мощностью 500 тыс. тонн в год

О проекте производства метанола мощностью 500 тыс. тонн/год известно немного. Финансовая его часть глубоко засекречена НКНХ, однако в сопоставлении с аналогичными объектами строительства метанольных производств его стоимость может быть в районе 22 млрд. руб. без НДС (аналогом может являться 3-я очередь по строительству метанола в ПАО Щекиназот мощностью 500 тыс. тонн/год со сроками строительства 2018-2022, https://вэб.рф/proyekty/stroitelstvo-tretey-och...).
До настоящего времени в публикациях о производстве метанола в НКНХ широко освещались лишь скандальные слушания по ОВОС в 2019 г. в Нижнекамске. Можно предположить такой таймлайн работ до ввода производства метанола в эксплуатацию в 2024 г.
Показать в полный размер

НКНХ, являясь многие годы мировым лидером по продажам изопренового каучука с долей рынка 44%, планомерно наращивало производства существовавших переделов в рамках программы по увеличению мощности изопренового каучука до 330 тыс. тонн.



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

Алготрейдинг: Полноценный обучающий курс

Всем привет!

Алготрейдинг: Полноценный обучающий курс



Примерно полмесяца назад в сеть сам автор курса Саро Микаелян выгрузил на ютуб канал ранее платный обучающий материал,
но ныне теперь в свободном доступе по ссылке (плей лист ютуб — https://www.youtube.com/watch?v=nH9IH3dcaXI&list=PLkOKzEcOo_g9v6vAMHMGn-8ezVpdM5j-e&index=15)


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

QLua скринер. Обновление.

Всем привет!
В продолжение топика «QLua скринер в 10 строк кода. Или „за базар отвечаю“, можно качать обнулённый обновлённый скринер.
Выглядит так в статике:
QLua скринер. Обновление.
А так в динамике.
Если в прошлом скринере отображалось изменение текущей цены от цен закрытия за соответствующее количество торговых сессий (список „срезов“ задается пользователем), то в этом будет две таблицы. Первая таблица — изменение текущей цены от предыдущих хаев (чуть не оговорился...) за N-торговых сессий, вторая — от предыдущих лоёв.
В первой таблице от минимумов выделена строка с длинными ОФЗ. Видно, что минимум цены за 30 торговых сессий был на прошлой сессии.
А во второй таблице, мы видим, что Яндекс и Магнит обновили сегодня свои максимумы за последние 90 торговых сессий.
Таким образом, техзадание (ТЗ) участника тусовки Weddy практически выполнено, остается доделать, как он просил, тот же функционал, только относительно списка заданных дат.

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

QLua скринер в 10 строк кода. Или "за базар отвечаю".

Всем привет!
Никогда не давайте обещаний которые не можете выполнить. Во-первых — это портит карму. Во-вторых, за сказанное нужно отвечать. В далеких (не очень) 90-х, если человек не держал слова, к нему приезжали «санитары» с электроприборами, типа дрель, паяльник, утюг — все перечислять не буду, чтобы не пугать читателя, т.к. пост многие найдут полезным не только для торговли, но и для написания собственного кода. Так вот, пообещал я человеку, дело было так:
QLua скринер в 10 строк кода. Или "за базар отвечаю".
Мой родной язык, помимо русского, Common Lisp. С недавних пор породнился с Питоном. А тут луа, да еще с Квиком вперемешку. Не фиг было обещания давать. Больше времени потратил на изучение структур данных луа и особенностей QLua. Сам код был написан за пару часов, как увидите ниже — чё там писать-то...
Как я обещал — пользователь Смартлаба Weddy получает код бесплатно, как и остальные участники тусовки. Ну а я, в качестве вознаграждения получаю приобретенный опыт. Проверял сегодня — работает с любым Квиком (6, 7, 8). Конечно дополнительных «наворотов» я не делал, как в идеале желал Weddy, но это уже детали.

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

Python-->Lua-->Квик. Управление заявками в Квике из Питона.

Всем привет!
То о чем так долго мечтали большевики — свершилось!
Представляю QLua-сервер для управления заявками в Квике Квиком. Как обычно, в несколько строк кода.


( Читать дальше )

КВИК-->Lua-->Python. Стакан к празднику.

Всем привет, с наступающим праздником! Который, надеюсь у большинства пройдет, как обычно, в ЖО ЗОЖе (блин, слово-то придумали).
В продолжение топика "КВИК-->Lua-->Python. Трансляция данных из КВИКа в Питон в реальном времени".
В Python-сервер добавлен парсер и визуализатор стакана. Стакан в стиле QSCALP-лайт вариант. Все как обычно в 20 строк кода.

У Тимофея гифки со сторонних сайтов не кажут. Приходится ссылку давать… Или отказываться от главной. Выбрал второе.
КВИК-->Lua-->Python. Стакан к празднику.Чтобы насладиться созерцанием стакана нам нужны следующие ингредиенты:
1. Квик версии 8.5.2 и выше.
2. Lua-скрипт QuikLuaPython.lua (собственно сокет-клиент)
3. Питон (Jupyter Notebook Anaconda 3)
4. Python_QUIK_Server.ipynb (собственно сокет-сервер)
Считаем, что Квик и Питон у вас уже установлены. Чтобы запустить трансляцию, скачайте папку PythonServer в ней вы найдете все необходимое. Файл Python_QUIK_Server.ipynb поместите в папку Питона (чтобы его видел Jupyter Notebook). Затем, содержимое папки

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

Алготрейдинг. Получение данных свечей средствами QLUA и запись их в .CSV

Алготрейдинг. Получение данных свечей средствами QLUA

Очень часто бывает необходимо получить данные последних N-свечей различного интервала инструмента торговли. К сожалению, в справке QLUA нет достаточно полных примеров кода работы получения данных. В скрипте приведён пример получения данных интервала М1 инструмента BRN0 в формате <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>. Данные пишутся в CSV формат.
Почему просто не выводить по DDE график и обрабатывать его в чём-нибудь более приятном? Есть простые вещи, для которых нет необходимости в таких конструкциях (проанализировать резкое изменение объема, найти определенную формацию/комбинацию свечей, а затем вывести в quik сообщение).
-------------------------------------------------------------------------------------------------------
--- Функция получения результатов свечей в .CSV в виде:
--- <Инструмент> <Дата> <Время> <Цена_Open> <Цена_High> <Цена_Low> <Цена_Close> <Объем>
--- BRN0	1	20200605	200100	42.15	42.16	42.1	42.1	2150
-------------------------------------------------------------------------------------------------------
is_run=true

-- Параметры
tInstr="BRN0" --код инструмента/бумаги
classcode="SPBFUT" --код класса инструмента/бумаги, если нужен фондовый рынок - вводить TQBR вместо SPBFUT
iNterval=INTERVAL_M1 --таймфрейм
-- доступные таймфреймы указаны в справке Quik (qlua.chm в папке с quik) по поиску CreateDataSource
-- пример INTERVAL_H1
corrTime=3 --Время МСК. C сервера время приходит без корректировки.
pFile="w:\\temp" --путь, где будет создаваться файл
cBars=10 --сколько свечей надо вывести
--настройка параметров

function OnInit()
	out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	is_run=(out_file~=nil)
	ds=CreateDataSource(classcode, tInstr, iNterval ) --создаем источник данных
	ds:SetUpdateCallback(NewChartData) --обновление последних данных
end

function strText(int)
	local m=tostring(int)
	local mLen=string.len(int)

	if mLen==1 then
		Output="0" .. tostring(m)
	else Output=m
	end
	return Output
end

function main()
	while is_run do
	local Size=ds:Size() --Получение количества всех свечей в источнике данных

	if cBars>Size then
		cBars=Size-1
	end

	for i=Size-cBars, Size, 1 do
		local O=ds:O(i) -- Значение цена открытия свечи
		local H=ds:H(i) -- Значение High для свечи
		local L=ds:L(i) -- Значение Low для свечи
		local C=ds:C(i) -- Значение Close для свечи
		local V=ds:V(i) -- Значение Volume для свечи
		local T=ds:T(i) -- Значение Time для свечи

		sTime=os.time(T)
		datetime=os.date("!*t",sTime)

		--вывод в файл
		out_file:write(tInstr..";"..tostring(iNterval)..";"..tostring(datetime.year)..tostring(strText(datetime.month))..tostring(strText(datetime.day))..";"..tostring(strText(datetime.hour + corrTime))..tostring(strText(datetime.min))..tostring(strText(datetime.sec))..";"..tostring(O)..";"..tostring(H)..";"..tostring(L)..";"..tostring©..";"..tostring(V).."\n")
		out_file:flush() --запись данных
	end
		out_file:close()
		sleep(1000)   -- приостановка на 1 секунду
		out_file=io.open(pFile .."\\"..tostring(tInstr)..".csv","w")
	end
end
  • обсудить на форуме:
  • 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 бит целое (при компиляции куча алармов на эту тему), но, кроме номеров заявок в обозримом будущем, не обязательно. Кроме заявок-сделок, таких номеров в инструментах нет. Пока, по крайней мере.

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