Избранное трейдера MrD

по

Индикатор кривой объема

Помогает отфильтровать не нужные сигналы
скачать:
https://my-files.ru/r3tcab
Индикатор кривой объема

Settings={
Name="VCUR",
period=20,
weighted=0,
    line=                                     
                {                               
                    {  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(140,181, 242)
                    }	
                }
}
--[[

-- кривая объемов
описание свойств:

period: сколько баров берутся в подсчет
weighted: =0 - обычная, =1 - взвешанная

--]]

function Init()

  sumv = 0
    
  return 1
  
end

function OnCalculate(index)

	if index >= Settings.period then 
	  for i=index-Settings.period-1, index do    
        if sumv == nil then
	      sumv = 0
        end	  
	    if C(i-1) ~= nil then
	      if C(i-1) > O(i-1) then
		    if Settings.weighted == 0 then
              sumv = sumv + V(i-1)
			else
			  sumv = sumv + V(i-1)*(i-(index-Settings.period))/Settings.period
			end
	      else
		    if Settings.weighted == 0 then
              sumv = sumv - V(i-1)
			else
			  sumv = sumv - V(i-1)*(i-(index-Settings.period))/Settings.period
			end
	      end
        end 
	  end 
	else
	  sumv = nil
	end
     
  return sumv


end



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

Обучение с подкреплением (код)

Интересный код, для тех, кто в теме.


Это подборка различных RL алгоритмов в реализации для трейдинга. Если пишете свой алго, возможно, тут есть что позаимствовать. Код, понятное дело, на Python.  Для тех, кто не знает, что такое reinforcement learning — погуглите, это действительно крутая штука. Имхо, это единственная технология machine learning, которая может дать что-то стоящее в трейдинге. Порог входа достаточно серьезный, но дорогу осилит идущий:)

Часть, которая завязана на принятии решении, сильно упрощена, но это реально неплохая стартовая точка.

Горизонтальные объемы, последняя версия

Горизонтальные объемы, последняя версия
Settings={
Name="GVOL",
period=200,
maxline=20,
width=4,
count=50,
xshift=0,
vlm=1,
line={} 
}
--[[

описание свойств:

xshift - сдвиг по горизонтали
count - количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline - количество баров для максимальной черточки
width - толщина черточки
vlm - 1-c учетом оъема 0-просто распределение без объема,

--]]

function Init()

    n=Settings.count  
	
    vol={}
    for j = 1, n do        
      vol[j]=0
      Settings.line[j] = {Color=RGB(192,192,192),Type=TYPE_LINE,Width=Settings.width}
      --for i=Size()-Settings.xshift-Settings.maxline, Size()-Settings.xshift do 	
	  for i=1, Size() do 	
	   SetValue(i, j, nil)
	  end 
    end  
    
  return Settings.count  
end

function OnCalculate(index)
    

 
  if (index < Size()-Settings.xshift)or(index > Size()-Settings.xshift) then
    return nil
  else  	   
  
    n=Settings.count  
	
    maxv=0
    maxc=0
    minc=9999 
         
    for i=Size()-Settings.xshift-Settings.period, Size()-Settings.xshift do  
       
      if C(i) ~= nil then         
        if maxc < C(i) then 
          maxc = C(i)      
        end        
        if minc > C(i) then 
          minc = C(i)      
        end
      end
            
    end   
     
    delta = (maxc - minc)/n
     
    for i=Size()-Settings.xshift-Settings.period, Size()-Settings.xshift do  
 
      for j = 1, n do 
       if C(i) ~= nil then      
        if (C(i) > minc + (j-1)*delta) and (C(i) <= minc + j*delta) then 
		  if Settings.vlm == 1 then
		    if V(i) ~= nil then
              vol[j]=vol[j]+V(i) 
            end 			
          else 		  
		    vol[j]=vol[j]+1
		  end
        end  
       end    
      end
            
    end   

    for j = 1, n do
	  vol[j] = math.floor(vol[j]+0.5)
      if maxv < vol[j] then 
        maxv = vol[j]
      end                
    end    
      

    k = 0 
    for i=Size()-Settings.xshift-Settings.maxline+1, Size()-Settings.xshift do  
      k = k + 1
      for j = 1, n do
        if vol[j] >= (Settings.maxline - k)*maxv/Settings.maxline then 
          SetValue(i, j, minc + j*delta)		  
        else  		
          SetValue(i, j, nil)
        end      
      end
    end
	  
     
  end


