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

по

Camarilla Equation. Индикатор для QUIK. Часть 3.

    • 22 августа 2019, 12:29
    • |
    • XXM
  • Еще
Получил такое сообщение:

привет!
у меня в квике стояла камарилла аж с 2014 года, когда вы выложили здесь этот индикатор.
квик обновился до 8 и камарилла пропала.
это не исправить?

Глянул по тэгу https://smart-lab.ru/tag/Camarilla/ и вот они:
1. Camarilla Equation. Индикатор для QUIK.
2. Camarilla Equation. Индикатор для QUIK. Часть 2.

Выкладываю вариант, не зависящий от обновлений QUIK.

-- Camarilla.lua
Settings={
	Name = "Camarilla",
	period = 'D',
	line =
		{
			{Name = "S5", Color = RGB(255, 0, 0), Type = 1, Width = 2},
			{Name = "S4", Color = RGB(255, 165, 0), Type = 1, Width = 2},
			{Name = "S3", Color = RGB(255, 255, 0), Type = 1, Width = 2},
			{Name = "PP", Color = RGB(0, 255, 0), Type = 1, Width = 2},
			{Name = "R3", Color = RGB(0, 191, 255), Type = 1, Width = 2},
			{Name = "R4", Color = RGB(0, 0, 255), Type = 1, Width = 2},
			{Name = "R5", Color = RGB(139, 0, 255), Type = 1, Width = 2},
		}
}

local math_floor = math.floor
local levels = 0
local ydH, ydL, ydC, ydO = {},{},{},{}
local PP, R3, R4, R5 = 0,0,0,0
local S3, S4, S5 = 0,0,0
	local delta = 0
	local cl = 0
local predThisDay=0
local function dTs(t) return 100*(100*t.year+t.month)+t.day; end
local OldDay = ''	-- для выделения начала торгового дня

function Init ()
	local t=getDataSourceInfo()
	local tt = t.interval
	if tt == -3 then 
		message('Месячный график не обрабатывается.',1)
		return 
	end
	return 7
end

