For entry and scaling in/out use Buy for long trades, Short for short trades For exits Sell and Cover Because scaling uses Buy and Short you need to define the buyprice and shortprice for the scaling
Sell[i] = 1; defines Sell as one, ie exit the trade, similar for Cover[i]=1; for short trade exit -- Cheers Graham AB-Write >< Professional AFL Writing Service Yes, I write AFL code to your requirements http://www.aflwriting.com On 17/05/07, Ed Middleton <[EMAIL PROTECTED]> wrote:
Thx Graham, I'll give them a try. Just a bit confused on why you use BuyPrice with sigscale out but if you look further down in the code they use SellPrice when just closing all remaining positions. Can you explain? What does the Sell[i]=1 suppose to do? Is this just for the long section of the code? Would you use Buy[i] = 1 for the Short side? thx again, Fred ----- Original Message ----- *From:* Graham <[EMAIL PROTECTED]> *To:* [email protected] *Sent:* Wednesday, May 16, 2007 5:52 PM *Subject:* Re: [amibroker] Re: Scale Out Question 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 <[EMAIL PROTECTED] <jjj_98%40yahoo.com>> 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 [email protected] <amibroker%40yahoogroups.com>, "jjj_98" <[EMAIL PROTECTED]> 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 > > > > ------------------------------ Looking for earth-friendly autos? Browse Top Cars by "Green Rating"<http://autos.yahoo.com/green_center/;_ylc=X3oDMTE4MGw4Z2hlBF9TAzk3MTA3MDc2BHNlYwNtYWlsdGFncwRzbGsDZ3JlZW5jZW50ZXI->at Yahoo! Autos' Green Center.
