Join our facebook group for Amibroker afl code discussion https://www.facebook.com/groups/603980776889348

Bollinger Band Based Auto Target



Bollinger Band Based Auto Target
Bollinger Band Based Auto Target


//www.aflcode.com
SetChartOptions(0,chartShowArrows|chartShowDates);

SetChartBkColor(ParamColor("Outer panel",colorBlack));

SetChartBkGradientFill( ParamColor("Inner panelupper",colorDarkGreen), ParamColor("Inner panel lower",colorTan));

Plot(C,"Price",IIf(O>C,32,34),64);

SetBarFillColor(IIf(O>C,24,19));



_SECTION_BEGIN("MID MA");

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

Periods = Param("Periods", 100, 2, 400, 1 );

Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style", styleLine | styleNoLabel ) | styleNoRescale );

_SECTION_END();



_SECTION_BEGIN("Long MA");

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

Periods = Param("Periods", 200, 2, 400, 1 );

Plot( MA( P, Periods ), _DEFAULT_NAME(), ParamColor( "Color", colorCycle ), ParamStyle("Style", styleLine | styleNoLabel ) | styleNoRescale );

_SECTION_END();



_SECTION_BEGIN("BBands");

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

Periods = Param("Periods", 15, 2, 100, 1 );

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

Color = ParamColor("Color", colorLightGrey );

Style = ParamStyle("Style", styleLine | styleNoLabel ) | styleNoRescale;;

Plot( bbt = BBandTop( P, Periods, Width ), "BBTop" + _PARAM_VALUES(), Color, Style );

Plot( bbb = BBandBot( P, Periods, Width ), "BBBot" + _PARAM_VALUES(), Color, Style );

PlotOHLC( bbt, bbt, bbb, bbb, "", ColorBlend( Color, colorDarkGrey, 0.9 ), styleNoLabel | styleCloud | styleNoRescale, Null, Null, Null, -1 );

_SECTION_END();



_SECTION_BEGIN("Magnified Price");

FS=Param("Font Size",15,11,100,1);

GfxSelectFont("Times New Roman", FS, 700, True );

GfxSetBkMode( colorWhite );

GfxSetTextColor( ParamColor("Color",colorYellow) );

Hor=Param("Horizontal Position",500,1,1200,1);

Ver=Param("Vertical Position",1,1,830,1);

GfxTextOut(""+C, Hor , Ver );

YC=TimeFrameGetPrice("C",inDaily,-1);

DD=Prec(C-YC,2);

xx=Prec((DD/YC)*100,2);

GfxSelectFont("Times New Roman", 11, 700, True );

GfxSetBkMode( colorWhite );

GfxSetTextColor(ParamColor("Color",colorYellow) );

GfxTextOut(""+DD+"  ("+xx+"%)", Hor , Ver+20 );

_SECTION_END();



_SECTION_BEGIN("5DMA - Stop & Reverse");

FS=Param("Font Size",15,11,100,1);

GfxSelectFont("Times New Roman", FS, 700, True );

GfxSetBkMode( colorWhite );

GfxSetTextColor( ParamColor("Color",colorYellow) );



Hor=Param("Horizontal Position",700,1,1200,1);

Ver=Param("Vertical Position",1,1,830,1);



TC=TimeFrameGetPrice("C",inDaily,0);

YYC=TimeFrameGetPrice("C",inDaily,-1);

DFYC=TimeFrameGetPrice("C",inDaily,-2);

DFYC1=TimeFrameGetPrice("C",inDaily,-3);

DFYC2=TimeFrameGetPrice("C",inDaily,-4);

SAR1=Prec((TC+YYC+DFYC+DFYC1+DFYC2)/5,5);

GfxTextOut("SAR="+SAR1, Hor , Ver );



SaaR = ParamToggle("SAR","Show|Hide",1);

if(SaaR==1)

