NF Swing Trading using Fractal AFL

suri112000

Well-Known Member
#31
Use this code and re-check.

_SECTION_BEGIN("SuperTrend Ver 3.0 with Sound and Popup Alert");

SetBarsRequired(100000,0);

GraphXSpace = 15;

SetChartOptions(0,chartShowArrows|chartShowDates);

SetChartBkColor(ParamColor("bkcolor",ColorRGB(0,0, 0)));

GfxSetBkMode(0);

GfxSetOverlayMode(1);

SetBarFillColor(IIf(C>O,ParamColor("Candle UP Color", colorGreen),IIf(C<=O,ParamColor("Candle Down Color", colorRed),colorLightGrey)));

Plot(C,"\nPrice",IIf(C>O,ParamColor("Wick UP Color", colorDarkGreen),IIf(C<=O,ParamColor("Wick Down Color", colorDarkRed),colorLightGrey)),64,0,0,0,0);

SetPositionSize(1,spsShares);
ApplyStop(stopTypeLoss,
stopModePoint,
Optimize( "max. loss stop level", 40, 10, 100, 10 ),
True );
ApplyStop(stopTypeProfit,
stopModePoint,
Optimize( "Profit target level", 400, 100, 800, 50 ),
True );





_N(Title = StrFormat("{{NAME}} - {{INTERVAL}} {{DATE}} Open %g, Hi %g, Lo %g, Close %g (%.1f%%) {{VALUES}}", O, H, L, C, SelectedValue( ROC( C, 1 ) ) ));



Factor=Param("Factor",4,1,10,0.1);

Pd=Param("ATR Periods",10,1,100,1);


Up=(H+L)/2+(Factor*ATR(Pd));

Dn=(H+L)/2-(Factor*ATR(Pd));

iATR=ATR(Pd);

TrendUp=TrendDown=Null;

trend[0]=1;

changeOfTrend=0;

flag=flagh=0;



for (i = 1; i <BarCount-1; i++) {

TrendUp = Null;

TrendDown = Null;



trend=1;





if (Close>Up[i-1]) {

trend=1;

if (trend[i-1] == -1) changeOfTrend = 1;



}

else if (Close<Dn[i-1]) {

trend=-1;

if (trend[i-1] == 1) changeOfTrend = 1;

}

else if (trend[i-1]==1) {

trend=1;

changeOfTrend = 0;

}

else if (trend[i-1]==-1) {

trend=-1;

changeOfTrend = 0;

}



if (trend<0 && trend[i-1]>0) {

flag=1;

}

else {

flag=0;

}



if (trend>0 && trend[i-1]<0) {

flagh=1;

}

else {

flagh=0;

}



if (trend>0 && Dn<Dn[i-1]){

Dn=Dn[i-1];

}



if (trend<0 && Up>Up[i-1])

{ Up=Up[i-1];

}



if (flag==1)

{ Up=(H+L)/2+(Factor*iATR);;

}

if (flagh==1)

{ Dn=(H+L)/2-(Factor*iATR);;

}

if (trend==1) {

TrendUp=Dn;

if (changeOfTrend == 1) {

TrendUp[i-1] = TrendDown[i-1];

changeOfTrend = 0;

}

}

else if (trend==-1) {

TrendDown=Up;

if (changeOfTrend == 1) {

TrendDown[i-1] = TrendUp[i-1];

changeOfTrend = 0;

}

}

}



Plot(TrendUp,"Trend",colorGreen);

Plot(TrendDown,"Down",colorRed);



Buy = trend==1;

Sell=trend==-1;



Buy=ExRem(Buy,Sell);

Sell=ExRem(Sell,Buy);

Short=Sell;

Cover=Buy;





BuyPrice=ValueWhen(Buy,C);

SellPrice=ValueWhen(Sell,C);

ShortPrice=ValueWhen(Short,C);

CoverPrice=ValueWhen(Cover,C);





PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorGreen, 0, L, Offset=-40);

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-50);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-45);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorRed, 0, H, Offset=40);
PlotShapes(IIf(Short, shapeSquare, shapeNone),colorOrange, 0,H, Offset=50);
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-45);
_SECTION_END();
 
Last edited:

oldtrader

Well-Known Member
#35
Would you share kindly share the afl...
Very Simple code

_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, V, SelectedValue( ROC( C, 1 ) ) ));
Plot( C, "Close", ParamColor("Color", colorBlack ), styleNoTitle | ParamStyle("Style") | GetPriceStyle() );
SetChartBkGradientFill( ParamColor("Inner panel upper",colorWhite),ParamColor("Inner panel lower",colorLightYellow));

_SECTION_END();

_SECTION_BEGIN("fractals");
acc = Param("Acceleration", 0.019, 0, 1, 0.001 );
accm = Param("Max. acceleration", 0.019, 0, 1, 0.001 );
Plot( SAR( acc, accm ), _DEFAULT_NAME(), ParamColor( "Color", colorYellow ),
ParamStyle("Style", styleLine | styleLine, maskDefault | styleLine | styleLine )
);
Buy = Cross(Open, SAR(acc,accm));
Sell = Cross(SAR(acc,accm), Open );
Short=Sell;
Cover=Buy;
Buy = ExRem( Buy, Sell );
Sell = ExRem( Sell, Buy );
PlotShapes(IIf(Buy,shapeUpArrow,shapeNone), colorBlack, 0, Low, Offset=-15);
PlotShapes(IIf(Sell, shapeDownArrow,shapeNone), colorBlue, 0, High,
Offset=-15);
dist = 2*ATR(2);
for( i = 0; i < BarCount; i++ )
{
if( Buy ) PlotText( "" + C[ i ], i, H[ i ]+dist, colorBlue );
if( Sell ) PlotText( "" + C[ i ], i, L[ i ]-dist, colorBlack );
}
t1= Flip(Buy,Sell);
t2= Flip(Sell,Buy);
Filter = Buy OR Sell;
AddColumn( Buy, "Buy", 1);
AddColumn( Sell, "Sell", 1);
_SECTION_END();
 

vikas2131

Well-Known Member
#39
It should be average 150-200 points. Because, some months will go in negative and some way above the average. That is where the robustness of a trading system comes in. It should not diverge much from the average. Atleast not in the negative side.
i dnt think there will be any -ve month...there will be -ve day or even week or two but not the whole month
 
Last edited:

Similar threads