MA X Moving Average
Tracking moving average crossovers, the MA X Moving Average AFL, when integrated with an AmiBroker data feed, identifies potential shifts in market trends. Real-time data feeds enhance the AFL’s ability to signal entry and exit points accurately, enabling traders to act promptly on changing market conditions.
/ /* ----------------------------------- Author: Thomas Heyen Mechanical Trading Model ER2 - Emini Russel 2000 Curve Fit June 2006 Base Time Frame: 15 seconds ----------------------------------- */ PositionSize = MarginDeposit = 1; MarketHours = TimeNum()>=154000 AND TimeNum()<=214000; MarketClose= TimeNum()>=214444 AND TimeNum()<=240000; perl = 24;//Optimize("smoothing periods long",24,10,60,2); perl2 = 72;//Optimize("smoothing periods long slow",72,60,100,4); per = 54;//Optimize("smoothing periods",54,20,80,2); //DEMA = 24 long & DEMA=48 short per2 = 72;//Optimize("smoothing periods slow",90,60,100,4); //DEMA=74 long & DEMA=90 short - around 80 will do //per=Param("periods",3,3,89,1); up= (DEMA(C,perl)>Ref(DEMA(C,perl),-1)) AND (Ref(DEMA(C,perl),-2)>Ref(DEMA(C,perl),-1)); down= (DEMA(C,per)DEMA(C,perl2)); Cover = up; Short = down AND (DEMA(C,per)0) { // transmit order ibc.PlaceOrder( Name(), "Sell", 1, "MKT", 0, 0, "Day", True ); } } if( LastValue( Short ) ) { if( ibc.GetPositionSize( Name() ) > -1) { // transmit order ibc.PlaceOrder( Name(), "SShort", 1, "MKT", 0, 0, "Day", True ); } } if( LastValue( Cover ) ) { if( ibc.GetPositionSize( Name() ) <0) { // transmit order ibc.PlaceOrder( Name(), "Buy", 1, "MKT", 0, 0, "Day", True ); } } } */