Блог им. drghestykmb

пробой фрактала.

программа плохо работает

--Параметры: p_classcode=«SPBFUT» --Код класса p_seccode=«RIM6» --Код инструмента p_account="...." --Код счета p_clientcode="...." --Клиенткий код p_count=1 --Размер позиции p_spread=100 --Проскальзывание p_sell_level_zigzag=30 --уровень  при котором продаем p_buy_level_zigzag=30 --уровень  при котором покупаем p_svech=30 p_n=1

is_run = true count = 0

function main()  while is_run do   sleep(100)   robot()  end end

function robot()  local N1=getNumCandles(«RIM6-Fractals»)    local N=getNumCandles(«MyPrice-RIM6»)

--надо перебрать верхние и нижние фракталы.и больше меньше

 for i=1,p_svech-1 do

   t1,n1,i1=getCandlesByIndex(«RIM6-Fractals», 0, N1-i, 1)--(«RSI-1», 0, N1-p_svech, 2)    t,n,i=getCandlesByIndex(«MyPrice-RIM6», 0, N-1, 1)

   message(«MyPrice-RIM6: »..t[0].close,1)

           if t1[0].high>t[0].close then           --p_svech=p_svech-1

        if t[0].close<t1[0].high-p_sell_level_zigzag  then                       Trade(«S»,count+p_count,t[0].close-p_spread)  end         if t[0].close>t1[0].high+p_buy_level_zigzag then                        Trade(«B»,count+p_count,t[0].close+p_spread)  end

      p_n=p_n+1         message(«свеча верх фрактал: »..p_n,1)      message(«RIM6-Fractals-high: »..t1[0].high,1)

      break      end

 

     if t1[0].low>t[0].close then

         if t[0].close<t1[0].low-p_sell_level_zigzag then                        Trade(«S»,count+p_count,t[0].close-p_spread)  end         if t[0].close>t1[0].low+p_buy_level_zigzag  then                      Trade(«B»,p_count-count,t[0].close+p_spread)            end       p_n=p_n+1          message(«свеча нижн фрактал: »..p_n,1)               message(«RIM6-Fractals-low: »..t1[0].low,1)       break      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 stop_flag=1--УБРАТЬ ЗА ТИРЕ   end

можно сделать любой индикатор. фрактал не получается.
индикаторы мацд.рси.параболик.средние.идеально срабатывают.
в принципе роботы сливают".
средние.

Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
119 | ★2
12 комментариев
мне нравицо…
avatar
смотря что называть фракталом
avatar
Люфт, верхний или нижний. 5 минутку.в функции робот можно изменять всё. свечу нужную подбирать тяжеловато.с сделкой уходит по всей вероятности цикл.и нил пишет. нужен пересброс правильный!
френк френков, не понятно, так что же такое фрактал?
avatar
Люфт, первый класс. снова ходим в школу
френк френков, не, просто подозреваю что вы называете фракталом не совсем то
avatar
Люфт, на графике индикатора название снимается
френк френков, ftp://ftp.quik.ru/public/INDICATORS.zip
 индикатор не надо делать. сигнал транзакции. с индикатора любого! уточнения плохи для интуиции
 

--Параметры: p_classcode=«SPBFUT» --Код класса p_seccode=«RIM6» --Код инструмента p_account="..." --Код счета p_clientcode="..." --Клиенткий код p_count=1 --Размер позиции p_spread=10 --Проскальзывание p_sell_level_zigzag=500 --уровень RSI, при котором продаем p_buy_level_zigzag=500 --уровень RSI, при котором покупаем p_svech=30 p_n=1

is_run = true count = 0

function main()  while is_run do   sleep(100)   robot()  end end

function robot()  local N1=getNumCandles(«RIM6-Fractals-5»)    local N=getNumCandles(«MyPrice-RIM6-1»)

