Добрый день,
Рассказываю, как просто сделать робота в виде скрипта индикатора.
Сначала картинка работы такого робота.
В чем достоинство такого робота по сравнению с роботом на основе колбеков.
Робот значительно проще написать
Он загружается на график торгуемого инструмента,
Если для реализации алгоритма торговли достаточно встроенных в QUIK индикаторов,
то нет надобности их программировать.
----------------
Пример варианта основного фрагмента такого робота:
Продолжение вероятно следует...
Рассказываю, как просто сделать робота в виде скрипта индикатора.
Сначала картинка работы такого робота.
В чем достоинство такого робота по сравнению с роботом на основе колбеков.
Робот значительно проще написать
Он загружается на график торгуемого инструмента,
Если для реализации алгоритма торговли достаточно встроенных в QUIK индикаторов,
то нет надобности их программировать.
----------------
Пример варианта основного фрагмента такого робота:
Код |
---|
name="nkbot24" Settings={["Name"] =name,["line"] ={},["account"]="",["client"]="",["Q"]=1;["wt"]=1000,["short"]=0} Settings.Nind=0; paths = "D:/QUIK_SCRIPT/" package.cpath =package.cpath ..";"..paths.."?.dll"; package.path =package.path..paths.."?.lua;" fnlog=paths..name..".log"; Log=io.open(fnlog,"w") loadfile(paths.."nkbot24_func.lua") function nkbuy(i,f) ---алгоритм покупки -- f=cross(1,1,2,1,1); return f; end function nksell(i,f) --алгоритм продажи -- f=cross(1,1,2,1,1); return f; end function nobuy(i,f) --фильтр покупки return f; end function nosell(i,f) --фильтр продажи return f; end function OnCalculate(i) local i1=i-1; if i==1 then nkInit(); return end if i~=i_ then getI() end N,torder=order(N); Q=depo(); if #t==0 then -- f,j=cross(1,1,2,1,5); --пересечение двух индикаторов if i~=i_ then torg(nkbuysel(i));end M=os.clock(); else del_ord(M); end i_=i; return M1,M2; end |