{

   Plot (SAR1,"",colorYellow,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

}

_SECTION_END();



_SECTION_BEGIN("");



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

Ksmooth = Param( "%K avg", 4, 1, 200, 1 );

Dsmooth = Param( "%D avg", 3, 1, 200, 1 );



TimeFrameSet(in1Minute * 30);

k30 = StochK( periods , Ksmooth);

d30 = StochD( periods , Ksmooth, DSmooth );

TimeFrameRestore();



K = TimeFrameExpand(k30, in1Minute * 30);

D = TimeFrameExpand(d30, in1Minute * 30);



Hi = IIf(k > d, k, d);

Lo = IIf(k < d, k, d);



periods1 = Param( "Periods1", 8, 1, 200, 1 );

Ksmooth1 = Param( "%K avg", 4, 1, 200, 1 );

Dsmooth1 = Param( "%D avg", 3, 1, 200, 1 );



U = StochK( periods1 , Ksmooth1);

T = StochD( periods1 , Ksmooth1, DSmooth1 );



x = EMA(Close,5);

y = EMA(Close,13);



Buy=((K > D) AND (U > T) AND (U < 75 AND T < 75) AND (x>=y));

Sell=Cross(T,U) OR (T>=U);



Longa = Flip(Buy,Sell);

shrta = Flip(Sell,Buy);



Buy = ExRem(Buy,Sell);

Sell = ExRem(Sell,Buy);



Filter = Buy OR Sell;



AddTextColumn(FullName(),"Name");

AddColumn( Buy, "BUY" );

AddColumn( Sell, "SELL" );



t1= Flip(Buy,Sell);

t2= Flip(Sell,Buy);



BPrice=ValueWhen(t1 AND Ref(t1,-1)==0,C,1);

SPrice=ValueWhen(t2 AND Ref(t2,-1)==0,C,1);



Short=((D > K) AND (T > U) AND (U > 25 AND T > 25) AND (y>=x));

Cover=Cross(U,T) OR (T<=U);



Short = ExRem(Short,Cover);

Cover = ExRem(Cover,Short);



PlotShapes(IIf(Short, shapeHollowSmallCircle, shapeNone),colorYellow, 0,H, Offset=30);

PlotShapes(IIf(Cover, shapeHollowSmallSquare, shapeNone),colorBrightGreen, 0,L, Offset=-30);

GraphXSpace = 5;



AlertIf( Short, "SOUND C:\\Windows\\Media\\Ringin.wav", "Audio alert", 2 );

AlertIf( Cover, "SOUND C:\\Windows\\Media\\Ringin.wav", "Audio alert", 2 );





dist = 2*ATR(10);

dist1 = 3*ATR(10);



for( i = 0; i < BarCount; i++ )

{

    if( Buy[i] )

    {

 



        BuyStop2 = L[i]*0.9975;

        BuyTP1 = L[i]*1.005;



        GfxSetOverlayMode( mode = 0 );

        GfxSelectPen( colorBlue, 3 );

        GfxSelectSolidBrush( colorWhite );

        GfxRoundRect( 05, 210, 185, 265, 15, 15 );

        GfxSetBkMode(1);

        GfxSelectFont( "Arial", 10, 700, False );

        GfxSetTextColor( colorDarkBlue );

        GfxSetTextAlign(0);



        GfxTextOut( WriteIf(L[ i ], "Buy Above: "+L[ i ],""), 30, 215);

        GfxTextOut( WriteIf(BuyTP1, "Buy Target: "+(BuyTP1),""), 30, 230);

        GfxTextOut( WriteIf(BuyStop2, "Long SL: "+(BuyStop2),""), 30, 245);

      

    }

    if( Sell[i] )

    {

    

        SellStop2 = H[i]*1.0025;

        SellTP1 = H[i]*0.995;

     

        GfxSetOverlayMode( mode = 0 );

        GfxSelectPen( colorRed, 3 );

        GfxSelectSolidBrush( colorPink );

        GfxRoundRect( 05, 210, 185, 265, 15, 15 );

        GfxSetBkMode(1);

        GfxSelectFont( "Arial", 10, 700, False );

        GfxSetTextColor( colorYellow );

        GfxSetTextAlign(0);

        GfxTextOut( WriteIf(H[ i ], "Sell Below: "+H[ i ],""), 30, 215);

        GfxTextOut( WriteIf(SellTP1, "Short Target: "+(SellTP1),""), 30, 230);

        GfxTextOut( WriteIf(SellStop2, "Short SL: "+(SellStop2),""), 30, 245);

       

    }



}





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

PlotShapes(IIf(Buy, shapeSquare, shapeNone),colorLime, 0,L, Offset=-20);

PlotShapes(IIf(Buy, shapeUpArrow, shapeNone),colorWhite, 0,L, Offset=-15);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorRed, 0, H, Offset=10);

PlotShapes(IIf(Sell, shapeSquare, shapeNone),colorOrange, 0,H, Offset=20);

PlotShapes(IIf(Sell, shapeDownArrow, shapeNone),colorWhite, 0,H, Offset=-15);

AlertIf( Buy, "SOUND C:\\Windows\\Media\\Ringin.wav", "Audio alert", 2 );

AlertIf( Sell, "SOUND C:\\Windows\\Media\\Ringin.wav", "Audio alert", 2 );

_SECTION_END();



_SECTION_BEGIN("Signal Panel");



no=10;

res=HHV(H,no);

sup=LLV(L,no);

avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));

avn=ValueWhen(avd!=0,avd,1);

