Ганн-свинг индикаторы
Adam Hefner.
Это усовершенствование индикаторов Gann-Swing
Инструкции по эксперту Gann Weekly
Перед началом добавим в Indicator Builder все пять индикаторов, приведенные
ниже, под графиком и горизонтальной чертой
1. Вначале создаем новый эксперт с любым названием..
2a. На вкладке "trends" вставляем для бычьего тренда:
ut:=FmlVar("GANN-Trend","TDV");
uplot:=If(BarsSince(Ut=1)<
BarsSince(Ut=-1),1,0);
uplot=1;
2b. и для медвежьего:
dt:=FmlVar("GANN-Trend","TDV");
dplot:=If(BarsSince(dt=1)>
BarsSince(dt=-1),1,0);
dplot=1;
Затем в свойствах "ribbon" отключаем "Display Vertical Lines", Я
заодно выключаю и функцию "corner".
3a. На вкладке "highlights" создаем новый и называем "HiLo Change", выбираем
цвет и вводим код:
HLd:=If(CLOSE>Ref(Mov(H,3,S),-1),
{then}1,
{else}If(CLOSE<Ref(Mov(L,3,S),-1),
{then}-1,
{else}0));
HLv:=ValueWhen(1,HLd<>0,HLd);
HLv<>Ref(HLv,-1);
3b. Создаем новый, называем "Up-Trend", выбираем цвет и вводим код:
ut:=FmlVar("GANN-Trend","TD");
uplot:=If(BarsSince(Ut=1)<
BarsSince(Ut=-1),1,0);
uplot=1;
3c. Следующий называем "Down-Trend", выбираем цвет, вводим код:
dt:=FmlVar("GANN-Trend","TD");
dplot:=If(BarsSince(dt=1)>
BarsSince(dt=-1),1,0);
dplot=1;
4a. Вкладка "Symbols". Созлаем новый и называем " UpSwing", вводим код:
FmlVar("GANN-Swing","SD2")=1;
на "graphic" выбираем "Buy Arrow", цвет (Dark Green), и размер "small",
затем "Above Price Plot".
4b. Создаем новый с названием "DownSwing", вводим код:
FmlVar("GANN-Swing","SD2")=-1;
под "graphic" выбираем "sell arrow", цвет (Dark Red), и размер "small",затем
отмечаем "Below Price Plot".
Примечание: Для дневных графиков в "ribbon" используйте такие формулы:
2a. ut:= FmlVar("GaW-Trend","TDV") ;
uplot:=If(BarsSince(Ut=1)<
BarsSince(Ut=-1),1,0);
uplot=1;
2b. dt:= FmlVar("GaW-Trend","TDV") ;
dplot:=If(BarsSince(dt=1)>
BarsSince(dt=-1),1,0);
dplot=1;

