Help with coding

#1
Dear all Friends

Pls. help me afl code convert to mt4 code


_SECTION_BEGIN("Bman's HaDiffCO");

// HaDiffCO modification made by Bman

// email: [email protected]

/*

This is a modified version of the Heikin-Ashi HaDiffCO indicator.

This modification gives interesting results which are still being

examined. The best signals seem to come from weekly stock charts.

Other investment products have not yet been thoroughly tested.

Buy signals (reverse these signals to go short):

1) Green line crosses above upper bollinger (red). Stronger signal

if green line has departed from dark red line (which should be lower).

2) Green line crosses above lower bollinger (red). Stronger signal

if green line has departed from dark red line (which should be higher).

3) Dark red and also green line cross above zero (0) line (black)

Reversal signals:

1) Dark red line and also green line "kiss" the upper bollinger (red).

Both dark red and green line need to be nearly on top of each other for

this signal to be clear.

2) Dark red line and also green line "kiss" the lower bollinger (red).

Both dark red and green line need to be nearly on top of each other for

this signal to be clear.

Trend signals (long-term buy and short signals):

1) Green line crossing above zero (0) line (black) indicates new uptrend.

Stronger signal if dark red line is above zero.

2) Green line crossing below zero (0) line (black) indicates new downtrend.

Stronger signal if dark red line is below zero.

*/

HaClose=(O+H+L+C)/4;

HaOpen=AMA(Ref(HaClose,-1),0.5);

HaHigh=Max(H,Max(HaClose,HaOpen));

HaLow=Min(L,Min(HaClose,HaOpen));

HaDiffCO = (HaClose-HaOpen);

VarRedLine = WMA(HaDiffCO,5);

VarBlueLine = MA(HaDiffCO,8);

Per = Param("MA Periods",8,3,50,1);

Plot(HaDiffCO,"HaDiffCO",colorDarkRed,styleHistogram);

P = ParamField("Price field",-1);

HDCPeriods = 15;

Width = Param("Width", 2, 0, 10, 0.05 );

Color = ParamColor("Color", colorCycle );

Style = ParamStyle("Style");

Plot( BBandTop( P, HDCPeriods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style );

Plot( BBandBot( P, HDCPeriods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style );

VarAMA = Param("varAMA",0.1,0,2,0.01);

HaClose2=(H+L+C)/3;

HaOpen2=AMA(Ref(HaClose2,-1),VarAMA);

HaHigh2=Max(H,Max(HaClose2,HaOpen2));

HaLow2=Min(L,Min(HaClose2,HaOpen2));

HaDiffCO2 = HaClose2-HaOpen2;

Plot(HaDiffCO2,"HaDiffCO2",colorBrightGreen,styleDots);

Plot(0,"0",colorYellow,styleDots);

_SECTION_END();

_SECTION_BEGIN("Background");

SetChartOptions(0,chartShowArrows|chartShowDates);

priceTitle=StrFormat("---- {{NAME}} ---------- {{VALUES}}"); Title ="Averages" + priceTitle;

if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )

{ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));

}

SetChartBkColor(ParamColor("Outer panel color ",colorBlack)); // color of outer border

SetChartBkGradientFill( ParamColor("Inner panel color upper half",colorBlack),ParamColor("Inner panel color lower half",colorBlack)); // color of inner panel

_SECTION_END();


_SECTION_BEGIN("RSI(14,30,70)MinMax");

SetChartOptions(0,0,chartGrid30|chartGrid50|chartGrid70);

periods = Param( "Periods", 14, 1, 200, 1 );

maxClip = Param( "maxClip", 70, 1, 100, 1 );

minClip = Param( "minClip", 30, 1, 100, 1 );

Plot( RSI(periods),"",colorBlue,styleDots);

r = RSI(periods);

PlotOHLC( r,r,50,r, "", IIf( r > 50, colorGreen, colorRed), styleCloud |styleNoLabel | styleClipMinMax, minClip, maxClip );

_SECTION_END();

_SECTION_BEGIN("TD Fractl LINE");

strength = Param("Strength",1,1,15,1);

pR=PeakBars(RSI(14),strength)==0;

_SECTION_END();

_SECTION_BEGIN("TD Fractl LINE");

pS =TroughBars(RSI(14),strength)==0;

_SECTION_END();

_SECTION_BEGIN("Price Risistance");

RT=SelectedValue(ValueWhen(pR,r));

ST=SelectedValue(ValueWhen(pS,r));

Plot(RT,"",colorCustom12,styleDots);

Plot(ST,"",colorBlack,styleDots);

_SECTION_END();

_SECTION_BEGIN("RT,ST ");

{ GfxSelectFont("Arial",12, 700 );

GfxSetBkMode(1);

GfxSetTextColor(colorCustom12);

GfxTextOut("RT= "+WriteVal(H,format=1.2)+"",930,1);

GfxSetTextColor(colorYellow);

GfxTextOut("ST= "+WriteVal(L,format=1.2)+"",930,20);

}

_SECTION_END();

_SECTION_BEGIN("EMA Time Frame");

r= RSI(14);

pR=PeakBars(RSI(14),1)==0;

