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

по

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

Календарь заседаний ФРС на 2019 год

 

Календарь заседаний ФРС на 2019 год

Решение об изменении основных процентных ставок в США принимает Комитет открытого рынка (Federal Open Market Committee, FOMC) Федеральной резервной системы США во время своих заседаний. Комитет проводит 8 заседаний в год по вопросу рассмотрения основных процентных ставок в США. Заседания обычно проходят по вторникам. Исключения составляют первое и четвертое по счету заседания в году, которые проходят в течение двух дней (вторник и среда). В состав Комитета открытого рынка входят 12 человек.
Результат заседания становится известен в 14:00 EST (Нью-Йорк) в день заседания (либо во второй день, если заседание проходит в течение двух дней). (*) – заседание будет сопровождаться публикацией экономических прогнозов и пресс-конференцией Председателя ФРС.


Как выглядит тильт ? | Интрадей на ММВБ

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

Изменения на срочном рынке с 1 июля. Брокер Открытие.

Кто нибудь понял что конкретно меняется?

Изменения на срочном рынке с 1 июля. Брокер Открытие.


Они вообще кому эти новости пишут с учетом специфических терминов и того что сотрудники брокера сами не в курсе что меняется? 


Может мне кто нибудь понятным языком объяснить на примере?

Сейчас 10 лотов сишки ГО составляет 42 тыс руб. С 1 июля комиссию за риск — поддержку отменяют, в качестве обеспечения на счете ЕБС выступают ОФЗ.

Вопрос. Сколько нужно держать  ГО рублей под 10 лотов сишки с переносом через клиринг на 1 июля с учетом изменений выше?

Я так понимаю с учетом ОФЗ под ГО достаточно будет минимальной маржи. Понять бы сколько она составляет.




Индикатор CCI - голая правда об использовании!

В новом видео Индикатор CCI (Commodity Channel Index Индекс товарного канала) -

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


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

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

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

Онлайн-встреча по переделке стратегий из кубиков в код на C#

Буквально несколько минут назад закончилась OnLine встреча со мной в рамках проекта «Лаборатория Трейдинга».

Примерно полтора часа рассказывал о том, как простому человеку (не программисту) создать код стратегии на C#

Онлайн-встреча по переделке стратегий из кубиков в код на C#



Для тех, кто не успел поприсутствовать выкладываю запись: (смотреть можно в ускоренном режиме 1,5 )

Первую минуту можно пропустить.



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

Начало разработки.

Не волнуйтесь, вы все это запрограммируете и сделаете, я обещаю. В результате мы хотим получить программу, рассмотрим её общие принципы с другими программами, которые мы научимся программировать. Программа читает входные данные с клавиатуры, параллельно она автономно читает информацию из нужных баз данных. Вы можете провести параллель со многими программами, которые читают статистику реального времени и проводят сравнения с базами данных. Программы могут выполнять разные цели, работать с разной информацией, но они будут составлены по похожим принципам, давайте рассмотрим их. Может вы захотите написать программу которая будет оценивать ленту котировок, которая будет читать историю из баз, насущный пример. Самое главное, мы будем разбирать готовый рабочий код. Который вы сможете переработать для своих целей. Мы пройдем абсолютно все этапы от A до Я. Калькулятор это целая система механизмов — запуск работы с перехватом фатальных ошибок. А как же быть с цикличностью? Если вы ввели неправильные данные, калькулятор должен исправить ошибку, очистить неправильные символы и снова быть готовым к запросу. Также было бы не плохо записать в файл x = 100, y = 200, а потом программа будет читать переменные из этого файла, например если мы запишем x+x и нажмем Enter программа ответит = 200. На данный момент мы уже согласились, что программа должна перехватывать фатальные ошибки, должна исправлять рабочие ошибки, читать базу данных. Также помимо пред загрузки было бы хорошо добавить переменные прямо в процессе вычислений. Также в программе есть блок который вычисляет математическое выражение непосредственно. 

Cамой большой сложностью для новичка, является создание первого проекта и подключение библиотек, мы вместе запустим первый проект и установим библиотеки, вы уже сегодня начнете выполнять упражнения из этого крутого курса 1drv.ms/b/s!Aik_YYEGJIBwhYN6NJCJt4LDnkoYTg(который кстати уже слушал Кембридж, а теперь Smart_Lab). После начала  вы довольно быстро дойдете до главы 6, в первых главах нет ничего принципиально сложного, вы даже начнете программировать калькулятор из главы 6, но если вы начнете подходить к изучению книги профессионально, вы захотите перебрать этот калькулятор от и до, если делать это самостоятельно и одному, это долго … мы сделаем это вместе.

В этом первом топике мы подготовим все для разработки и запустим первый проект, после этого вы сможете начать самостоятельную проработку книги. Во втором топике, мы разработаем некоторый циклический прототип. А вот потом, мы начнем разрабатывать калькулятор, причем, мы будем изучать готовую отлаженную модель. Потом соберем еще несколько фундаментальных программ. В результате у вас будут все необходимые библиотеки, которые вы будете понимать, в общем вы будете подготовлены так, как это видит создатель языка C++. Ну а потом вы уже сами почитаете книгу и разберетесь. Моя задача обеспечить успешное прохождение этого курса. C++ очень похож на C#, Fortran или Java, вам не обязательно будет зацикливаться именно на этом языке.



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

Инвестграм#14. QUIK. Подсказки по решению проблем.

Инвестграм#14. QUIK. Подсказки по решению проблем.















Доброго времени суток, коллеги!

Сегодня подготовил информацию по часто встречающимся проблемам с торговым терминалом QUIK. Данная статья поможет вам решать основные проблемы самостоятельно.

Для начала хотел бы рассказать про банальные вещи. Но поверьте, и на таких этапах возникают проблемы.

Вот мы такие счастливые установили программу Quik, хотим торговать, но запнулись на генерации ключей.

Какие проблемы могут возникнуть при генерации ключей?

1) Системная ошибка при регистрации ключей в личном кабинете Брокера (если у вашего Брокера есть такая процедура)

Данная ошибка может быть связана с тем, что у вас в логине используются недопустимые символы, таким образом, кодировка ключей получается некоренной. Рекомендуется в логине указывать номер вашего счета. Этого будет достаточно. Потому что в программе Quik вам будет достаточно ввести только первый символ логина.



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

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