+91-0000000000

}

Monday – Friday : 9:00 AM – 6:30 PM

MACD Histogram Sell Signal Count

This AFL tracks and counts instances of sell signals based on MACD histogram movements, utilizing Amibroker data feed. It assists traders in quantifying sell signals, providing a clearer picture of market conditions for informed decision-making.

/
_SECTION_BEGIN("Chart Display");
GraphXSpace = 10;
SetBarsRequired(1,1); 

SetChartOptions(0,chartShowArrows|chartShowDates|chartWrapTitle);
Plot( C, "Close", ParamColor("Candle Outline Color?", colorWhite), styleCandle|styleNoTitle); 
_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 )) ));
_SECTION_END();


VBS=0;
VSS=0;
VBM = "";
VSM = "";

_SECTION_BEGIN("Parameter Settings");
ap = Param("Aroon Periods", 14, 1, 100, 1 );
ParamStr("--------------- ------------------","-");
bp = Param("Bollinger Bands Periods", 15, 2, 300, 1 );
bw = Param("Bollinger Bands Width", 2, 0, 10, 0.05 );
ParamStr("--------------------------------","-");
r1 = Param( "MACD Fast Average", 12, 2, 200, 1 );
r2 = Param( "MACD Slow Average", 26, 2, 200, 1 );
r3 = Param( "MACD Signal Average", 9, 2, 200, 1 );
ParamStr("---------------------------------","-");
mp = Param( "MFI Periods", 14, 2, 200, 1 );
ParamStr("--------------- -----------------","-");
rp = Param( "RSI Periods", 15, 1, 200, 1 );
ParamStr("---------------- -----------------","-");
P1 = Param("Fast MA Period?",6,1,100);
P2 = Param("Medium MA Period?",10,1,300);
P3 = Param("Short MA Period?",20,1,300);

HHVBS = HHVBars(H,ap+1);
LLVBS = LLVBars(L,ap+1);

Aroon_Up = ((ap-HHVBS)/ap)*100;
Aroon_Down = ((ap-LLVBS)/ap)*100;
Aroon_Buy = Aroon_Up>70 AND Aroon_Down<30;
Aroon_Sell = Aroon_Up<30 AND Aroon_Down>70;

VBS = IIf(Aroon_Buy,VBS+1,VBS);
VSS = IIf(Aroon_Sell,VSS+1,VSS);
VBM = WriteIf(Aroon_Buy,VBM + "Aroon  ",VBM);
VSM = WriteIf(Aroon_Sell,VSM + "Aroon  ",VSM);

BB_Buy = CBBandTop(C,bp,bw);

VBS = IIf(BB_Buy,VBS+1,VBS);
VSS = IIf(BB_Sell,VSS+1,VSS);
VBM = WriteIf(BB_Buy,VBM + "Bollinger Bands  ",VBM);
VSM = WriteIf(BB_Sell,VSM + "Bollinger Bands  ",VSM);

ml = MACD(r1, r2); 
sl = Signal(r1,r2,r3);
MACD_Hist = ml-sl;

MACD_Buy = ml>0 OR ml>sl;
MACD_Hist_Buy = MACD_Hist<0 AND MACD_Hist>Ref(MACD_Hist,-1);
MACD_Sell = ml<0 OR ml0 AND MACD_Hist80; 

VBS = IIf(MFI_Buy,VBS+1,VBS);
VSS = IIf(MFI_Sell,VSS+1,VSS);

VBM = WriteIf(MFI_Buy,VBM + "MFI  ",VBM);
VSM = WriteIf(MFI_Sell,VSM + "MFI  ",VSM);

RSI_Value = RSI(rp);
RSI_Buy = RSI_Value>30 AND Ref(RSI_Value,-1)<=30;
RSI_Sell = RSI_Value<70 AND Ref(RSI_Value,-1)>=70;

RSI_Price_Buy = RSI_Value>Ref(RSI_Value,-1) AND C>Ref(C,-1) AND RSI_Value>50;
RSI_Price_Sell = RSI_ValueMedium_MA AND Medium_MA>Slow_MA;
MA_Sell = Fast_MA=Count;
Sell = VSS>=Count;

Buy = ExRem(Buy,Sell);
Sell = ExRem(Sell,Buy);

PlotShapes(IIf(Buy,shapeUpArrow,shapeNone), colorBrightGreen, 0, L, Offset=-15);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone), colorRed, 0, H, Offset=-15);

AlertIf(Buy, "SOUND C:\\program files\\amibroker\\tada.wav", "Buy alert : "+C,1);
AlertIf(Sell, "SOUND C:\\program files\\amibroker\\notify.wav", "Sell alert : "+C,2);

MessageBg = ParamColor("Message Background Color?",colorBlack);
GfxSetBkColor(MessageBg);
GfxSelectFont("Arial",10,600); 
GfxSetTextColor(colorGreen);
GfxTextOut("Buy Signal Count : "+VBS,15,25);
GfxTextOut(VBM,15,40);
GfxSetTextColor(colorRed);
GfxTextOut("Sell Signal Count : "+VSS,15,55);
GfxTextOut(VSM,15,70);

_SECTION_END();

Open chat
1
Hi, how can I help you?