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 -----
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.