--надо перебрать верхние и нижние фракталы.и больше меньше

 for i=1,p_svech-1 do

   t1,n1,i1=getCandlesByIndex(«RIM6-Fractals-5», 0, N1-i, 1)--(«RSI-1», 0, N1-p_svech, 2)            if t1[0].high>0 then           --p_svech=p_svech-1       p_n=p_n+1      --else      message(«свеча верх фрактал: »..p_n,1)      message(«RIM6-Fractals-5-high: »..t1[0].high,1)-- message(«MA1-RIH5: »..t1[0].close,1)       break      end  end

  for i=1,p_svech-1 do    t1,n1,i1=getCandlesByIndex(«RIM6-Fractals-5», 0, N1-i, 1)--(«RSI-1», 0, N1-p_svech, 2)

     if t1[0].low>0 then           --p_svech=p_svech-1

      p_n=p_n+1      --else      message(«свеча нижн фрактал: »..p_n,1)               message(«RIM6-Fractals-5-low: »..t1[0].low,1)-- message(«MA1-RIH5: »..t1[0].close,1)        break       end   end

 

   t,n,i=getCandlesByIndex(«MyPrice-RIM6-1», 0, N-1, 1)

 message(«MyPrice-RIM6-1: »..t[0].close,1)

 

        --сигнал на продажу (первый мувинг пересекает втрой RSI-15-BRJ5 сверху вниз  if t[0].close<t1[0].high and t1[0].high>t[0].close+p_sell_level_zigzag  then--фильтр уровня

            --if t1[1].close>p_sell_level_RSI --фильтр уровня   Trade(«S»,count+p_count,t[0].close-p_spread)  end      --сигнал на покупку (первый мувинг RSI-5-BRJ5 пересекает второй снизу вверх  if t[0].close>t1[0].low and t1[0].low<t[0].close-p_buy_level_zigzag  then--фильтр уровня                    --if t1[1].close<p_buy_level_RSI --фильтр уровня   Trade(«B»,p_count-count,t[0].close+p_spread)  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 --stop_flag=1--УБРАТЬ ЗА ТИРЕ   end
или этот.

 

--Параметры: p_classcode=«SPBFUT» --Код класса p_seccode="....." --Код инструмента p_account="...." --Код счета p_clientcode="....." --Клиенткий код p_count=1 --Размер позиции p_spread=10 --Проскальзывание p_sell_level_zigzag=500 --уровень RSI, при котором продаем p_buy_level_zigzag=500 --уровень RSI, при котором покупаем p_svech=30 p_n=1

is_run = true count = 0

function main()  while is_run do   sleep(100)   robot()  end end

function robot()  local N1=getNumCandles(«RIM6-Fractals-5»)    local N=getNumCandles(«MyPrice-RIM6-1»)

--надо перебрать верхние и нижние фракталы.и больше меньше

 for i=1,p_svech-1 do

   t1,n1,i1=getCandlesByIndex(«RIM6-Fractals-5», 0, N1-i, 1)--(«RSI-1», 0, N1-p_svech, 2)            if t1[0].high>0 then           --p_svech=p_svech-1       p_n=p_n+1      --else      message(«свеча верх фрактал: »..p_n,1)      message(«RIM6-Fractals-5-high: »..t1[0].high,1)-- message(«MA1-RIH5: »..t1[0].close,1)      end  --end

  --for i=1,p_svech-1 do    t1,n1,i1=getCandlesByIndex(«RIM6-Fractals-5», 0, N1-i, 1)--(«RSI-1», 0, N1-p_svech, 2)

     if t1[0].low>0 then           --p_svech=p_svech-1

      p_n=p_n+1      --else      message(«свеча нижн фрактал: »..p_n,1)               message(«RIM6-Fractals-5-low: »..t1[0].low,1)-- message(«MA1-RIH5: »..t1[0].close,1)       end   end

 

   t,n,i=getCandlesByIndex(«MyPrice-RIM6-1», 0, N-1, 1)

 message(«MyPrice-RIM6-1: »..t[0].close,1)

 

        --сигнал на продажу (первый мувинг пересекает втрой RSI-15-BRJ5 сверху вниз  if t[0].close<t1[0].high and t1[0].high>t[0].close+p_sell_level_zigzag  then--фильтр уровня

            --if t1[1].close>p_sell_level_RSI --фильтр уровня   Trade(«S»,count+p_count,t[0].close-p_spread)  end      --сигнал на покупку (первый мувинг RSI-5-BRJ5 пересекает второй снизу вверх  if t[0].close>t1[0].low and t1[0].low<t[0].close-p_buy_level_zigzag  then--фильтр уровня                    --if t1[1].close<p_buy_level_RSI --фильтр уровня   Trade(«B»,p_count-count,t[0].close+p_spread)  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 --stop_flag=1--УБРАТЬ ЗА ТИРЕ   end

 при некоторой комбинации нормализуется

Читайте на SMART-LAB:
Инфляционные ожидания в августе способствуют смягчению ДКП
По данным исследования агентства инФОМ, которое ежемесячно проводится совместно с Банком России, инфляционные ожидания россиян в августе с июльских...
Фото
Как закрытие Ормузского пролива влияет на стоимость нефти
Ормузский пролив закрыт шестой месяц, конфликт на Ближнем Востоке не урегулирован, но нефть Brent не обновляет годовые максимумы. Разбираемся,...
Как платить налоги с паев ЗПИФ
Сколько налога вы платите с регулярного дохода по паям Доход по паям приходит уже за вычетом налога. Разберём, сколько именно и по какой...
Фото
Портовый срез #8: НМТП отгружает нефть, разворот в контейнерах и ставках
Порты России вместо привычной сверхмаржи и дохода для инвесторов стали мишенью для БПЛА противника. Перестали ли из-за этого они быть...

теги блога френк френков

....все тэги



UPDONW
Новый дизайн