end


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

Раздаю x64 lua библиотеки для Quik8

    • 15 июля 2019, 10:06
    • |
    • П М
  • Еще
В рамках добра. 
Для тех кто любит плюшки на lua.
Пересобрал либины w32.dll и ffi.dll для Квика v8.0
ffi проверил на прилагаемом к ней тесте — работает, w32.dll не проверял, сами скажите если что не так.

На всякий случай напоминаю, это в рамках добра, так что требовать от меня вы ничего не можете. 
Если надо что-то изменить — попросите, будет время и желание — сделаю.

Исходный код w32.dll не менялся вообще, у ffi я внёс минимальные изменения в заголовочный файл чтобы всё собралось.
Возможны некоторые косяки с изменением размера данных в w32.dll, ранее я ей никогда не пользовался. Проверяйте.
хотя судя по этой теме, проблем скорей всего вообще не будет, обрезать данные можно:
https://stackoverflow.com/questions/1822667/how-can-i-share-hwnd-between-32-and-64-bit-applications-in-win-x64

Исходники брал с гита.
ссылки:
ffi - 
www.dropbox.com/s/mqtpqyhi4b35lcq/ffi.dll?dl=1

w32 -
www.dropbox.com/s/1b6kb98uiad7pnc/w32.dll?dl=1
ps: собирал на windows 10, на более ранних скорее всего не взлетит у вас.
  • обсудить на форуме:
  • Quik Lua

Расставляем точки над IV и HV, считаем на R, для новичков

Решил рискнуть и поднять довольно холиварную тему, и разобраться, какие виды волатильностей бывают и чем они отличаются. Всё ниже-сказанное прежде всего рассчитано на новичков, которые уже имеют представление о волатильности, но теряются в догадках, какую же всё-таки использовать (как и я). Чтобы понять о чем пойдет речь далее, необходимо иметь базовые представления о модели Блэка-Шоулза (БШ).

Что такое Implied Volatility (IV)?


Для вычисления цены опциона, обычно используют формулу БШ, которая принимает следующие параметры:

OptionPrice = Vbs(S, t, sigma, r, K, T)

Но на рынке, опционы уже торгуются по неким ценам. Одни продают, другие покупают. Если взять цену опциона с рынка и вычислить волатильность, которую подставив в формулу БШ, мы сможем получить рыночную цену опциона — это и будет подразумеваемая волатильность или Implied Volatility.

Вычисляем IV


Решить уравнение БШ и вывести из него sigma — не простая задача. Скорее всего, даже не возможная, по-этому решается оно методом перебора Ньютона-Рафсона.

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

Где на рынке живут фракталы и тренды

В последние лет 20 фрактал из термина математического превратился в нечто общеупотребительное. Начало этому положил Бенуа Мандельброт, когда первым заговорил о фрактальной природе финансовых рынков. Потом случилось страшное — пришел Билл Вильямс и объявил фракталом комбинацию из трех пальцев баров, тут все и понеслось. Теперь фрактал такое же междометие в рыночных разговорах, как неэффективность и бифуркация.

В тексте ниже мы попробуем разобраться в следующих вопросах:
1. как фракталы связаны с трендом и контртрендом?
2. фрактален ли рынок?
3. существуют ли на рынке тренды и где они обитают?

Осторожно — многобукофф. Картинок не будет — не люблю я работать с картинками и формулами. К тому все любопытствующие много раз их видели в книгах Мандельброта, Федера, Петерса.

