ok thanks Mike,

regards, Ed


  ----- Original Message ----- 
  From: Mike 
  To: [email protected] 
  Sent: Friday, July 03, 2009 6:32 PM
  Subject: [amibroker] Re: pyramiding - problems with code





  Ed,

  For what it is worth, it was your replies to my very first post that got me 
over the hump and on my way to solving my problem. It was also the spirit and 
generousity of those replies that instilled in me a sense of obligation to give 
back whenever I thought I might have something to offer in the same way that 
you helped me.

  Keep posting! And thanks again.

  Mike

  --- In [email protected], "Edward Pottasch" <empotta...@...> wrote:
  >
  > ok great. Sorry for my annoyed reply but sometimes I give detailed 
responses and never find out if my response is even read which kind off takes 
away the stimulus :)
  > 
  > For the code I posted you can add to scale out of additional contracts if 
needed. I have yet to work on problems where one first scales in and then 
scales out.
  > 
  > regards, Ed
  > 
  > 
  > 
  > ----- Original Message ----- 
  > From: gborrageiro 
  > To: [email protected] 
  > Sent: Friday, July 03, 2009 11:23 AM
  > Subject: [amibroker] Re: pyramiding - problems with code
  > 
  > 
  > 
  > 
  > 
  > hi Edward,
  > 
  > I do read replies...for some reason when I searched for my prior post it 
did'nt come up, so I thought it had'nt been posted.
  > Thanks for your code, it works!
  > I spent three weeks with Amibroker support and could'nt get it resolved. 
Code issues are not high on the list of their priorities unfortunately. 
  > 
  > thanks again.
  > 
  > --- In [email protected], "Edward Pottasch" <empottasch@> wrote:
  > >
  > > do you ever read replies?
  > > 
  > > 
  > > ----- Original Message ----- 
  > > From: gborrageiro 
  > > To: [email protected] 
  > > Sent: Thursday, June 25, 2009 6:36 PM
  > > Subject: [amibroker] pyramiding - problems with code
  > > 
  > > 
  > > 
  > > 
  > > 
  > > hi,
  > > 
  > > I am testing some scaling out strategies and can't get the backtester to 
go short. There's a prob with my code somewhere but I just can't see where. 
  > > 
  > > Your help would be appreciated! thanks
  > > 
  > > SetTradeDelays( 0, 0, 0, 0 );
  > > BuyPrice = Avg;
  > > ShortPrice = Avg;
  > > SetOption( "FuturesMode", True );
  > > SetOption( "InitialEquity", 100000 );
  > > 
  > > fast = ema(avg,10);
  > > slow = ema(avg,100);
  > > 
  > > Buy = Cross( fast, slow ) ;
  > > Short = Cross( slow, fast ) ;
  > > Sell = 0;
  > > Cover = 0;
  > > 
  > > FirstProfitTarget = 0.02; 
  > > TrailingStop = 0.06; 
  > > StopLoss = 0.02;
  > > 
  > > priceatbuy = 0;
  > > highsincebuy = 0;
  > > priceatshort = 0;
  > > lowsinceshort = 0;
  > > 
  > > exit = 0;
  > > 
  > > for ( i = 0; i < BarCount; i++ )
  > > {
  > > if ( priceatbuy == 0 AND Buy[ i ] )
  > > {
  > > priceatbuy = BuyPrice[ i ];
  > > }
  > > 
  > > if ( priceatshort == 0 AND Short[ i ] )
  > > {
  > > priceatshort = ShortPrice[ 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 ( Low[ i ] <= ( 1 - TrailingStop * 0.01 ) * highsincebuy )
  > > {
  > > // trailing stop hit - exit
  > > exit = 2;
  > > SellPrice[ i ] = Min( Avg[ i ], ( 1 - TrailingStop * 0.01 ) * 
highsincebuy );
  > > }
  > > 
  > > if ( Low[ i ] <= ( 1 - StopLoss * 0.01 ) * priceatbuy )
  > > {
  > > // Stop Loss hit - exit
  > > exit = 3;
  > > SellPrice[ i ] = Min( Avg[ i ], ( 1 - StopLoss * 0.01 ) * priceatbuy );
  > > }
  > > 
  > > if ( exit >= 2 )
  > > {
  > > Buy[ i ] = 0;
  > > Sell[ i ] = exit + 1; // mark appropriate exit code
  > > exit = 0;
  > > priceatbuy = 0; // reset price
  > > highsincebuy = 0;
  > > }
  > > }
  > > 
  > > if ( priceatshort > 0 )
  > > {
  > > lowsinceshort = Min( Low[ i ], lowsinceshort );
  > > 
  > > if ( exit == 0 AND
  > > Low[ i ] <= ( 1 - FirstProfitTarget * 0.01 ) * priceatshort )
  > > {
  > > // first profit target hit - scale-out
  > > exit = 1;
  > > Short[ i ] = sigScaleOut;
  > > 
  > > }
  > > 
  > > if ( High[ i ] >= ( 1 + TrailingStop * 0.01 ) * lowsinceshort )
  > > {
  > > // trailing stop hit - exit
  > > exit = 2;
  > > CoverPrice[ i ] = Max( Avg[ i ], ( 1 + TrailingStop * 0.01 ) * 
lowsinceshort );
  > > }
  > > 
  > > if ( High[ i ] >= ( 1 + StopLoss * 0.01 ) * priceatshort )
  > > {
  > > // Stop Loss hit - exit
  > > exit = 3;
  > > CoverPrice[ i ] = Max( Avg[ i ], ( 1 + StopLoss * 0.01 ) * priceatshort );
  > > }
  > > 
  > > if ( exit >= 2 )
  > > {
  > > Short[ i ] = 0;
  > > Cover[ i ] = exit + 1; // mark appropriate exit code
  > > exit = 0;
  > > priceatshort = 0; // reset price
  > > lowsinceshort = 0;
  > > }
  > > }
  > > }
  > > 
  > > SetPositionSize( 2, spsShares );
  > > 
  > > SetPositionSize( 50, spsPercentOfPosition * ( Buy == sigScaleOut ) ); // 
scale out 50% of position
  > > //SetPositionSize( 50, spsPercentOfEquity );
  > >
  >



  

Reply via email to