Блог им. drghestykmb
-Параметры: p_classcode=«SPBFUT» --Код класса p_seccode=«BRK5» --Код инструмента p_account="...." --Код счета p_clientcode="...." --Клиенткий код p_count=2 --Размер позиции p_spread=0.2 --Проскальзывание p_sell_level_RSI=60 --уровень RSI, при котором продаем p_buy_level_RSI=40 --уровень RSI, при котором покупаем
is_run = true count = 0
function main() while is_run do sleep(100) robot() end end
function robot() local N1=getNumCandles(«RSI-5-BRK5») local N2=getNumCandles(«RSI-15-BRK5») local N=getNumCandles(«BRK5-1») t1,n1,i1=getCandlesByIndex(«RSI-5-BRK5», 0, N1-3, 2)--(«RSI-1», 0, N1-3, 2) t2,n2,i2=getCandlesByIndex(«RSI-15-BRK5», 0, N2-3, 2)--(«RSI-2», 0, N2-3, 2) t,n,i=getCandlesByIndex(«BRK5-1», 0, N-1, 1)
--сигнал на продажу (первый мувинг пересекает втрой RSI-15-BRK5 сверху вниз --if t1[0].close<t2[0].close then --if t1[0].close<t2[1].close then--and t1[0].close>p_sell_level_RSI then--без фильтра уровня--проба t0 и t1 в скобках со свечками --if t1[1].close<t2[0].close then if t1[1].close<t2[1].close then--запаздывание
--if t1[1].close>p_sell_level_RSI --фильтр уровня Trade(«S»,count+p_count,t[0].close-p_spread) --end end --сигнал на покупку (первый мувинг RSI-5-BRJ5 пересекает второй снизу вверх --if t1[0].close>t2[0].close then --if t1[0].close>t2[1].close then--and t1[0].close<p_buy_level_RSI then--без фильтра уровня --if t1[1].close>t2[0].close then if t1[1].close>t2[1].close then--без фильтра уровня
Trade(«B»,p_count-count,t[0].close+p_spread) --end end end
function Trade(a_oper,a_count,a_price) if a_count>0 then t = { [«CLASSCODE»]=p_classcode, [«SECCODE»]=p_seccode, [«ACTION»]=«NEW_ORDER», [«ACCOUNT»]=p_account, [«CLIENT_CODE»]=p_clientcode, [«TYPE»]=«L», [«OPERATION»]=a_oper, [«QUANTITY»]=tostring(a_count), [«PRICE»]=tostring(a_price), [«EXPIRY_DATE»]=«TODAY», [«TRANS_ID»]=«1» } res=sendTransaction(t) message(«Количество до »..tostring(count).." количество сделки "..tostring(a_count).." тип операции"..a_oper,1) if a_oper==«B» then count=count+a_count else count=count-a_count end message(«Количество после »..tostring(count),1) end end
function OnStop(stop_flag) is_run=false
не выше часа. работает.
Отредактируйте пост: поместите код в соответствующий тег с форматированием.
=) Или киньте файл на публичный хостинг...