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));



Reply via email to