PureBytes Links
Trading Reference Links
|
Oh, one other thing I should have mentioned: Learn how to use "DebugView".
That will really help you see what's happening on a bar by bar basis. In
the help file search on _TRACE.
Download the file it points to and then populate your code with _Trace
statements so that you can see what's happening a crucial points as your
code executes. Its invaluable when trying to debug looping code. It'll
take some time but will help you understand what's going on.
d
_____
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf
Of allansn@xxxxxxxxxxxxx
Sent: Saturday, July 15, 2006 10:23 AM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] Re: I am lost
Tomasz,
that is certainly not the answer I was expecting.I am making a diligent
effort to learn the coding and I have a specific NEED....Perhaps you didnt
bother to read my prior message to the board
I posted the code that I was working with and can NOT get the results
expected from the code descriptions.It is not like I asked the board to code
me a system.I supplied the system which I copied from either the manual or a
user file.I had no problems whatsoever,but when I went into the detailed
trade report and went over the output,I discovered that the supposed scale
out of 50% was not occuring.but rather 86%.After spending several hours on
it,I thought that I may find some help
"I don't have any experience as a pilot but please give me simple
one-page instruction how to fly jumbo-jet from New York to London"
Sorry but this is NOT doable"
Tomasz,your analogy is way off base and I really dont appreciate it.
Allan
----- Original Message -----
From: Tomasz Janeczko <groups@xxxxxxxxxxxxx>
Date: Saturday, July 15, 2006 8:49 am
Subject: Re: [amibroker] Re: I am lost
> Hello,
>
> What you are asking for can be compared to:
> .
> It takes time and effort to learn how to fly as it takes time and
> effort to learn how to use any tool more sophisticated than a hammer.
>
> Sorry guys but of you have no experience you should start with
> something simple and make your system
> simple not using pyramiding and such stuff. Then go slowly
> learning AFL. THere is a plenty of material posted to this list,
> in the knowledge base and in the manual.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: allansn@xxxxxxxxxxxxx
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Saturday, July 15, 2006 2:04 PM
> Subject: Re: [amibroker] Re: I am lost
>
>
>
> Thanks OT,
>
> I will take you up on your offer.Ami is great program,but is in
> desparate need of a simplied" Dummy" manual for those that have
> very little programming experience.
>
> As I did not write this code,and was using it to learn "AFL",I
> am having a difficult time pinpointing what is causing an 86%
> scale out,when it should be 50%..
>
> If there are any power users who have a simple code that
> involves "scaling in/out of positions"and replacing stops,or a
> pyramyiding example would really appreciate seeing it.
>
> Allan
>
>
>
>
>
> ----- Original Message -----
>
>
> From: orionsturtle <orionsturtle@xxxxxxxxx>
>
> Date: Friday, July 14, 2006 10:20 pm
>
> Subject: [amibroker] Re: I am lost
>
>
> > I don't have the expertise in programming but I have been
> > struggling
> > with this same bit of code for the past 2 weeks. I have made
> it
> > work
> > on the long only side and would be glad to send you the EOD
> sys
> > file
> > I have that works. Between the detail log and the trade report
> you
> > should be able to see what is going on and make adjustments to
> > suite
> > your needs. The switches in the backtest settings will screw
> you
> > up
> > if not set properly and may account for your weird results.
> make
> > sure in the backtest settings>portfolio tab, that the limit
> trade
> > size as % of entry bar is set to zero and just the "Trade size
> > limit
> > when..." is the only thing checked. i have my max positions
> set to
> > one for now until I get the code fully to my liking. If you
> want
> > the
> > SYS file reach me at orionsturtle@xxxxxxxxx
> >
> > peace
> >
> > OT
> >
> > --- In amibroker@xxxxxxxxxxxxxxx, "matrix10014" <allansn@xxx>
> wrote:
> > >
> > > Hi,
> > > Been playing with a code that I copied to familairize myself
> > with
> > > some of the functionality of Amibroker...As you can see,the
> > entry
> > is
> > > a simple moving average crossover,that exits 50% of the
> position
> > up
> > > 20% and the remaining 50% up 30%.There is also a trailing
> stop..
> > >
> > > When i check a detailed log of the trade,I get very bizzare
> > results.
> > >
> > > An example is HANS..On 10/31/2005 I go long 205 shares of
> HANS@
> > 48.59
> > >
> > > On 11/3,I scale out of 176 shares@xxx is 86% of my
> > > position,when i am supposed to scale out of half.As its not
> my
> > > code,and i am trying to learn Ami code,i really dont know
> what
> > went
> > > wrong..
> > >
> > >
> > >
> > >
> > > 10/31/2005
> > > Enter Long, HANS, Price: 48.59, Shares: 205,
> > > Commission: 0, Rank: 1, Equity 100000, Margin Loan: 0, Fx
> rate: 1
> > >
> > >
> > > 11/3/2005
> > > Exit signals:HANS=Scale-Out,
> > > Scale-Out Long HANS, Price 59.74, Shares 176, Fx Rate 1,
> > > Number of shares - Current: 29, Exited: 176, Max: 205, Avg.
> > Entry
> > > Price 48.59, Avg. Exit Price 59.74, Avg Fx. Rate Entry 1,
> Exit
> > 1,
> > >
> > >
> > >
> > > The code is as follows
> > >
> > > Buy = Cross(C, MA( C,21) );
> > > Sell = 0;
> > >
> > > // the system will exit
> > > // 50% of position if FIRST PROFIT TARGET stop is hit
> > > // 50% of position is SECOND PROFIT TARGET stop is hit
> > > // 100% of position if TRAILING STOP is hit
> > >
> > > FirstProfitTarget = 20; // profit
> > > SecondProfitTarget =30; // in percent
> > > TrailingStop = 50; // also in percent
> > >
> > >
> > > priceatbuy=0;
> > > highsincebuy = 0;
> > >
> > > exit = 0;
> > >
> > > for( i = 0; i < BarCount; i++ )
> > > {
> > > if( priceatbuy == 0 AND Buy[ i ] )
> > > {
> > > priceatbuy = BuyPrice[ i ];
> > > }
> > >
> > > if( priceatbuy > 0 )
> > > {
> > > highsincebuy = Max( High[ i ], highsincebuy );
> > >
> > > if( exit == 0 AND
> > > High[ i ] >= ( 1 + FirstProfitTarget * 0.01 ) *
> > > priceatbuy )
> > > {
> > > // first profit target hit - scale-out
> > > exit = 1;
> > > Buy[ i ] = sigScaleOut;
> > > }
> > >
> > > if( exit == 1 AND
> > > High[ i ] >= ( 1 + SecondProfitTarget * 0.01 ) *
> > > priceatbuy )
> > > {
> > > // second profit target hit - exit
> > > exit = 2;
> > > SellPrice[ i ] = Max( Open[ i ], ( 1 +
> > SecondProfitTarget
> > *
> > > 0.01 ) * priceatbuy );
> > > }
> > >
> > > if( Low[ i ] <= ( 1 - TrailingStop * 0.01 ) *
> highsincebuy
> > )
> > > {
> > > // trailing stop hit - exit
> > > exit = 3;
> > > SellPrice[ i ] = Min( Open[ i ], ( 1 - TrailingStop
> *
> > > 0.01 ) * highsincebuy );
> > > }
> > >
> > > if( exit >= 2 )
> > > {
> > > Buy[ i ] = 0;
> > > Sell[ i ] = exit + 1; // mark appropriate exit code
> > > exit = 0;
> > > priceatbuy = 0; // reset price
> > > highsincebuy = 0;
> > > }
> > > }
> > > }
> > >
> > > SetPositionSize( 10, spsPercentOfEquity );
> > > SetPositionSize( 50, spsPercentOfPosition * ( Buy ==
> > > sigScaleOut ) ); // scale out 50% of position
> > >
> >
> >
> >
> >
> >
> >
>
|