My afl collection

Status
Not open for further replies.

shivangi77

Well-Known Member
NMA





Code:
//PREF > INTRADAY > START TIME INTERVAL        
_SECTION_BEGIN("graph");  
SetChartOptions(0,chartShowArrows|chartShowDates);    
gxs=Param("GRAPH spaceing",10,5,50,5);  
GraphXSpace = gxs; 
strWeekday = StrMid("SunMonTueWedThuFriSat", SelectedValue(DayOfWeek())*3,3);
_SECTION_END(); 
_SECTION_BEGIN("NMA ");    
k =  Optimize("K",Param("K",1.75,1,5,0.25),1,5,0.25); 
Per= Optimize("atr",Param("atr",10,3,30,1),3,30,1); 
j=(O+H+L+C)/4; 
nm= (H-L);
rfsctor = WMA(nm, PER); 
revers = K * rfsctor; 
Trend = 1;  
NW[0] = 0;  
for(i = 1; i < BarCount; i++) 
{ 
 if(Trend[i-1] == 1)                
 { 
  if(j[i] < NW[i-1])                  
  { 
  Trend[i] = -1;                    
  NW[i] = j[i] + Revers[i];        
  } 
  else                              
  { 
  Trend[i] = 1; 
  if((j[i] - Revers[i]) > NW[i-1]) 
  { 
    NW[i] = j[i] - Revers[i];  
  } 
  else 
  { 
    NW[i] = NW[i-1]; 
  } 
  }  
 } 
 if(Trend[i-1] == -1)                
 { 
  if(j[i] > NW[i-1])                
  { 
  Trend[i] = 1;                    
  NW[i] = j[i] - Revers[i];        
  } 
  else                              
  { 
  Trend[i] = -1; 
  if((j[i] + Revers[i]) < NW[i-1])  
  { 
    NW[i] = j[i] + Revers[i];  
  } 
  else 
  { 
    NW[i] = NW[i-1]; 
  } 
  } 
 } 
} 

Plot(NW, "", IIf(Trend == 1, 6, 4), 4); 

//---------------trading  -------------

Buy=Cross(j,nw);
Short=Cross(nw,j);
Sell=Cross(nw,j);
Cover=Cross(j,nw);
Buy=ExRem(Buy,Sell);
Sell=ExRem(Sell,Buy);
Short=ExRem(Short,Cover);
Cover=ExRem(Cover,Short);
PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorSkyblue, 0,Low,-15);  
PlotShapes(IIf(Sell, shapeHollowDownArrow, shapeNone),colorLightYellow, 0,High,-15);  
PlotShapes(IIf(Cover, shapeHollowCircle, shapeNone),colorTan, 0,Close,0);  
PlotShapes(IIf(Short, shapeDownArrow, shapeNone),colorGold, 0,High,-25); 
//-----------end--------------
Long=Flip(Buy,Sell OR Cover); 
Shrt=Flip(Sell,Buy OR Cover); 
NOTrade= NOT (Long OR shrt); 
BuyPrice=ValueWhen(Buy,C);
SellPrice=ValueWhen(Sell,C);
ShortPrice=ValueWhen(Short,C);
CoverPrice=ValueWhen(Cover,C);
_SECTION_END();
grid_day = IIf(Day()!=Ref(Day(),-1),1,0);  
Plot(grid_day,"",colorDarkGrey,styleHistogram|styleDashed|styleNoLabel|styleOwnScale);
///--------------------------------------------------------------------------------------------------

