Добрый день,
---------------------------
Пример простого, универсального советника на луа на основе любых индикаторов.
------------------------------
Советник - это программа,
которая формирует сигналы "купить/продать" и показывает их, но не совершает сделки.
---------------------
Пример на основе стратегии пересечения двух скользящих средних.
Помещаем два индикатора на график цены инструмента
Присваиваем им идентификаторы MOV1 и MOV2 как на рисунке:
далее пишем индикатор "nk_bot"
и помещаем его на график инструмента
В результате получим на истории торгов сигналы "купить/ продать" на графике инструмента
---------------------
На основе данного примера Вы можете построить советник для любых индикаторов,
которые встроены в терминал КВИК или написаны кем-то.
---------------------------
Пример простого, универсального советника на луа на основе любых индикаторов.
------------------------------
Советник - это программа,
которая формирует сигналы "купить/продать" и показывает их, но не совершает сделки.
---------------------
Пример на основе стратегии пересечения двух скользящих средних.
Помещаем два индикатора на график цены инструмента
Присваиваем им идентификаторы MOV1 и MOV2 как на рисунке:
далее пишем индикатор "nk_bot"
| Код |
|---|
Settings={ i1="MOV2",i2="MOV1", Name = 'nk_bot', }
------------------
local function gI(s,j,i)
local t=getCandlesByIndex(s,j,i-1,1); if t then return t[0].close; else return 0 end
end --значение индикатора
-------------------------
local function cross(s1,j1,s2,j2,i)
local m=i; local x= gI(s1,j1,m) local x1=gI(s2,j2,m);
while m>1 and x~=0 and x1~=0 and x>x1 do m=m-1; x=gI(s1,j1,m); x1=gI(s2,j2,m) end
if m>1 and i>m then return m end
end --пересечение
--------------------------
function OnCalculate(i)
local Bu,Se; local i1=i-1;
if i>1 then
local jU_,jD_=jU,jD;
jU=cross(Settings.i1,0,Settings.i2,0,i1); --MOV1 пересекает MOV2 снизу вверх
jD=cross(Settings.i2,0,Settings.i1,0,i1); --MOV1 пересекает MOV2 сверху вниз
if jU and jU_==nil then jBu=i; Bu=L(i)-0.1; end
if jD and jD_==nil then jSe=i; Se=H(i)+0.1; end
if i==Size() then -- последняя свеча
end
end
return Se,Bu;
end
-----
function Init()
local t={};
t[#t+1]={Name = "Se",Color = RGB(255,0,0),Type = 11,Width =3}; ---sell
t[#t+1]={Name = "Bu",Color = RGB(0,255,0),Type = 10,Width =3}; ---buy
Settings.line=t;
return #t;
end
|
и помещаем его на график инструмента
В результате получим на истории торгов сигналы "купить/ продать" на графике инструмента
---------------------
На основе данного примера Вы можете построить советник для любых индикаторов,
которые встроены в терминал КВИК или написаны кем-то.