5EMA, 15High/Low EMA Crossover

#1
Hello,
I am using one more AFL code for EMA crossover, Its having 5 EMA, 15 High EMA & 15 Low EMA. Its working fine when u see on chart but while scanning its not givin exact results. I tried to make changes but not succeed.

Please find below mentioned AFL:-
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();
_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();

_SECTION_BEGIN("ema_crossover");
x = EMA(Close,5);
y = EMA(High,15);
z = EMA(Low,15);
Plot(EMA(Close,5),"",colorRed,styleLine);
Plot(EMA(Low,15),"",colorPaleGreen,styleLine);
Plot(EMA(High,15),"",colorDarkGreen,styleLine);

Buy=Cross(x,z);
PlotShapes(shapeUpArrow*Buy,colorLightBlue);
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(Low,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";
Buy=Cross(x,y);
PlotShapes(shapeUpArrow*Buy,colorBlue);
AlertIf( Buy, "SOUND C:\\Windows\\Media\\notify.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(High,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";

Sell=Cross(y,x);
PlotShapes(shapeDownArrow*Sell,colorGrey);
AlertIf( Sell, "SOUND C:\\Windows\\Media\\chord.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(High,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";
Sell=Cross(z,x);
PlotShapes(shapeDownArrow*Sell,colorBlack);
AlertIf( Sell, "SOUND C:\\Windows\\Media\\chord.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(Low,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";
_SECTION_END();


Request to seniors to look into the code & modify this AFL for scanning purpose with exact results.

Regards,
TT
 

hitesh

Active Member
#2
The following is the formula with exploration.

_SECTION_BEGIN("Price");
SetChartOptions(0,chartShowArrows|chartShowDates);
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
_SECTION_END();


_SECTION_BEGIN("ema_crossover");
x = EMA(Close,5);
y = EMA(High,15);
z = EMA(Low,15);
Plot(EMA(Close,5),"",colorRed,styleLine);
Plot(EMA(Low,15),"",colorPaleGreen,styleLine);
Plot(EMA(High,15),"",colorDarkGreen,styleLine);

Buy=Cross(x,z);
PlotShapes(shapeUpArrow*Buy,colorLightBlue);
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(Low,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";
Buy2=Cross(x,y);
PlotShapes(shapeUpArrow*Buy2,colorBlue);
AlertIf( Buy2, "SOUND C:\\Windows\\Media\\notify.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(High,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";

Sell=Cross(y,x);
PlotShapes(shapeDownArrow*Sell,colorWhite);
AlertIf( Sell, "SOUND C:\\Windows\\Media\\chord.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(High,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";

Sell2=Cross(z,x);
PlotShapes(shapeDownArrow*Sell2,colorBlack);
AlertIf( Sell2, "SOUND C:\\Windows\\Media\\chord.wav", "Audio alert", 2 );
XR=(EMA(Close,5) * (2 / 6 - 1) - EMA(Low,15) * (2 / 11 - 1)) / (2 / 6 - 2 / 11);
Title = Name() + " " + Date()+" " + EncodeColor( colorBlue ) +"5/15 EMA " +EncodeColor( colorBlack )
+ " O " + O + " H " + H + " L " + L + " C "+ C + "\n";
_SECTION_END();

/////////////////////////////////// Exploration ///////////////////////
Filter = Buy OR Buy2 OR Sell OR Sell2;

/////////// General Columns ////////////////////////
AddTextColumn( FullName( ), "Name" );
AddColumn(C,"Close");
AddTextColumn( MarketID( 1 ), "Market name" );

//////////////// BUY/SELL SIGNALS ///////

AddColumn( IIf(Buy,1,IIf(Sell,-1,Null)) ,"Signal1",1.0,colorWhite,IIf(Buy,colorGreen,IIf(Sell,colorRed,colorWhite)));

AddColumn( IIf(Buy2,1,IIf(Sell2,-1,Null)) ,"Signal2",1.0,colorWhite,IIf(Buy2,colorGreen,IIf(Sell2,colorRed,colorWhite)));

//////////////////////////////////// Exploration over ////////////////////////////
Hope this helps.
 
Last edited:
#3
Hi Hitesh,
thanks a lot for modifying AFL, but gettin an error as follow:

//////////////// BUY/SELL SIGNALS ///////



AddColumn( IIf(Buy,1,IIf(Sell,-1,Null)) ,"Signal1",1.0,colorWhite,IIf(Buy,colorGreen,IIf(S e
-------------------------------------------------------------------------------------------^

Error 31.
Syntax error, expecting ')' or ','

Request you to look into the issue.

Regards,
TT
 

asnavale

Well-Known Member
#4
Hi Hitesh,
thanks a lot for modifying AFL, but gettin an error as follow:

//////////////// BUY/SELL SIGNALS ///////



AddColumn( IIf(Buy,1,IIf(Sell,-1,Null)) ,"Signal1",1.0,colorWhite,IIf(Buy,colorGreen,IIf(S e
-------------------------------------------------------------------------------------------^

Error 31.
Syntax error, expecting ')' or ','

Request you to look into the issue.

Regards,
TT
It appears you are just copying and pasting the formula. There is a space between 'II' and 'f'. Remove it.

-Anant
 

murthyavr

Well-Known Member
#5
The exploration is picking up only some of the scrips that satisfy the conditions of Buy/Sell.

Some stocks are left out by the AFL exploration.

I made sure to check "Apply to all symbols" and selected the date range as today.

Am I missing something?

Thanks..
 
Thread starter Similar threads Forum Replies Date
S AmiBroker 3
S AmiBroker 4
swot9 AmiBroker 4

Similar threads