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

RE: TradeSim



PureBytes Links

Trading Reference Links

Although the demo does NOT include the interface with Metastock, I'm not
sure if you could make systems by entering/exiting true STOP ORDERS (ex.
BUY @ Ref(high,-1)+0.15 and able the system to buy at that point) if
this would be possible this would open already a great area which MS was
limited too and this able to test on a wide range of stocks with the
necessary statistics. It is true that you don't account slippage into
this, but then you could instead of BUY @ Ref(high,-1)+0.30 do this in
order to include slippage.

If there is anyone using this product not the demo, please could they
post what they think of this product and if the things I posted here
above are possible.

What you can do is try to find the correct size for a system.

TradeSim Features
Unlike basket testers and single security back testers TradeSim is a
true portfolio trading simulator which analyzes the trades in the proper
chronological order and sequencing thus mimicking the way that real
trades would be executed. 
Ideal learning aids for beginning traders learning how to objectively
trade or for advanced traders using it to thoroughly and objectively
evaluate their own trading systems. 
Simple interface to Metastock using an external function plug in which
can be incorporated into your indicators or the Metastock explorer using
the Metastock indicator language. 
Automatically size trades according to the position size model used and
available capital thus mimicking realistic trading conditions. 
Different position sizing models allow quick comparison of trading
performances for a given trading system which answers the "What if?"
question. 
The ability to specify a complete set of trading parameters such as, the
position size model, the initial capital, the trade transaction cost,
the portfolio heat, the trade capital limit etc. 
The ability to model the effects of slippage through limit and market
orders. 
Trade positions include long, short or both sides. 
Simultaneously test multiple trading systems with an unlimited number of
trading entities. 
The ability to generate trade data with thousands of trading entities
unlike the system testers built into most charting packages which can
only generate a limited number of trades. 
User defined trading rules using MetastockR indicator builder language. 
Random walking of stock selection with the same entry date allows
different trading sequences whilst satisfying your trading rules. 
Multiple system analysis allows a mixture of different trading systems
to be simulated at the same time. 
Fast processing and analysis of the resulting trade data. For example,
simulate ten years of the S&P ASX 200 stocks in less than a minute on a
300MHz Windows 98 machine. 
Comprehensive and detailed trade system reports and professionally
printed color documents and charts for presentation and reporting
purposes. 
Comprehensive trade database manager allows advanced stock selection and
filtering to allow selective processing of stock groups. For example you
could process two years of stock trades rather than the full interval,
or deselect a certain stock group so that it won't appear in the trade
simulations. 
Color-coded trade log report lists in detail all of the trades in
chronological ordering or you can sort the list by any other criteria. 
Comprehensive and detailed charting capability with advanced chart
zooming and 3D display capabilities. 
Dynamic links between the TradeLog, Trade Database and Charts allows
detailed analysis of each individual trade. 
Trade Inspector allows detailed examination of each trade whilst viewing
the charts. 
Selective processing capability allows processing of certain securities
and filtering of both long and short trades. 
Simple user interface using Microsoft WindowsR; no clumsy DOS based
application. 
Advanced statistical analysis capability with the upgrade to the
Enterprise Edition of TradeSim.

-----Original Message-----
From: owner-metastock@xxxxxxxxxxxxx
[mailto:owner-metastock@xxxxxxxxxxxxx] On Behalf Of Roy Larsen
Sent: vrijdag 26 oktober 2001 00:38
To: metastock@xxxxxxxxxxxxx
Subject: Re: Multi Stop Indicator


Michel

> This looks really great if it works. I haven't tried it yet.

Trade Equity LE does work as far as the purpose for which it was
intended - namely to demonstrate that a simple multi-stock testing
system can be built by anyone with Meastock 6.2 and later without the
need to spend ANY more dollars. Naturally there are trade-offs that have
to be made, but cost is not one of them.

I'm more than happy to provide assistance to anyone that likes the idea
but struggles to make it work.

> But what about this Metastock add-on which also looks really great. 
> http://www.compuvision.com.au/index.htm

I've long given up the hope that the next piece of software I buy will
be the solution to all my testing and trading problems. However the user
manual (in pdf format) that comes with the demo of CompuVision is a very
good read.

Roy