------------------------------------------------------
name: GANN-HiLo
Lb:=Input("Look-Back Periods?",2,10,3);
HLd:=If(CLOSE>Ref(Mov(H,Lb,S),-1),
{then}1,
{else}If(CLOSE<Ref(Mov(L,Lb,S),-1),
{then}-1,
{else}0));
HLv:=ValueWhen(1,HLd<>0,HLd);
HiLo:=If(HLv=-1,
{then}Mov(H,Lb,S),
{else}Mov(L,Lb,S));
HiLo;
------------------------------------------
name: GANN-Swing
Us:=BarsSince(Sum(H>Ref(H,-1),2)=2);
Ds:=BarsSince(Sum(L<Ref(L,-1),2)=2);
Hc:=HighestSince(1,Us=0,H);
Lc:=LowestSince(1,Ds=0,L);
Sd1:=If(Us=0,
{then}If((L<>Lc) AND (Ref(L,-1)<>Lc),
{then}1,
{else}0),
{else}If(Ds=0,
{then}If((H<>HC) AND (Ref(H,-1)<>Hc),
{then}-1,
{else}0),
{else}0));
Sd2:=If(Sd1=1,
{then} If(Ref(BarsSince(Sd1=1),-1) >
Ref(BarsSince(Sd1=-1),-1),
{then}1,
{else}0),
{else} If(Sd1=-1,
{then}If(Ref(BarsSince(Sd1=1),-1) <
Ref(BarsSince(Sd1=-1),-1),
{then}-1,
{else}0),
{else}0));
TD1:=ValueWhen(1,Sd2<>0,Sd2);
Td1;
--------------------------------------------
name: GANN-Trend
Sd:= FmlVar("GANN-Swing","TD1") ;
Sch:=If(Sd=1 AND Ref(sd,-1)=-1,
{then}1,
{else}0);
Scl:=If(Sd=-1 AND Ref(Sd,-1)=1,
{then}1,
{else}0);
Pv:=If(Scl=1,
{then}HighestSince(1,Sch=1,H),
{else}0);
Tv:=If(Sch=1,
{then}LowestSince(1,Scl=1,L),
{else}0);
Td:=If(H>ValueWhen(1,Pv>0,Pv),
{then}1,
{else}If(L<ValueWhen(1,Tv>0,Tv),
{then}-1,
{else}0));
Tdv:=ValueWhen(1,Td<>0,Td);
Tdv
------------------------------------------
name: GaW-Swing
Dw:=If(DayOfWeek()<=Ref(DayOfWeek(),-1),1,0);
Wh:=If(Dw=1,
{then}Ref(HighestSince(1,Dw=1,H),-1),
{else}0);
Wl:=If(Dw=1,
{then}Ref(LowestSince(1,Dw=1,L),-1),
{else}0);
Hv1:=ValueWhen(1,Wh>0,Wh);
Hv2:=ValueWhen(2,Wh>0,Wh);
Hv3:=ValueWhen(3,Wh>0,Wh);
Lv1:=ValueWhen(1,Wl>0,Wl);
Lv2:=ValueWhen(2,Wl>0,Wl);
Lv3:=ValueWhen(3,Wl>0,Wl);
Us:=BarsSince((Hv1 > Hv2) AND (Hv2 > Hv3));
Ds:=BarsSince((Lv1 < Lv2) AND (Lv2 < Lv3));
Hc:=Ref(HighestSince(1,Us=0 AND Ref(Us,-1)>0,H),
-1);
Lc:=Ref(LowestSince(1,Ds=0 AND Ref(Ds,-1)>0,L),
-1);
Sd1:=If(Us=0 AND Dw=1,
{then}If((Lv1<>Lc) AND (Lv2<>Lc),
{then}1,
{else}0),
{else}If(Ds=0,
{then}If((Hv1<>Hc) AND (Hv2<>Hc),
{then}-1,
{else}0),
{else}0));
Sd2:=If(Sd1=1,
{then} If(Ref(BarsSince(Sd1=1),-1) >
Ref(BarsSince(Sd1=-1),-1),
{then}1,
{else}0),
{else} If(Sd1=-1,
{then}If(Ref(BarsSince(Sd1=1),-1) <
Ref(BarsSince(Sd1=-1),-1),
{then}-1,
{else}0),
{else}0));
TD1:=ValueWhen(1,Sd2<>0,Sd2);
TD1
-------------------------------------------
name: GaW-Trend
Sd:= FmlVar("GaW-Swing","TD1") ;
Sch:=If(Sd=1 AND Ref(sd,-1)=-1,
{then}1,
{else}0);
Scl:=If(Sd=-1 AND Ref(Sd,-1)=1,
{then}1,
{else}0);
Pv:=If(Scl=1,
{then}HighestSince(1,Sch=1,H),
{else}0);
Tv:=If(Sch=1,
{then}LowestSince(1,Scl=1,L),
{else}0);
Td:=If(H>ValueWhen(1,Pv>0,Pv),
{then}1,
{else}If(L<ValueWhen(1,Tv>0,Tv),
{then}-1,
{else}0));
Tdv:=ValueWhen(1,Td<>0,Td);
Tdv
|
|