Постов с тегом "lua quik": 27

lua quik


Написание торгового робота

Добрый день. Интересует написание торгового робота под них, на lua для quik. Есть ли готовый торговые роботы торгующие по ma и закрытию свечи? Вход по пробитию закрытия цены и ma. Выход по стопам — переворотом по открытию следующей минуты(или часа).  Так же выход с переворот при пробитии закрытия свечи и ma. Буду благодарен за любую помощь.

Алготрейдинг. Получение данных свечей средствами 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

Lua for Windows

message(«a»)

------------------------------Output------------------------------
>lua -e «io.stdout:setvbuf 'no'» «a.lua»
lua: a.lua:1: attempt to call global 'message' (a nil value)
stack traceback:
a.lua:1: in main chunk
[C]: ?
>Exit code: 1

Самый простой, по сути код. Но Lua  выдаёт ошибку при компилировании без function main(), при том что Quik выполняет этот код без конструкции main или function. Раньше такой ошибки не было.
Что случилось? Кто-нибудь знает?
  • обсудить на форуме:
  • Quik Lua

Получение оповещений о сделках из Квика в Телеграм

Я активно пользуюсь лимитными заявками, а последнее время еще и роботов начал юзать, которые новые заявки ставят сами.
И все это именно для того, чтоб постоянно не сидеть за компом.

Если торговля активная, и за компом не сидишь, то начинаешь париться, а чего там, а все ли норм, а как процесс и тому подобное.

При этом я торгую сейчас в основном в ВТБ, у них основной терминал для торговли, это Квик. Есть еще мобильное приложение, но в отличии от 
приложения Альфадиректа, оно не оповещает о сделках, если заявки были выставлены через Квик. (Честно говоря, мобильное приложение Альфы тоже в этом смысле не ахти, Пуш уведомлениями оповещает, но не всегда, да и Пуш уведомления на любителя, они не долго сохраняются на телефоне).

Гугление выявило, что тема об оповещениях популярная, есть даже встроенный в Квик какой то оповещатель по СМС, но пишут, что вроде как услуга платная (и кое кто даже платит), да и вообще, способ какой устаревший.

Популярна тема оповещений по электронной почте. Рекламируются уже готовые боты Телеграм (надо просто присоединиться к боту, но почему то то, что я пытался юзать, не работало).

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

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