Постов с тегом "Индикатор": 583

Индикатор


Универсальный индикатор для С++

Еще давно у меня возникла потребность получать сразу массивы значений различных индикаторов. Можно конечно создавать массив индикаторов, и затем прогонять котировки через него. Но я решил пойти другим путем и сделал индикатор «скользящее окно» или сокращенно MW, который может рассчитывать сразу массивы RSI, SMA, STD_DEV от тех значений, что содержатся в его буфере.

При этом при расчете массивов значений обычно используются предыдущие посчитанные данные, что ускоряет процесс расчета. 

Также я добавил возможность найти MIN, MAX, STD_DEV значения окна с заданным периодом и смещением внутри буфера индикатора. Это делает индикатор еще более универсальным. 

В дальнейшем планирую расширять функционал индикатора в рамках своей C++ header-only библиотеки технического анализа

Подписывайтесь на мой телеграм-канал бинарные опционы по научному, где периодически публикуются новые библиотеки и описывается ход запуска робота на «бинарках».

Биток достиг 8800

у меня тильт.Биток достиг 8800



цена стремительно достигла 8800
неужели?Биток достиг 8800

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

Наша норма. Всё по плану.

Ну что удалось закрыть шорт биткоена с доходностью в 1.2%
Наша норма. Всё по плану.

Норма выполнена, дальше можно ничего не делать.
Норму в 1.5-2% в день делать реально.
все сделки должны быть в +.

Сделка открыта на основании индикатора.
Сейчас поглядел что на пятиминутах, десяти уже зона покупок и думаю хватит.
1.2% тоже неплохо.

На 30ти минутах есть пространство на шорт, но я неуверен в этом движении.
учитываю что на днях величиной с два-три года биток должен пойти на рост.
__________
подвожу итог
с 1000 баксов, которые дешевеют можно получить с 3 сделок 39 баксов
это доходность 3.99%

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

Не заработаешь, потому что нечего анализировать инсайдерский рынок трех человек.

штаны последние снимешь 
и Грефу отдашь.
Он на себя их оденет и будет щеголять весь в белом… казначей Ленинграда




Биточек.

открываю щорт.
индикатор направляется стремительно в зону покупок.
уровня наверное так
8800
всё делаю по индикатору.
по та классическому произошло тестирование обратной стороны треугла.
Биточек.



1-2% в день. Вот наша норма.

ну что ж.
Биткоин вырос.
теперь принимаю решение закрыть сделку.
Индикатор сработал.

вот как надо и так всегда.
1-1.5% в день.

1-2% в день. Вот наша норма.




Улыбнись, трейдер!

    • 05 октября 2019, 22:12
    • |
    • FullCup
  • Еще
Сразу скажу, старое видео. Но до сих пор «улыбает»!
.

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

Опять купил доллар...

губа не дура,
дура не губа.
Опять купил доллар...


По та+ индикация типа самое время купить.
немного
по 66.04

[Индикатор] Options Indicator - Опционы на фьючерс в Metatrader

 

Название: Options Indicator (Индикатор ванильных опционов) | Биржевой индикатор

 

Описание

Индикатор берёт информацию по опционным контрактам на фьючерс Чикагской Товарной Биржи (CME) и отображает его на форексе.

Options Indicator удобно выводит полученные сведения на графике Meta Trader. Для большего удобства рекомендуется использовать ТФ от М30 и выше.

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

Дополнительная информация

  • При отображении данных по открытому интересу, требуется держать в голове, что ОИ за предыдущий день. Например если смотрите данные за вчера, то на самом деле они за позавчерашний день. CME публикует данные с задержкой в сутки, а мы в базе пока не откручиваем дату на день назад, что бы совпадало.

В индикаторе присутствуют уникальные функции, не доступные в любых других аналогах:

  • Исторический режим работы индикатора.
  • Опционные уровни нанесены на график метатрейдера с учётом разницы курсов к форексу.


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

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