Trade Equity SE Files. INDICATORS - Install in the listed order. -------8<---------------------------------- {Date Filter} {2004 Roy Larsen, rlarsen@man.quik.co.nz} Sd:=Input("Start day" ,1,31,1); Sm:=Input("Start month",1,12,1); Sy:=Input("Start year" ,1980,2010,2002); Ed:=Input("End day" ,1,31,31); Em:=Input("End month" ,1,12,12); Ey:=Input("End year" ,1980,2010,2004); Start:=(DayOfMonth()>=Sd AND Month()=Sm AND Year()=Sy) OR Year()>Sy OR (Year()=Sy AND Month()>Sm); End:=(DayOfMonth()<=Ed AND Month()=Em AND Year()=Ey) OR Year()Ref(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2) AND Ref(L,-4)>Ref(L,-2)),Ref(L,-2)); Cross(F2,L)*Fml("Date Filter"); -------8<---------------------------------- {Entry Price} {CLOSE} F1:=ValueWhen(1,Cum(1)=5 OR HRef(L,-2) AND Ref(L,-1)>Ref(L,-2) AND Ref(L,-3)>Ref(L,-2) AND Ref(L,-4)>Ref(L,-2),Ref(L,-2)); Cross(F2,L)*C*Fml("Date Filter"); -------8<---------------------------------- {Trade Equity SE} {V5.1} {2004 Roy Larsen, rlarsen@man.quik.co.nz} B:=Input("Sell 1=O 2=C 3=H 4=L 5=Stop" ,1,5,2); Z:=Input("Cover 1=O 2=C 3=H 4=L 5=Stop",1,5,2); Nd:=Input("Sell Delay", 0,5,0); Xd:=Input("Cover Delay",0,5,0); Cn:=Input("Sell / Cover Costs",0,9999,2525); En:=Input("Display Options 0-12",0,12,0); Cp:=5000; {* trade capital} F:=1; {* trade size Fml(), <1 =%, >1 =shares} N:= Fml("Exit Binary"); {Sell Short} Ns:=0; X:= Fml("Entry Binary"); {Buy to Cover} Xs:=0; {* end user area *} F:=If(F=0,1,F);Ns:=(B=5)*Ns; Cx:=Cn-100*Int(Cn/100);Cn:=Int(Cn/100); M:=If(Ns>0,Min(H,Max(L,Ns)),If(B=1,O,If(B=3,H,If(B=4,L,C)))); N:=N AND Alert(N=0,2)+(Cum(N>-1)=1); X:=X AND (Z<5)*(Alert(X=0,2)+(Cum(N>-1)=1)); N:=ValueWhen(1+Nd,1,N);N:=If(B<5,N,Ns>0); Y:=If(Xs>0,Min(H,Max(L,Xs)),If(Z=1,O,If(Z=3,H,If(Z=4,L,C)))); X:=ValueWhen(1+Xd,1,X);X:=X+Xs>0; Y:=If((Z<5)*(X=0),C,Y);Y:=If((Xs>0)*N*X,Xs,Y); I:=Cum(F+N+X>-1)=1; Y:=If((N+X=0)*Alert(N*X,2),ValueWhen(2,1,Y),Y); N:=(I>-1)*N; F:=ValueWhen(1,I+N,F); Tr:=BarsSince(I+N)<(BarsSince(I+X)+(Cum(N)=1 AND Cum(I+X)=1)); Tr:=If((N+X>1)*(Alert(Tr,2)+((Nd+Xd<1)*(B<>2) *(Z>1)*(Max(B,Z)>4 OR B<>Z))),1,Tr); Nd:=En; En:=(Tr+Alert(Tr=0,2)=2)+I; Ex:=(Tr=0)*Alert(Tr,2); M:=If(I*(N=0),C,M); Lb:=Alert(Tr,2)*(LastValue(Cum(1))=Cum(1)); A:=ValueWhen(1,En,If(M=0,1,M)); F:=ValueWhen(1,En,If(F>1,A*F+Cn,Cp*F)); En:=Tr+(Alert(Tr=0,2)+I>0)=2; Z:=Nd; N:=If(Ex+Lb>0,If(Cp=0,A-Y-Cn-Cx,(F-Cn)*((A-Y)/A)-Cn-If(Ex,Cx,0)),0); B:=Alert(Tr,2)*(1+BarsSince(En+I)); Xs:=Alert(Tr,2)*If(Cp=0,A-Y,(F-Cn)*((A-Y)/A)-Cn-Ex*Cx); Nd:=LowestSince(1,I,Xs); Ns:=HighestSince(1,I,Xs); X:=Cum((Ex+Lb>0)*(N>0)*B); Xd:=Cum((Ex+Lb>0)*(N<=0)*B); M:=Cum(N)+Cp+Tr*(Lb=0)*If(Cp=0,A-Y-Cn,(F-Cn)*((A-Y)/A)-Cn); M; { Display options 0 total $ equity 1 total % equity 2 $ equity/trade 3 % equity/trade 4 winning trade $ 5 losing trade $ 6 winning trade # 7 losing trade # 8 trade in progress 9 bars/trade 10 bars - all trades 11 MFE 12 MAE} {Display disabled} {X:=(Cp>0)/(Cp+(Cp=0)); If(Z=0,M, If(Z=1,100*(M-Cp)*X, If(Z=2,N+M-Cp-Cum(N), If(Z=3,100*(N+M-Cp-Cum(N))*X, If(Z=4,Cum((N>0)*N), If(Z=5,Cum((N<0)*N), If(Z=6,Cum(N>0), If(Z=7,Cum(Ex+Lb>0 AND N<=0), If(Z=8,Tr, If(Z=9,BarsSince(I OR Alert(Tr,2)=0)*Alert(Tr,2), If(Z=10,Cum(Alert(Tr,2)), If(Z=11,Ns,Nd))))))))))));} -------8<---------------------------------- Exploration notes {Trade Equity SE 1} {2004 Roy Larsen, rlarsen@man.quik.co.nz} This is #1 of 4 explorations constructed to report various trading system statistics on individual stocks using the 'Trade Equity SE' indicator as the reference. Col A: $ Profit {Net profit} N:=FmlVar("Trade Equity SE","N"); Cum(N); Col B: $ Win {Amount of winning trades} N:=FmlVar("Trade Equity SE","N"); Cum(If(N>0,N,0)); Col C: $ Loss {Amount of losing trades} N:=FmlVar("Trade Equity SE","N"); Cum(If(N<0,N,0)); Col D: # Win {Number of winning long trades} N:=FmlVar("Trade Equity SE","N"); Cum(If(N>0,1,0)); Col E: # Loss {Number of losing long trades} Ex:=FmlVar("Trade Equity SE","Ex"); Lb:=FmlVar("Trade Equity SE","Lb"); N :=FmlVar("Trade Equity SE","N"); Cum(If((Ex OR Lb) AND N<=0,1,0)); Col F: # BarsIn {Total bars in all trades} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(If(Alert(Tr<>0,2),1,0)); Filter {Filter} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity SE 2} {2004 Roy Larsen, rlarsen@man.quik.co.nz} This is #2 of 4 explorations constructed to report various trading system statistics on individual stocks using the 'Trade Equity SE' indicator as the reference. Col A: #BarsOut {Bars out} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(Tr>-1)-Cum(Alert(Tr,2)); Col B: #TotBars {Explored bars total} I:=FmlVar("Trade Equity SE","I"); Cum(If(I>-1,1,0)); Col C: $ Costs {Commissions paid} Cn:=FmlVar("Trade Equity SE","Cn"); Cx:=FmlVar("Trade Equity SE","Cx"); En:=FmlVar("Trade Equity SE","En"); Ex:=FmlVar("Trade Equity SE","Ex"); Cum(If(En,Cn,If(Ex,Cx,0))); Col D: Buy/Hold {Buy & hold profit/loss, first bar or signal} Cn:=FmlVar("Trade Equity SE","Cn"); Cp:=FmlVar("Trade Equity SE","Cp"); Tr:=FmlVar("Trade Equity SE","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); Ea:=LastValue(Ea); Xp:=LastValue(C); If(Cp>0,((Cp-Cn)*(Xp/Ea))-Cp,(Xp-Ea)); Col E: P Index {Profit index} N :=FmlVar("Trade Equity SE","N"); Gn:=Cum(If(N>0,N,0)); Ls:=Cum(If(N<0,N,0)); Gn:=If(Gn=0,-1,Gn); If(Gn=-1,0,PREC(100*(Gn+Ls)/Gn,1)); Col F: In Trade {Currently in a trade} FmlVar("Trade Equity SE","Tr"); Filter {Filter} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity SE 3} {2004 Roy Larsen, rlarsen@man.quik.co.nz} This is #3 of 4 explorations constructed to report various trading system statistics on individual stocks using the 'Trade Equity SE' indicator as the reference. Col A: $Max DD {Maximum open trade drawdown} FmlVar("Trade Equity SE","Nd"); Col B: $MaxProf {Maximum open trade profit} FmlVar("Trade Equity SE","Ns"); Col C: Win Bars {Total bars in winning trades} FmlVar("Trade Equity SE","X"); Col D: LoseBars {Total bars in losing trades} FmlVar("Trade Equity SE","Xd"); Col E: Max Win {Maximum consecutive winning trades} Ex:=FmlVar("Trade Equity SE","Ex"); Lb:=FmlVar("Trade Equity SE","Lb"); N :=FmlVar("Trade Equity SE","N"); I :=Cum(Ex>-1)=2; Up:=N>0; Dn:=N<=0 AND (Ex OR Lb); Ca:=If(BarsSince(I OR Up)>=BarsSince(I OR Dn),0,1); Ct:=Cum(Cross(Up,0.5))-ValueWhen(1,I OR (Ca AND Alert(Ca=0,2)) OR (Ca=0 AND Alert(Ca,2)),Cum(Cross(Up,0.5))); Cup:=If(Ca,Ct+1,Ct); HighestSince(1,I,Cup); Col F: Max Lose {Maximum consecutive losing trades} Ex:=FmlVar("Trade Equity SE","Ex"); Lb:=FmlVar("Trade Equity SE","Lb"); N :=FmlVar("Trade Equity SE","N"); I :=Cum(Ex>-1)=2; Up:=N>0; Dn:=N<=0 AND (Ex OR Lb); Ca:=If(BarsSince(I OR Dn)>=BarsSince(I OR Up),0,1); Ct:=Cum(Cross(Dn,0.5))-ValueWhen(1,I OR (Ca AND Alert(Ca=0,2)) OR (Ca=0 AND Alert(Ca,2)),Cum(Cross(Dn,0.5))); Cdn:=If(Ca,Ct+1,Ct); HighestSince(1,I,Cdn); Filter {Filter} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity SE } {2004 Roy Larsen, rlarsen@man.quik.co.nz} This is #4 of 4 explorations constructed to report various trading system statistics on individual stocks using the 'Trade Equity SE' indicator as the reference. Col A: B/H DwDn {Maximum buy and hold drawdown} Cn:=FmlVar("Trade Equity SE","Cn"); Cp:=FmlVar("Trade Equity SE","Cp"); Tr:=FmlVar("Trade Equity SE","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); I :=Cum(Ea>0)=1; Ea:=LastValue(Ea); Gl:=((Cp-Cn)*(C/Ea))-Cp; LowestSince(1,I,Gl); Col B: B/H +Exc {Maximum buy and hold profitable excursion} Cn:=FmlVar("Trade Equity SE","Cn"); Cp:=FmlVar("Trade Equity SE","Cp"); Tr:=FmlVar("Trade Equity SE","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); I :=Cum(Ea>0)=1; Ea:=LastValue(Ea); Gl:=((Cp-Cn)*(C/Ea))-Cp; HighestSince(1,I,Gl); Col C: AvgeWin {Average win} N :=FmlVar("Trade Equity SE","N"); Gn:=Cum(If(N>0,N,0)); Up:=Cum(If(N>0,1,0)); Up:=If(Up=0,-1,Up); Gn:=If(Up=0,1,Gn); If(Gn/Up=-1,0,Gn/Up); Col D: AvgeLoss {Average loss} Ex:=FmlVar("Trade Equity SE","Ex"); Lb:=FmlVar("Trade Equity SE","Lb"); N :=FmlVar("Trade Equity SE","N"); Ls:=Cum(If(N<0,N,0)); Dn:=Cum(If(N<=0 AND (Ex OR Lb),1,0)); Dn:=If(Dn=0,-1,Dn); Ls:=If(Dn=0,-1,Ls); If(Ls/Dn>0,0,Ls/Dn); Col E: GL Ratio {Average gain/loss ratio} Ex:=FmlVar("Trade Equity SE","Ex"); Lb:=FmlVar("Trade Equity SE","Lb"); N :=FmlVar("Trade Equity SE","N"); Gn:=Cum(If(N>0,N,0)); Up:=Cum(If(N>0,1,0)); Ls:=Cum(If(N<0,N,0)); Ok:=Gn>0 AND Ls<0; Dn:=Cum(If(N<=0 AND (Ex OR Lb),1,0)); Gn:=If(Ok,Gn,-1); Ls:=If(Ok,Ls,1); Up:=If(Ok,Up,1); Dn:=If(Ok,Dn,1); Op:=(Gn/Up)/Abs(Ls/Dn); If(Op<0,0,PREC(Op,2)); Col F: PkTrough {Maximmum $ peak-to-trough range} I :=FmlVar("Trade Equity SE","I"); Tr:=FmlVar("Trade Equity SE","Tr"); Xs:=FmlVar("Trade Equity SE","Xs"); A :=If(Tr,HighestSince(1,Tr=0,Xs),0); B :=If(Tr,LowestSince(1,Tr=0,Xs),0); HighestSince(1,I,If(Tr,A-B,0)); Filter {Filter} Tr:=FmlVar("Trade Equity SE","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<----------------------------------