function OnCalculate (index)
	local time tt=T(index); ---время из свечи
	--local ThisDay=dTs(tt)	-- дата в формате yyyyMMdd
	local tDay=dTs(tt)	-- дата в формате yyyyMMdd
	local ThisDay = tDay
	if Settings.period == 'W' then
		ThisDay=tt.week_day	-- номер недели
	end
	if index == 1 then
		--message('First ThisDay = '..tostring(ThisDay),1)
		local t=getDataSourceInfo()
		--7.2.5 Функция предназначена для получения информации об источнике данных для индикатора.
		local scale = getSecurityInfo(t.class_code, t.sec_code).scale	--	NUMBER, Количество значащих цифр после запятой
		mul = 10^scale  -- возведение в степень
		local tt = t.interval
		if tt == -3 then tt = 'месяц' 
		elseif tt == -2 then tt = 'неделя'
		elseif tt == -1 then tt = 'день' 
		else
			tt = tt..' мин.'
		end
		--message(t.sec_code..'('..t.class_code..'), цифр после запятой: '..scale..', mul = '..mul..', дата = '..ThisDay,1)
		levels = levels + 1
		if ThisDay ~= OldDay then
			OldDay = ThisDay
		end	
		predThisDay = ThisDay
		--
		delta = H(index) - L(index)
		cl = C(index)
		R5 = (H(index) / L(index))*cl
		calcLevels(index)
		local per = 'daily'
		if Settings.period == 'W' then
			per = 'weekly'
		end
		message('Camarilla '..per..', Т = '..tt..', © xsharp.ru 20.06.2015', 1)
		return
	end
	if Settings.period == 'W' then
		if ThisDay < OldDay then	-- для неделек
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'D' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	elseif Settings.period == 'H4' then
		if ThisDay ~= OldDay then	-- для дневок
			OldDay = OldDay + 1
			if OldDay ~= ThisDay then
				OldDay = ThisDay
			end
			levels = levels + 1
			delta = ydH[levels-1] - ydL[levels-1]
			cl = ydC[levels-1]
			R5 = (ydH[levels-1] / ydL[levels-1])*cl
			calcLevels(index)
			--if index<120 then
			--message('index= '..tostring(index)..', Смена недели: '..tostring(ThisDay)..', OldDay: '..tostring(OldDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
			--end
			predThisDay = ThisDay
		else
			if ThisDay ~=predThisDay then
				--message('index= '..tostring(index)..', ThisDay= '..tostring(ThisDay)..', predThisDay: '..tostring(predThisDay)..', d='..tDay..', R3= '..R3..', PP= '..cl..', S3= '..S3,1)
				predThisDay = ThisDay
				OldDay = OldDay + 1
			end
			ThisDayF(index)
		end
	end
	return S5, S4, S3, cl, R3, R4, R5
end

function round(value)
	return math_floor(value*mul + 0.5) / mul
end

function ThisDayF(index)
	ydC[levels] = C(index)
	if H(index) > ydH[levels] then
		ydH[levels] = H(index)
	end
	if L(index) < ydL[levels] then
		ydL[levels] = L(index)
	end
end

function calcLevels(index)
	ydO[levels] = O(index)
	ydH[levels] = H(index)
	ydL[levels] = L(index)
	ydC[levels] = C(index)
	--
	R3 = cl + delta * 1.1/4
	R4 = cl + delta * 1.1/2
	--
	S3 = cl - delta * 1.1/4
	S4 = cl - delta * 1.1/2
	S5 = cl - (R5-cl)
	--
	R5 = round(R5)
	R4 = round(R4)
	R3 = round(R3)
	S3 = round(S3)
	S4 = round(S4)
	S5 = round(S5)
end
  • обсудить на форуме:
  • QUIK

Python в помощь тестированию структурных продуктов

Воодушевлённый статьёй с рекламой структурных продуктов на Хабре, адаптировал python-скрипт для их самостоятельного тестирования. Основная идея в том, что подобные продукты предлагают 100% защиту капитала.  А учитывая 10 лет бычьего рынка, исторические показатели подобных продуктов одурманивают безрисковым раем.

Скрипт подойдёт для быстрого и понятного тестирования своих портфелей с ребалансировкой в разные периоды. Ну а кому-то данный инструмент может пригодиться для самостоятельного построения подобных стратегий. Их наипростейшей формы. Однако брокеры пишут, что это не каждому под силу.

Код выложен в GitHub в виде Jupyter-блокнота. Поехали!



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

Расчёт размера плеч для фьючерсов Мосбиржи. Еще проще

Тут человек написал как считать плечи на фьючерсах Мосбиржи.
Вижу пост набрал >50‎★ 
Так вот. 

Заходим котировки фьчерсов на смартлабе. 
Открываем например фьючерс РТС 
В таблице всё посчитано

Сколько стоит контракт, сколько составляет гарантийное обеспечение по нему, и какое максимальное плечо таким образом вы можете взять по этому инструменту.
Расчёт размера плеч для фьючерсов Мосбиржи. Еще проще

Не благодарите.
Знай и люби свой смартлаб!

иГРЫрАЗУМа 2019: FateevVV стартовая позиция.

Здравствуйте дорогие друзья!

Немного опишу мои стратегии, чтобы по ним меньше потом расписывать.
Стратегий примерно 4, все основные манипуляции по ним провожу в период с 18:00 до 18:45.
1. Стратегия «Бугорок». Банальная продажа волы. https://smart-lab.ru/blog/330717.php
2. Стратегия «ВОММА». https://smart-lab.ru/blog/232363.php
3. Мои любимые календари (К1 и К2), жалко что они редкие гости.
4. Пытаюсь ловить всевозможные перекосы улыбок (С1 и С2). https://smart-lab.ru/blog/460332.php
5. Лотерейки, лудоманство в виде направленных позиций и всевозможные эксперименты и тесты на реальном счете.

19.06.2019
Создал стратегию «Бугорок09». Продал сентябрьские путы, в небольшом количестве. При увеличении IV буду добавляться.
иГРЫрАЗУМа 2019: FateevVV стартовая позиция.
Есть еще остаток второй стратегии, которая уже давно ведется, скрин не сделал.

20.06.2019.
В 18:10 выровнял дельту у обоих стратегий.



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

Про дивы

Большинство российских компаний платят дивиденды раз в год. Из-за этого некоторые акции целый год держать неинтересно, особенно, если вы купили их чисто ради дивидендов. Но в то же время часть компаний делится с акционерами прибылью раз в полгода или даже раз в квартал, как принято на западном фондовом рынке. В обзоре ниже – компании, которые стабильно выплачивают ежемесячные дивиденды – квартальные или полугодовые.

Компании, которые выплачивают квартальные дивиденды

Северсталь

НЛМК

ММК

Фосагро

Татнефть

Тинькофф

QIWI

Компании, выплачивающие дивиденды дважды в год

Акрон

ВСМПО-АВИСМА

Газпром нефть

Лукойл

Роснефть

Новатэк

Распадская

Магнит

Алроса

Норникель

Мосбиржа

МТС

Русагро

VEON

Планируют перейти на промежуточные дивиденды

ТМК

Сбербанк

Россети 

Компании, которые выплачивают квартальные дивиденды



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

Учимся сами создавать торговые советники для Quik


С ЧЕГО НАЧАТЬ САМОСТОЯТЕЛЬНОЕ ОБУЧЕНИЕ?


Во первых, Вам потребуются удобные среды разработки (программы, где Вы сможете писать свой код), о том, где их взять и как установить прочтите здесь. Для написания скриптов QLua Вам понадобится только Notepad++.

Во вторых, получите терминал QUIK с демо-счетом, можете получить его либо в компании Arqa (разработчик терминала) по данной ссылке, либо у практически любого брокера.

И в третьих, начинайте изучать QLua.
Рекомендую начать с раздела меню «QLua(Lua) основы», в частности со статей: «База скрипта в QLua (lua)» и «Функции обратного вызова, встроенные в QLua», остальные статьи данного раздела используйте как справочники при написании скрипта, в них практически к каждой функции есть пример кода с комментариями.

Следующим шагом переходите к разделу меню «QUIK + QLua(Lua)», в нем речь идет о том, как взаимодействует скрипт с терминалом QUIK, как обменивается данными, все так же с примерами и комментариями. Особое внимание обратите на раздел «Блоки кода», в особенности на статью в нем: «Пример простого торгового движка „Simple Engine“ QLua(Lua)», разобрав код которой Вам многое станет понятнее, хоть по началу такой подход может показаться несколько сложным.



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

Старт размещения облигаций "ОбъединенияАгроЭлита". 400 млн.р. Купон 13,75%

20 мая стартует размещение 3 выпуска облигаций «ОбъединенияАгроЭлита». Размер выпуска 400 млн.р., купонная ставка 13,75%.

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

«ОбъединениеАгроЭлита» является центром бизнеса красноярского вертикально-интегрированного холдинга Goldman Group (в этот же холдинг входит еще один эмитент облигаций – Торговый дом «Мясничий»).

Базовые финансовые показатели холдинга Goldman Group за 2018 год по РСБУ:

  • Валюта баланса: 6 231 млн.р.
  • Выручка: 4 171 млн.р.
  • EBITDA: 655 млн.р.
  • Чистая прибыль: 300 млн.р.
  • Нераспределенная прибыль: 1 572 млн.р.
Старт размещения облигаций "ОбъединенияАгроЭлита". 400 млн.р. Купон 13,75%
@AndreyHohrin
TELEGRAM     t.me/probonds
YOUTUBE       www.youtube.com/channel/UC0BqXPUXHD-ih_0wXgkD4Uw/featured


Короткие бумаги для коротких денег. Аналог вклада "до востребования"

#probondsмонитор Можно по-разному готовить свой брокерский счет к внезапным возможностям и кризисам. Или к неожиданным тратам. Безусловно, удобно это делать в формате счета «до востребования». Обычно таким форматом выступают ОФЗ. Но ставки по коротким выпускам федерального госдолга совсем уже невкусные. Предлагаем несколько коротких бумаг сходного качества, но чуть более высокой доходности. Они короткие, ликвидные, с маркет-мейкерами. В общем, если завтра нужно куда-то положить даже 10 и более млн.р., так чтобы при первой необходимости забрать на нужды — это сюда.
Короткие бумаги для коротких денег. Аналог вклада "до востребования"
Короткие бумаги для коротких денег. Аналог вклада "до востребования"

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

Темпы размещений ВДО (Мясничий, БЭЛТИ, Пионер-Лизинг)

#эмитенты #мясничий #бэлтигранд #пионерлизинг
Меньше 30% выпуска осталось разместить Торговому дому «Мясничий» (Красноярск). Из проходящих сейчас размещений – Мясничий, Пионер-Лизинг, ЛК БЭЛТИ-ГРАНД – темпы размещения первого выше, чем второго и третьего вместе взятых. Или организаторы стараются, или рынок голосует за реальный сектор и величину бизнеса. Скорее, второе. Все же ставка Мясничего ниже, чем ставки Пионера и БЭЛТИ, срок тоже не короток.

Исходя из темпов, Мясничему осталось размещаться 2 недели, БЭЛТИ – около полутора месяцев, Пионеру – 4 месяца. Впрочем, это лукавая арифметика. Рынок может решить очень по-своему.
Темпы размещений ВДО (Мясничий, БЭЛТИ, Пионер-Лизинг)
@AndreyHohrin
TELEGRAM     t.me/probonds
YOUTUBE       www.youtube.com/channel/UC0BqXPUXHD-ih_0wXgkD4Uw/featured


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