iWashington
New member
Вот такой индюк для определения экстремумов, похож на пивот
If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV );
If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )
В эксперте всё просто
С=If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV );
С=If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )
Необходим фильтр. Долго думал в итоге получил бинарную волну такую вота
N:=Input("№ события 2(B) вперед от 1(A)",0,1000,1)-.5;
X:=Input("№ события 1(А) назад от 2(В)",0,1000,1);
A:=If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )=C; {Cross(любая формула, возвращающая единицу,.5)}
B:=(H+L)/2>Ref((H+L)/2,-1); {Cross(любая формула, возвращающая единицу,.5)}
ValueAfter:=HighestSince(X,A,Cum(B))-LowestSince(X,A,Cum(B));
Cross(ValueAfter,n); {указывает искомое событие B}
Для пиков соответственно
N:=Input("№ события 2(B) вперед от 1(A)",0,1000,1)-.5;
X:=Input("№ события 1(А) назад от 2(В)",0,1000,1);
A:=C=If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV); {Cross(любая формула, возвращающая единицу,.5)}
B:=(H+L)/2<Ref((H+L)/2,-1); {Cross(любая формула, возвращающая единицу,.5)}
ValueAfter:=HighestSince(X,A,Cum(B))-LowestSince(X,A,Cum(B));
Cross(ValueAfter,n); {указывает искомое событие B}
Фильтр в таком фиде не годится, как мне кажется. Прошу помочь может кто знает как сделать такую чудесную вещь?
If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV );
If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )
В эксперте всё просто
С=If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV );
С=If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )
Необходим фильтр. Долго думал в итоге получил бинарную волну такую вота
N:=Input("№ события 2(B) вперед от 1(A)",0,1000,1)-.5;
X:=Input("№ события 1(А) назад от 2(В)",0,1000,1);
A:=If(C< Peak(1,C,1)*0.99,
LowestSince(1,Peak(1,C,1)<>Ref(Peak(1,C,1),-1),
LowestSince(1 ,Peak(1,C,1)<>Ref(Peak(1,C,1),-1), C)),
PREV )=C; {Cross(любая формула, возвращающая единицу,.5)}
B:=(H+L)/2>Ref((H+L)/2,-1); {Cross(любая формула, возвращающая единицу,.5)}
ValueAfter:=HighestSince(X,A,Cum(B))-LowestSince(X,A,Cum(B));
Cross(ValueAfter,n); {указывает искомое событие B}
Для пиков соответственно
N:=Input("№ события 2(B) вперед от 1(A)",0,1000,1)-.5;
X:=Input("№ события 1(А) назад от 2(В)",0,1000,1);
A:=C=If( C> Trough(1,C,1)*1.01,
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1),
HighestSince(1,Trough(1,C,1)<>Ref(Trough(1,C,1),-1), C)),
PREV); {Cross(любая формула, возвращающая единицу,.5)}
B:=(H+L)/2<Ref((H+L)/2,-1); {Cross(любая формула, возвращающая единицу,.5)}
ValueAfter:=HighestSince(X,A,Cum(B))-LowestSince(X,A,Cum(B));
Cross(ValueAfter,n); {указывает искомое событие B}
Фильтр в таком фиде не годится, как мне кажется. Прошу помочь может кто знает как сделать такую чудесную вещь?