Избранное трейдера Павел Бувака

по

STATDIV3 доработанный индикатор для quik на языке lua

если индикатор больше 0, то покупаем, если ниже то продаем

скачать можно здесь:dropmefiles.com/09FCu
как устанавливать смотрите предыдущие статьи: https://smart-lab.ru/blog/528424.php
название STATDIV3 это доработанный STATDIV


поведение индикатора на графике:
STATDIV3 доработанный индикатор для quik на языке lua


сам код индикатора:
Settings={
Name="STATDIV3",
period=50,
  line=
  {
    {
      Name="curve",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line",
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="MA",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="MA2",
      Color=RGB(0,128,128),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line2",
      Color=RGB(0,0,255),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name="line3",
      Color=RGB(0,128,128),
      Type=TYPE_LINE,
      Width=1
    }
  } 
}

function Init()
  cache_ind={}
  cache_ind2={}
  cache_ind3={}
  return 2
end

function OnCalculate(index)
  if index < Settings.period then
    return nil
  else
    local sum1=0
    local sum2=0
    local sum0=0
    local sum02=0
    local sum03=0
    for i=index-Settings.period+1, index do  
    do
      if C(i) > O(i) then
        sum1 = sum1 + C(i) - O(i)
        sum2 = sum2 + C(i) - O(i)
      else
        sum2 = sum2 + O(i) - C(i)
      end  
    end 
    cache_ind[index] = sum1/sum2    
    if index > Settings.period+12 then 
--[[
      sum0 = 1*cache_ind[index]+
            (1)*cache_ind[index-1]+
            (1)*cache_ind[index-2]+
            (1)*cache_ind[index-3]+
            (1)*cache_ind[index-4]+
            (1)*cache_ind[index-5]+
            (1)*cache_ind[index-6]+
            (1)*cache_ind[index-7]+
            (1)*cache_ind[index-8]+
            (1/2)*cache_ind[index-9]+
            (1/3)*cache_ind[index-10]+
            (1/4)*cache_ind[index-11]+
            (1/5)*cache_ind[index-12]
--]]
      sum0 = 1*cache_ind[index]+
            (1/2)*cache_ind[index-1]+
            (1/3)*cache_ind[index-2]+
            (1/4)*cache_ind[index-3]+
            (1/5)*cache_ind[index-4]+
            (1/6)*cache_ind[index-5]+
            (1/7)*cache_ind[index-6]+
            (1/8)*cache_ind[index-7]+
            (1/9)*cache_ind[index-8]+
            (1/10)*cache_ind[index-9]+
            (1/11)*cache_ind[index-10]+
            (1/12)*cache_ind[index-11]+
            (1/13)*cache_ind[index-12]

    end
--[[
    sum0 = sum0/(1+1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5)
--]]
    sum0 = sum0/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)

       
    cache_ind2[index] = sum0
    if index > Settings.period+50 then   
      sum02 = 1*cache_ind2[index]+
            (1)*cache_ind2[index-1]+
            (1)*cache_ind2[index-2]+
            (1)*cache_ind2[index-3]+
            (1)*cache_ind2[index-4]+
            (1)*cache_ind2[index-5]+
            (1)*cache_ind2[index-6]+
            (1)*cache_ind2[index-7]+
            (1/2)*cache_ind2[index-8]+
            (1/3)*cache_ind2[index-9]+
            (1/4)*cache_ind2[index-10]+
            (1/5)*cache_ind2[index-11]+
            (1/6)*cache_ind2[index-12]
--[[
      sum02 = 1*cache_ind2[index]+
            (1/2)*cache_ind2[index-1]+
            (1/3)*cache_ind2[index-2]+
            (1/4)*cache_ind2[index-3]+
            (1/5)*cache_ind2[index-4]+
            (1/6)*cache_ind2[index-5]+
            (1/7)*cache_ind2[index-6]+
            (1/8)*cache_ind2[index-7]+
            (1/9)*cache_ind2[index-8]+
            (1/10)*cache_ind2[index-9]+
            (1/11)*cache_ind2[index-10]+
            (1/12)*cache_ind2[index-11]+
            (1/13)*cache_ind2[index-12]
--]]
    end
    sum02 = sum02/(1+1+1+1+1+1+1+1+1/2+1/3+1/4+1/5+1/6)