s5d=IIf(avn==1,sup,res);



showsl = ParamToggle("Stop Loss Line", "Show|Hide", 0);

if (showsl == 1)

{Plot(s5d,"Stop Loss",colorCustom14,styleDots);}



exitlong = Cross(s5d, H);

PlotShapes(exitlong * shapeNone, colorBlack,0,H,-10);

exitshort = Cross(L, s5d);

PlotShapes(exitshort * shapeNone, colorBlack,0,L,-15);



Buy = exitshort;

Sell = exitlong;





Buy = ExRem(Buy,Sell);

Sell = ExRem(Sell,Buy);



AlertIf( Buy, "", "BUY @ " + C, 1 );

AlertIf( Sell, "", "SELL @ " + C, 2 );



for(i=BarCount-1;i>1;i--)

{

if(Buy[i] == 1)

{

entry = C[i];

sig = "BUY";

sl = s5d[i];

tar1 = entry + (entry * .0050);

tar2 = entry + (entry * .0092);

tar3 = entry + (entry * .0179);



bars = i;

i = 0;

}

if(Sell[i] == 1)

{

sig = "SELL";

entry = C[i];

sl = s5d[i];

tar1 = entry - (entry * .0050);

tar2 = entry - (entry * .0112);

tar3 = entry - (entry * .0212);





bars = i;

i = 0;

}

}

Offset = 20;

Clr = IIf(sig == "BUY", colorLime, colorRed);

ssl = IIf(bars == BarCount-1, s5d[BarCount-1], Ref(s5d, -1));

sl = ssl[BarCount-1];



Plot(LineArray(bars-Offset, tar1, BarCount, tar1,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar2, BarCount, tar2,1), "", Clr, styleLine|styleDots, Null, Null, Offset);

Plot(LineArray(bars-Offset, tar3, BarCount, tar3,1), "", Clr, styleLine|styleDots, Null, Null, Offset);



Plot(LineArray(bars-Offset, sl, BarCount, sl,1), "", colorDarkRed, styleLine|styleLine, Null, Null, Offset);

Plot(LineArray(bars-Offset, entry, BarCount, entry,1), "", colorGreen, styleLine|styleLine, Null, Null, Offset);



for (i=bars; i <BarCount;i++)

{

PlotText(""+sig+"@"+entry, BarCount+1,entry,Null,colorBlue);

PlotText("T1@"+tar1,BarCount+3,tar1,Null,Clr);PlotText("T2@"+tar2,BarCount+3,tar2,Null,Clr);PlotText ("T3@"+tar3,BarCount+3,tar3,Null,Clr);



}





_SECTION_BEGIN("VSA by Mr.Karthik");

DTL=Param("Linear regression period",60,10,100,10);

wbf=Param("WRB factor",1.5,1.3,2.5,.1);

nbf=Param("NRB factor",0.7,0.3,0.9,0.1);

TL=LinRegSlope(MA(C, DTL),2);

 Vlp=Param("Volume lookback period",30,20,300,10);

Vrg=MA(V,Vlp);

St = StDev(Vrg,Vlp);

Vp3 = Vrg + 3*st;

Vp2 = Vrg + 2*st;;

Vp1 = Vrg + 1*st;;

Vn1 = Vrg -1*st;

Vn2 = Vrg -2*st;

rg=(H-L);

arg=Wilders(rg,30);

wrb=rg>(wbf*arg);

nrb=rg<(nbf*arg);

Vl=V<Ref(V,-1) AND V<Ref(V,-2);

upbar=C>Ref(C,-1);

dnbar=C<Ref(C,-1);

Vh=V>Ref(V,-1) AND Ref(V,-1)>Ref(V,-2);

Cloc=C-L;

x=rg/Cloc;

x1=IIf(Cloc==0,arg,x);

Vb=V>Vrg OR V>Ref(V,-1);

ucls=x1<2;

dcls=x1>2;

mcls=x1<2.2 AND x1>1.8 ;

Vlcls=x1>4;

Vhcls=x1<1.35;

j=MA(C,5);

TLL=LinRegSlope(j,40) ;

Tlm=LinRegSlope(j,15) ;

tls=LinRegSlope(j,5);

mp=(H+L)/2;



Pp1=Param("NumberOfDays",30,1,200,1);

Pp2=Param("VolOfDays",15,1,200,1);



numDays = Pp1;

dwWideSpread = 1.8;

dwNarrowSpread = 0.8;

dwSpreadMiddle = 0.5;

dwHighClose = 0.7;

dwLowClose = 0.3;



volNumDays = Pp2;

dwUltraHighVol = 2;

dwVeryHighVol = 1.75; // was 1.8

dwHighVol = 1.75; // was 1.8

