Избранное трейдера Sergey Pavlov

по

Упрощенный алгоритм индикатора zigzag

в дальнейшем в него встрою сигналы и наклонные уровни

Упрощенный алгоритм индикатора zigzag

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGPROF",
Procent=1,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    }				
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
    
  return 1
  
end

function OnCalculate(index)

  de = Settings.Procent

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
 
  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl
 
  
end


 

 
  • обсудить на форуме:
  • Quik Lua
  • Ключевые слова:
  • zigzag

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

В рамках добра. 
Для тех кто любит плюшки на 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

О применимости АКФ в анализе временных рядов на примере акций ПАО Сбербанк


      В свете интереса к моим работам в области оценки рисков нестационарных объектов со стороны опционов и возникшего вопроса о применимости к анализу финансовых временных рядов методов классического статистического анализа проведём маленький численный эксперимент:

  • Оценим АКФ акций ПАО Сбербанк за последние 8 лет :

О применимости АКФ в анализе временных рядов на примере акций ПАО Сбербанк
Рис. 1. Тест Дики-Фуллера и автокорреляционная функция логарифмических приращений цен акций ПАО Сбербанк.


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


Однако, тест Дики-Фуллера, с одной стороны, разработан для стационарных, не-локализованных процессов и отражает только отсутствие трендов в среднем по времени, а с другой — проводится совершенно с другими целями выявления детерминированных сезонных и/или растущих тенденций, а не стохастических оценок рисков. В этом смысле мы будем интерпретировать АКФ не по-классически, детерминированно, а как функцию искажения случайности.

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

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

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

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


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

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

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

Вычисляем IV


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

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

О дельте, правильной и не совсем

О дельте, правильной и не совсем
Внимание: Чтение статьи может вызывать чувство ужаса у неподготовленного читателя.
Внимание: В коде была допущена ошибка, из-за которой результаты получились некорректными. Исправления опубликованы здесь: https://smart-lab.ru/blog/526783.php

Введение

На этой неделе уважаемый ch5oh в статье smart-lab.ru/blog/525822.php сформулировал следующую позицию:
О дельте, правильной и не совсем

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

Как можно строить свечные графики в питоне.

Как и обещал ранее некоторым участникам, сейчас продемонстрирую код, с помощью которого можно визуализировать свечной график, данные для которого будет взят с сайта Финам. Самое прамолинейное решение — это найти какой-нибудь модуль для питона, которому скармливаются бары, а он тебе выдает, собственно, свечной график. Такие есть, но на тот момент, когда я интересовался темой, найденное меня не устроило. Например, свечной график мне нарисуют, а как на нем тот же индикатор отрисовать — уже проблема. А если надо задать какую-нибудь эдакую линию, маркер, цвет — с этим надо разбираться. Но зачем тратить на это время, если есть весьма добротный модуль для построения графиков Matplotlib, с помощью него можно сделать любой график полиграфического качества, который у тебя в любое издание примут без вопросов, если, конечно, там и смысловая составляющая на должном уровне, само собой. В общем, качаем скрипт отсюда:
yadi.sk/d/fiMn-YUtrB6aEw
если не установлено, устанавливаем python 3.5+, к нему matplotlib и numpy, запускаем скрипт и умиляемся результату))

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

Качаем котировки с Финама

Недавно начал учить язык программирования Python. Жаль, что я к нему приступил в 36 лет, а не в 16. Он прекрасно подходит для анализа исторических данных. Выкладываю скрипт, который заходит на сайт финама, скачивает оттуда котировки акций и записывает их в файл quotes.txt. Для того, чтобы всё работало, должен быть установлен Питон https://www.python.org/.
---
В интернете есть информация, как качать котировки с Финама не вручную, а с помощью скрипта. Вот эти статьи. Ими я пользовался при написании своего кода:
Программный сбор данных о котировках
Загрузка котировок валют с сайта finam.ru
Дополнительно пришлось хорошенько поработать головой, чтобы адаптировать эту информацию для моих нужд. Там кое-что устарело и коды авторов потребовали доработки. Также в моём скрипте вы найдёте цифровые символы, которые соответствуют каждой акции. Например Алроса лежит на сайте финама под цифрой 81820.

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

Лирическое отступление #1 (Грааль #2)

Доброй ночи, коллеги!

Как же достало за последние 3 года читать многочисленные посты на тему «у кого толще?». Это про бакс и рубль, если что. Лично я считаю, что на долгосроке толще у золота, что не помешает ему упасть в 2 раза с текущих отметок.

Исключительно с целью уменьшить количество говносрача продуктивных дискуссий по данному вопросу хочу поделиться простой идеей.
Ранее я уже писал, что следует анализировать график логарифма цены актива, дабы приращение цены на графике максимально соответствовало полученной за период прибыли.
Теперь предлагаю тюнинг второго уровня — корректировать график курса валюты на уровень суточного свопа.

Т.е. (на примере долгосранногожданного рубля) умножаем текущий курс на (1+ставка ЦБ/365) и делим на (1+ставка ФРС/365). И так для каждого последующего дня.
Тех, кто потрудится изготовить такой график с 1995 ждет успех.
Волновиков ждет отдельный успех.

Я картинки и таблички выкладывать не умею — мои извинения всему community...

С уважением

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

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

....все тэги
UPDONW