[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] H&S and "H&S !!!!!"



PureBytes Links

Trading Reference Links




Here is my daily H&S code for Indicator 
Builder
 
x = Cum(1);per = 
3;back=100;inter=200;s11=H;s12=L;R=0;RR=0;/* H & S */pR 
= PeakBars( s11, per, 1 ) == 0;endt1= LastValue(ValueWhen( pR, x, R+1 
));medt1=LastValue(ValueWhen( pR, x, R+2));startt1=LastValue(ValueWhen( 
pR, x, R+3 ));dt1=endt1-startt1;C1=x==endt1 OR x==medt1 OR 
x==startt1;endR = LastValue(ValueWhen( pR, s11, R+1 ) 
);medR=LastValue(ValueWhen( pR, s11, R+2 ) );startR = LastValue( 
ValueWhen( pR, s11, R+3  ));Filter1=medR>endR AND medR>startR AND 
abs(startR-endR)<0.02*(startR+endR) ANDdt1<inter AND 
endt1>LastValue(x)-back;MaxGraph=12;Graph1=C;Graph1Style=64;GraphXSpace=5;/*H&S 
Neck Line*/Aper=medt1-startt1;bper=endt1-medt1;La=  
LastValue(ValueWhen(x==medt1,LLV(L,Aper)));Lb=LastValue(ValueWhen(x==-1+endt1,LLV(L,bper)));Fa=L==La 
AND x>startt1 AND x<medt1;Fb=L==Lb AND x>medt1 AND 
x<endt1;endt= LastValue(ValueWhen( Fb, x 
));startt=LastValue(ValueWhen( Fa, x ));dtS =endt-startt;endS = 
Lb;startS = La;aS = (endS-startS)/dtS;bS = endS;trendlineS = aS * ( 
x  -endt ) + bS; Graph3 = IIf(Filter1 AND 
x>startt-5,trendlineS,-1e10);Graph3BarColor=7;/*Inverted H & 
S*/tpR = TroughBars( s12, per, 1 ) == 
0;tendt1=LastValue(ValueWhen(tpr,x,RR+1));tmedt1=LastValue(ValueWhen(tpr,x,RR+2));tstartt1=LastValue(ValueWhen(tpr,x,RR+3));tdt1=tendt1-tstartt1;C2=x==tendt1 
OR x==tmedt1 OR x==tstartt1;tendR = LastValue(ValueWhen( tpR, s12, RR+1 ) 
);tmedR=LastValue(ValueWhen( tpR, s12, RR+2 ) );tstartR = LastValue( 
ValueWhen( tpR, s12, RR+3  ));Filter2=tmedR<tendR AND 
tmedR<tstartR ANDabs(tstartR-tendR)<0.02*(tstartR+tendR) AND 
tdt1<inter ANDtendt1>LastValue(x)-back;
 
/*Inverted H&S Neck 
Line*/tAper=tmedt1-tstartt1;tbper=tendt1-tmedt1;Ha=  
LastValue(ValueWhen(x==tmedt1,HHV(H,tAper)));Hb=LastValue(ValueWhen(x==-1+tendt1,HHV(H,tbper)));tFa=H==Ha 
AND x>tstartt1 AND x<tmedt1;tFb=H==Hb AND x>tmedt1 AND 
x<tendt1;Rendt= LastValue(ValueWhen(tFb, x 
));Rstartt=LastValue(ValueWhen( tFa, x ));Rdt =Rendt-Rstartt;endR = 
Hb;startR = Ha;aR = (endR-startR)/Rdt;bR = endR;trendlineR = aR * ( 
x  -Rendt ) + bR; Graph4 = IIf(Filter2 AND 
x>Rstartt-5,trendlineR,-1e10);Graph4BarColor=10;Filter=Filter1 OR 
Filter2;NumColumns=8;Column0=Filter1;Column1=Filter2;Column0Format=Column1Format=1.0;Column0Name="H&S";Column1Name="inv 
H&S";g3=Graph3;g4=Graph4;upcr=filter2 AND Cross(C,trendlineR) 
AND x>tendt1;dncr=filter1 AND Cross(trendlineS,C) AND 
x>endt1;/*H&S 
target*/diff1=ValueWhen(x==medt1,C-trendlineS);target1=trendlineS-diff1;target1cross=Cross(target1,C) 
AND Filter1;Graph5=IIf(filter1 AND 
x>endt1,target1,-1e10);Graph5Style=8;Graph5BarColor=7;/*Inverted 
H&S 
target*/diff2=ValueWhen(x==tmedt1,trendlineR-C);target2=trendlineR+diff2;target2cross=Cross(C,target2) 
AND Filter2;Graph6=IIf(Filter2 AND 
x>tendt1,target2,-1e10);Graph6Style=8;Graph6BarColor=10;Graph1BarColor=IIf(C1 
AND Filter1,7,IIf(C2 AND Filter2,10,IIf(upcr OR target2cross,5,IIf(dncr OR 
target1cross,4,1))));
Note1. The peak P3 [Nov4] was recognized as a 
peak after Nov11 [point X] close !!