dwmoderateVol = 1.10; // was 1.8

dwLowVol = 0.75; // was 0.8




upBar = C > Ref(C,-1);

downBar = C < Ref(C,-1);

spread = H-L;

avgRange = Sum(spread, numDays) / numDays;

wideRange = spread >= (dwWideSpread * avgRange);

narrowRange = spread <= (dwNarrowSpread * avgRange);

testHighClose = L + (spread * dwHighClose);

testLowClose = L + (spread * dwLowClose);

testCloseMiddle = L + (spread * dwSpreadMiddle);



upClose = C > testHighClose;

downClose = C < testLowClose;

middleClose = C >= testLowClose AND C <= testHighClose;



avgVolume = EMA(V, volNumDays);



highVolume = V > (avgVolume * dwHighVol);

moderateVol= V > (avgVolume * dwmoderateVol);

veryHighVolume = V > (avgVolume * dwVeryHighVol);

ultraHighVolume = V > (avgVolume * dwUltraHighVol);

LowVolume = V < (avgVolume * dwLowVol);






upThrustBar = downClose AND H > Ref(H,-1) AND (C == L) AND downClose AND (NOT narrowRange);

noDemandBar = narrowRange AND LowVolume AND upBar AND (NOT upClose);


noSupplyBar = narrowRange AND LowVolume AND downBar AND (V < Ref(V,-1)) AND (V < Ref(V,-2));

absorption = Ref(downbar, -1) AND Ref(highVolume, -1) AND upBar;

support = Ref(downBar,-1) AND (NOT Ref(downClose,-1)) AND Ref(highVolume,-1) AND upBar;

stoppingVolume = Ref(downBar,-1) AND Ref(highVolume,-1) AND C > testCloseMiddle AND (NOT downBar);

bullishsign=moderateVol+UpThrustBar;





weakness = upThrustBar OR noDemandBar OR (narrowRange AND (H > Ref(H,-1)) AND highVolume) OR (Ref(highVolume,-1) AND Ref(upBar,-1) AND downBar AND (H < Ref(H,-1)));





C1 = Ref(C, -1);

uc = C > C1; dc = C <= C1;

ud = C > O; dd = C <= O;



green = 1; blue = 2; yellow = 3; red = 4; white = 5;

VType = IIf(ud, IIf(uc, green, yellow), IIf(dd,IIf(dc, red, blue), white));





gv = IIf(VType == green, V, 0);



yv = IIf(VType == yellow, V, 0);



rv = IIf(VType == red, V, 0);



bv = IIf(VType == blue, V, 0);



uv = gv + bv; uv1 = Ref(uv, -1);

dv = rv + yv; dv1 = Ref(dv, -1);





VolPer = Param("Adjust Vol. MA per.", 34, 1, 255, 1);

ConvPer = Param("Adjust Conv. MA per.", 9, 1, 255, 1);





MAuv = TEMA(uv, VolPer ); mauv1 = Ref(mauv, -1);

MAdv = TEMA(dv, VolPer ); madv1 = Ref(madv, -1);

MAtv = TEMA(V, VolPer );




OscillatorOnly = Param("Show Oscillator Only", 0, 0, 1, 1);

CompareBullVolume = Param("Show Bull Level", 1, 0, 1, 1);

if(CompareBullvolume AND !OscillatorOnly){


}



CompareBearVolume = Param("Show Bear Level", 1, 0, 1, 1);

if(CompareBearVolume AND !OscillatorOnly){


}




bullvolume = Param("Show Bull Volume", 1, 0, 1, 1);

bearvolume = Param("Show Bear Volume", 1, 0, 1, 1);

totalvolume = Param("Show Total Volume", 1, 0, 1, 1);




bearToFront = Param("Show Bear Vol in Front", 0, 0, 1, 1);

if(bearToFront AND !OscillatorOnly){


}

if(bullvolume AND !OscillatorOnly){


}

if(bearvolume AND !OscillatorOnly){



}

if(totalVolume AND !OscillatorOnly){



}

if(bullvolume AND !OscillatorOnly){



}

if(bearvolume AND !OscillatorOnly){



}





Converge = (TEMA(MAuv - MAdv, ConvPer));

Converge1 = Ref(Converge, -1);

ConvergeUp = Converge > Converge1;

ConvergeOver = Converge > 0;

rising = ConvergeUp AND ConvergeOver;

falling = !ConvergeUp AND ConvergeOver;




convergenceOscillator = Param("Show Oscillator", 0, 0, 1, 1);

if(convergenceOscillator OR OscillatorOnly){


}





riseFallColor = IIf(rising, 14,15);




riseFallShadows = Param("Show RiseFallShadows", 0, 0, 1, 1);

