- Katılım
- 23 Eki 2020
- Mesajlar
- 1,802
Smooted Heiken-Ashi with Buy/Sell signal for Amibroker (AFL)
This DEMA smoothed Hiken-Ashi indicator helps traders to trade according to volatility confirmation & be on the side of the trend.If the bars are below red volatility band ( std deviation of 1, with a valure of 21 ), then we Sell.
If the bars are above green volatility band ( std deviation of 1, with a valure of 21 ), then we Buy.
Buy/Sell signal uses 3 checks Hiken-Ashi, MACD, Stoch.
Note:
1. When the trend is up, focus on candle’s body. Whenever the body become smaller, it indicates weakening.
2. When the trend is down, focus on the candle’s shadow. Whenever the shadow become longer, it indicates 2 signal : continuation or reversal.
Kod:
// Downloaded From https://www.WiseStockTrader.com
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Heiken Ashi is a good and powerful indicator.
//
// Usage:
//
// 1. When the trend is up, focus on candle’s body. Whenever the body become smaller, it indicates weakening.
//
// 2. When the trend is down, focus on the candle’s shadow. Whenever the shadow become longer, it indicates 2 signal : continuation or reversal.
//
// Combine it with your other favorit indicator to get the best result.
//
// Hope this can be helpful.
//
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
_SECTION_BEGIN("Chart");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorDarkGrey));
SetChartBkGradientFill(ParamColor("Upper Chart",colorCustom2),ParamColor("Lower Chart",colorDarkGrey));
GraphXSpace=Param("GraphXSpace",5,-10,25,1);
_SECTION_END();
_SECTION_BEGIN("Heikin-Ashi");
global MAType;
global MAName;
procedure MAList(type)
{
chList = ParamList("Type", List = "1 - EMA, 2 - WMA, 3 - DEMA, 4 - WILDERS", type-1);
for( i=0; i<5; i++)
{
if( StrExtract(List, i) == chList ) MAType = i+1;
}
MAName = WriteIf(MAType == 1,"EMA", WriteIf(MAType == 2,"WMA", WriteIf(MAType == 3,"DEMA", WriteIf(MAType == 4,"WILDERS",""))));
}
MAList(3); // Type of Moving Average to use in HA calculation ( Choose via Properties )
procedure MAFormula(array,per,type)
{
CallFormula = IIf(type == 1, EMA(array,Per), IIf(type == 2, WMA(array,Per), IIf(type == 3,DEMA(array,Per), IIf(type == 4,Wilders(array,Per),Null))));
return CallFormula;
}
per1=Param("MA1 period",6,1,10);
per2=Param("MA2 period",2,1,10);
mO=MAFormula(O,per1,MAType);
mH=MAFormula(H,per1,MAType);
mL=MAFormula(L,per1,MAType);
mC=MAFormula(C,per1,MAType);
HaClose1 = IIf(BarIndex()>0,(MO+MH+ML+MC)/4,Close);
HaOpen1 = IIf(BarIndex()>0,AMA( Ref( HaClose1, -1 ), 0.5 ),Open);
HaClose=EMA(HaClose1,per2);
HaOpen=EMA(HaOpen1,per2);
HaHigh = Max( mH, Max( HaClose, HaOpen ) );
HaLow = Min(mL, Min( HaClose, HaOpen ) );
barcolor = IIf(HaClose >= HaOpen,colorGreen,colorRed);
PlotOHLC(HaOpen,HaHigh,HaLow,HaClose,"Price", barcolor, styleCandle);
//HA Signal Generation
stochup= StochK()>StochD() ;
MACDup= MACD()>Signal() ;
Hist= MACD()-Signal() ;
Histup= Hist>Ref(Hist,-1) ;
HAup= HaClose>=HaOpen ;
BuyHa= HaClose>=HaOpen ;
SellHa= HaClose<HaOpen ;
myBuy = BuyHa AND macdup AND histup AND stochup ;
myShort = SellHa AND !histup AND !stochup ;
Buy = ExRem(mybuy,myshort);
Sell = ExRem(myshort,mybuy);
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone),colorLime,0,haLow,Offset=-15);
PlotShapes(IIf(Sell,shapeDownArrow,shapeNone),colorRed,0,haHigh,Offset=-15);
_SECTION_END();
_SECTION_BEGIN("Bolinger Bands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 21, 2, 100, 1 );
Width = Param("Width", 1, 0, 10, 0.05 );
Color = ParamColor("Color", colorLightGrey );
Color = ColorBlend( Color, GetChartBkColor(), 0.5 );
Style = ParamStyle("Style", styleLine | styleNoLabel ) | styleNoRescale;;
Plot( bbt = BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), colorLime, Style );
Plot( bbb = BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), colorRed, Style );
PlotOHLC( bbt, bbt, bbb, bbb, "", ColorBlend( Color, GetChartBkColor(), 0.7 ), styleNoLabel | styleCloud | styleNoRescale, Null, Null, Null, -1 );
_SECTION_END();
www.WiseStockTrader.com
Son düzenleme: