Monday, August 27, 2012

[STAD_01] Trending Follower System

This System is using Moving Average Bands
If close is highter than Top Band buy
If close is lower than Bot Band Sell




[THIS PART IS THE SYSTEM]
Inputs: XMALen(250), P1(30), P2(20), P3(450), VolLen(10), MultFact(2), stopPer(1.0);
Vars: TopBand(0), BotBand(0), XAvg(0), FastMA(0), MedMA(0), SlowMA(0), BullTrend(false), BearTrend(false);

var1 = Volatility( VolLen ) * MultFact;

if CurrentBar > 1 then
XAvg = ema( Close , XMALen );
FastMA = ma( Close, P1 );
MedMA = ma( Close, P1+P2 );
SlowMA = ma( Close, P1+P2+P3 );

BullTrend = FastMA > MedMA AND MedMA > SlowMA;
BearTrend = FastMA < MedMA AND MedMA < SlowMA;

If XAvg > TopBand AND BullTrend then begin
BotBand = TopBand;
TopBand = TopBand + var1;
End;

If XAvg < BotBand AND BearTrend then begin
TopBand = BotBand;
BotBand = BotBand - var1;
End;

if CrossUp(C , TopBand ) then buy();
if CrossDown(C , BotBand) then sell();

setstoploss(stopper);
SetStopEndofday(150000);


Inputs: Length(NumericSimple);

If CurrentBar >= 1 AND Length <> 0 Then Begin
If CurrentBar == 1 Then
Volatility = TrueRange;
Else
Volatility = ((Length - 1) * Volatility[1] + TrueRange) / Length;
End;

[THIS PART IS FOR THE CHART]
Inputs: XMALen(250), P1(30), P2(20), P3(450), VolLen(10), MultFact(2), stopPer(1.0);
Vars: TopBand(0), BotBand(0), XAvg(0), FastMA(0), MedMA(0), SlowMA(0), BullTrend(false), BearTrend(false);

var1 = Volatility( VolLen ) * MultFact;

if CurrentBar > 1 then
XAvg = ema( Close , XMALen );
FastMA = ma( Close, P1 );
MedMA = ma( Close, P1+P2 );
SlowMA = ma( Close, P1+P2+P3 );

BullTrend = FastMA > MedMA AND MedMA > SlowMA;
BearTrend = FastMA < MedMA AND MedMA < SlowMA;

If XAvg > TopBand AND BullTrend then begin
BotBand = TopBand;
TopBand = TopBand + var1;
End;

If XAvg < BotBand AND BearTrend then begin
TopBand = BotBand;
BotBand = BotBand - var1;
End;

plot1(TopBand);
plot2(BotBand);
plot3(Xavg);

-Charles Sin

No comments:

Post a Comment