Lua советник

Страницы: 1
RSS
Lua советник
 
Добрый день,
---------------------------
Пример простого, универсального советника на луа на основе любых индикаторов.
------------------------------
Советник - это программа,
которая формирует сигналы "купить/продать" и показывает их, но не совершает сделки.
---------------------
Пример на основе  стратегии  пересечения двух скользящих средних.
Помещаем два индикатора на график цены инструмента
Присваиваем им идентификаторы 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

и помещаем его на график инструмента
В результате получим на истории торгов сигналы "купить/ продать" на графике инструмента

---------------------
На основе данного примера  Вы можете построить советник для  любых индикаторов,
которые встроены в терминал КВИК  или написаны кем-то.
 
это картинки работы советника на Сбербанке.
второй график - индикатор прибыли(зеленый) убытков(красный) итого (белый)
--------------------
интервал 30 минут:

интервал 5 минут:
 
если кому-то нужен индикатор прибыли/убытков,
или есть пожелание, что надо добавить
пишите вежливо.
Страницы: 1
Читают тему
Наверх