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

Re: [amibroker] Tomasz, Need Help With sigScaleOut



PureBytes Links

Trading Reference Links

You need to define the BuyPrice at the scaleout bar


-- 
Cheers
Graham Kav
AFL Writing Service
http://www.aflwriting.com



2009/2/2 Pete <dryheat3@xxxxxxx>:
> I have spent several hours trying to implement the Scale-out strategy
> using futures contracts. I have finally come to the conclusion that
> the example in the help file does not create a true scale out system.
>
> Here's what I found:
> On the bar where a scale out is triggered, instead of reporting the
> target price that triggered the scale out, the back tester actually
> reports the open or close of that bar. (depending upon what settings
> are used in the trades tab). This does not match a real trading
> environment where you would place sell limit orders at your various
> targets and wait for the price to hit them.
>
> I have spent many frustrated hours trying to get it to show the actual
> target price as the exit price in the back tester but so far this
> alludes me.
> Here's an example of what I am trading in real life but so far cannot
> write code to duplicate in the back tester:
> Enter long 3 contracts.
> Stop loss set at buy price minus 1.25 points
> Target one set to buy price plus 1.25 points
> Target two set to buy price plus 2.5 points
> Remaining contract exits when close crosses below EMA(C, 20).
>
> The code below is what I have accumulated so far:
>
> Buy = <<Insert favorite buy signal here>>;
> Sell = 0;
> SystemExit = Cross(EMA(C, 20), Close);
> // 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 = 1.25; // profit
> SecondProfitTarget = 2.5; // in points
> TrailingStop = 1.25; // also in points
>
> 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 <= 2 AND
>                                SystemExit[i] )
>                {
>                //system exit hit - exit any remaining contracts
>                SellPrice[i] = Close[i];
>                exit = 3;
>                }
>
>      if( exit == 0 AND
>          High[ i ] >= FirstProfitTarget + priceatbuy )
>       {
>         // first profit target hit - scale-out
>         exit = 1;
>         Buy[ i ] = sigScaleOut;
>       }
>
>      if( exit == 0 AND
>          High[ i ] >= SecondProfitTarget + priceatbuy )
>       {
>         // second profit target hit - exit
>         exit = 2;
>         Buy[ i ] = sigScaleOut;
>                  //SellPrice[ i ] = Max( Open[ i ], SecondProfitTarget + priceatbuy );
>       }
>
>      if( Low[ i ] <=  priceatbuy - TrailingStop )
>       {
>         // trailing stop hit - exit
>         exit = 3;
>         SellPrice[ i ] = Min( Open[ i ], priceatbuy - TrailingStop );
>       }
>
>      if( exit >= 3 )
>       {
>         Buy[ i ] = 0;
>         Sell[ i ] = exit + 1; // mark appropriate exit code
>         exit = 0;
>         priceatbuy = 0; // reset price
>         highsincebuy = 0;
>       }
>    }
> }
>
> SetPositionSize( 15, spsPercentOfEquity ); //Equity is set at 10,000.00
> SetPositionSize( 1/3, spsPercentOfPosition * ( Buy == sigScaleOut ) );
> // scale out 50% of position
>

------------------------------------

**** IMPORTANT ****
This group is for the discussion between users only.
This is *NOT* technical support channel.

*********************
TO GET TECHNICAL SUPPORT from AmiBroker please send an e-mail directly to 
SUPPORT {at} amibroker.com
*********************

For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/

For other support material please check also:
http://www.amibroker.com/support.html

*********************************
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/amibroker/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:amibroker-digest@xxxxxxxxxxxxxxx 
    mailto:amibroker-fullfeatured@xxxxxxxxxxxxxxx

<*> To unsubscribe from this group, send an email to:
    amibroker-unsubscribe@xxxxxxxxxxxxxxx

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/