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

Re: [amibroker] Re: Scale Out Question



PureBytes Links

Trading Reference Links

These may not be all the errors, but just a couple in quick look

At the sigscale you should use BuyPrice

             Buy[i] = sigScaleOut;
             BuyPrice[i] = FirstProfitTarget + PriceAtBuy;

and at teh exit you need to use Sell

               if(Exit == 2)
               {
               Sell[i] = 1;


In your short section make sure you use Short and Cover, not Buy and Sell

-- 
Cheers
Graham
AB-Write >< Professional AFL Writing Service
Yes, I write AFL code to your requirements
http://www.aflwriting.com



On 17/05/07, jjj_98 <jjj_98@xxxxxxxxx> wrote:
> Spent another day on this problem.   Very frustrated at this point.
> Even when I reduce the whole thing down to just the trailing stop
> portion on the buy side only it still does not work.  Has anyone been
> able to get this code from the Pyramiding section of the website to
> work?  Are there things missing in the code or has it been updated
> recently?  Does this code need to follow or precede the
> normal "Buy", "Sell", "Short", "Cover" instructions in the code?
>
> Any tidbit of advice on this would be very appreciated.
>
> thx,
>
> Fred
>
>
>
>
> --- In amibroker@xxxxxxxxxxxxxxx, "jjj_98" <jjj_98@xxx> wrote:
> >
> > Hi,
> >
> > Trying to scale out of a position in my code and used the code from
> > one of the articles on the AB website.  What is happening is that
> the
> > program does not recognize the profit targets or trailing stops
> that
> > have been set up in the code.  At one point it was recognizing it,
> > but not correctly and when it scaled out it scaled out 100% rather
> > than 50%.
> >
> > I've spent a few hours trying to make this work.  I'd really
> > appreciate it if anyone could take a look at the portion of the
> code
> > in question below and let me know if they see any obvious
> problems.
> > Yes, I have defined TrailingStop and FirstProfitTarget parameters.
> >
> > thx,
> >
> > PriceatBuy = 0;
> > PriceatShort = 0;
> > HighSinceBuy = 0;
> > LowSinceShort = 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] >= (FirstProfitTarget +
> > PriceAtBuy))
> >               {
> >               // first profit target hit - Scale Out
> >               Exit = 1;
> >               Buy[i] = sigScaleOut;
> >               SellPrice[i] = FirstProfitTarget + PriceAtBuy;
> >
> >               }
> >               if(Low[i] <= (HighSinceBuy - TrailingStop))
> >               {
> >               // trailing stop hit - exit
> >               Exit = 2;
> >               SellPrice[i] = (HighSinceBuy - TrailingStop);
> >               }
> >               if(Exit == 2)
> >               {
> >               Buy[i] = 0;
> >               Exit = 0;
> >               PriceAtBuy = 0;
> >               HighSinceBuy = 0;
> >               }
> >       }
> >
> >       if(PriceatShort == 0 AND Short[i])
> >       {
> >               PriceatShort = ShortPrice[i];
> >       }
> >       if(PriceatShort > 0)
> >       {
> >               LowSinceShort = Min(Low[i] , LowSinceShort);
> >               if(Exit == 0 AND Low[i] <= (PriceatShort -
> > FirstProfitTarget))
> >               {
> >               // first profit target hit - Scale Out
> >               Exit = 1;
> >               Short[i] = sigScaleOut;
> >               }
> >               if(High[i] >= (LowSinceShort + TrailingStop))
> >               {
> >               // trailing stop hit - exit
> >               Exit = 2;
> >               BuyPrice[i] = (LowSinceShort + TrailingStop);
> >               }
> >               if(Exit == 2)
> >               {
> >               Short[i] = 0;
> >               Exit = 0;
> >               PriceatShort = 0;
> >               LowSinceShort = 0;
> >               }
> >
> >       }
> >
> > }
> > SetPositionSize(50,spsPercentOfPosition*((Buy == sigScaleOut)+
> (Short
> > == sigScaleOut)));
> > //scale out of 50% of position
> >
>
>
>
>
> Please note that this group is for discussion between users only.
>
> To get 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
>
>
>
>


Please note that this group is for discussion between users only.

To get 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/