Kase Filter Expert You will need to have the PowerPivots Plus Add-on installed to have this expert work Highlights Long Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 Short Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 Symbol Long Entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 AND Ref(B,-1)<=0 Short Entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 AND Ref(B,-1)>=0 *****Kase Filter w Trend Direction Expert***** you will need the PowerPivots Plus Add-on for this Expert to work Highlights Long Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 Short Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 Out Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 Symbols Long Entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 AND Ref(B,-1)<=0 Short Entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 AND Ref(B,-1)>=0 Long Exit Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 AND Ref(B,-1)>0 Short Exit Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 AND Ref(B,-1)<0 *****Kase Filter w Trend Direction Expert***** Darn those smileys Here is the Expert again Highlights Long Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 Short Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 Out Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 Symbols Long Entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B>0 AND Ref(B,-1)<=0 Short entry Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B<0 AND Ref(B,-1)>=0 Long Exit Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 AND Ref(B,-1)>0 Short Exit Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); TD:=ExtFml("PowerPivots.TrendDirection",1,2); LE:=Cross(LN1,0) and TD=1; SE:=Cross(0,LN1) and TD=-1; LX:=Cross(0,LN1) and TD>=0; SX:=Cross(LN1,0) and TD<=0; B:=ExtFml("PowerPivots.SysEval",LE,LX,SE,SX,"!@#$#@!"); B=0 AND Ref(B,-1)<0 *****Kase Filter Expert w Patrick's Latch***** Highlights LONG : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = 1 SHORT : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = -1 out : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = 0 Symbols tab ENTER LONG : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = 1 AND Ref(B,-1) <> 1 ENTER SHORT : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = -1 AND Ref(B,-1) <> -1 EXIT LONG : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = 0 AND Ref(B,-1) = 1 EXIT SHORT : Pk:=Mov((RWIH(10,30)- RWIL(10,30)),3,W); MN:=Mov(Pk,30,S); SD:=Stdev(Pk,30); Val1:=If(MN+(1.33*SD)>2.08,MN+(1.33*SD),2.08); Val2:=If(MN-(1.33*SD)<-1.92,MN-(1.33*SD),-1.92); LN1:=If(Ref(Pk,-1)>=0 AND Pk>0,Val1,If(Ref(Pk,-1)<=0 AND Pk<0,Val2,0)); LE:=Cross(LN1,0); SE:=Cross(0,LN1); LX:=0; SX:=0; B:= ExtFml("ForumDll.Latch",LE,LX,SE,SX); B = 0 AND Ref(B,-1) = -1