// Downloaded From https://www.WiseStockTrader.com _SECTION_BEGIN("SUPPORT/RESISTANCE LINES "); /* CATEGORY 3 SUPPORT BREAKOUT TRIGGER FOR SHORTS: */ /* PARAMETERS */ ColLSC = ParamColor("SU Color",colorOrange); ColLRC = ParamColor("RE Color",colorBlue); LL_3_6 = Ref(L,-6) > Ref(L,-3); LL_3_5 = Ref(L,-5) > Ref(L,-3); LL_3_4 = Ref(L,-4) > Ref(L,-3); LL_3_2 = Ref(L,-2) > Ref(L,-3); LL_3_1 = Ref(L,-1) > Ref(L,-3); LL_3_0 = L > Ref(L,-3); Cat3Sup = LL_3_6 AND LL_3_5 AND LL_3_4 AND LL_3_2 AND LL_3_1 AND LL_3_0; /* SUPPORT LINE ("SC") */ y0=ValueWhen(Cat3Sup,Ref(L,-3),2); y1=ValueWhen(Cat3Sup,Ref(L,-3),1); x0=ValueWhen(Cat3Sup,BarIndex(),2)-3; x1=ValueWhen(Cat3Sup,BarIndex(),1)-3; // looking into the future here, but it is // only applied to historical plots to determine // the length of the extension. xsf=ValueWhen(Cat3Sup,BarIndex(),0)-3; /* CATEGORY 3 RESISTANCE BREAKOUT TRIGGER FOR LONGS: */ HH_3_6 = Ref(H,-6) < Ref(H,-3); HH_3_5 = Ref(H,-5) < Ref(H,-3); HH_3_4 = Ref(H,-4) < Ref(H,-3); HH_3_2 = Ref(H,-2) < Ref(H,-3); HH_3_1 = Ref(H,-1) < Ref(H,-3); HH_3_0 = H < Ref(H,-3); Cat3Res = HH_3_6 AND HH_3_5 AND HH_3_4 AND HH_3_2 AND HH_3_1 AND HH_3_0; y2=ValueWhen(Cat3Res,Ref(H,-3),2); y3=ValueWhen(Cat3Res,Ref(H,-3),1); x2=ValueWhen(Cat3Res,BarIndex(),2)-3; x3=ValueWhen(Cat3Res,BarIndex(),1)-3; // another look into the future. xrf=ValueWhen(Cat3Res,BarIndex(),0)-3; Plot(C,"C", colorBlack, styleCandle); extendedSup=0; extendedRes=0; NullY0=IsNull(y0); NullY2=IsNull(y2); for ( i = BarCount -1 ; i > 7 ; i-- ) { if ( !NullY0[i] ){ // only plot lines when enough datapoints avail. if ( x0[i] != x0[i-1] ) { ms = (y1[i] - y0[i])/(x1[i] - x0[i]); // simple slope of support if ( NOT extendedSup ) { // Haven't extended one yet extendedSup = 1; Line1 = LineArray( x0[i], y0[i], x1[i] + 3, y1[i] + (3 * ms),0,True); Plot(Line1,"",ColLSC,styleLine); Line2 = LineArray( x1[i] + 3, y1[i] + (3 * ms), x1[i] + 4,y1 [i] + (4 * ms), 1,True); Plot(Line2,"Cat3Sup",colorWhite,styleLine+styleNoRescale); Sell=Cross(Line2,C); PlotShapes(IIf (Sell,shapeHollowDownArrow,shapeNone),colorRed,0,H,-10); } else { // old Cat3Sup lines, use 'look ahead' extensions Line3 = LineArray( x0[i], y0[i], x1[i] + 3, y1[i] + (3 * ms),0,True); Plot(Line3,"",colorPink,styleLine); Line4 = LineArray( x1[i] + 3, y1[i] + (3 * ms), xsf[i] + 3, y1[i] + ms * (xsf[i] - x1[i] + 3), 0,True); Plot(Line4,"Cat3Sup",colorWhite,styleLine+styleNoRescale); Sell=Cross(Line4,C); PlotShapes(IIf (Sell,shapeHollowDownArrow,shapeNone),colorRed,0,H,-10); } } } if ( !NullY2[i] ){ // only plot lines when enough datapoints avail. if ( x2[i] != x2[i-1] ) { mr = (y3[i] - y2[i])/(x3[i] - x2[i]); // simple slope ofresistance if ( NOT extendedRes ) { // Haven't extended one yet extendedRes = 1; Line5= LineArray( x2[i], y2[i], x3[i] + 3, y3[i] + (3 * mr),0,True); Plot(Line5,"",ColLRC,styleLine); Line6 = LineArray( x3[i] + 3, y3[i] + (3 * mr), x3[i] + 4,y3 [i] + (4 * mr), 1,True); Plot(Line6,"Cat3Sup",colorWhite,styleLine+styleNoRescale); Buy=Cross(C,Line6); PlotShapes(IIf (Buy,shapeUpArrow,shapeNone),colorBrightGreen,0,L,-10); } else { // old Cat3Sup lines, use 'look ahead' extensions Line7= LineArray( x2[i], y2[i], x3[i] + 3, y3[i] + (3 * mr),0,True); Plot(Line7,"",colorBlue,styleLine); Line8 = LineArray( x3[i] + 3, y3[i] + (3 * mr), xrf[i] + 3, y3[i] + mr * (xrf[i] - x3[i] + 3), 0,True); Plot(Line8,"Cat3Sup",colorWhite,styleLine+styleNoRescale); Buy=Cross(C,Line8); PlotShapes(IIf (Buy,shapeUpArrow,shapeNone),colorBrightGreen,0,L,-10); } } } } NumColumns = 0; // EXPLORATION EXAMPLE: Filter = Buy OR Sell; AddTextColumn(FullName(),"Full name",77,colorPlum, IIf(Close <1.00,colorYellow,colorDefault ) ); result = WriteIf(Buy,"Buy","Sell"); AddTextColumn(result,"Trade", formatChar, IIf (Buy,colorDarkGreen,colorRed ), IIf(Sell,colorPink,colorLime)); AddColumn(Ref(Close,-1),"Y-Close",1.4, IIf( ROC(Ref(C,-1),1)>= 0,colorDarkGreen, colorRed ),50 ); AddColumn(Open,"Open",1.4,IIf( ROC(Open, 1 ) >= 0, colorDarkGreen, colorRed ) ); AddColumn(High,"High",1.4,IIf( ROC(High, 1 ) >= 0, colorDarkGreen, colorRed ) ); AddColumn(Low,"Low",1.4,IIf( ROC(Low, 1 ) >= 0, colorDarkGreen, colorRed ) ); AddColumn( Close, "Close", 1.4, IIf( ROC(C, 1 ) >= 0, colorDarkGreen, colorRed ),50 ); AddColumn( ROC( Close, 1 ), "ROC(1)", 1.2, IIf( ROC(C, 1 ) >= 0, colorDarkGreen, colorRed)); AddColumn( Volume, "Volume", 10.0, IIf( ROC(V, 1 ) >= 0, colorDarkGreen, colorRed ) ); AddColumn( y3, "TL Break", 10.4, colorDarkBlue,37 ); AddColumn( ((Close-y3)/y3)*100, "TL Break %", 10.2, colorDarkBlue,37 ); AddColumn( y1, "TL Break", 10.4, colorRed,40 ); AddColumn( ((Close-y1)/Close)*100, "TL Break %", 10.2, colorRed,40 ); _SECTION_END();