if(riseFallShadows){


}

_SECTION_END();



_SECTION_BEGIN("GANN Levels");




Op=TimeFrameGetPrice("O",inDaily,0);



order=Param("Order",0.15,0.001,0.1,sincr = 0);



level1 = 1.25;

level2 = 2.50;

level3 = 3.33;

level4 = 5;

level5 = 6.66;

level6 = 7.5;

level7 = 10;



level1 = level1 * order;

level2 = level2 * order;

level3 = level3 * order;

level4 = level4 * order;

level5 = level5 * order;

level6 = level6 * order;

level7 = level7 * order;



bAboveI=(sqrt(Op)+level1)*(sqrt(Op)+level1);

bAbove = round(bAboveI);                     



sBelowI=(sqrt(Op)-level1)*(sqrt(Op)-level1);

sBelow = round(sBelowI);



Sstop= bAbove ;

Bstop= sBelow ;






BTgt1 = round((sqrt(Op)+level2)*(sqrt(Op)+level2));

BTgt2 = round((sqrt(Op)+level3)*(sqrt(Op)+level3));

BTgt3 = round((sqrt(Op)+level4)*(sqrt(Op)+level4));

BTgt4 = round((sqrt(Op)+level5)*(sqrt(Op)+level5));

BTgt5 = round((sqrt(Op)+level6)*(sqrt(Op)+level6));

BTgt6 = round((sqrt(Op)+level7)*(sqrt(Op)+level7));






STgt1 = round((sqrt(Op)-level2)*(sqrt(Op)-level2));

STgt2 = round((sqrt(Op)-level3)*(sqrt(Op)-level3));

STgt3 = round((sqrt(Op)-level4)*(sqrt(Op)-level4));

STgt4 = round((sqrt(Op)-level5)*(sqrt(Op)-level5));

STgt5 = round((sqrt(Op)-level6)*(sqrt(Op)-level6));

STgt6 = round((sqrt(Op)-level7)*(sqrt(Op)-level7));



GfxSetBkMode( 1 );

GfxSelectFont("Arial", 9, 900 );

GfxSetTextColor( colorYellow );

GfxSelectPen( colorBlack, 1, 0) ;

GfxSelectSolidBrush( colorBlue );



BTgtext = "Buy Targets : " + NumToStr(btgt1,1.2,False) + " - " + NumToStr(btgt2,1.2,False) + " - " + NumToStr(btgt3,1.2,False)+ " - " + NumToStr(btgt4,1.2,False) + " - " + NumToStr(btgt5,1.2,False) + " - " + NumToStr(btgt6,1.2,False);

STgtext = "Short Targets : " + NumToStr(stgt1,1.2,False) + " - " + NumToStr(stgt2,1.2,False) + " - " + NumToStr(stgt3,1.2,False)+ " - " + NumToStr(stgt4,1.2,False) + " - " + NumToStr(stgt5,1.2,False) + " - " + NumToStr(stgt6,1.2,False);




GfxTextOut("Buy Above : " + WriteIf(TimeNum()>092900, NumToStr(bAbove,1.2,False) + " SL : " + NumToStr(sBelow,1.2,False),"Waiting for Signal"), 10, 270);

GfxTextOut(WriteIf(TimeNum()>092900,BTgtext,""), 10, 285);



GfxSetBkMode( 1 );

GfxSelectFont("Arial", 9, 900 );

GfxSetTextColor( colorBlack );

GfxSelectPen( colorBlack, 1, 0) ;

GfxSelectSolidBrush( colorBlue );



GfxTextOut("Short Below : " + WriteIf(TimeNum()>092900, NumToStr(sBelow,1.2,False) + " SL : " + NumToStr(bAbove,1.2,False),"Waiting for Signal"), 10, 305);

GfxTextOut(WriteIf(TimeNum()>092900,STgtext,""), 10, 320);



BuySignal = (Cross(H,babove)OR Cross(C,babove) OR (H>babove AND L<=babove)) AND Op<babove ;

ShortSignal = (Cross(Sbelow,L) OR Cross(Sbelow,C) OR (H>=sbelow AND L<sbelow))AND Op>sbelow ;



BuySignal = ExRem(BuySignal,ShortSignal);

ShortSignal = ExRem(ShortSignal,BuySignal);



ShortProfitStop= (STgt1 AND L<=Stgt1 AND C>Stgt1) OR (STgt2 AND L<=Stgt2 AND C>Stgt2) OR (STgt3 AND L<=Stgt3 AND C>Stgt3) OR (STgt4 AND L<=Stgt4 AND C>Stgt4) OR (STgt5 AND L<=Stgt5 AND C>Stgt5) OR (STgt6 AND L<=Stgt6 AND C>Stgt6);