> Greetings and thanks
> M.
>
> -----Original Message-----
> From: owner-metastock@xxxxxxxxxxxxx 
> [mailto:owner-metastock@xxxxxxxxxxxxx] On Behalf Of Roy Larsen
> Sent: donderdag 25 oktober 2001 20:33
> To: metastock@xxxxxxxxxxxxx
> Subject: Re: Multi Stop Indicator
>
>
> Tom
>
> > Roy, did you ever find and correct the bug in the Multi Stop 
> > indicator
>
> > you talked about?  Sure looks interesting!
>
> Regrettably, no. Each time I think I have a solution I find another 
> flaw in the logic. It seems that using a PREV is the only way to go 
> without resorting to a dll. Since I have neither the MDK nor the 
> programming skills to use it effectively I am unable to produce the 
> result I had hoped for. For what it's worth here is my current PREV 
> version. Take care if trying to match trades and stops to the MS 
> System Tester as this indicator is intended for use with a fixed 
> position size (as opposed to compounding), as used by the enabled code

> of Trade Equity LE, also included.
>
> Just for good measure I'm also including 1 exploration to give the 
> fixed equity code of Trade Equity LE basic multi-stock testing 
> capability. Unfortunately when Trade Stop LE (with PREV) is used with 
> Trade Equity LE the exploration across multiple stocks is intolerably 
> slow. If you have a FAST computer then speed may not be such an issue.
>
> Roy
>
>   {Trade Stop LE}
> No:=Input("Enter 1=O 2=C 3=Stop",1,3,2);
> Xo:=Input("Close 1=O 2=C 3=Stop",1,3,2);
> Nd:=Input("Entry Delay",0,3,0);
> Xd:=Input("Close Delay",0,3,0);
> Pt:=Input("Profit Target %",1,99,25)/100;
> Ls:=Input("Maximum Loss % ",1,99,10)/100;
> Cm:=25;                        {Trade commision}
> Cp:=5000;                      {Trade capital}
> N:=Fml("Your Entry");         {Entry formula}
> X:=Fml("Your Exit");          {Close formula}
> N:=If(No=3,N,Ref(N,-Nd));
> X:=If(Xo=3,X,Ref(X,-Xd));
> Np:=If(No=1,O,If(No=2,C,N));   {Entry price}
> Xp:=If(Xo=1,O,If(Xo=2,C,X));   {Close price}
> Pf:=(Cp*(1+Pt)+Cm)/(Cp-Cm);    {Profit factor}
> Lf:=(Cp*(1-Ls)+Cm)/(Cp-Cm);    {Loss factor}
>     {+Cm for exit, -Cm for entry}
> Tr:=If(PREV=0,If(N>0,Np,0),
> If(X>0 OR If(Xo<3,Xp,H)>=PREV*Pf OR If(Xo<3,Xp,L)<=PREV*Lf,0,PREV));
> Xb:=Tr=0 AND Alert(Tr>0,2);      {Exit bar}
> Ev:=ValueWhen(1,(Cum(N>-1 AND X>-1)=1) OR Tr>0,Tr);   {Entry value}
> Sp:=If(Xb,If(Xo<3,If(Xp>=Ev*Pf,Xp,0),
> If(O>=Ev*Pf,O,If(H>=Ev*Pf,Ev*Pf,0))),0);
> Sl:=If(Xb,If(Xo<3,If(Xp<=Ev*Lf,Xp,0),
> If(O<=Ev*Lf,O,If(L<=Ev*Lf,Ev*Lf,0))),0);
> Tr; Tr*Pf; Tr*Lf; {Entry amt, Target, Stoploss} 
> If(Xb,If(Xo<3,1,If(Sp>0,Sp,If(Sl>0,Sl,X))),0);
>
>   {Trade Equity LE}
> No:=Input("Enter 1=O 2=C 3=Stop",1,3,3);
> Xo:=Input("Close 1=O 2=C 3=Stop",1,3,1);
> Nd:=Input("Entry Delay",0,3,0);
> Xd:=Input("Close Delay",0,3,0);
> Cm:=Input("Trade Commission $",0,999,25);
> Cp:=Input("Trade Capital $",1000,100000,5000);
> N:= 0;
> Ns:=Fml("Your Entry");
> X:= Fml("Your Exit"); {Or Fml("Trade Stop LE")}
> Xs:=0;
>   {*** Do not change code below this line ***} Ns:=If(No=3,Ns,0); 
> Np:=If(No=1,O,If(No=2,C,Ns)); N:=N AND Alert(N=0,2);
> N:=If(Nd=0,N,Alert(N,Nd+1) AND Alert(N,Nd)=0);
> N:=If(No=3 AND Np>0,1,If(No<3,N,0));
> Xs:=If(Xo=3,Xs,0);
> Xp:=If(Xo=3 AND Xs>0,Min(O,Xs),If(Xo=1,O,C));
> X:=X AND Alert(X=0,2);
> X:=If(Xd=0,X,Alert(X,Xd+1) AND Alert(X,Xd)=0); X:=If(Xo=3,If(Xp>=L AND
> Xs>0,1,0),X); Xp:=If(Xo<3 AND No=3 AND X=0,C,Xp); Xp:=If(Xo=3 AND Xs>0
> AND N AND X,Xs,Xp); Xp:=If(Ref(Xo=3 AND N AND X,-1),Ref(Xp,-1),Xp); 
> I:=Cum(N<>-1 AND X<>-1)=1; Tr:=If(BarsSince(I OR N)>= BarsSince(I OR 
> X),0,1); Tr:=If(N AND X AND (No=3 OR Xo=3),1,Tr); Np:=If(I AND 
> N=0,C,Np); En:=(Tr AND Alert(Tr=0,2)) OR I; Ex:=Tr=0 AND Alert(Tr,2); 
> Lb:=(Tr OR Alert(Tr,2)) AND LastValue(Cum(1)-0)=Cum(1); 
> Ea:=ValueWhen(1,En,If(No=3 AND N AND X,Np,Max(O,Np))); 
> Ea:=If(No<3,ValueWhen(1,En,Np),Ea);
> En:=Tr AND Alert(Tr=0,2);
>   {*** Use Cs & Pf for compound equity ***}
> {Cs:=Cum(If(I,Cp,0)- If(En,Cm,0)- If(Ex,Cm,0));
> Pf:=Cum(If(Alert(Tr,2) AND If(No=3,1,En=0),
> (PREV+If(No=3 AND En,Cs,Ref(Cs,-1)))*
> If((No=3 AND En) OR (No<3 AND En=0 AND Alert(En,2)), 
> (Xp-Ea)/Ea,(Xp-Ref(Xp,-1))/Ref(Xp,-1)),0));
> Pf+Cs;}
>   {*** Use Gn & Tl for fixed Equity ***}
> Gn:=If(Ex OR Lb,(Cp-Cm)*(Xp/Ea)-Cp-Cm,0);
> Tl:=Cum(Gn)+If(Tr AND Lb=0,(Cp-Cm)*(Xp/Ea),Cp)+ If(Tr AND Lb,Cm,0); 
> Tl;
>
>   {Trade Equity LE Exploration}
> Periodicity: Daily
> COLUMN FORMULAS
> ColumnA: $ Profit
>   {Net profit}
> Cum(FmlVar("Trade Equity LE","Gn"));
> ColumnB: $ Win
>   {Amount of winning trades}
> Gain:=FmlVar("Trade Equity LE","Gn");
> Cum(If(Gain>0,Gain,0));
> ColumnC: $ Loss
>   {Amount of losing trades}
> Gain:=FmlVar("Trade Equity LE","Gn");
> Cum(If(Gain<0,Gain,0));
> ColumnD: # Win
>   {Number of winning long trades}
> Gain:=FmlVar("Trade Equity LE","Gn");
> Cum(If(Gain>0,1,0));
> ColumnE: # Loss
>   {Number of losing long trades}
> Gain:=FmlVar("Trade Equity LE","Gn");
> Cum(If(Gain<0,1,0));
> ColumnF: # BarsIn
>   {Total bars in all trades}
> Trade:=FmlVar("Trade Equity LE","Tr"); Cum(If(Alert(Trade<>0,2),1,0));

> FILTER SOURCE Filter Enabled: No Recommended minimum bars to test: 250
>
>
>
>
>
>