--[[
    sum02 = sum02/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)
--]]
    cache_ind3[index] = sum0 - sum02
    if index > Settings.period+50 then   
      sum03 = 1*cache_ind3[index]+
            (1/2)*cache_ind3[index-1]+
            (1/3)*cache_ind3[index-2]+
            (1/4)*cache_ind3[index-3]+
            (1/5)*cache_ind3[index-4]+
            (1/6)*cache_ind3[index-5]+
            (1/7)*cache_ind3[index-6]+
            (1/8)*cache_ind3[index-7]+
            (1/9)*cache_ind3[index-8]+
            (1/10)*cache_ind3[index-9]+
            (1/11)*cache_ind3[index-10]+
            (1/12)*cache_ind3[index-11]+
            (1/13)*cache_ind3[index-12]
    end
    sum03 = sum03/(1+1/2+1/3+1/4+1/5+1/6+1/7+1/8+1/9+1/10+1/11+1/12+1/13)

  end  

  if sum1/sum2 > 0.5 and sum03 > 0 then
    sum1 = sum03
  else
    if sum1/sum2 < 0.5 and sum03 < 0 then
      sum1 = sum03 
    else 
      sum1 = 0
    end
  end

  return sum1, 0
end

end
 всем удачи!
  • обсудить на форуме:
  • Quik Lua

Доработал индикатор STATDIV на lua для quik

пользоваться можно так:
если касная кривая выше 0,5 и синяя выше зеленой то логуем
если красная ниже 0,5 и синяя ниже зеленой то шортим
принимаю пожелания по изменению кода индикатора
Доработал индикатор STATDIV на lua для quik


скачать можно здесь:
dropmefiles.com/y4kpv

как установить:
в папке quik создаете папку LuaIndicators туда кидаете текстовый файл с раcширением .lua и содержанием приведенного индикатора, потом запускаете quik и добавляете как обычный индикатор к графику с именем STATDIV

продолжение темы: smart-lab.ru/blog/528145.php

код:

