I've been messing with scaling into a long position but no such luck. Here is
my scaling code:
The Scaling function should work like this:
1) Initial Buy conditions met, buy 20% position
2) First Scale in, buy 30% position if C < Entryprice
3) Second Scale in, buy 50% position if C < C[1]
p1 = 2;
p2 = 3;
p3 = 5;
p4 = 0;
fInTrade=False;
nSize=0;
nBars=0;
nTrade=0;
nBars=0;
ScaleIn=0;
for (i=0;i<BarCount;i++)
{
if (Buy[i] AND !fInTrade)
{
fInTrade = True;
CLast = C[i];
ScaleIn[i]=p1;
iBuy = i;
nTrade++;
nEntry = 1;
}
else if (Sell[i] AND fInTrade)
{
fInTrade = False;
nSize = 0;
}
else if (fInTrade)
{
fScale1 = C[i] < CLast*.995 AND nEntry==1;
fScale2 = C[i] < CLast*.995 AND nEntry==2;
if (fScale1)
{
CLast = C[i];
Buy[i] = sigScaleIn;
ScaleIn[i]=p2;
nEntry++;
}
if (fScale2 )
{
CLast = C[i];
Buy[i] = sigScaleIn;
ScaleIn[i]=p3;
nEntry++;
}
}
}
//These lines were in an example but no idea what it does
//InPos = Flip(Buy, Sell);
//action = IIf(Buy, IIf(Buy==sigScaleIn, ScaleIn, 2), IIf(Sell, -1, 0));