BuyProfitStop= (Btgt1 AND H>=btgt1 AND C<Btgt1) OR (Btgt2 AND H>=Btgt2 AND C<btgt2) OR (Btgt3 AND H>=Btgt3 AND C<btgt3) OR (Btgt4 AND H>=Btgt4 AND C<btgt4) OR (Btgt5 AND H>=Btgt5 AND C<btgt5) OR (Btgt6 AND H>=Btgt6 AND C<btgt6);



SetOption("MaxOpenPositions", 1 );

SetPositionSize(100,spsShares);



AlertIf( Buy, "", "BUY @ " + C, 1 );

AlertIf( Sell, "", "SELL @ " + C, 2 );



numbars = LastValue(Cum(Status("barvisible")));

hts  = -33.5;



gl = ParamToggle("GANN Levels","Show|Hide",0);

if(gl==1) {



Plot(sstop,"BUY Zone",colorDarkGreen,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(bstop,"SELL Zone",colorDarkRed,styleDots|styleNoLine|styleNoRescale|styleNoTitle );



Plot(BTgt1,"BUY TGT1",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(BTgt2,"BUY TGT2",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(BTgt3,"BUY TGT3",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(BTgt4,"BUY TGT4",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(BTgt5,"BUY TGT5",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );

Plot(BTgt6,"BUY TGT6",colorOrange,styleDots|styleNoLine|styleNoRescale|styleNoTitle );



Plot(STgt1,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

Plot(STgt2,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

Plot(STgt3,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

Plot(STgt4,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

Plot(STgt5,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);

Plot(STgt6,"SELL TGT1",colorLime,styleDots|styleNoLine|styleNoRescale|styleNoTitle);



PlotText(" BUY Zone" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(sstop,1), colorDarkGreen);

PlotText(" SELL Zone" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(bstop,1), colorDarkRed);



PlotText(" BUY TGT1" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt1,1), colorOrange);

PlotText(" BUY TGT2" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt2,1), colorOrange);

PlotText(" BUY TGT3" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt3,1), colorOrange);

PlotText(" BUY TGT4" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt4,1), colorOrange);

PlotText(" BUY TGT5" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt5,1), colorOrange);

PlotText(" BUY TGT6" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(BTgt6,1), colorOrange);



PlotText(" SELL TGT1" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt1,1), colorLime);

PlotText(" SELL TGT2" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt2,1), colorLime);

PlotText(" SELL TGT3" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt3,1), colorLime);

PlotText(" SELL TGT4" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt4,1), colorLime);

PlotText(" SELL TGT5" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt5,1), colorLime);

PlotText(" SELL TGT6" ,    LastValue(BarIndex())-(numbars/Hts), LastValue(STgt6,1), colorLime);



}



_SECTION_END();



_SECTION_BEGIN("Ribbon");

no=Param( "Swing", 10, 1, 55 );

res=HHV(H,no);

sup=LLV(L,no);

avd=IIf(C>Ref(res,-1),1,IIf(C<Ref(sup,-1),-1,0));

avn=ValueWhen(avd!=0,avd,1);

tsl=IIf(avn==1,sup,res);



Plot( 2, "Ribbon",IIf(C>tsl,colorBlue,colorRed),styleOwnScale|styleArea|styleNoLabel, -0.5, 100 );

_SECTION_END();



_SECTION_BEGIN("BREAK OUTS");




CodeName = "Joy's Breakouts";

SetFormulaName("Joy's Breakouts");





SetChartOptions(0,chartShowArrows | chartShowDates | chartWrapTitle);

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)));

}



space = Param("Space on Chart", 20,  - 15, 50, 1);

GraphXSpace = space;





H0 = H;

L0 = L;

C0 = C;

O0 = O;



Lookback = Param("LookBack", 10, 10, 50, 1);
shift = Param("Shift", 5, 1, 50, 1);

x0 = LastValue(Cum(1));

x1 = x0 - shift;

H = Ref(H,  - shift + 1);

L = Ref(L,  - shift + 1);

H1 = LastValue(Ref(HHV(H, Lookback),  - 1));

L1 = LastValue(Ref(LLV(L, Lookback),  - 1));



Plot(H1, "H1", colorYellow);

Plot(L1, "L1", colorYellow);



H = H0;

L = L0;

C = C0;

O = O0;



up = Cross(H, H1)AND Cum(1) > x1;

dn = Cross(L1, L)AND Cum(1) > x1;



Plot(C, "Close", IIf(Cum(1) > x1 - Lookback AND Cum(1) <= x1, colorBlue, IIf(Up, colorBrightGreen, IIf(Dn, colorRed, IIf(C > O, colorGreen, colorRed)))), 64);

