Trade Equity GV Funds LE Files. The GV.DLL file is required for the Trade Equity indicator in this document. INDICATORS - Install in 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 GV Funds LE} {V5.1} {2004 Roy Larsen, rlarsen@man.quik.co.nz} B:=Input("Buy 2=C 3=H 4=L 5=Stop" ,1,5,2); Z:=Input("Sell 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); I:=Input("Display Option 0-12",0,12,0); Cp:=5000; {* trade capital} F:=1; {* trade size Fml(), <1 =%, >1 =shares} N:= Fml("Entry Binary"); {Buy} Ns:=0; X:= Fml("Exit Binary"); {Sell} Xs:=0; {* end user area *} I:=ExtFml("GV.SetVar","Le",I); 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=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=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); 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); N:=(Ex+Lb>0)*If(Cp=0,Y-A-Cn-Cx,(F-Cn)*(Y/A)-F-Ex*Cx); B:=Alert(Tr,2)*(1+BarsSince(En+I)); Xs:=Alert(Tr,2)*If(Cp=0,Y-A,(F-Cn)*(Y/A)-F-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,Y-A-Cn,(F-Cn)*(Y/A)-F); I:=ExtFml("GV.SetVar","I",I);I:=ExtFml("GV.SetVar","N",N); I:=ExtFml("GV.SetVar","X",X);I:=ExtFml("GV.SetVar","Cn",Cn); I:=ExtFml("GV.SetVar","Cp",Cp);I:=ExtFml("GV.SetVar","Cx",Cx); I:=ExtFml("GV.SetVar","En",En);I:=ExtFml("GV.SetVar","Ex",Ex); I:=ExtFml("GV.SetVar","Lb",Lb);I:=ExtFml("GV.SetVar","Nd",Nd); I:=ExtFml("GV.SetVar","Ns",Ns);I:=ExtFml("GV.SetVar","Tr",Tr); I:=ExtFml("GV.SetVar","Xd",Xd);I:=ExtFml("GV.SetVar","Xs",Xs); I:=ExtFml("GV.SetVar","F",F);I:=ExtFml("GV.SetVar","Eq",M); {Fml("Trade Equity Funds LE Display");}M; -------8<---------------------------------- {Trade Equity Funds LE Display} {V5.1} {2004 Roy Larsen, rlarsen@man.quik.co.nz} {use with Trade Equity GV Funds LE} { Display options: 0, total dollar equity 1, total percent equity 2, dollar equity per trade 3, percent equity per trade 4, amount of winning trades 5, amount of losing trades 6, number of winning trades 7, number of losing trades 8, trade in progress 9, bars in a trade 10, total bars in all trades 11, Maximum Favourable Excursion 12, Maximum Adverse Excursion } M:=ExtFml("GV.GetVar","Eq"); Z:=ExtFml("GV.GetVar","Le"); I:=ExtFml("GV.GetVar","I"); N:=ExtFml("GV.GetVar","N"); X:=ExtFml("GV.GetVar","X"); Cn:=ExtFml("GV.GetVar","Cn"); Cp:=ExtFml("GV.GetVar","Cp"); Cx:=ExtFml("GV.GetVar","Cx"); En:=ExtFml("GV.GetVar","En"); Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); Nd:=ExtFml("GV.GetVar","Nd"); Ns:=ExtFml("GV.GetVar","Ns"); Tr:=ExtFml("GV.GetVar","Tr"); Xd:=ExtFml("GV.GetVar","Xd"); Xs:=ExtFml("GV.GetVar","Xs"); A:=(Cp>0)/(Cp+(Cp=0)); If(Z=0,M, If(Z=1,100*(M-Cp)*A, If(Z=2,N+M-Cp-Cum(N), If(Z=3,100*(N+M-Cp-Cum(N))*A, 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<---------------------------------- EXPLORATIONS - Install indicators first. -------8<---------------------------------- Exploration notes {Trade Equity GV Funds LE 1 Daily} {2004 Roy Larsen, rlarsen@man.quik.co.nz} {This is the first exploration in a family of four that create trading system statistical reports using "Trade Equity GV Funds LE" with daily data. These reports can be copied to Excel for summary or further analysis. Each exploration can be run alone or with others in the set. Make sure that the "Trade Equity GV Funds LE" indicator parameters are set up correctly before proceeding.} Col A: $ Profit {Column A: $ Profit} {Net profit} Eq:=Fml("Trade Equity Funds GV LE"); Tr:=ExtFml("GV.GetVar","Tr"); Cp:=ExtFml("GV.GetVar","Cp"); Equity:=ExtFml("GV.GetVar","Equity"); Trades:=ExtFml("GV.GetVar","Trades"); Equity:=ExtFml("GV.SetVar","Equity",Eq+Equity-Cp); Trades:=ExtFml("GV.SetVar","Trades",Trades+Tr); N:=ExtFml("GV.GetVar","N"); LastValue(Cum(N)); Col B: $ Win {Column B: $ Win} {Amount of winning trades} N:=ExtFml("GV.GetVar","N"); LastValue(Cum((N>0)*N)); Col C: $ Loss {Column C: $ Loss} {Amount of losing trades} N:=ExtFml("GV.GetVar","N"); LastValue(Cum((N<0)*N)); Col D: # Win {Column D: # Win} {Number of winning long trades} N:=ExtFml("GV.GetVar","N"); LastValue(Cum(N>0)); Col E: # Loss {Column E: # Loss} {Number of losing long trades} Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); N :=ExtFml("GV.GetVar","N"); LastValue(Cum((Ex OR Lb) AND N<=0)); Col F: # BarsIn {Column F: # BarsIn} {Total bars in all trades} Tr:=ExtFml("GV.GetVar","Tr"); LastValue(Cum(Alert(Tr<>0,2))); Filter {Filter} Cum(Alert(ExtFml("GV.GetVar","Tr")<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity GV Funds LE 2 Daily} {2004 Roy Larsen, rlarsen@man.quik.co.nz} {This is the second exploration in a family of four that create trading system statistical reports using "Trade Equity GV Funds LE" with daily data. These reports can be copied to Excel for summary or further analysis. Each exploration can be run alone or with others in the set. Make sure that the "Trade Equity GV Funds LE" indicator parameters are set up correctly before proceeding.} Col A: #BarsOut {Column A: #BarsOut} {Bars out} Eq:=Fml("Trade Equity Funds GV LE"); Tr:=ExtFml("GV.GetVar","Tr"); Cum(Tr>-1)-Cum(Alert(Tr,2)); Col B: #TotBars {Column B: #TotBars} {Explored bars total} I:=ExtFml("GV.GetVar","I"); Cum(I>-1); Col C: $ Costs {Column C: $ Costs} {Commissions paid} Cn:=ExtFml("GV.GetVar","Cn"); Cx:=ExtFml("GV.GetVar","Cx"); En:=ExtFml("GV.GetVar","En"); Ex:=ExtFml("GV.GetVar","Ex"); Cum(En*Cn+Ex*Cx); Col D: Buy/Hold {Column D: Buy/Hold} {Buy & hold profit/loss, first bar or signal} Cn:=ExtFml("GV.GetVar","Cn"); Cp:=ExtFml("GV.GetVar","Cp"); Tr:=ExtFml("GV.GetVar","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 {Column E: P Index} {Profit index} N :=ExtFml("GV.GetVar","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 {Column F: In Trade} {Currently in a trade} ExtFml("GV.GetVar","Tr"); Filter {Filter} Cum(Alert(ExtFml("GV.GetVar","Tr")<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity GV Funds LE 3 Daily} {2004 Roy Larsen, rlarsen@man.quik.co.nz} {This is the third exploration in a family of four that create trading system statistical reports using "Trade Equity GV Funds LE" with daily data. These reports can be copied to Excel for summary or further analysis. Each exploration can be run alone or with others in the set. Make sure that the "Trade Equity GV Funds LE" indicator parameters are set up correctly before proceeding.} Col A: $ MAE {Column A: $ MAE} {Maximum adverse excursion - $ or %} Eq:=Fml("Trade Equity GV Funds LE"); Nd:=ExtFml("GV.GetVar","Nd"); Nd; {Cp:=ExtFml("GV.GetVar","Cp"); Ndp:=PREC(100*Nd/Cp,1); Ndp;} Col B: $ MFE {Column B: $ MFE} {Maximum favourable excursion - $ or %} Ns:=ExtFml("GV.GetVar","Ns"); Ns; {Cp:=ExtFml("GV.GetVar","Cp"); Nsp:=PREC(100*Ns/Cp,1); Nsp;} Col C: Win Bars {Column C: Win Bars} {Total bars in winning trades} ExtFml("GV.GetVar","X"); Col D: LoseBars {Column D: LoseBars} {Total bars in losing trades} ExtFml("GV.GetVar","Xd"); Col E: Max Win {Column E: Max Win} {Maximum consecutive winning trades} Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); N :=ExtFml("GV.GetVar","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 {Column F: Max Lose} {Maximum consecutive losing trades} Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); N :=ExtFml("GV.GetVar","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} Cum(Alert(ExtFml("GV.GetVar","Tr")<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<---------------------------------- Exploration notes {Trade Equity GV Funds LE 4 Daily} {2004 Roy Larsen, rlarsen@man.quik.co.nz} {This is the fourth exploration in a family of four that create trading system statistical reports using "Trade Equity GV Funds LE" with daily data. These reports can be copied to Excel for summary or further analysis. Each exploration can be run alone or with others in the set. Make sure that the "Trade Equity GV Funds LE" indicator parameters are set up correctly before proceeding.} Col A: B/H DwDn {Column A: B/H DwDn} {Maximum buy and hold adverse excursion} Eq:=Fml("Trade Equity GV Funds LE"); Cn:=ExtFml("GV.GetVar","Cn"); Cp:=ExtFml("GV.GetVar","Cp"); Tr:=ExtFml("GV.GetVar","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); I :=Cum(Ea>0)=1; Ea:=LastValue(Ea); Gl:=If(Cp>0,((Cp-Cn)*(C/Ea))-Cp,(C-Ea)); LowestSince(1,I,Gl); Col B: B/H +Exc {Column B: B/H +Exc} {Maximum buy and hold favourable excursion} Cn:=ExtFml("GV.GetVar","Cn"); Cp:=ExtFml("GV.GetVar","Cp"); Tr:=ExtFml("GV.GetVar","Tr"); Ea:=ValueWhen(1,Cum(1)=1 {OR Cum(Tr)=1} ,C); I :=Cum(Ea>0)=1; Ea:=LastValue(Ea); Gl:=If(Cp>0,((Cp-Cn)*(C/Ea))-Cp,(C-Ea)); HighestSince(1,I,Gl); Col C: AvgeWin {Column C: AvgeWin} {Average win} N :=ExtFml("GV.GetVar","N"); Gn:=Cum((N>0)*N); Up:=Cum(N>0); Up:=If(Up=0,-1,Up); Gn:=If(Up=0,1,Gn); If(Gn/Up=-1,0,Gn/Up); Col D: AvgeLoss {Column D: AvgeLoss} {Average loss} Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); N :=ExtFml("GV.GetVar","N"); Ls:=Cum((N<0)*N); Dn:=Cum(N<=0 AND (Ex OR Lb)); Dn:=If(Dn=0,-1,Dn); Ls:=If(Dn=0,-1,Ls); If(Ls/Dn>0,0,Ls/Dn); Col E: GL Ratio {Column E: GL Ratio} {Average gain/loss ratio} Ex:=ExtFml("GV.GetVar","Ex"); Lb:=ExtFml("GV.GetVar","Lb"); N :=ExtFml("GV.GetVar","N"); Gn:=Cum((N>0)*N); Up:=Cum(N>0); Ls:=Cum((N<0)*N); Ok:=Gn>0 AND Ls<0; Dn:=Cum(N<=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 {Column F: PkTrough} {Maximum $ peak-to-trough range} I :=ExtFml("GV.GetVar","I"); Tr:=ExtFml("GV.GetVar","Tr"); Xs:=ExtFml("GV.GetVar","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} Cum(Alert(ExtFml("GV.GetVar","Tr")<>0,2))>0; Filter enabled Yes Periodicity Daily Records required XXX -------8<----------------------------------