Недельные индикаторы
Помните, эти индикаторы переносят значение последнего дня недели на
первый день следующей недели и оставляют его неизменным на всю неделю. Они
разработаны для бектестинга, так что, если вы хотите в пятницу вечером
узнать, что покажет индикатор на следующей неделе, просто взгляните на
график.
Стохастик: %K и медленный %K могут менять свои параметры при использовании
функции ввода, но %D
всегда рассчитывается по исходному значению медленного %K. Так что я
оставляю его, как есть . Вы можете применять собственные значения...В
качестве стартовой точки я использую значения Метастока. Я сделал %K D как
два раздельных индикатора, так что вы можете применять для %D различные
цвета. Индикатор Моментум также хорошо использует функцию ввода.
То, что выделено синим цветом - не вставлять
{`Wkly Stoch 5 per %K, slowing=3, no %D}
{стартовая неделя}
sw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
yestClo:=If(sw>0,Ref(C,-1),0);
{минимум за последние 5 недель}
LLow:=(ValueWhen(1,sw>0,
Ref(LowestSince(5,sw>0,L),-1)));
{максимум за последние 5 недель}
HHigh:=(ValueWhen(1,sw>0,
Ref(HighestSince(5,sw>0,H),-1)));
{5 per %K, slowing=3}
y:=(ValueWhen(1,sw>0,(yestClo-LLow))+
ValueWhen(2,sw>0,(yestClo-LLow))+
ValueWhen(3,sw>0,(yestClo-LLow)))/
((ValueWhen(1,sw>0,HHigh)+
ValueWhen(2,sw>0,HHigh)+
ValueWhen(3,sw>0,HHigh))-
(ValueWhen(1,sw>0,LLow)+
ValueWhen(2,sw>0,LLow)+
ValueWhen(3,sw>0,LLow)))*100;
y;
{`Wkly Stoch 3 per %D of a 5 per %K, slowing=3}
{стартовая неделя}
sw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
yestClo:=If(sw>0,Ref(C,-1),0);
{минимум за последние 5 недель}
LLow:=(ValueWhen(1,sw>0,
Ref(LowestSince(5,sw>0=1,L),-1)));
{максимум за последние 5 недель}
HHigh:=(ValueWhen(1,sw>0,
Ref(HighestSince(5,sw>0,H),-1)));
{5 per %K, slowing=3}
y:=(ValueWhen(1,sw>0,(yestClo-LLow))+
ValueWhen(2,sw>0,(yestClo-LLow))+
ValueWhen(3,sw>0,(yestClo-LLow)))/
((ValueWhen(1,sw>0,HHigh)+
ValueWhen(2,sw>0,HHigh)+
ValueWhen(3,sw>0,HHigh))-
(ValueWhen(1,sw>0,LLow)+
ValueWhen(2,sw>0,LLow)+
ValueWhen(3,sw>0,LLow)))*100;
{Рисуется 3 -х периодный %D (ma) выше.}
z:=(ValueWhen(1,sw>0,y)+ValueWhen(2,sw>0,y)+
ValueWhen(3,sw>0,y))/3;
z