PlotShapes(shapeDownArrow *(Cum(1) == x1 + 1), colorBlue);




TRIGGER = ParamToggle("Trigger ", "CLOSE|HIGH OR LOW");





XH1 = Cross(C, H1);

XL1 = Cross(L1, C);

XH2 = Cross(H, H1);

XL2 = Cross(L1, L);



if (TRIGGER == 0)

{

  Buy = XH1;

  Sell = XL1;

}



else

{

  Buy = XH2;

  Sell = XL2;

}





TradeDisplay = ParamToggle("Remove Extra Trades?", "No|Yes");



if(TradeDisplay != 0){

   Buy = ExRem(Buy, Sell);

  Sell = ExRem(Sell, Buy);
}



Filter = Buy OR Sell;

Action = WriteIf(Buy, "BUY", WriteIf(Sell, "SELL", "   "));



AddTextColumn(IndustryID(1), "Industry Sector  ", 30.0, colorGold, colorYellow);

AddColumn(C, "Last ", 2.2, colorWhite, colorGold);

AddTextColumn(Action, "Action", 8.0, IIf(XH1, colorDarkGreen, colorDarkRed), colorWhite);

AddColumn(IIf(XH1, H1, L1), "BREAKOUT LEVEL", 3.2, colorYellow, IIf(XH1, colorDarkGreen, colorDarkRed));



_SECTION_END();





_SECTION_BEGIN("Volume At Price");

PlotVAPOverlay(Param("Lines", 1000, 100, 1000, 10), Param("Width", 15, 1, 100, 1), ParamColor("Color", colorGold), ParamToggle("Side", "Left|Right", 1) | 4 *ParamToggle("Z-order", "On top|Behind", 1));



_SECTION_END();



_SECTION_BEGIN("Title");



dec = (Param("Decimals",2,0,7,1)/10)+1;



TimeFrameSet(inDaily);

DayH = LastValue(H);

DayL = LastValue(L);

TimeFrameRestore();



if( Status("action") == actionIndicator )

(Title = EncodeColor(colorYellow)+ "BB Based Auto Target" + "     " + EncodeColor(55)+  Name() + "     " + EncodeColor(32) + Date() + "      " + EncodeColor(5) + "{{INTERVAL}}  " + EncodeColor(55)+ "    Volume = "+ EncodeColor(52)+ WriteVal(V,1) + "\n" +

   EncodeColor(55)+ "Open = "+ EncodeColor(52)+ WriteVal(O,dec) +

   EncodeColor(55)+ "     High = "+ EncodeColor(5) + WriteVal(H,dec) +

   EncodeColor(55)+ "      Low = "+ EncodeColor(32)+ WriteVal(L,dec) +

   EncodeColor(55)+ "    Close = "+ EncodeColor(52)+ WriteVal(C,dec) + "\n" +

   EncodeColor(55)+ "Today`s High= " + EncodeColor(colorBlue) + DayH + EncodeColor(55)+ "     Today`s Low= " + EncodeColor(colorBlue) + DayL +"\n"+



EncodeColor(colorPink)+"----------------------------------------"

+"\n"+EncodeColor(07)+"Volume: "+WriteIf(V>Vp2,EncodeColor(colorLime)+"Very High",WriteIf(V>Vp1,EncodeColor(colorLime)+" High",WriteIf(V>Vrg,EncodeColor(colorLime)+"Above Average",

WriteIf(V<Vrg AND V>Vn1,EncodeColor(colorRed)+"Less than Average",WriteIf(V<Vn1,EncodeColor(colorRed)+"Low","")))))



+"\n"+EncodeColor(colorYellow)+"Spread: "+WriteIf(rg >(arg*2),EncodeColor(colorLime)+" Wide",WriteIf(rg>arg,EncodeColor(colorLime)+" Above Average",EncodeColor(colorRed)+" Narrow"))



+"\n"+(EncodeColor(colorYellow)+"Close: ")+WriteIf(Vhcls,EncodeColor(colorLime)+"Very High",WriteIf(ucls,EncodeColor(colorLime)+"High",WriteIf(mcls,EncodeColor(colorYellow)+"Mid",

WriteIf(dcls,EncodeColor(colorRed)+"Down","Very Low"))))



+"\n"+EncodeColor(colorYellow) + "Zone : " +WriteIf(rising , EncodeColor(colorBrightGreen) + "Accumulation",WriteIf(falling , EncodeColor(colorCustom12) + "Distirbution",EncodeColor(colorAqua) + "Flat")) + " "

+"\n"+

EncodeColor(colorYellow) + "Status : " +

WriteIf(Weakness , EncodeColor(colorRed) + "Weak",

WriteIf(stoppingVolume , EncodeColor(colorCustom12) + "StoppingVol",

WriteIf(noSupplyBar , EncodeColor(colorLightOrange) + "NoSupply",

WriteIf(support , EncodeColor(colorLightBlue) + "SupportVol",

WriteIf(noDemandBar , EncodeColor(colorPink) + "NoDemand",

WriteIf(absorption, EncodeColor(colorSkyblue) + "Absorption",

WriteIf(upThrustBar, EncodeColor(colorBlue) + "Upthrust",

WriteIf(bullishsign, EncodeColor(colorPaleGreen) + "STRONG",

EncodeColor(colorTan) + "Neutral")))))))) + " "

+"\n"+EncodeColor(colorPink)+"----------------------------------------"+"\n"+



   EncodeColor(colorLime)+WriteIf (Buy , "GO LONG / Reverse Signal at "+C+"  ","")+

   EncodeColor(colorRed)+WriteIf (Sell , "EXIT LONG / Reverse Signal at "+C+"  ","")+"\n"+

   EncodeColor(colorWhite)+WriteIf(Sell , "Total Profit/Loss for the Last Trade Rs."+(C-BPrice)+"","")+

   WriteIf(Buy  , "Total Profit/Loss for the Last trade Rs."+(SPrice-C)+"","")+"\n"+

   WriteIf(Longa AND NOT Buy, "Trade : Long - Entry price Rs."+(BPrice),"")+

   WriteIf(shrta AND NOT Sell, "Trade : Short - Entry price Rs."+(SPrice),"")+"\n"+

   WriteIf(Longa AND NOT Buy, "Current Profit/Loss Rs."+(C-BPrice)+"","")+

   WriteIf(shrta AND NOT Sell, "Current Profit/Loss Rs."+(SPrice-C)+"",""));