Начнем с отсутствующих картинок.
Во всех книгах вводится понятие показателя Херста (H) как меры фрактальности. 0<H<1. Он рассчитывается неким замысловатым образом по всем дискретизациям процесса (от самых маленьких таймингов до самых больших). У случайного блуждания H=0.5.

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

Рецензия на обобщенную модель ценообразования опционов Виталия Курбаковского

Волею судеб прочитал статью Виталия Курбаковского, где он предлагает свою модель ценообразования опционов. Ссылка https://smart-lab.ru/blog/135564.php . Статья интереснейшая, демонстрирует высокий уровень как практической так и теоретической подготовки автора, отличную интуицию и методологию научного поиска. Прочитал и изучаю с удовольствием! Рекомендую всем, кто работает с опционами, да и не с опционами тоже. Очень жалею, что не прочитал раньше. Даже небольшую рецензию сподвигся написать :)

Как-то так получилось, что наверное любой опционщик знаком со словами типа “улыбка волатильности”, “подразумеваемая волатильность” итд. История возникновения этих слов имхо проста и эволюционна. Блэк и Шоулс написали свою теорию, в которой в числе прочих была буква сигма--просто константа теории, которую они назвали волатильностью. Вскоре выяснилось, что теория неверно описывает реальные рынки и невозможно удовлетворительно зафиттировать реальные цены опционов, манипулируя только константой сигма. Как пример--попытка фиттирования формулой Блэка и Шоулса опционов на фьючерс РТС, дата 21.06.2019, экспирация 18.07.2019, время до экспирации 27.3 дня, ЦБА=135700:



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

Грааль №3. Посвящается уважаемому sortarray sortarray

В соседнем топике уважаемый sortarray sortarray затеял дискуссию касательно научного подхода к рынку. Разумеется, такая дискуссия должна опираться на определенные рыночные постулаты, т.е. правила, выполняющиеся почти всегда и проверяемые экспериментально.

Каждый такой факт на вес золота, так что делиться им никто не будет (что и видно по немногочисленным комментариям к топику). Однако не все йогурты постулаты одинаково полезны, поэтому одним из них я решил поделиться. Предупреждаю сразу — заработать на нем нельзя, зато можно понять, почему рыночный заработок — столь непростое дело.

Картинки я рисую коряво, поэтому постараюсь объяснить все на пальцах. Итак:

Берем любой рыночный актив и любую его дискретизацию (таймфрейм). Допустим, это будет дневки.
На каждый момент времени выбираем одно значение цены. Допустим, это будет close.
Строим линейный график (или представляем его в уме).
Обозначаем на графике локальные минимумы и максимумы, между ними график представляет из себя монотонную кривую.

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

Мои опционные тараканы.

Решил для себя сделать оценку популяции этих милых насекомых. Но, возможно, такая занятная семейка кому то еще пригодится?))
Таракан первый. 
Никогда не сидеть подолгу в продаже волатильности. Не верить даже уважаемым людям, что iv>>rv почти всегда, хватать достойные хлебные крошки быстро и решительно, затем не менее решительно ховаться под плинтус.
Таракан второй.
Ежели в продажу волатильности все-таки занесло, не заниматься «защитой краев» и прочими интеллектуальными игрищами, а постоянно с максимально разумной частотой рехеджить позицию. Все мысли о возвратности цены, возвратности волатильности и возвратности денег отложить. Потом, под плинтусом в уюте и безопасности успеем их просмаковать.
Таракан третий.
Не бояться покупать волатильность. Купив же оную, не торопиться с рехеджем. Частый рехедж убивает прелести длинной гаммы с надежностью и неотвратимостью хозяйского тапка.
Таракан четвертый.
Ничего не любить. Не любить ни купленную волатильность, ни проданную, ни меднокрылых кондоров, ни ядовитых змей, ни прочую конструктивную геометрию. Любить только себя сидя под плинтусом.
Таракан пятый.
… убежал. Пятница, знаете-ли, у всех свои дела. Но, при необходимости, поищем))


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