Settings={
Name=«STATDIV»,
period=25,
  line=
  {
    {
      Name=«curve»,
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name=«line»,
      Color=RGB(255,0,0),
      Type=TYPE_LINE,
      Width=1
    },
    {
      Name=«MA»,
      Color=RGB(0,0,255),

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

для тех кто хочет много бабок зарабатывать

публикую индикатор собственной разработки под quik, написанный на lua
если его значение больше 0,5 то выставляете заявку на покупку с тек профитом >= стоплоссу
гарантированно будете зарабатывать
подключить его можно так:
в папке quik создаете папку LuaIndicators туда кидаете текстовый файл с раcширением .lua
и содержанием приведенного индикатора, потом запускаете quik и добавляете как обычный индикатор к графику
название его в списке будет STATDIV (статистическое отклонение)
на рисунке отобразил его работу с периодом 25 и 50
его суть в том чтоб показать куда отклонено статистическое распределение вероятностей, вверх или вниз за определенный период
проще говоря, куда вероятнее пойдет рынок вниз или вверх
если значение индикатора выше 0,5 то разрешено лонговать, если ниже то разрешено шортить
рекомендации по подбору периода: период для этого индикатора выбираете как период между двумя
последними локальными вершинами
позже могу математически привести целесообразность его использования

( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Мой путь к алготрейдингу.

Всем привет! Я Максим, и я алготрейдер :)

Узнал я про биржу в далеком 2008 году от своего товарища Сергея, который до сих пор торгует ручками.  Сам начал торговать в 2009 году, после кризиса 2008 года и упорно весь год шортил растущий Сбер, слушая советы всяких гуру. Благо сумма тогда еще была порядка 50 тыр. Помню, торговал через ВТБ, тогда так себе был брокер.

В 2010 году худо бедно пытался что-то наторговать по Элдеру, читал огромное количество  литературы по трейдингу, ходил на курсы к Андрею Сапунову, который мне и привил любовь к роботам. Были тесты в Экселе, завышенные ожидания несметной прибыли быстро и много. В конце года перешел в Финам (где и по сей день торгую) и внёс  все свои сбережения в 1.5 мио на брокерский счёт. Тогда и решил подключиться к их стратегиям на комоне и рубануть побольше бабла, выбрал самые как мне показалось продвинутые: Восхождение и Точечны удар.

Так вот как раз в 2011 году рынок акций ростом не баловал и я получил убыток по счёту порядка 30%, так как само собой торговал с увеличенными рисками. Тогда я твёрдо решил, что на фондовом рынке нечего делать и пора рубануть  деньжат на ФОРТСе.



( Читать дальше )

900% или 20 миллионов и непроизнесённая речь на церемонии награждения ЛЧИ 2018 для защиты кармы

Два дня назад в московском клубе WOW состоялась церемония награждения победителей конкурса трейдеров ЛЧИ 2018 и меня тоже наградили, предоставив возможность произнести речь со словами благодарности, однако ограничили по времени 15 секунд.
     Учитывая жёсткий регламент, естественно я не смог произнести речь, которую планировал, поэтому устраняю этот пробел на самом популярном сайте для трейдеров, чтобы сказать искренние слова благодарности всем тем, кто поделился со мной и другими победителями ЛЧИ 2018 своими деньгами и в качестве скромной компенсации дать советы, рождённые моим горьким жизненным опытом.
     Просто я чувствую себя неловко перед ребятами, занявшими последние три места ЛЧИ 2018 в номинации «лучший трейдер-капиталист», которые потеряли по 20 миллионов рублей, а в общей сложности только у них на троих минус 73 миллиона рублей, не считая других трейдеров с отрицательной доходностью на полмиллиарда рублей включая трейдеров Смарт-лаба на 52 миллиона рублей (https://smart-lab.ru/lchi2018) и я переживаю, что они за свои убытки будут плевать в карму всем победителям, в том числе и мне, потому что в публичном конкурсе ЛЧИ они видят кому перетекли их денежки.
     Эта мысль меня тяготит и я решил высказаться письменно, учитывая что мне не дали поблагодарить проигравших и поделиться опытом, чтобы вселить в них надежду и уверенность в собственных силах.

( Читать дальше )

RIH9. Природа разворота цены (микроструктура рынка, анализ "ленты" в Jatotrader)

Много слов не будет. Утро, 29 января 2019, RIH9. Первые полтора часа торгов — семь сигналов.
Вот так выглядит «лента» сделок RIH9 если ее разложить по 100 тиков на бар и посчитать интенсивности покупок и продаж, а также объемно-тиковый осциллятор (ОТО) потока объема. Цена и накопленная маркет-дельта умышленно на графике отсутствуют (чтоб не отвлекали).
RIH9. Природа разворота цены (микроструктура рынка, анализ "ленты" в Jatotrader)
Розовые пики — интенсивности продаж (тиков в секунду), зеленые — покупок. Голубая «змейка» — объемно-тиковый осциллятор (ОТО), показывает изменение направления потока объема. Сигнал на продажу (1 синий — или «разводка покупателей») появляется в случае окончания интенсивных покупок по рынку (розовый кружок на графике интенсивности) с последующим изменением направления потока объема в противоположную сторону (розовый кружок на графике ОТО), а также выход ОТО из зоны перекупленности вниз. Сигнал на покупку (2 синий — «разводка продавцов») появляется в случае окончания интенсивных продаж по рынку (зеленый кружок на графике интенсивности) с последующим изменением направления потока объема вверх (зеленый кружок на графике ОТО), а также выход ОТО из зоны перепроданности вверх. Аналогичная картина для сигналов 3-7. Подтверждением разворота наверх являются уменьшение пиков интенсивностей продаж (атак продавцов 1,2,3 розовые) и увеличение пиков интенсивностей покупок (атак покупателей 1 и 2 зеленые).

( Читать дальше )

Торговый робот на Lua для QUIK.

    • 27 декабря 2018, 09:39
    • |
    • XXM
  • Еще

4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:

Торговый робот на Lua для QUIK.

Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.

encoding = "UTF-8"
FREQUENCY = 1000
account = NL0011100043, 10110
PositionSize = 300000
xy = 421, 0, 859, 118
;-------------------------------------------------------------------------------
[GAZP]
Security = GAZP, QJSIM, Gazp_moex
WorkSize = 3		//  рабочий объем, в штуках;
LossLimit = 100		// ограничение на убыток по стратегии
OpenSlippage = 10	// допустимое проскальзывание на сделке, в количестве минимальных шагов цены;
OpenLong =  {Close, 1} < {High, 2}	// цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара;
OpenShort = {Close, 1} > {Low, 5-2}	// цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров;
StopLoss = 2
TakeProfit = 3, 1, 1
EOD = 18:29:00	//закрытия позиции в указанное время.
autoBot = Y
[SBER]
Security = SBER, QJSIM, Sber_moex
WorkSize = 10
LossLimit = 100
OpenSlippage = 10
OpenLong	= {Ema1} > {Ema2}
CloseLong	= {Ema1} < {Ema2}
OpenShort	= {Ema1} < {Ema2}
CloseShort	= {Ema1} > {Ema2}
autoBot = Y
[LKOH]
WorkSize = 2
Security = LKOH, QJSIM, Lkoh_moex
LossLimit = 225
OpenSlippage = 10
OpenLong	= cross(macd_Lkoh.0, macd_Lkoh.1)
OpenShort	= cross(macd_Lkoh.1, macd_Lkoh.0)
;OpenLong =  {Close, 1} < {Low, 5-2}
;OpenShort = {Close, 1} > {High, 2}
StopLoss = 30
TakeProfit = 50, 10, 10
autoBot = Y


( Читать дальше )
  • обсудить на форуме:
  • Quik Lua

Тестируем классический индикатор ССI (Commodity Channel Index)


 Существует мнение среди трейдеров, что все классические штатные индикаторы не могут работать стабильно долго, а при смене тренда или еще при каких-либо обстоятельствах и вовсе начинают приносить убытки. Нам захотелось проверить стабильность некоторых популярных индикаторов путем оптимизации (подбора настроек индикатора на форвардных участках тренда и поиска лучших значений настроек индикатора), мы с нашей командой из трейдерского сообщества Trader Ok решили разобрать эту тему.

 Хочу поделиться своими тестами. Мною был сделан простенький торговый алгоритм для индикатора CCI, куда были включены следующие параметры для торговли:

* TakeProfit, StopLoss, Trailing, TrailingStep;

* применить к PRICE_CLOSE и т.д.;

* Сделки true – это серия сделок подряд, при выключенном false просто одна сделка, up_Level – верхний уровень, dn_Level – нижний уровень и сдвиг сделки на указанное число баров (это когда сигнал пришел и начинается отчет на N число баров и только потом входит в сделку, как говорится, нагружаем по полной, делаем перебор всех параметров в поисках лучшей комбинации).



( Читать дальше )

Про математически оптимальное плечо

    • 13 декабря 2018, 10:07
    • |
    • _sk_
  • Еще
Решил написать пост для тех, кто хотел бы разобраться с математикой управления капиталом и расчётом оптимального плеча. Для лучшего понимания начнём с простого примера, потом обобщим его и выведем некоторую формулу. При этом понадобятся математические знания конца средней школы.


( Читать дальше )

....все тэги
UPDONW
Новый дизайн