Trade Equity LC 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 LC} {V5.1} {2004 Roy Larsen, rlarsen@man.quik.co.nz} B:=Input("Buy 1=O 2=C 3=H 4=L 5=Stop", 1,5,2); Z:=Input("Sell 1=O 2=C 3=H 4=L 5=Stop",1,5,2); Nd:=Input("Buy Delay", 0,5,0); Xd:=Input("Sell Delay",0,5,0); Cn:=Input("Buy / Sell Costs",0,9999,2525); En:=Input("Display Options 0-12",0,12,0); Cp:=5000; {* initial trade capital} N:= Fml("Entry Binary"); {Buy} Ns:=0; X:= Fml("Exit Binary"); {Sell} Xs:=0; {* end user area *} 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(N+X>-1)=1;N:=(I>-1)*N;Y:=If(Y=0,1,Y); K:=If(I,Y,ValueWhen(2,1,Y)); Y:=If((N+X=0)*Alert(N*X,2),K,Y); 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)); En:=Tr+(Alert(Tr=0,2)+I>0)=2; Z:=Nd; N:=Cum(I*Cp-En*Cn-Ex*Cx); Ns:=Cum(If(Alert(Tr,2)*If(B=5,1,En=0), (PREV+If(B+En=6,N,If(I,N+Cn,ValueWhen(2,1,N))))* If((B+En=6)+((B<5)*(En=0)*Alert(En,2)),(Y-A)/A,(Y-K)/K),0)); M:=N+Ns; X:=A*(M+(Ex*Cx))/Y; Xs:=(Ex+Lb>0)*(M>X+Cx)*(M-X-Cn); Xd:=(Ex+Lb>0)*(M<=X+Cx)*(M-X-Cn); Nd:=Alert(Tr,2)*(M-If(I,M,ValueWhen(2,1,ValueWhen(1,I+(Tr=0),M)))); 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} {If(Z=0,M, If(Z=1,100*(M-Cp)/Cp, If(Z=2,Nd, If(Z=3,100*Nd/ValueWhen(1,I+(Alert(Tr,2)=0),M), If(Z=4,Cum(Xs), If(Z=5,Cum(Xd), If(Z=6,Cum(Xs>0), If(Z=7,Cum((Ex+Lb>0)*(Xs=0)), If(Z=8,Tr, If(Z=9,BarsSince(I+(Alert(Tr,2)=0))*Alert(Tr,2), If(Z=10,Cum(Alert(Tr,2)), If(Z=11,HighestSince(1,I,Nd),LowestSince(1,I,Nd)))))))))))));} -------8<---------------------------------- Exploration notes {Trade Equity LC 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 LC' indicator as the reference. Col A: $ Profit {Net profit} Eq:=Fml("Trade Equity LC"); Cp:=FmlVar("Trade Equity LC","Cp"); Eq-Cp; Col B: $ Win {Amount of winning trades} Cum(FmlVar("Trade Equity LC","Xs")); Col C: $ Loss {Amount of losing trades} Cum(FmlVar("Trade Equity LC","Xd")); Col D: # Win {Number of winning long trades} Xs:=FmlVar("Trade Equity LC","Xs"); Cum(If(Xs>0,1,0)); Col E: # Loss {Number of losing long trades} Ex:=FmlVar("Trade Equity LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xs:=FmlVar("Trade Equity LC","Xs"); Cum(If(Xs=0 AND (Ex OR Lb),1,0)); Col F: # BarsIn {Total bars in all trades} Tr:=FmlVar("Trade Equity LC","Tr"); Cum(If(Alert(Tr<>0,2),1,0)); Filter {Filter} Tr:=FmlVar("Trade Equity LC","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity LC 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 LC' indicator as the reference. Col A: #BarsOut {Bars out} Tr:=FmlVar("Trade Equity LC","Tr"); Cum(Tr>-1)-Cum(Alert(Tr,2)); Col B: #TotBars {Explored bars total} I:=FmlVar("Trade Equity LC","I"); Cum(If(I>-1,1,0)); Col C: $ Costs {Commissions paid} Cn:=FmlVar("Trade Equity LC","Cn"); Cx:=FmlVar("Trade Equity LC","Cx"); En:=FmlVar("Trade Equity LC","En"); Ex:=FmlVar("Trade Equity LC","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 LC","Cn"); Cp:=FmlVar("Trade Equity LC","Cp"); Tr:=FmlVar("Trade Equity LC","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); Ea:=LastValue(Ea); Xp:=LastValue(C); ((Cp-Cn)*(Xp/Ea))-Cp; Col E: P Index {Profit index} Xs:=Cum(FmlVar("Trade Equity LC","Xs")); Xd:=Cum(FmlVar("Trade Equity LC","Xd")); Xs:=If(Xs=0,-1,Xs); If(Xs=-1,0,PREC(100*(Xs+Xd)/Xs,1)); Col F: In Trade {Currently in a trade} FmlVar("Trade Equity LC","Tr"); Filter {Filter} Tr:=FmlVar("Trade Equity LC","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity LC 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 LC' indicator as the reference. Col A: $Max DD {Maximum open trade drawdown} Nd:=FmlVar("Trade Equity LC","Nd"); LowestSince(1,Cum(Abs(Nd)>-1)=1,Nd); Col B: $MaxProf {Maximum open trade profit} Nd:=FmlVar("Trade Equity LC","Nd"); HighestSince(1,Cum(Abs(Nd)>-1)=1,Nd); Col C: Win Bars {Total bars in winning trades} En:=FmlVar("Trade Equity LC","En"); Xs:=FmlVar("Trade Equity LC","Xs"); I :=Cum(En>-1)=2; Cum(If(Xs>0,BarsSince(I OR En)+1,0)); Col D: LoseBars {Total bars in losing trades} En:=FmlVar("Trade Equity LC","En"); Ex:=FmlVar("Trade Equity LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xs:=FmlVar("Trade Equity LC","Xs"); I :=Cum(En>-1)=2; Cum(If(Xs<=0 AND (Ex OR Lb),BarsSince(I OR En)+1,0)); Col E: CnscWin {Maximum consecutive winning trades} Ex:=FmlVar("Trade Equity LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xs:=FmlVar("Trade Equity LC","Xs"); I :=Cum(Ex>-1)=2; Up:=Xs>0; Dn:=Xs<=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: CnscLose {Maximum consecutive losing trades} Ex:=FmlVar("Trade Equity LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xs:=FmlVar("Trade Equity LC","Xs"); I :=Cum(Ex>-1)=2; Up:=Xs>0; Dn:=Xs<=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 LC","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity LC 4} {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 LC' indicator as the reference. Col A: B/H DwDn {Maximum buy and hold drawdown} Cn:=FmlVar("Trade Equity LC","Cn"); Cp:=FmlVar("Trade Equity LC","Cp"); Tr:=FmlVar("Trade Equity LC","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 LC","Cn"); Cp:=FmlVar("Trade Equity LC","Cp"); Tr:=FmlVar("Trade Equity LC","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} Xs:=FmlVar("Trade Equity LC","Xs"); Gn:=Cum(If(Xs>0,Xs,0)); Up:=Cum(If(Xs>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 LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xd:=FmlVar("Trade Equity LC","Xd"); Ls:=Cum(If(Xd<0,Xd,0)); Dn:=Cum(If(Xd<=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 LC","Ex"); Lb:=FmlVar("Trade Equity LC","Lb"); Xs:=FmlVar("Trade Equity LC","Xs"); Xd:=FmlVar("Trade Equity LC","Xd"); Gn:=Cum(If(Xs>0,Xs,0)); Up:=Cum(If(Xs>0,1,0)); Ls:=Cum(If(Xd<0,Xd,0)); Ok:=Gn>0 AND Ls<0; Dn:=Cum(Xd<=0 AND (Ex OR Lb)); 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 LC","I"); Nd:=FmlVar("Trade Equity LC","Nd"); Tr:=FmlVar("Trade Equity LC","Tr"); A :=If(Tr,HighestSince(1,Tr=0,Nd),0); B :=If(Tr,LowestSince(1,Tr=0,Nd),0); HighestSince(1,I,If(Tr,A-B,0)); Filter {Filter} Tr:=FmlVar("Trade Equity LC","Tr"); Cum(Alert(Tr<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<----------------------------------