Индикатор New HOD/LOD

Подробнее
9 года 3 мес. назад #264 от Arsenal
Arsenal создал тему: Индикатор New HOD/LOD
Здравствуйте, Михаил

Помогите пожалуйста доработать индикатор интрадейный хай/лой. Идея в том, что когда на рынке идет хороший тренд мы имеем серию последовательных новых максимумов или минимумов, которые делает цена. Так вот иногда случается, что цена делает например, новый хай, а затем резко разворачивается и устанавливает новый лой. Иными словами расширяющаяся формация, на которой легко потерять деньги :) Как бы можно это обозначить на графике (например, стрелочкой), а лучше всего отрисовать 50% предыдущего диапазона дня (медианы). Открою небольшой секрет, работать нужно не ранее чем цена вернется на его ретест ;)
Код простой очень:

TLH = ParamToggle("Days Hi Lo","Off|On",1);
hicol = ParamColor("High of day color", colorDarkRed);
locol = ParamColor("Low of day color", colorGreen);

if (TLH==1) {
ND = Day()!= Ref(Day(), -1);
temphi = HighestSince(ND, H, 1);
templo = LowestSince(ND, L, 1);
Plot(temphi, "", IIf(temphi == Ref(temphi, -1), hicol, colorGrey40), styleDashed + styleNoRescale, Null, Null, 0, -1);
Plot(templo, "", IIf(templo == Ref(templo, -1), locol, colorGrey40), styleDashed + styleNoRescale, Null, Null, 0, -1);
}

спасибо заранее



Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 3 мес. назад - 8 года 3 мес. назад #265 от admin
admin ответил в теме Индикатор New HOD/LOD
Как-то так?
_SECTION_BEGIN("HOD-LOD");
TLH = ParamToggle("Days Hi Lo","Off|On",1);
HODcolor = ParamColor("HOD color", colorDarkRed);
LODcolor = ParamColor("LOD color", colorGreen);

if (TLH)
{
	ND = DateNum()!= Ref(DateNum(), -1);

	temphi = HighestSince(ND, H, 1);
	HODcolor = IIf(temphi == Ref(temphi, -1), HODColor , colorLightGrey);
	Plot(temphi, "",HODcolor , styleDashed | styleNoRescale, Null, Null, 0, -1);

	templo = LowestSince(ND, L, 1);
	LODColor = IIf(templo == Ref(templo, -1), LODColor , colorLightGrey);
	Plot(templo, "",LODColor , styleDashed | styleNoRescale, Null, Null, 0, -1);

	MOD = (temphi + templo) / 2;
	Plot(MOD,"",colorBlue,styleDashed | styleNoRescale, Null, Null, 0, -1);

	Buy = Ref(Cross(C,MOD),-1);
	Short = Ref(Cross(MOD,C),-1);
// Здесь надо добавить условия Sell и Cover

	BuyPrice = SellPrice = CoverPrice = ShortPrice = Open;

	PlotShapes(IIf(Buy,shapeSmallUpTriangle,shapeNone),colorGreen,0,BuyPrice);
	PlotShapes(IIf(Short,shapeSmallDownTriangle,shapeNone),colorRed,0,ShortPrice);
//	PlotShapes(IIf(Sell,shapeSmallDownTriangle,shapeNone),colorRed,0,SellPrice);
//	PlotShapes(IIf(Cover,shapeSmallUpTriangle,shapeNone),colorGreen,0,CoverPrice);

}
_SECTION_END();
Последнее редактирование: 8 года 3 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 3 мес. назад #266 от Arsenal
Arsenal ответил в теме Индикатор New HOD/LOD
спасибо, Михаил за ответ.

я наверно объяснил непонятно немного. Тайный смысл сей системы в том, чтобы отработать медиану именно предыдущего диапазона.






Т.е. имеем тренд вниз - хай и серию новых лоев. В точке "А" устанавливается новый лоу, а затем идет пробой хая в точке "В". Вот как бы запомнить значение минимума цены в точке "А" и при сработке триггера в точке "В" взять и отрисовать середину диапазона "А-В". Можно видеть на скрине как его потом отработали четко. Я правильно понимаю, что для этого нужно использовать оператор BarSince?

К слову сказать картинка сбера от 26.03, но зона 98.20-98.40 действовала в качестве уровня и в последующие дни и даже сегодня.
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Подробнее
9 года 3 мес. назад - 9 года 2 мес. назад #267 от admin
admin ответил в теме Индикатор New HOD/LOD
Ок. Теперь красная и зеленая линии показывают сегодняшний диапазон, а синяя - медиану вчерашнего
_SECTION_BEGIN("HOD-LOD");
TLH = ParamToggle("Days Hi Lo","Off|On",1);
HODcolor = ParamColor("HOD color", colorRed);
LODcolor = ParamColor("LOD color", colorGreen);

if (TLH)
{
	ND = DateNum()!= Ref(DateNum(), -1);

	temphi = HighestSince(ND, H, 1);
	Plot(temphi, "",HODcolor , styleNoRescale, Null, Null, 0, -1);

	templo = LowestSince(ND, L, 1);
	Plot(templo, "",LODColor , styleNoRescale, Null, Null, 0, -1);


	MOD = Ref(temphi + templo,-BarsSince(ND)-1) / 2;
	
	Plot(MOD,"",colorBlue,styleNoRescale, Null, Null, 0, -1);

	Buy = Ref(Cross(C,MOD),-1);
	Short = Ref(Cross(MOD,C),-1);
// Здесь надо добавить условия Sell и Cover

	BuyPrice = SellPrice = CoverPrice = ShortPrice = Open;

	PlotShapes(IIf(Buy,shapeSmallUpTriangle,shapeNone),colorGreen,0,BuyPrice);
	PlotShapes(IIf(Short,shapeSmallDownTriangle,shapeNone),colorRed,0,ShortPrice);
//	PlotShapes(IIf(Sell,shapeSmallDownTriangle,shapeNone),colorRed,0,SellPrice);
//	PlotShapes(IIf(Cover,shapeSmallUpTriangle,shapeNone),colorGreen,0,CoverPrice);

}
_SECTION_END();
Последнее редактирование: 9 года 2 мес. назад пользователем admin.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: admin