UpCandle = ParamColor("Up Color", colorBrightGreen ); 
DownCandle = ParamColor("Down Color", colorDarkRed );
Consolidation = ParamColor("Consolidation", colorBlack ); 
BG2a=HHV(LLV(L,4)+ATR(4),8); 
BR2a=LLV(HHV(H,4)-ATR(4),8);
Candlecolor = IIf(Close>BG2a ,UpCandle,IIf(Close < BR2a,DownCandle,Consolidation)); 
SetBarFillColor( IIf(O <C, colorSeaGreen,colorOrange) ); 
Plot( Close, "Price", CandleColor, styleCandle ); 
TimeFrameSet( 2*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8); 
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C; 
TimeFrameRestore();
M5 = TimeFrameExpand(BG2,2*Interval() );
MM5=TimeFrameExpand( BR2,2*Interval() );
cM5=TimeFrameExpand( C1, 2*Interval() );
TimeFrameSet( 4*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8); 
BR2=LLV(HHV(H,4)-ATR(4),8); 
C1=C;  
TimeFrameRestore();
M15 = TimeFrameExpand(BG2,4*Interval() );
MM15=TimeFrameExpand(BR2,4*Interval() );
cM15=TimeFrameExpand( C1,4*Interval() );
TimeFrameSet( 6*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8); 
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C; 
TimeFrameRestore();
M30 = TimeFrameExpand(BG2,6*Interval() );
MM30=TimeFrameExpand(BR2,6*Interval() );
cM30=TimeFrameExpand( C1,6*Interval() );
TimeFrameSet( 8*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8); 
BR2=LLV(HHV(H,4)-ATR(4),8);
C1=C; 
TimeFrameRestore();
H1 = TimeFrameExpand(BG2 ,8*Interval() );
HH1=TimeFrameExpand( BR2,8*Interval() );
Ch1=TimeFrameExpand( C1,8*Interval() );
TimeFrameSet( 16*Interval() );
BG2=HHV(LLV(L,4)+ATR(4),8); 
BR2=LLV(HHV(H,4)-ATR(4),8); 
C1=C;  
TimeFrameRestore();
H4 = TimeFrameExpand( BG2,16*Interval() );
HH4=TimeFrameExpand( BR2,16*Interval() );
cH4 = TimeFrameExpand( C1,16*Interval() );
Com=("\n "+Name()+ " - Trend  in  ")+"\n "+
EncodeColor(colorLightGrey)+(""+Interval(2)+":")+
WriteIf(Close>BG2a,EncodeColor(colorLime)+" UP",WriteIf(Close<BR2a,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorLightGrey)+("  "+2*Interval()/60+"m:")+
WriteIf(Cm5>M5,EncodeColor(colorLime)+"  UP",WriteIf(Cm5<MM5,EncodeColor(colorRed)+"  DN",EncodeColor(colorGrey50)+"  ~~"))+
EncodeColor(colorLightGrey)+("  "+4*Interval()/60+"m:")+
WriteIf(Cm15>M15,EncodeColor(colorLime)+"  UP",WriteIf(Cm15<MM15,EncodeColor(colorRed)+"  DN",EncodeColor(colorGrey50)+"  ~~"))+
EncodeColor(colorLightGrey)+("  "+6*Interval()/60+"m:")+
WriteIf(Cm30>M30,EncodeColor(colorLime)+"  UP",WriteIf(Cm30<MM30,EncodeColor(colorRed)+"    DN",EncodeColor(colorGrey50)+"    ~~"))+
EncodeColor(colorLightGrey)+("  "+8*Interval()/60+"m:")+
WriteIf(CH1>H1,EncodeColor(colorLime)+"      UP",WriteIf(CH1<HH1,EncodeColor(colorRed)+"      DN",EncodeColor(colorGrey50)+"    ~~"))+
EncodeColor(colorLightGrey)+("  "+16*Interval()/60+"m: ")+
WriteIf(Ch4>H4,EncodeColor(colorLime)+"      UP",WriteIf(Ch4<HH4,EncodeColor(colorRed)+"      DN",EncodeColor(colorGrey50)+"    ~~" ));
//---------------------------------------------------------------------------------------
Vr=ParamList("Index",List = "^NSEI,^NSEBANK,NIFTY_F1,RELIANCE.NS,SBIN.NS,EURUSD,XAUUSD,GOLD",0); 
SetForeign(Vr);
HaC =(O+H+L+C)/4; 
HaO = AMA( Ref( HaC, -1 ), 0.5 );  
HaH = Max( H, Max( HaC, HaO) ); 
HaL = Min( L, Min( HaC, HaO) );
HBG=HHV(LLV(HaL,4)+ATR(4),8); 
HBR=LLV(HHV(HaH ,4)-ATR(4),8); 
co = IIf(Hac>HBG ,colorAqua,IIf(Hac < HBR,colorCustom12,colorGrey50)); 
Plot(4, "", Co,styleArea+styleOwnScale | styleNoLabel, -1, 100);
//PlotOHLC(HaO,HaH,HaL,HaC, "", Co,styleCandle|styleOwnScale );
//=====================================================================================
TimeFrameSet( 2*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8); 
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC; 
TimeFrameRestore();
M5H = TimeFrameExpand(BG2H,2*Interval() );
MM5H=TimeFrameExpand( BR2H,2*Interval() );
cM5H=TimeFrameExpand( C1H, 2*Interval() );
TimeFrameSet( 4*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8); 
BR2H=LLV(HHV(HaH,4)-ATR(4),8); 
C1H=HaC;  
TimeFrameRestore();
M15H = TimeFrameExpand(BG2H,4*Interval() );
MM15H=TimeFrameExpand(BR2H,4*Interval() );
cM15H=TimeFrameExpand( C1H,4*Interval() );
TimeFrameSet( 6*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8); 
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC; 
TimeFrameRestore();
M30H = TimeFrameExpand(BG2H,6*Interval() );
MM30H=TimeFrameExpand(BR2H,6*Interval() );
cM30H=TimeFrameExpand( C1H,6*Interval() );
TimeFrameSet( 8*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8); 
BR2H=LLV(HHV(HaH,4)-ATR(4),8);
C1H=HaC; 
TimeFrameRestore();
H1H = TimeFrameExpand(BG2H ,8*Interval() );
HH1H=TimeFrameExpand( BR2H,8*Interval() );
Ch1H=TimeFrameExpand( C1H,8*Interval() );
TimeFrameSet( 16*Interval() );
BG2H=HHV(LLV(HaL,4)+ATR(4),8); 
BR2H=LLV(HHV(HaH,4)-ATR(4),8); 
C1H=HaC;  
TimeFrameRestore();
H4H = TimeFrameExpand( BG2H,16*Interval() );
HH4H=TimeFrameExpand( BR2H,16*Interval() );
cH4H = TimeFrameExpand( C1H,16*Interval() ); 
RestorePriceArrays();
Comm2=("\n "+VR+ " - Phase  in  ")+"\n "+
EncodeColor(colorDarkOliveGreen)+(""+Interval(2)+":")+
WriteIf(Hac>HBG,EncodeColor(colorLime)+" UP",WriteIf(Hac < HBR,EncodeColor(colorRed)+" DN",EncodeColor(colorGrey50)+" ~~"))+
EncodeColor(colorDarkOliveGreen)+("  "+2*Interval()/60+"m:")+
WriteIf(cM5H>M5H,EncodeColor(colorLime)+"  UP",WriteIf(cM5H<MM5H,EncodeColor(colorRed)+"  DN",EncodeColor(colorGrey50)+"  ~~"))+
EncodeColor(colorDarkOliveGreen)+("  "+4*Interval()/60+"m:")+
WriteIf(cM15H>M15H,EncodeColor(colorLime)+"  UP",WriteIf(cM15H<MM15H,EncodeColor(colorRed)+"  DN",EncodeColor(colorGrey50)+"  ~~"))+
EncodeColor(colorDarkOliveGreen)+("  "+6*Interval()/60+"m:")+
WriteIf(cM30H>M30H,EncodeColor(colorLime)+"  UP",WriteIf(cM30H<MM30H,EncodeColor(colorRed)+"    DN",EncodeColor(colorGrey50)+"    ~~"))+
EncodeColor(colorDarkOliveGreen)+("  "+8*Interval()/60+"m:")+
WriteIf(Ch1H>H1H,EncodeColor(colorLime)+"      UP",WriteIf(Ch1H<HH1H,EncodeColor(colorRed)+"      DN",EncodeColor(colorGrey50)+"    ~~"))+
EncodeColor(colorDarkOliveGreen)+("  "+16*Interval()/60+"m: ")+
WriteIf(cH4H>H4H,EncodeColor(colorLime)+"      UP",WriteIf(cH4H<HH4H,EncodeColor(colorRed)+"      DN",EncodeColor(colorGrey50)+"    ~~" ));

//============
//=====Title================================================================================================ 
_SECTION_BEGIN("Title"); 
if( Status("action") == actionIndicator )  
( 
Title = EncodeColor(colorBlue)+ "NMA I.T v-3("+k+" - "+per+")" + " - " +  Name() + "-" + EncodeColor(colorRed)+ Interval(2) + EncodeColor(colorBlue) + 
 "  - " + Date() +"  -  "+ strWeekday +"  -  "+"\n" +EncodeColor(colorYellow) +"Op-"+O+"  "+"Hi-"+H+"  "+"Lo-"+L+"  "+ 
"Cl-"+C+"  "+ "Vol= "+ WriteVal(V)+"\n"+ 
EncodeColor(colorLime)+ 
WriteIf (Buy AND Ref(shrt,-1), " GO LONG / Reverse Signal at "+C+"  ","")+ 
WriteIf (Buy AND Ref(NOTrade,-1), " GO LONG at "+C+"  ","")+EncodeColor(colorRed)+  
WriteIf (Sell AND Ref(NOTrade,-1), " GO Short at "+C+"  ","")+ 
WriteIf (Sell AND Ref(Long,-1), " EXIT LONG / Reverse Signal at "+C+"  ","")+
WriteIf (Cover, " cover "+C+"  ","")+
EncodeColor(colorTan)+ Com+
EncodeColor(colorYellow)+ Comm2);
_SECTION_END();
_SECTION_BEGIN("Background text");
C11=ParamColor("up panel",colorDarkOliveGreen );
C12=ParamColor("dn panel",colorDarkGrey );
C13=Param("fonts",20,10,30,1 );
C14=Param("left-right",2.1,1.0,5.0,0.1 );
C15=Param("up-down",12,1,20,1 );
ab=Param("test Color contrast",0.5,0,5,0.1 );
Miny = Status("axisminy");
Maxy = Status("axismaxy");
lvb = Status("lastvisiblebar");
fvb = Status("firstvisiblebar");
pxwidth = Status("pxwidth");
pxheight = Status("pxheight");
GfxSetBkMode( 0 ); 
GfxSetOverlayMode(1);
GfxGradientRect(0,0,pxwidth, pxheight, C11, C12 ); 
GfxSelectFont("Tahoma", Status("pxheight")/C13 );
GfxSetTextAlign( 6 );
//GfxSetTextColor( ColorBlend( colorPaleBlue, C13, ab  ));
GfxTextOut( Name(), Status("pxwidth")/C14, Status("pxheight")/C15 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxTextOut( "NMA", Status("pxwidth")/C14, Status("pxheight")/C15*2.5 );
GfxSelectFont("Tahoma", Status("pxheight")/C13*0.5 );
GfxTextOut( " pkgmtnl ", Status("pxwidth")/C14, Status("pxheight")/C15*4 );
GfxSelectFont("MS Sans Serif", 10, 500, False, False, 0);
GfxTextOut(""+Vr+"---cas67", Status("pxwidth")/1.08, Status("pxheight")/C15*10.8 );
//axisarea = 56; // may need adjustment if you are using non-default font for axis


_SECTION_END();




_SECTION_BEGIN("Keltner Bands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );

Width = 0.5 ;

Color = ParamColor("Color", colorCycle );
Style = ParamStyle("Style");

CenterLine = MA( P, Periods );
KTop = CenterLine + Width * ATR( Periods );
KBot = CenterLine - Width * ATR( Periods );

Plot( KTop, "KBTop" + _PARAM_VALUES(), Color, Style ); 
Plot( KBot, "KBBot" + _PARAM_VALUES(), Color, Style ); 

Plot( MA( P, 15 ), "", colorBlack, styleLine , styleThick); 

PlotOHLC(KTop,KTop,KBot,KBot,"", colorLightBlue,styleCloud ) ;
//PlotOHLC(ACDHigh,ACDHigh,ACDLow,ACDLow,"",colorLig htBlue,styleCloud );


_SECTION_END();

//================================
_SECTION_BEGIN("Mean Band");
function SteBand( array, periods,number, upper ) 
{ 
Lr = LinearReg( array, periods ); 
se = StdErr( array, periods ); 
return LR + IIf( upper, 1, -1 ) * number * se; 
} 
Periods = Param("Standard Error", 80, 1, 200, 1); 
Smooth = Param("Mean Smoothness",14,2,100,1);
number = Param("StdErrNo", 1, 0.2, 3.0,0.2);

parmCloudColor = ParamColor("Cloud Color", ColorRGB( 40,40,40) );

UStdErrBand = SteBand( C, Periods, number, True ); 
LStdErrBand = SteBand( C, Periods, number, False ); 
MStdErrBand = (UStdErrBand + LStdErrBand )/2; 

Plot( MA(UStdErrBand,smooth), "UpperBand ", colorDarkRed,styleLine );
Plot( MA(LStdErrBand,smooth), "LowerBand ", colorDarkRed,styleLine ); 
Plot( MA(MStdErrBand,smooth) , "MidBand", colorPlum , styleDashed ); 

//Plot( Close, "Close", colorBlack, styleCandle );
PlotOHLC( MA(UStdErrBand,smooth), MA(UStdErrBand,smooth), MA(LStdErrBand,smooth) , MA(LStdErrBand,smooth) , "", parmCloudColor, styleCloud | styleNoLabel); 

_SECTION_BEGIN("Keltner Bands");
P = ParamField("Price field",-1);
Periods = Param("Periods", 15, 2, 300, 1 );
Width = Param("Width", 2, 0, 10, 0.05 );

Width = 0.5 ;

Color = ParamColor("Color", colorCycle );
Style = ParamStyle("Style");

CenterLine = MA( P, Periods );
KTop = CenterLine + Width * ATR( Periods );
KBot = CenterLine - Width * ATR( Periods );

Plot( KTop, "KBTop" + _PARAM_VALUES(), Color, Style ); 
Plot( KBot, "KBBot" + _PARAM_VALUES(), Color, Style ); 

Plot( MA( P, 15 ), "", colorBlack, styleLine , styleThick); 

PlotOHLC(KTop,KTop,KBot,KBot,"", colorLightBlue,styleCloud ) ;
//PlotOHLC(ACDHigh,ACDHigh,ACDLow,ACDLow,"",colorLig htBlue,styleCloud );


_SECTION_END();
 

TradersZone

Well-Known Member
1 From Me

_SECTION_BEGIN("Chart Settings");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
SetChartBkGradientFill(ParamColor("Upper Chart",colorBlack),ParamColor("Lower Chart",colorBlack));
_SECTION_END();




Plot(C,"P&F Chart Close",IIf( C > O, colorAqua, colorRed ),styleCandle|styleThick+styleNoLabel+stylePointAndFigure);



xx = Cum(1);
nbar = Param("nbar",5,2,50,1);

PHigh = H > Ref(HHV(H,nbar),-1) AND Ref(HHV(H,nbar),nbar) <= H;
PHighPrice = ValueWhen(PHigh,H);
PLow = L < Ref(LLV(L,nbar),-1) AND Ref(LLV(L,nbar),nbar) >= L;
PLowPrice = ValueWhen(PLow,L);

startval_L = ValueWhen(PLow,L,1);
endval_L = ValueWhen(PLow,L,0);
startbar_L = ValueWhen(PLow,xx,1);
endbar_L = ValueWhen(PLow,xx,0);
aa_L = (endval_L-startval_L)/(endbar_L-startbar_L);
bb_L = startval_L;
trendline_L = aa_L * (xx - startbar_L) + bb_L;
dtrendline_L = trendline_L - Ref(trendline_L,-1);

startval_L_extend = ValueWhen(PLow,L,2);
endval_L_extend = ValueWhen(PLow,L,1);
startbar_L_extend = ValueWhen(PLow,xx,2);
endbar_L_extend = ValueWhen(PLow,xx,1);
aa_L_extend = (endval_L_extend-startval_L_extend)/(endbar_L_extend-startbar_L_extend);
bb_L_extend = startval_L;
trendline_L_extend = aa_L_extend * (xx - startbar_L) + endval_L_extend;

dtrendline_L_extend = trendline_L_extend - Ref(trendline_L_extend,-1);
dtrendline_L_extend = IIf(PLow,Ref(dtrendline_L,-1),dtrendline_L_extend);

startval_L_extend2 = ValueWhen(PLow,L,3);
endval_L_extend2 = ValueWhen(PLow,L,2);
startbar_L_extend2 = ValueWhen(PLow,xx,3);
endbar_L_extend2 = ValueWhen(PLow,xx,2);
aa_L_extend2 = (endval_L_extend2-startval_L_extend2)/(endbar_L_extend2-startbar_L_extend2);
bb_L_extend2 = endval_L_extend2;
trendline_L_extend2 = aa_L_extend2 * (xx - endbar_L_extend2) + endval_L_extend2;

dtrendline_L_extend2 = trendline_L_extend2 - Ref(trendline_L_extend2,-1);
dtrendline_L_extend2 = IIf(PLow,Ref(dtrendline_L_extend,-1),dtrendline_L_extend2);

startval_H = ValueWhen(PHigh,H,1);
endval_H = ValueWhen(PHigh,H,0);
startbar_H = ValueWhen(PHigh,xx,1);
endbar_H = ValueWhen(PHigh,xx,0);
aa_H = (endval_H-startval_H)/(endbar_H-startbar_H);
bb_H = startval_H;
trendline_H = aa_H * (xx - startbar_H) + bb_H;
dtrendline_H = trendline_H - Ref(trendline_H,-1);

startval_H_extend = ValueWhen(PHigh,H,2);
endval_H_extend = ValueWhen(PHigh,H,1);
startbar_H_extend = ValueWhen(PHigh,xx,2);
endbar_H_extend = ValueWhen(PHigh,xx,1);
aa_H_extend = (endval_H_extend-startval_H_extend)/(endbar_H_extend-startbar_H_extend);
bb_H_extend = startval_H;
trendline_H_extend = aa_H_extend * (xx - startbar_H) + endval_H_extend;
dtrendline_H_extend = trendline_H_extend - Ref(trendline_H_extend,-1);
dtrendline_H_extend = IIf(PHigh,Ref(dtrendline_H,-1),dtrendline_H_extend);

startval_H_extend2 = ValueWhen(PHigh,H,3);
endval_H_extend2 = ValueWhen(PHigh,H,2);
startbar_H_extend2 = ValueWhen(PHigh,xx,3);
endbar_H_extend2 = ValueWhen(PHigh,xx,2);
aa_H_extend2 = (endval_H_extend2-startval_H_extend2)/(endbar_H_extend2-startbar_H_extend2);
bb_H_extend2 = endval_H_extend2;
trendline_H_extend2 = aa_H_extend2 * (xx - endbar_H_extend2) + endval_H_extend2;

dtrendline_H_extend2 = trendline_H_extend2 - Ref(trendline_H_extend2,-1);
dtrendline_H_extend2 = IIf(PHigh,Ref(dtrendline_H_extend,-1),dtrendline_H_extend2);

tld = ParamToggle("All trendlines","show|hide",1);
if (tld)
{

trendline_L = IIf(dtrendline_L > 0,trendline_L,Null);
trendline_L_extend = IIf(dtrendline_L_extend > 0,trendline_L_extend,Null);
trendline_L_extend2 = IIf(dtrendline_L_extend2 > 0,trendline_L_extend2,Null);
trendline_H = IIf(dtrendline_H < 0,trendline_H,Null);
trendline_H_extend = IIf(dtrendline_H_extend < 0,trendline_H_extend,Null);
trendline_H_extend2 = IIf(dtrendline_H_extend2 < 0,trendline_H_extend2,Null);
}

trendline_L_extend2 = IIf(BarsSince(Plow) <= nbar,trendline_L_extend2,Null);
trendline_H_extend2 = IIf(BarsSince(PHigh) <= nbar,trendline_H_extend2,Null);

GraphXSpace = 5;
SetChartOptions(0, chartShowDates);


PlotShapes(shapeUpArrow*PLow,colorYellow,0,L,-30);
PlotShapes(shapeDownArrow*PHigh,colorWhite,0,H,-30);


Plot(trendline_L, "", colorLime,styleLine|styleThick);

Plot(IIf(BarsSince(Plow) <= nbar,trendline_L_extend,Null), "", colorLightGrey, styleLine | styleThick);
Plot(IIf(BarsSince(Plow) > nbar,trendline_L_extend,Null), "",colorBrightGreen, styleLine | styleThick);

Plot(IIf(BarsSince(Plow) <= nbar,trendline_L_extend2,Null), "",colorDarkGreen, styleLine| styleThick);

Plot(trendline_H, "", colorRed,styleLine|styleThick);

Plot(IIf(BarsSince(PHigh) <= nbar,trendline_H_extend,Null), "", colorLightGrey, styleLine | styleThick);
Plot(IIf(BarsSince(PHigh) > nbar,trendline_H_extend,Null), "",colorOrange, styleLine | styleThick);

Plot(IIf(BarsSince(PHigh) <= nbar,trendline_H_extend2,Null), "",colorOrange, styleLine | styleThick);


signalFlag = ParamToggle("Possible Signals","show|hide",1);

if (signalFlag)
{

Buy = (!IsEmpty(trendline_H_extend) AND Cross(C,trendline_H_extend) AND BarsSince(PHigh) > nbar) OR
(!IsEmpty(trendline_H_extend2) AND Cross(C,trendline_H_extend2) AND !PHigh) OR
(PHigh AND C > trendline_H_extend2 AND Ref(C,-1) < Ref(trendline_H_extend,-1) AND !IsEmpty(trendline_H_extend) AND !IsEmpty(trendline_H_extend2) );
BuyPrice = C;
Short = (!IsEmpty(trendline_L_extend) AND Cross(trendline_L_extend,C) AND BarsSince(PLow) > nbar) OR
(!IsEmpty(trendline_L_extend2) AND Cross(trendline_L_extend2,C) AND !PLow) OR
(PLow AND C < trendline_L_extend2 AND Ref(C,-1) > Ref(trendline_L_extend,-1) AND !IsEmpty(trendline_L_extend) AND !IsEmpty(trendline_L_extend2));
ShortPrice = C;
Sell = 0;
Cover = 0;


_SECTION_BEGIN(" EXPLORE");

AL=(!IsEmpty(trendline_H_extend) AND Cross(C,trendline_H_extend) AND BarsSince(PHigh) > nbar) OR
(!IsEmpty(trendline_H_extend2) AND Cross(C,trendline_H_extend2) AND !PHigh) OR
(PHigh AND C > trendline_H_extend2 AND Ref(C,-1) < Ref(trendline_H_extend,-1) AND !IsEmpty(trendline_H_extend) AND !IsEmpty(trendline_H_extend2) );
BuyPrice = C;

SAT=(!IsEmpty(trendline_L_extend) AND Cross(trendline_L_extend,C) AND BarsSince(PLow) > nbar) OR
(!IsEmpty(trendline_L_extend2) AND Cross(trendline_L_extend2,C) AND !PLow) OR
(PLow AND C < trendline_L_extend2 AND Ref(C,-1) > Ref(trendline_L_extend,-1) AND !IsEmpty(trendline_L_extend) AND !IsEmpty(trendline_L_extend2));
ShortPrice = C;

AL_status=WriteIf(AL,"Alis Yap"," ");

SAT_status=WriteIf(SAT,"Satis Yap"," ");

AL_col=IIf(AL, colorDarkGreen , colorWhite);

SAT_col=IIf(SAT, colorRed,colorWhite);


Filter= AL OR SAT;

AddColumn(C, "KAPANIS", 1.2, IIf(C > Ref(C,-1),colorBlue, colorRed));
AddTextColumn(AL_status, "ALIS", 1.2, colorWhite, Al_col);
AddTextColumn(SAT_status, "SATIS", 1.2, colorWhite, SAT_col);
}

_SECTION_END();


function ALFilter( price, FP2, FP1, gain )
{

FP2 = 100/(200-FP2);
FP1 = 0.80+FP1/500;
result = price;
L0 = L1 = L2 = L3 = price;
coef = 0.5;
HH = 0.1;
LL = 0;

for ( i = 2; i < BarCount; i++ )
{
error = abs( price - result[i-1] );

if ( error > HH )
{ HH = error; }
else
{ HH *= FP2; }

if ( error < LL )
{ LL = error; }
else
{ LL *= FP2; }
if ( HH != LL )
{ coef = FP1*Coef[i-1]+(1-FP1)*((error - LL) / (HH - LL)); }


alpha = coef*gain;

L0 = alpha*price + (1 - alpha)*L0[i-1];

L1 = -(1 - alpha)*L0 + L0[i-1] + (1 - alpha)*L1[i-1];

L2 = -(1 - alpha)*L1 + L1[i-1] + (1 - alpha)*L2[i-1];

L3 = -(1 - alpha)*L2 + L2[i-1] + (1 - alpha)*L3[i-1];

result = (L0 + 2*L1 + 2*L2 + L3) / 6;
}
return result;
}

price = ParamField("Price field", 3);
FP2 = Param( "Filter Parameter 2", 99, 0, 99, 1 );
FP1 = Param( "Filter Parameter 1", 0, 0, 99, 1 );
gain = Param( "Gain Parameter", 1.0, 0.1, 2.5, 0.1 );

Plot( ALFilter(price, FP2, FP1, gain), "www.facebook.com/groups/traderszone/",colorYellow,styleLine+styleDots|styleThick );


 

ocil

Well-Known Member
It seems that the formula references FUTURE quotes.
If you backtest this system you may receive outstanding results
that CAN NOT be reproduced in real trading.

Dear Traderszone Pls check.:confused:
 

TradersZone

Well-Known Member
80% aFL Are Future Looking Dear So No Solution For It If You Don't Want Future Looking Afl Make One System Your Self Which Is Simple Ema Rsi Stoch BB
 

ocil

Well-Known Member
80% aFL Are Future Looking Dear So No Solution For It If You Don't Want Future Looking Afl Make One System Your Self Which Is Simple Ema Rsi Stoch BB
Thanks Trader zone... :thumb:I have main system for trading. I only need to remove false signal...any afl or any suggestion for trend confirm.. :)
 

TradersZone

Well-Known Member
Thanks Trader zone... :thumb:I have main system for trading. I only need to remove false signal...any afl or any suggestion for trend confirm.. :)

Use Stoch And Rsi Divergence Based System It Will Help You To Filter Your False Signal And Make Slow Your System..Try To Chk Diff Time Frame When Signals Come Like If You Trading Intra Then 5 Minute 7 Minute If For 2 To 3 Days 15 Minute 30 Minute
 
Hello Friends,

I have a question regarding charting and Trading Platform. I am using reliance money trading platform for trading and Amibroker for charting purpose where the data is imported from Real time datafeeder for intraday using 1 min backfill data. Now, the problem is, there is a price difference between the amibroker charting and my trading platform. Both of them are not at par. Is there any way to import the data from my trading platform so that amibroker chart reflects the price from the trading platform or what is the best way to resolve it. Your help in this matter would be highly appreciated
 

Shailu

Active Member
1 From Me

_SECTION_BEGIN("Chart Settings");
SetChartOptions(0,chartShowArrows|chartShowDates);
SetChartBkColor(ParamColor("Outer Panel",colorPaleBlue));
SetChartBkGradientFill(ParamColor("Upper Chart",colorBlack),ParamColor("Lower Chart",colorBlack));
_SECTION_END();




Plot(C,"P&F Chart Close",IIf( C > O, colorAqua, colorRed ),styleCandle|styleThick+styleNoLabel+stylePointAndFigure);



xx = Cum(1);
nbar = Param("nbar",5,2,50,1);

PHigh = H > Ref(HHV(H,nbar),-1) AND Ref(HHV(H,nbar),nbar) <= H;
PHighPrice = ValueWhen(PHigh,H);
PLow = L < Ref(LLV(L,nbar),-1) AND Ref(LLV(L,nbar),nbar) >= L;
PLowPrice = ValueWhen(PLow,L);

startval_L = ValueWhen(PLow,L,1);
endval_L = ValueWhen(PLow,L,0);
startbar_L = ValueWhen(PLow,xx,1);
endbar_L = ValueWhen(PLow,xx,0);
aa_L = (endval_L-startval_L)/(endbar_L-startbar_L);
bb_L = startval_L;
trendline_L = aa_L * (xx - startbar_L) + bb_L;
dtrendline_L = trendline_L - Ref(trendline_L,-1);

startval_L_extend = ValueWhen(PLow,L,2);
endval_L_extend = ValueWhen(PLow,L,1);
startbar_L_extend = ValueWhen(PLow,xx,2);
endbar_L_extend = ValueWhen(PLow,xx,1);
aa_L_extend = (endval_L_extend-startval_L_extend)/(endbar_L_extend-startbar_L_extend);
bb_L_extend = startval_L;
trendline_L_extend = aa_L_extend * (xx - startbar_L) + endval_L_extend;

dtrendline_L_extend = trendline_L_extend - Ref(trendline_L_extend,-1);
dtrendline_L_extend = IIf(PLow,Ref(dtrendline_L,-1),dtrendline_L_extend);

startval_L_extend2 = ValueWhen(PLow,L,3);
endval_L_extend2 = ValueWhen(PLow,L,2);
startbar_L_extend2 = ValueWhen(PLow,xx,3);
endbar_L_extend2 = ValueWhen(PLow,xx,2);
aa_L_extend2 = (endval_L_extend2-startval_L_extend2)/(endbar_L_extend2-startbar_L_extend2);
bb_L_extend2 = endval_L_extend2;
trendline_L_extend2 = aa_L_extend2 * (xx - endbar_L_extend2) + endval_L_extend2;

dtrendline_L_extend2 = trendline_L_extend2 - Ref(trendline_L_extend2,-1);
dtrendline_L_extend2 = IIf(PLow,Ref(dtrendline_L_extend,-1),dtrendline_L_extend2);

startval_H = ValueWhen(PHigh,H,1);
endval_H = ValueWhen(PHigh,H,0);
startbar_H = ValueWhen(PHigh,xx,1);
endbar_H = ValueWhen(PHigh,xx,0);
aa_H = (endval_H-startval_H)/(endbar_H-startbar_H);
bb_H = startval_H;
trendline_H = aa_H * (xx - startbar_H) + bb_H;
dtrendline_H = trendline_H - Ref(trendline_H,-1);

startval_H_extend = ValueWhen(PHigh,H,2);
endval_H_extend = ValueWhen(PHigh,H,1);
startbar_H_extend = ValueWhen(PHigh,xx,2);
endbar_H_extend = ValueWhen(PHigh,xx,1);
aa_H_extend = (endval_H_extend-startval_H_extend)/(endbar_H_extend-startbar_H_extend);
bb_H_extend = startval_H;
trendline_H_extend = aa_H_extend * (xx - startbar_H) + endval_H_extend;
dtrendline_H_extend = trendline_H_extend - Ref(trendline_H_extend,-1);
dtrendline_H_extend = IIf(PHigh,Ref(dtrendline_H,-1),dtrendline_H_extend);

startval_H_extend2 = ValueWhen(PHigh,H,3);
endval_H_extend2 = ValueWhen(PHigh,H,2);
startbar_H_extend2 = ValueWhen(PHigh,xx,3);
endbar_H_extend2 = ValueWhen(PHigh,xx,2);
aa_H_extend2 = (endval_H_extend2-startval_H_extend2)/(endbar_H_extend2-startbar_H_extend2);
bb_H_extend2 = endval_H_extend2;
trendline_H_extend2 = aa_H_extend2 * (xx - endbar_H_extend2) + endval_H_extend2;

dtrendline_H_extend2 = trendline_H_extend2 - Ref(trendline_H_extend2,-1);
dtrendline_H_extend2 = IIf(PHigh,Ref(dtrendline_H_extend,-1),dtrendline_H_extend2);

tld = ParamToggle("All trendlines","show|hide",1);
if (tld)
{

trendline_L = IIf(dtrendline_L > 0,trendline_L,Null);
trendline_L_extend = IIf(dtrendline_L_extend > 0,trendline_L_extend,Null);
trendline_L_extend2 = IIf(dtrendline_L_extend2 > 0,trendline_L_extend2,Null);
trendline_H = IIf(dtrendline_H < 0,trendline_H,Null);
trendline_H_extend = IIf(dtrendline_H_extend < 0,trendline_H_extend,Null);
trendline_H_extend2 = IIf(dtrendline_H_extend2 < 0,trendline_H_extend2,Null);
}

trendline_L_extend2 = IIf(BarsSince(Plow) <= nbar,trendline_L_extend2,Null);
trendline_H_extend2 = IIf(BarsSince(PHigh) <= nbar,trendline_H_extend2,Null);

GraphXSpace = 5;
SetChartOptions(0, chartShowDates);


PlotShapes(shapeUpArrow*PLow,colorYellow,0,L,-30);
PlotShapes(shapeDownArrow*PHigh,colorWhite,0,H,-30);


Plot(trendline_L, "", colorLime,styleLine|styleThick);

Plot(IIf(BarsSince(Plow) <= nbar,trendline_L_extend,Null), "", colorLightGrey, styleLine | styleThick);
Plot(IIf(BarsSince(Plow) > nbar,trendline_L_extend,Null), "",colorBrightGreen, styleLine | styleThick);

Plot(IIf(BarsSince(Plow) <= nbar,trendline_L_extend2,Null), "",colorDarkGreen, styleLine| styleThick);

Plot(trendline_H, "", colorRed,styleLine|styleThick);

Plot(IIf(BarsSince(PHigh) <= nbar,trendline_H_extend,Null), "", colorLightGrey, styleLine | styleThick);
Plot(IIf(BarsSince(PHigh) > nbar,trendline_H_extend,Null), "",colorOrange, styleLine | styleThick);

Plot(IIf(BarsSince(PHigh) <= nbar,trendline_H_extend2,Null), "",colorOrange, styleLine | styleThick);


signalFlag = ParamToggle("Possible Signals","show|hide",1);

if (signalFlag)
{

Buy = (!IsEmpty(trendline_H_extend) AND Cross(C,trendline_H_extend) AND BarsSince(PHigh) > nbar) OR
(!IsEmpty(trendline_H_extend2) AND Cross(C,trendline_H_extend2) AND !PHigh) OR
(PHigh AND C > trendline_H_extend2 AND Ref(C,-1) < Ref(trendline_H_extend,-1) AND !IsEmpty(trendline_H_extend) AND !IsEmpty(trendline_H_extend2) );
BuyPrice = C;
Short = (!IsEmpty(trendline_L_extend) AND Cross(trendline_L_extend,C) AND BarsSince(PLow) > nbar) OR
(!IsEmpty(trendline_L_extend2) AND Cross(trendline_L_extend2,C) AND !PLow) OR
(PLow AND C < trendline_L_extend2 AND Ref(C,-1) > Ref(trendline_L_extend,-1) AND !IsEmpty(trendline_L_extend) AND !IsEmpty(trendline_L_extend2));
ShortPrice = C;
Sell = 0;
Cover = 0;


_SECTION_BEGIN(" EXPLORE");

AL=(!IsEmpty(trendline_H_extend) AND Cross(C,trendline_H_extend) AND BarsSince(PHigh) > nbar) OR
(!IsEmpty(trendline_H_extend2) AND Cross(C,trendline_H_extend2) AND !PHigh) OR
(PHigh AND C > trendline_H_extend2 AND Ref(C,-1) < Ref(trendline_H_extend,-1) AND !IsEmpty(trendline_H_extend) AND !IsEmpty(trendline_H_extend2) );
BuyPrice = C;

SAT=(!IsEmpty(trendline_L_extend) AND Cross(trendline_L_extend,C) AND BarsSince(PLow) > nbar) OR
(!IsEmpty(trendline_L_extend2) AND Cross(trendline_L_extend2,C) AND !PLow) OR
(PLow AND C < trendline_L_extend2 AND Ref(C,-1) > Ref(trendline_L_extend,-1) AND !IsEmpty(trendline_L_extend) AND !IsEmpty(trendline_L_extend2));
ShortPrice = C;

AL_status=WriteIf(AL,"Alis Yap"," ");

SAT_status=WriteIf(SAT,"Satis Yap"," ");

AL_col=IIf(AL, colorDarkGreen , colorWhite);

SAT_col=IIf(SAT, colorRed,colorWhite);


Filter= AL OR SAT;

AddColumn(C, "KAPANIS", 1.2, IIf(C > Ref(C,-1),colorBlue, colorRed));
AddTextColumn(AL_status, "ALIS", 1.2, colorWhite, Al_col);
AddTextColumn(SAT_status, "SATIS", 1.2, colorWhite, SAT_col);
}

_SECTION_END();


function ALFilter( price, FP2, FP1, gain )
{

FP2 = 100/(200-FP2);
FP1 = 0.80+FP1/500;
result = price;
L0 = L1 = L2 = L3 = price;
coef = 0.5;
HH = 0.1;
LL = 0;

for ( i = 2; i < BarCount; i++ )
{
error = abs( price - result[i-1] );

if ( error > HH )
{ HH = error; }
else
{ HH *= FP2; }

if ( error < LL )
{ LL = error; }
else
{ LL *= FP2; }
if ( HH != LL )
{ coef = FP1*Coef[i-1]+(1-FP1)*((error - LL) / (HH - LL)); }


alpha = coef*gain;

L0 = alpha*price + (1 - alpha)*L0[i-1];

L1 = -(1 - alpha)*L0 + L0[i-1] + (1 - alpha)*L1[i-1];

L2 = -(1 - alpha)*L1 + L1[i-1] + (1 - alpha)*L2[i-1];

L3 = -(1 - alpha)*L2 + L2[i-1] + (1 - alpha)*L3[i-1];

result = (L0 + 2*L1 + 2*L2 + L3) / 6;
}
return result;
}

price = ParamField("Price field", 3);
FP2 = Param( "Filter Parameter 2", 99, 0, 99, 1 );
FP1 = Param( "Filter Parameter 1", 0, 0, 99, 1 );
gain = Param( "Gain Parameter", 1.0, 0.1, 2.5, 0.1 );

Plot( ALFilter(price, FP2, FP1, gain), "www.facebook.com/groups/traderszone/",colorYellow,styleLine+styleDots|styleThick );



error is coming.
 
Status
Not open for further replies.

Similar threads