_SECTION_END();



_SECTION_BEGIN("Linear Regression");

Lrc = ParamToggle("Linear Regression Channel","Show|Hide",0);

if(Lrc==1) {




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



Length = 150;



Daysback = Param("Period for Liner Regression Line",Length,1,240,1);

shift = Param("Look back period",0,0,240,1);




x = Cum(1);

lastx = LastValue( x ) - shift;

aa = LastValue( Ref(LinRegIntercept( p, Daysback), -shift) );

bb = LastValue( Ref(LinRegSlope( p, Daysback ), -shift) );

y = Aa + bb * ( x - (Lastx - DaysBack +1 ) );






LRColor = ParamColor("LR Color", colorCycle );

LRStyle = ParamStyle("LR Style");



LRLine =  IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y, Null );



LRStyle = ParamStyle("LR Style");

Angle = Param("Angle", 0.05, 0, 1.5, 0.01);


LRLine = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y, Null );



Pi = 3.14159265 * atan(1); // Pi

SlopeAngle = atan(bb)*(180/Pi);



LineUp = SlopeAngle > Angle;

LineDn = SlopeAngle < - Angle;



if(LineUp)

{

Plot(LRLine, "Lin. Reg. Line Up", IIf(LineUp, colorBrightGreen, colorWhite), LRStyle);

}

else

{

Plot(LRLine, "Lin. Reg. Line Down", IIf(LineDn, colorDarkRed, colorWhite), LRStyle);

}






SDP = Param("Standard Deviation", 1.5, 0, 6, 0.1);

SD = SDP/2;



width = LastValue( Ref(SD*StDev(p, Daysback),-shift) );
SDU = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width , Null ) ;

SDL = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width , Null ) ;



SDColor = ParamColor("SD Color", colorCycle );

SDStyle = ParamStyle("SD Style");



Plot( SDU , "\nUpper Lin Reg", colorWhite,SDStyle );
Plot( SDL , "Lower Lin Reg", colorWhite,SDStyle );




SDP2 = Param("2d Standard Deviation", 2.0, 0, 6, 0.1);

SD2 = SDP2/2;



width2 = LastValue( Ref(SD2*StDev(p, Daysback),-shift) );
SDU2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y+width2 , Null ) ;

SDL2 = IIf( x > (lastx - Daysback) AND BarIndex() < Lastx, y-width2 , Null ) ;



SDColor2 = ParamColor("2 SD Color", colorCycle );

SDStyle2 = ParamStyle("2 SD Style");



Plot( SDU2 , "Upper Lin Reg", colorWhite,SDStyle2 );
Plot( SDL2 , "Lower Lin Reg", colorWhite,SDStyle2 );

Trend = IIf(LRLine > Ref(LRLine,-1),colorGreen,colorRed);


Plot( LRLine , "LinReg", Trend, LRSTYLE );



}

_SECTION_END();

Previous
Next Post »