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

Re: [amibroker] Re: Scale Out Question



PureBytes Links

Trading Reference Links

Graham,
 
Thx, with a bit more work I've almost got it.  I had to change the settings for trade entry and exit to "0" days delay in the backtest setup window.   When "Buy" was set to 1 day delay it would exit 100% on scale out rather than 50%.  When "Buy" was set to "0 day delay" it would scale out 50%.  Similarily with Profit Targets and Trailing Stops; days delayed has to be equal to "0" to get accurate numbers otherwise the open from the next day was used.  To do this I had to go with taking all the trades at the close of the signal bar rather than the open of the next bar which does make some difference in the calculation of trailing stops as the high of the entry bar is used in the calcs and in real life you won't be experiencing that high as you'll be entering after it.  Not sure there is a way around this but it'll have to do for now.
 
Just a clarification, what do you use for covering a trade when you are short; "scalein" or "scaleout"?
 
 
Secondly, another problem has arisen and I have no idea why.  The backtest now only enters long trades and not any short trades.  Yes I have made sure the backtest is set for both long and short trades.  Got any ideas on this?  The only changes I've made to my program are mods to this portion that pertain to the scaling of trades.  I'm really stumped.
 
You've been a big help Graham,
 
thx,
 
Fred
 
 
 
 
----- Original Message -----
From: Graham
Sent: Wednesday, May 16, 2007 8:33 PM
Subject: Re: [amibroker] Re: Scale Out Question

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 <jjj_98@xxxxxxcom> 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
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 <jjj_98@xxxxxxcom> 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@xxxxxxxxxps.com, "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
>
>
>
>


Looking for earth-friendly autos?
Browse Top Cars by "Green Rating" at Yahoo! Autos' Green Center.





__._,_.___

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





SPONSORED LINKS
Investment management software Investment property software Investment software
Investment tracking software Return on investment software

Your email settings: Individual Email|Traditional
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch to Fully Featured
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe

__,_._,___


8:00? 8:25? 8:40? Find a flick in no time
with theYahoo! Search movie showtime shortcut.