pivothigh = Ref(pR,-1)<pR AND pR>Ref(pR,1);

y0=SelectedValue(ValueWhen(pivothigh,RSI(14),2));

y1=SelectedValue(ValueWhen(pivothigh,RSI(14),1));

x0=SelectedValue(ValueWhen(pivothigh,Cum( 1)-1,2));

x1=SelectedValue(ValueWhen(pivothigh,Cum( 1)-1,1));

LineA=LineArray(x0,y0,x1,y1,1);

pS =TroughBars(RSI(14),1)==0;

pivotlow = Ref(pS,-1)<pS AND pS>Ref(pS,1);

yt0=SelectedValue(ValueWhen(pivotlow,RSI(14),2));

yt1=SelectedValue(ValueWhen(pivotlow,RSI(14),1));

xt0=SelectedValue(ValueWhen(pivotlow,Cum( 1)-1,2));

xt1=SelectedValue(ValueWhen(pivotlow,Cum( 1)-1,1));

LineB=LineArray(xt0,yt0,xt1,yt1,1);

_SECTION_BEGIN("DIV");

u00=LastValue(Peak(r,1,2));

u11=LastValue(Peak(r,1,1));

a00=BarCount - 1 - LastValue(PeakBars(r,1,2));

price_start1=Close[a00];

a11=BarCount - 1 - LastValue(PeakBars(r,1,1));

price_end1=Close[a11];

Line = LineArray(a00,u00,a11,u11, 0 );

LastPointSell = LineArray(a11-1,u11-1,a11,u11,0);

GG=u11<u00 AND price_end1>price_start1;

PlotShapes(shapeSmallCircle*GG ,colorCustom12,0,Line,5);

PlotShapes(shapeSmallDownTriangle*GG,colorRed,0,LastPointSell,-15);

_SECTION_END();

_SECTION_BEGIN("DIV");

u0=LastValue(Trough(r,1,2));

u1=LastValue(Trough(r,1,1));

a0=BarCount - 1 - LastValue(TroughBars(r,1,2));

price_start=Close[a0];

a1=BarCount - 1 - LastValue(TroughBars(r,1,1));

price_end=Close[a1];

Line = LineArray(a0,u0,a1,u1, 0 );

TT=u1>u0 AND price_end<price_start;

LastPointBuy = LineArray(a1-1,u1-1,a1,u1,0);

PlotShapes(shapeSmallCircle*TT,colorCustom11,0,Line,-5);

PlotShapes(shapeSmallUpTriangle*TT,colorBrightGreen,0,LastPointBuy,-15);

_SECTION_END();

r= RSI(14);

W1=ValueWhen(HHV(r,14),r,1);

strength = Param("Strength",5,2,15,1);

bi = Cum(1)-1;

function GetTop(bars)

{

Top =r== HHV(r,2*bars) AND Ref(HHV(r,bars),bars) < r;

Top = Top AND LastValue(bi)-ValueWhen(Top,bi) > bars;

return Top;

}

function GetValley(bars)

{

Valley = W1== LLV(W1,2*bars) AND Ref(LLV(W1,bars),bars) >W1;

Valley = Valley AND LastValue(bi)-ValueWhen(Valley,bi) > bars;

return Valley;

}

P1 = GetTop(strength);

V1 = GetValley(Strength);

RF=ValueWhen(P1,r);

SF=ValueWhen(V1,W1);

cbar = Param("cbar",4,2,50,1);

RF1 = IIf(RF AND BarsSince(P1) <=cbar,RF,Null);

SF1 = IIf(SF AND BarsSince(V1) <=cbar,SF,Null);

_SECTION_BEGIN("Unnamed 24");

Lbp=Param("lbp",50,1,500,5);

rp=Param("rp",14,5,100,1);

b30=(Sum(RSI(rp)<30,Lbp))*100/Lbp;

b30n50=(Sum(RSI(rp)>30 && RSI(rp)<50,Lbp))*100/Lbp;

b50n70=(Sum((RSI(rp)>50 && RSI(rp)<70),Lbp))*100/Lbp;

a70=(Sum(RSI(rp)>70,Lbp))*100/Lbp;

GfxSetBkColor(colorBlack);

GfxSetTextColor(colorYellow);

_SECTION_BEGIN("RSI");

SetChartOptions(0,0,chartGrid30|chartGrid70);

periods = Param( "Periods", 14, 1, 200, 1 );

Plot( vrsi = RSI( periods), _DEFAULT_NAME(),colorCustom12,styleNoLine| styleNoLabel );

if( Status("action") == actionCommentary )

SetChartOptions(0,chartShowArrows|chartShowDates);

priceTitle=StrFormat(" {{NAME}} {{VALUES}}");

if( ParamToggle("Tooltip shows", "All Values|Only Prices" ) )

{ToolTip=StrFormat("Open: %g\nHigh: %g\nLow: %g\nClose: %g (%.1f%%)\nVolume: "+NumToStr( V, 1 ), O, H, L, C, SelectedValue( ROC( C, 1 )));

}

Plot(50,"50",colorYellow,styleLine);

Plot(0,"0",colorYellow,styleArea);
 

Similar threads