You are on page 1of 23

_SECTION_BEGIN("CCI Panel for Amibroker"); /////////////////////////////// // CCI Panel for Amibroker // Codded/Added by Dennis, Kris, Wring, Santacs // Last

Update: 1/02/2008 /////////////////////////////// // Go to www.woodiescciclub.com to learn everything about this system. // You must be a registered user to see the images and downloads. /////////////////////////////// // Setup Axes and Grid section (right click on chart panel, click on Parameters) : // Scaling: Custom , Min=-250 Max=250 // Show Date Axis = Yes , Show Middle Lines = No /////////////////////////////// // To activate the timer properly, make sure the following is set: // click on Tools==>Preferences==>Intraday.... // make sure "Allign minute bars to market hours" is checked... // make sure "Start time of interval" is checked... // make sure "Override: Weekly/monthly bars use day of last trade" is checked. /////////////////////////////// // Tic/PIP values: YM=1.0, ER2=0.10, NQ=0.25, EUR/USD=.0001, USD/JPY=0.01, Stock s=0.01 /////////////////////////////// // Rangebar Settings : // ER2 1.50 // YM 25 // ES 3 // NQ 3.75 // DAX 5 // ZG 1.5 /////////////////////////////// // Discalimer: For educational purposes only. Trade at your own risk. /////////////////////////////// // Timer TTMperiod = 6; Low_ma = EMA(L, TTMperiod); High_ma = EMA(H, TTMperiod); Low_third = (High_ma - Low_ma) / 3 + Low_ma; High_third = 2 * (High_ma - Low_ma) / 3 + Low_ma; tempnum = Now( 4 ) - TimeNum(); TimeRem = Interval() - ((int(tempnum[BarCount - 1] / 100) * 60) + (tempnum[BarCo unt - 1] - int(tempnum[BarCount - 1] / 100) * 100)); if (TimeRem[BarCount - 1] < 0) TimeRem = 0; MinuteVar = int(TimeRem / 60); SecondsVar = int(frac(TimeRem / 60) * 60); if (TimeRem[BarCount - 1] > 60) { TitleTimeRem = EncodeColor(colorWhite) + MinuteVar + ":" + WriteIf(SecondsVar > 9, "", "0") + SecondsVar; } else if (TimeRem[BarCount - 1] > 20) { TitleTimeRem = EncodeColor(colorYellow) + MinuteVar + ":" + WriteIf(SecondsVar > 9, "", "0") + SecondsVar; } else { TitleTimeRem = EncodeColor(colorRed) + MinuteVar + ":" + WriteIf(SecondsVar > 9,

"", "0") + SecondsVar; } // Background color SetChartBkColor(ParamColor("Panel color ",colorBlack)); // CCI colors zcolor= ParamColor("WCCI color",colorWhite); z6color= ParamColor("TCCI color",colorYellow); // CCI periods zperiod=Param("WCCI period",14,0,100); z = CCI(zperiod);

z6period=Param("TCCI period",6,0,1000); z6 = CCI(z6period); // Tic/PIP value TicMult= Param("Tic multiplier(ER2=10,YM=1,ES=4,FOREX=1)",1,0,1000000); TicDiv= Param("Tic or PIP value(ER2=0.1,YM=1,FOREX=1)",1,0,1000000); // Rangebar interval rbint= Param("Rangebar interval:(YM=25.0,AB=1.5,NQ=3.75,ES=3.0)",1.0,0.25,100000 0); // Rangebar counter rbcounter= round(((rbint-(H-L))) * ticmult); rbcounterpercent= round((rbcounter/(rbint * ticmult))*100); // Timer/counter title timercode= Param("Timer:(minutes=1,rangebar=2)",1,1,2); timetitle= WriteIf(timercode==1,TitleTimeRem, EncodeColor(colorWhite) + "Countdo wn " + rbcounter + " (" + rbcounterpercent + "%)"); // Spread spread= Param("Spread (included in stop)",0,0,1000000); // Stop value stopval= Param("Stop above/below entry bar",2,0,1000000); // Plot grids PlotTheGrids = ParamToggle("Plot grids","No Yes",0); if (PlotTheGrids ==1) { PlotGrid(0); PlotGrid(-100); PlotGrid(100);

PlotGrid(-200); PlotGrid(200); } // Angle variables PI = atan(1.00) * 4; periods = 30; HighHigh = HHV(H, periods); LowLow = LLV(L, periods); range = 25 / (HighHigh - LowLow) * LowLow; // EMA34 Angle EMA34 = EMA(C,34); x1_EMA34 = 0; x2_EMA34 = 1; y1_EMA34 = 0; y2_EMA34 = (Ref(EMA34, -1) - EMA34) / Avg * range; c_EMA34 = sqrt((x2_EMA34 - x1_EMA34)*(x2_EMA34 - x1_EMA34) + (y2_EMA34 - y1_EMA3 4)*(y2_EMA34 - y1_EMA34)); angle_EMA34 = round(180 * acos((x2_EMA34 - x1_EMA34)/c_EMA34) / PI); angle_EMA34 = IIf(y2_EMA34 > 0, - angle_EMA34, angle_EMA34); // LSMA25 Angle LSMA25 = LinearReg(C, 25 ); x1_LSMA25 = 0; x2_LSMA25 = 1; y1_LSMA25 = 0; y2_LSMA25 = (Ref(LSMA25, -1) - LSMA25) / Avg * range; c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) + (y2_LSMA25 - y 1_LSMA25)*(y2_LSMA25 - y1_LSMA25)); angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) / PI); angle_LSMA25 = IIf(y2_LSMA25 > 0, - angle_LSMA25, angle_LSMA25); // Color the bars for Woodies Trend Following function Consecutive( array ) { return BarsSince( NOT( array ) ); } function Occurrences( array , period ) { return Sum( array, period ); } array = z; HighBars = Consecutive( array > 0 ); LowBars = Consecutive( array < 0 ); UpCondition = BarsSince( HighBars >= 6 AND Occurrences( array > 100 , 5 ) > 0 ); DnCondition = BarsSince( LowBars >= 6 AND Occurrences( array < -100 , 5 ) > 0 ); UpTrend = ( array > 0 ) AND ( UpCondition < DnCondition ); DnTrend = ( array < 0 ) AND ( UpCondition > DnCondition ); TrTrend = ( HighBars >= 5 AND NOT UpTrend ) OR ( LowBars >= 5 AND NOT DnTrend ); Color = IIf( UpTrend, colorBlue, IIf( DnTrend, colorRed, IIf( TrTrend, colorYell ow, colorGrey40 ) ) );

// CCI Line //Plot(round(z),"WCCI", zcolor, styleLine // Turbo CCI d=0.03; z6t=z6+HHV(z6,100)*d; z6b=z6-HHV(z6,100)*d; Plot(round(z6),"TCCI", z6color, styleThick); //PlotOHLC(z6t,z6t,z6b,z6b,"",z6color,styleCloud,styleNoLabel); d=0.02; zt=z+HHV(z,100)*d; zb=z-HHV(z,100)*d; //PlotOHLC(zt,zt,zb,zb,"",zcolor,styleCloud,styleNoLabel); periods = Param( "Periods", 20, 1, 200, 1 ); K1smooth = Param( "%K1 avg", 4, 1, 200, 1 ); periods = Param( "Periods", 20, 1, 200, 1 ); K1smooth = Param( "%K1 avg", 4, 1, 200, 1 ); D1smooth = Param( "%D1 avg", 2, 1, 200, 1 ); A = StochK( periods , K1smooth); B = StochD( periods , K1smooth, D1Smooth ); periods = Param( "Periods", 8, 1, 200, 1 ); K2smooth = Param( "%K1 avg", 3, 1, 200, 1 ); D2smooth = Param( "%D1 avg", 3, 1, 200, 1 ); M = StochK( periods , K2smooth); N = StochD( periods , K2smooth, D2Smooth ); ColorK=IIf(A>B,colorBrightGreen,colorRed); PlotOHLC(zt,zt,zb,zb,"",zcolor,styleCloud,styleNoLabel); //PlotOHLC(zt,zt,zb,zb,"",ColorK,styleCloud,styleNoLabel); Z42=CCI(42); //Plot(Z42,"", colorCustom12, styleLine styleThick); styleThick);

// CCI Histogram

Plot( array, "", colorDefault, styleLine styleThick styleNoLabel); Plot( array, "", Color, styleHistogram styleThick styleNoLabel); // Zero line 25lsma Plot(0,"", IIf(C > LSMA25,colorBrightGreen,IIf(C < LSMA25,colorRed,colorTeal)), styleLine styleThick styleNoLabel); // Plot the Mock CZI on the 100s ColorANGLE_EMA = IIf(angle_EMA34 >=5,colorTurquoise, IIf(angle_EMA34 <5 AND angle_EMA34 >=3.57,colorDarkGreen, IIf(angle_EMA34 <3.57 AND angle_EMA34 >=2.14,colorPaleGreen, IIf(angle_EMA34 <2.14 AND angle_EMA34 >=.71,colorLime, IIf(angle_EMA34 <=-1*5,colorDarkRed, IIf(angle_EMA34 >-1*5 AND angle_EMA34 <=-1*3.57,colorRed, IIf(angle_EMA34 >-1*3.57 AND angle_EMA34 <=-1*2.14,colorOrange, IIf(angle_EMA34 >-1*2.14 AND angle_EMA34 <=-1*.71,colorLightOrange,colorYellow)) )))))); Plot(100,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(101,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(99,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(98,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(-100,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(-101,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(-99,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); Plot(-102,"", ColorANGLE_EMA , styleLine styleThick styleNoLabel); // Plot the Mock Sidewinder on the 200s SW = IIf((abs(angle_EMA34) >= 15) AND (abs(angle_EMA34 + angle_LSMA25) >= 50), I If(angle_LSMA25 > 0, 2, -2), IIf((abs(angle_EMA34) >= 0) AND (((angle_EMA34 >= 0) AND (angle_LSMA25 >= 0)) OR ((angle_EMA34 <= 0) AND (angle_LSMA25 <= 0))) AND (abs(angle_EMA34 + angle_LSMA 25) >= 5), IIf(angle_LSMA25 > 0, 1, -1), 0)); ColorSW = IIf(abs(SW) == 2, colorBlue, IIf(abs(SW) == 1, colorGrey40, colorBlack)); Plot(200,"", ColorSW, styleLine styleThick styleNoLabel); Plot(-200,"", ColorSW, styleLine styleThick styleNoLabel); // CCI Points CCipointmove= z-Ref(z,-1); CCIpointmovetitle= WriteIf(abs(CCipointmove)<15,EncodeColor(colorRed) + "\n" + "DIFF " + abs(round(CCipointmove)),WriteIf(abs(CCipointmove)>=15 AND abs(CCipointmove)<20, EncodeColor(colorYellow) + "\n" + "DIFF " + abs(round(CCipointmove)),WriteIf(abs(CCIpointmove)>=20,EncodeColor(colorBrightGr een) + "\n" + "DIFF " + abs(round(CCipointmove)),""))); // Price Panel Lastpricetitlehi= WriteIf(H>Ref(H,-1),EncodeColor(colorBrightGreen) + Ref(H,-1) + " " + H , EncodeColor(colorWhite)+ Ref(H,-1) + " " + H); Lastpricetitlelo= WriteIf(L<Ref(L,-1),EncodeColor(colorRed) + Ref(L,-1) + " " + L , EncodeColor(colorWhite) + Ref(L,-1) + " " + L); Closecolor=WriteIf(C==H AND H>Ref(H,-1),EncodeColor(colorBrightGreen),WriteIf(C= =L AND L<Ref(L,-1),EncodeColor(colorRed),EncodeColor(colorWhite)));

// Stop in Longbar= L+rbint; Shortbar= H-rbint; sstoptitle=WriteIf(timercode==2, EncodeColor(colorBlue) + "\n" + "Stop In Long " + Longbar + EncodeColor(colorRed) + "\n" + "Stop In Short " + Shortbar + "\n" ,""); // Stop out stopCode=ParamToggle("Display stop-out ","No Yes",0); StopLong1= C -(L - (stopval*ticdiv) - (spread*ticdiv)); stoplong1c=C-stoplong1; stoplong= round(StopLong1/ticdiv); StopShort1= (H + (stopval*ticdiv) + (spread*ticdiv)) - C; stopshortc= C+StopShort1; StopShort= round(StopShort1/ticdiv); stoptitle= WriteIf(stopcode==1,EncodeColor(colorBlue) + "\n" + "Stop Out Long " + stoplong1c + " " + stoplong + "\n" + EncodeColor(colorRed) + "Stop Out Short " + stopshortc + " " + stopshort + " \n",""); // Title Title = "\n" + "" + EncodeColor(colorWhite) + Date() + "\n" + "\n" + timetitle + "\n" + "\n" + Lastpricetitlehi + "\n" + Closecolor + C + "\n" + Lastpricetitlelo + "\n" + CCIpointmovetitle + "\n" + sstoptitle + stopti tle; Buy=Z42>0 AND (Cross(round(z),-100) OR Cross(round(z),0) OR Cross(round(z),50)); Sell=Z42<0 AND (Cross(100,round(z)) OR Cross(0,round(z)) OR Cross(-50,round(z))) ; Filter=Buy OR Sell; AddColumn( IIf(Buy,1,IIf(Sell,-1,0)) ,"BS",1.0,colorBlack,IIf(Buy,colorGreen,IIf (Sell,colorRed,colorBlack))); _SECTION_END();

_SECTION_BEGIN("Stochastic_45-4-2_833"); ColorX=colorBlack; //ColorX=colorWhite;

periods = Param( "Periods", 20, 1, 200, 1 ); K1smooth = Param( "%K1 avg", 4, 1, 200, 1 ); //Plot( StochK( periods , K1smooth), _DEFAULT_NAME(), colorCustom3, styleNoLabel styleThick styleDots); periods = Param( "Periods", 20, 1, 200, 1 ); K1smooth = Param( "%K1 avg", 4, 1, 200, 1 ); D1smooth = Param( "%D1 avg", 2, 1, 200, 1 );

//Plot( StochD( periods , K1smooth, D1Smooth ), _DEFAULT_NAME(), colorCustom3, s tyleNoLabel styleThick styleDots);

A = StochK( periods , K1smooth); B = StochD( periods , K1smooth, D1Smooth );

PlotOHLC( 300, 300 , 280 , 280 , "", ColorANGLE_EMA, styleCloud styleNoLabel); //PlotOHLC( -280, -280 , -300 , -300 , "", IIf(C > LSMA25,colorBrightGreen,IIf(C < LSMA25,colorRed,colorTeal)), styleCloud styleNoLabel); periods = Param( "Periods", 8, 1, 200, 1 ); K1smooth = Param( "%K1 avg", 3, 1, 200, 1 );

periods = Param( "Periods", 8, 1, 200, 1 ); K2smooth = Param( "%K1 avg", 3, 1, 200, 1 ); D2smooth = Param( "%D1 avg", 3, 1, 200, 1 ); M = StochK( periods , K2smooth); N = StochD( periods , K2smooth, D2Smooth ); ColorK=IIf(A>B,colorBrightGreen,colorRed); //Plot( M,"StoK", ColorK, styleNoLabel styleThick); //Plot( N,"StoD", colorDarkYellow, styleNoLabel styleDashed);

//PlotOHLC( 0, A , B , B , "Cloud", IIf(A > B ,colorAqua,colorRed), styleCloud styleNoLabel); _SECTION_END(); _SECTION_BEGIN("Woodie's CCI Intraday Panel"); //-----------------------------------------------------------------------------// // Formula Name: Woodie's CCI Intraday Panel // Author/Uploader: Dennis Skoblar // E-mail: DennisAndLisa@sbcglobal.net // Date/Time Added: 2006-07-22 15:27:37 // Origin: woodiescciclub.com // Keywords: Woodie's CCI, CCI // Level: medium // Flags: system,exploration,indicator // Formula URL: http://www.amibroker.com/library/formula.php?id=642 // Details URL: http://www.amibroker.com/library/detail.php?id=642 // //-----------------------------------------------------------------------------// // Here is Woodie's CCI Intraday panel which was originally coded by // Crasher_FL and Wring. It is a modified Daily CCI Panel with the CCI 14, and // CCI 6. It is complete with pattern recognition,backtesting, scanning, and // exploration options. The Pattern Recognition helps find the ZLR, HFE, // GB100(with a 34ema +/- 15 degree nuance), VT,FAMIR,MR and Choppy (Chop mode // being defined as the CCI bars inbetween the 100's for 10 or more bars. The

// reset out of chop is when the CCI hooks from extreme at the 200's). . The // pattern recognition is located at the top left corner next to "Signal: ". // // 1=zlr // // 2-famir // // 3=vt // // 4=gb100 // // 5=momentum reversal // // This version has the Mplay Exit Indicator in it. The MPLAY exit is a CCI // hook to the oposite direction followed by another with the price closing in // the oposite direction of the trade. I have coded the MPLAY Indicator with // the CCI panel. It is a series of green and red circles just below the +200 // line. The nearest green circle that appears after a pattern (any pattern, // not just the coded ones) is the exit for a long position. The nearest red // circle is the exit after a short pattern. Ignore all the ones inbetween. // The circles appear after every and any occurance of an MPLAY Exit, // regardless if a pattern has appeared or not. Just use the nearest // applicable circle to exit a pattern entered. // // I also added the EMA angle colors to the 100's. Turquoise= uptrend, // Red=downtrend, Yellow=not trending. This code was originally in the cci // panel coded by Crasher, I just tweeked it to be displayed in visual format. // It is identical to woodie's modification to the cci panel, which he uses as // a chop inicator as well. If there is a constant color, the trend is in that // direction. If the colors are mixed, then there is a chop. // // Trade at your own risk, please use your own descretion, for educational // purposes only. // // -Dennis // //-----------------------------------------------------------------------------/////////////////////////////// // CCI Woodies Style - Started by Wring // Codded/Added by Kris // Added by Dennis and Greg // Version: 1.027 // Last Update: 11/24/2005 // Additions: // timer, EMA angle, LSMA angle, trending indicator, pattern recognition (Choppy , HFE, ZLR, FAMIR, VT, GB100) // Amibroker 4.70 /////////////////////////////// Version(4.70);

//MarketHours = TimeNum()>=63000 AND TimeNum()<=125959; //MArketClose= TimeNum()>=125959 AND TimeNum()<=130000; z = CCI(14); z6 = CCI(6); CCI50_var = CCI(50); LSMA25 = LinearReg(C, 25 ); EMA34 = EMA(C,34); PI = atan(1.00) * 4; periods = 30; HighHigh = HHV(H, periods); LowLow = LLV(L, periods); range = 25 / (HighHigh - LowLow) * LowLow; TTMperiod = 6; Low_ma = EMA(L, TTMperiod); High_ma = EMA(H, TTMperiod); Low_third = (High_ma - Low_ma) / 3 + Low_ma; High_third = 2 * (High_ma - Low_ma) / 3 + Low_ma; tempnum = Now( 4 ) - TimeNum(); TimeRem = Interval() - ((int(tempnum[BarCount - 1] / 100) * 60) + (tempnum[BarCo unt - 1] - int(tempnum[BarCount - 1] / 100) * 100)); if (TimeRem[BarCount - 1] < 0) TimeRem = 0; TitleTimeRem = EncodeColor(colorBlueGrey) + "Time Remaining: "; MinuteVar = int(TimeRem / 60); SecondsVar = int(frac(TimeRem / 60) * 60); if (TimeRem[BarCount - 1] > 60) { TitleTimeRem = TitleTimeRem + EncodeColor(colorWhite) + MinuteVar + ":" + WriteI f(SecondsVar > 9, "", "0") + SecondsVar; } else if (TimeRem[BarCount - 1] > 20) {

TitleTimeRem = TitleTimeRem + EncodeColor(colorYellow) + MinuteVar + ":" + Write If(SecondsVar > 9, "", "0") + SecondsVar; } else { TitleTimeRem = TitleTimeRem + EncodeColor(colorLime) + MinuteVar + ":" + WriteIf (SecondsVar > 9, "", "0") + SecondsVar; } if(SelectedValue(CCI50_var) < 0) { CCI50Title = EncodeColor(colorRed); } else { CCI50Title = EncodeColor(colorLime); } CCI50Title = CCI50Title + "CCI 50 = " + round(CCI50_var) + ", "; stop_range = IIf(O < C, IIf((H - O) < (C - L), C - L, H - O), IIf((O - L) < (H - C), H - C, O - L)); StopTitle = EncodeColor(colorWhite) + "Stop = " + EncodeColor(colorYellow); StopTitle = StopTitle + StrToNum(NumToStr(stop_range, 4.4)); x1_EMA34 = 0; x2_EMA34 = 1; y1_EMA34 = 0; y2_EMA34 = (Ref(EMA34, -1) - EMA34) / Avg * range; c_EMA34 = sqrt((x2_EMA34 - x1_EMA34)*(x2_EMA34 - x1_EMA34) + (y2_EMA34 - y1_EMA3 4)*(y2_EMA34 - y1_EMA34)); angle_EMA34 = round(180 * acos((x2_EMA34 - x1_EMA34)/c_EMA34) / PI); TitleAngleEMA34 = EncodeColor(colorWhite) + "\nEMA34 angle = "; angle_EMA34 = IIf(y2_EMA34 > 0, - angle_EMA34, angle_EMA34); if(SelectedValue(angle_EMA34) >= 25)

{ TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); } else if(SelectedValue(angle_EMA34) <= -25) { TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); } else if(SelectedValue(angle_EMA34) >= 5) { TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); } else if(SelectedValue(angle_EMA34) <= -5) { TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); } else { TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorYellow); } TitleAngleEMA34 = TitleAngleEMA34 + angle_EMA34; x1_LSMA25 = 0; x2_LSMA25 = 1; y1_LSMA25 = 0; y2_LSMA25 = (Ref(LSMA25, -1) - LSMA25) / Avg * range; c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) + (y2_LSMA25 - y 1_LSMA25)*(y2_LSMA25 - y1_LSMA25)); angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) / PI); TitleAngleLSMA25 = EncodeColor(colorWhite) + "LSMA25 angle = "; angle_LSMA25 = IIf(y2_LSMA25 > 0, - angle_LSMA25, angle_LSMA25); if(SelectedValue(angle_LSMA25) >= 25) {

TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); } else if(abs(SelectedValue(angle_LSMA25)) <= -25) { TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); } else if(SelectedValue(angle_LSMA25) >= 5) { TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); } else if(SelectedValue(angle_LSMA25) <= -5) { TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); } else { TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorYellow); } TitleAngleLSMA25 = TitleAngleLSMA25 + angle_LSMA25; TitleTrending = WriteIf((abs(angle_EMA34) >= 15) AND (abs(angle_EMA34 + angle_LS MA25) >= 50), EncodeColor(colorWhite) + ", SW = " + EncodeColor(colorLime) + "TR ENDING", WriteIf((abs(angle_EMA34) >= 5) AND (((angle_EMA34 >= 0) AND (angle_LSMA25 >= 0) ) OR ((angle_EMA34 <= 0) AND (angle_LSMA25 <= 0))) AND (abs(angle_EMA34 + angle_ LSMA25) >= 30), EncodeColor(colorWhite) + ", SW = " + EncodeColor(colorYellow) + "NORMAL", EncodeColor(colorWhite) + ", SW = " + EncodeColor(colorRed) + "FLAT")); SW = IIf((abs(angle_EMA34) >= 15) AND (abs(angle_EMA34 + angle_LSMA25) >= 50), I If(angle_LSMA25 > 0, 2, -2), IIf((abs(angle_EMA34) >= 5) AND (((angle_EMA34 >= 0) AND (angle_LSMA25 >= 0)) OR ((angle_EMA34 <= 0) AND (angle_LSMA25 <= 0))) AND (abs(angle_EMA34 + angle_LSMA 25) >= 30), IIf(angle_LSMA25 > 0, 1, -1), 0)); // Colour the bars for Woodies Trend Following Plusbars = BarsSince(z < 0);

Minusbars = BarsSince(z > 0); TrendBarCount = 6; Color[0] = colorDefault; Trend[0] = 0; TTMColor[0] = colorDefault; for( i = 1; i < BarCount; i++ ) { if (C[i] > High_third[i]) { TTMColor[i] = colorDarkGreen; } else if (C[i] < Low_third[i]) { TTMColor[i] = colorDarkRed; } else { TTMColor[i] = TTMColor[i - 1]; } if (Plusbars[i] >= TrendBarCount) { Trend[i] = 1; } else if (Minusbars[i] >= TrendBarCount) { Trend[i] = -1; } else { Trend[i] = Trend[i - 1];

} if (Trend[i] == 1) { if (Minusbars[i] == TrendBarCount - 1) { Color[i] = colorYellow; } else if (z[i] < 0) { Color[i] = colorLightGrey; } else { Color[i] = colorLime; } } else if (Trend[i] == -1) { if (Plusbars[i] == TrendBarCount - 1) { Color[i] = colorYellow; } else if (z[i] >= 0) { Color[i] = colorLightGrey; } else { Color[i] = colorRed; }

} else { Color[i] = colorDefault; } } // CCI Line //Plot(z,"CCI 14", colorSkyblue, styleLine // Turbo CCI //Plot(z6,"CCI 6", colorLightOrange, styleLine // zero line 25lsma //Plot(0,"", IIf(C > LSMA25,colorGreen,IIf(C<LSMA25,colorRed,colorTeal)), styleD ots styleNoLine styleThick styleNoLabel); // CCI Histogram //Plot(z,"", Color, styleHistogram // CCI 50 //Plot(CCI50_var,"CCI 50", IIf(CCI50_var < 0, colorDarkRed,colorDarkGreen), styl eLine styleNoLabel); // Set up color for the 100s, green if 34ema above red if below //Color = IIf(C > EMA34, colorGreen, // IIf(C == EMA34, colorTeal, colorRed)); //Set Color for the SW ColorSW = IIf(abs(SW) == 2, colorGreen, IIf(abs(SW) == 1, colorYellow, colorRed)); Color=colorWhite; // Plot the 100s //Plot(100,"",Color,styleDashed styleNoLabel); //Plot(-100,"",Color,styleDashed styleNoLabel); ColorANGLE_EMA = IIf(angle_EMA34 >=5, colorTurquoise, IIf(angle_EMA34 <=-5, colorRed, colorYellow)); //ColorANGLE_EMA1 = IIf(angle_EMA34 >=25, colorTurquoise, styleNoLabel); styleNoLabel); styleThick);

// IIf(angle_EMA34 <=-25, colorRed, colorBlack)); //ColorANGLE_EMA = IIf(abs(angle_EMA34) >=25, colorGreen, // IIf(abs(angle_EMA34) >=15, colorYellow, colorRed)); //Plot(100,"", ColorANGLE_EMA , styleDashed //Plot(-100,"", ColorANGLE_EMA , styleDashed // Plot the 50s //Plot(50,"", colorDarkGrey, styleDashed //Plot(-50,"", colorDarkGrey , styleDashed //Plot(50,"", TTMColor, styleDots //Plot(-50,"", TTMColor, styleDots // Plot the 200s //Plot(200,"", ColorSW, styleThick //Plot(-200,"", ColorSW, styleThick // Plot the grids //PlotGrid(0); //PlotGrid(50); //PlotGrid(-50); //PlotGrid(-100); //PlotGrid(100); //PlotGrid(-200); ///PlotGrid(200); //// choppy A= (HHV(z,10)<=100 AND LLV(z,10)>=-100); B= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); bs_a=BarsSince(A); bs_b=BarsSince(B); bars = IIf( bs_A < Bs_B, bs_a, 0); // ZLR Long uptrend_a=BarsSince(z<0); uptrend_b=BarsSince(z>0); styleNoLabel); styleNoLabel); / styleNoLabel); styleNoLabel); styleNoLabel); styleNoLabel); styleThick styleThick styleNoLabel); styleNoLabel);

styleNoLine styleNoLine

Linex_long=Ref(z,-1)>100 AND z<100; barsfromline_long=BarsSince(Linex_long); CCIhook_long=z>Ref(z,-1) AND Ref(z,-1)>-100 AND Ref(z,-1)<Ref(z,-2) AND Ref(z,-2 )>-100 AND z>0; SW_trendinglong= sw==1 OR sw==2; zlrlong= (Ref(angle_ema34,-2)>=5 AND Ref(angle_ema34,-1)>=5 AND angle_ema34>=5) AND SW_trendinglong AND z<100 AND barsfromline_long<10 AND CCIhook_long AND (upt rend_a>=6 AND z>-100 OR (uptrend_b<6 AND LLV(z,uptrend_b)>-100 AND z>-100 AND (Ref(uptrend_a,-6)>=6 AND z>-100 OR Ref(uptrend_a,-5)>=6 AND z>-100 OR Ref(uptrend_a,-4)>=6 AND z>-100 OR Ref(uptrend_a,-3)>=6 AND z>-100 OR Ref(uptrend_a,-2)>=6 AND z>-100 OR Ref(uptrend_a,-1)>=6 AND z>-100))); PlotShapes(IIf(zlrlong,shapeDigit1,shapeNone),colorLime,0,0,-15); // ZLR Short downtrend_a=BarsSince(z>0); downtrend_b=BarsSince(z<0); Linex_short=Ref(z,-1)<=-100 AND z>=-100; barsfromline_short=BarsSince(Linex_short); CCIhook_short=z<Ref(z,-1) AND Ref(z,-1)<100 AND Ref(z,-1)>Ref(z,-2) AND Ref(z,-2 )<100 AND z<0; SW_trendingshort= sw==-1 OR sw==-2; zlrshort= (Ref(angle_ema34,-2)<=-5 AND Ref(angle_ema34,-1)<=-5 AND angle_ema34<= -5) AND SW_trendingshort AND z>-100 AND barsfromline_short<10 AND CCIhook_short AND (downtrend_a>=6 AND z<100 OR (downtrend_b<6 AND HHV(z,downtrend_b)<100 AND z<100 AND (Ref(downtrend_a,-6)>=6 AND z<100 OR Ref(downtrend_a,-5)>=6 AND z<100 OR Ref(downtrend_a,-4)>=6 AND z<10 0 OR Ref(downtrend_a,-3)>=6 AND z<100 OR Ref(downtrend_a,-2)>=6 AND z<100 OR Ref(down trend_a,-1)>=6 AND z<100))); PlotShapes(IIf(zlrshort,shapeDigit1+ shapePositionAbove,shapeNone),colorRed,0,0, -15); // Famir Short Famir_downtrend_a=BarsSince(z<0); Famir_downtrend_b=BarsSince(z>0); FamirLinex_short=Ref(z,-1)>=100 AND z<100; Famir_barsfromline_short=BarsSince(FamirLinex_short);

Famir_pivotshort= (Ref(z,-2)<Ref(z,-1)AND Ref(z,-1)<=55 AND Ref(z,-2)<=55) OR (R ef(z,-3)<Ref(z,-1)AND Ref(z,-1)<=55 AND Ref(z,-2)<=55 AND Ref(z,-3)<=55) OR (Ref(z,-4)<Ref(z,-1) AND Ref(z,-1)<=55 AND Ref(z,-2)<=55 AND Ref(z,-3)<=55); Famirhook_short=Famir_pivotshort AND z<Ref(LLV(z,Famir_barsfromline_short),-1) A ND (z>=-55 AND z<=55) AND C<Lsma25; Famirshort= Famir_barsfromline_short<10 AND Famirhook_short AND (Famir_downtren d_a>=6 OR (Famir_downtrend_b<6 AND (Ref(Famir_downtrend_a,-6)>=6 OR Ref(Famir_downtrend_a, -5)>=6 OR Ref(Famir_downtrend_a,-4)>=6 OR Ref(Famir_downtrend_a,-3)>=6 OR Ref(Famir_downtrend_a,-2)>=6 OR Ref(Famir_downtr end_a,-1)>=6))) AND C<LSMA25; PlotShapes(IIf(famirShort,shapeDigit2+ shapePositionAbove,shapeNone),colorRed,0, 0,-15); // Famir Long Famir_uptrend_a=BarsSince(z<0); Famir_uptrend_b=BarsSince(z>0); FamirLinex_long=Ref(z,-1)<=-100 AND z>-100; Famir_barsfromline_long=BarsSince(FamirLinex_long); Famir_pivotlong= (Ref(z,-2)>Ref(z,-1)AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55) OR ( Ref(z,-3)>Ref(z,-1) AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55 AND Ref(z,-3)>=-55) OR (Ref(z,-4)>Ref(z,-1) AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55 AND Ref(z,-3)>=-55 ); Famirhook_long=Famir_pivotlong AND z>Ref(HHV(z,Famir_barsfromline_long),-1) AND (z>=-55 AND z<=55) AND C>Lsma25; Famirlong= Famir_barsfromline_long<10 AND Famirhook_long AND (Famir_uptrend_a<6 OR (Famir_uptrend_b>=6 AND(Ref(Famir_uptrend_a,-6)<6 OR Ref(Famir_uptrend_a,-5)<6 O R Ref(Famir_uptrend_a,-4)<6 OR Ref(Famir_uptrend_a,-3)<6 OR Ref(Famir_uptrend_a,-3)<6 OR Ref(Famir_uptrend_a,-2)<6 OR Ref(Famir_uptrend_a,-1 )<6))) AND C>LSMA25; PlotShapes(IIf(famirlong,shapeDigit2,shapeNone),colorLime,0,0,-15); // HFE HFEshort=(Ref(z,-1)>200 AND z<200); HFElong=(Ref(z,-1)<-200 AND z>-200); HFE= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); PlotShapes(IIf(Ref(z,-1)>200 AND z<200,shapeDownTriangle,shapeNone),IIf(Ref(z,-1

)>200 AND z<200,colorYellow,shapeNone),0,200,-20); PlotShapes(IIf(Ref(z,-1)<-200 AND z>-200,shapeUpTriangle,shapeNone),IIf(Ref(z,-1 )<-200 AND z>-200,colorYellow,shapeNone),0,-200,-20); // VT Long vtLinex_long=Ref(z,-1)<=-200 AND z>-200; vt_barsfromline_long=BarsSince(vtLinex_long); vtlong_A = z<-200; vtlong_B = Ref(z,-1)<=Ref(z,-2) OR Ref(z,-2)<=Ref(z,-3) OR Ref(z,-3)<=Ref(z,-4) OR Ref(z,-4)<=Ref(z,-5) OR Ref(z,-5)<=Ref(z,-6) OR Ref(z,-6)<=Ref(z,-7) OR Ref(z,-7)<=Ref(z,-8); vtlong_bs_A = BarsSince(vtlong_A); vtlong_bs_B = BarsSince(vtlong_b); Vtlong_bars = vtlong_bs_A>=5 AND vtlong_bs_B<=0; vt_pivotlong= Vtlong_bars; swinghibars=BarsSince(z>Ref(HHV(z,vt_barsfromline_long),-1)); vthook_long= vt_pivotlong AND z>Ref(HHV(z,vt_barsfromline_long),-1); vtlong= vt_barsfromline_long<=11 AND (Ref(HHV(z,vt_barsfromline_long),-1)<0 OR H HV(z,vt_barsfromline_long)<=0) AND vthook_long AND C>Lsma25 AND Ref(swinghibars> =2,-1) AND z>-100; PlotShapes(IIf(vtlong,shapeDigit3,shapeNone),colorLime,0,Min(z,0),-45); // VT Short vtLinex_short=Ref(z,-1)>=200 AND z<200; vt_barsfromline_short=BarsSince(vtLinex_short); vtshort_A = z>200 ; vtshort_B =Ref(z,-1)>=Ref(z,-2) OR Ref(z,-2)>=Ref(z,-3) OR Ref(z,-3)>=Ref(z,-4) OR Ref(z,-4)>=Ref(z,-5) OR

Ref(z,-5)>=Ref(z,-6) OR Ref(z,-6)>=Ref(z,-7) OR Ref(z,-7)>=Ref(z,-8); vtshort_bs_A = BarsSince(vtshort_A); vtshort_bs_B = BarsSince(vtshort_b); Vtshort_bars = vtshort_bs_A>=5 AND vtshort_bs_B<=0; vt_pivotshort= Vtshort_bars; swinglowbars= BarsSince(z<Ref(LLV(z,vt_barsfromline_short),-1)); vthook_short= vt_pivotshort AND z<Ref(LLV(z,vt_barsfromline_short),-1); vtshort= vt_barsfromline_short<=11 AND (Ref(LLV(z,vt_barsfromline_short),-1)>0 O R LLV(z,vt_barsfromline_short)>0) AND vthook_short AND C<Lsma25 AND Ref(swinglow bars>=2,-1) AND z<100; PlotShapes(IIf(vtshort,shapeDigit3+ shapePositionAbove,shapeNone),colorRed,0,Max (z,0),-45); // GB 100 Long uptrend_a=BarsSince(z<0); uptrend_b=BarsSince(z>0); Linex_longGB=Ref(z,-1)>100 AND z<100; barsfromline_longGB=BarsSince(Linex_longGB); CCIhook_longGB= Ref(z,-1)<-100 AND z>-100; GB100long= barsfromline_longGB<20 AND angle_EMA34>=5 AND CCIhook_longGB AND (upt rend_b<6 AND(Ref(uptrend_a,-6)>=6 OR Ref(uptrend_a,-5)>=6 OR Ref(uptrend_a,-4)>= 6 OR Ref(uptrend_a,-3)>=6 OR Ref(uptrend_a,-2)>=6 OR Ref(uptrend_a,-1)>=6)); PlotShapes(IIf(GB100long,shapeDigit4,shapeNone),colorLime,0,0,-60); // GB100 Short downtrend_a=BarsSince(z>0); downtrend_b=BarsSince(z<0); Linex_shortGB=Ref(z,-1)<-100 AND z>-100; barsfromline_shortGB=BarsSince(Linex_shortGB); CCIhook_shortGB=Ref(z,-1)>100 AND z<100; GB100short= barsfromline_shortGB<20 AND angle_EMA34<=-5 AND CCIhook_shortGB AND

(downtrend_b<6 AND (Ref(downtrend_a,-6)>=6 OR Ref(downtrend_a,-5)>=6 OR Ref(down trend_a,-4)>=6 OR Ref(downtrend_a,-3)>=6 OR Ref(downtrend_a,-2)>=6 OR Ref(downtrend_a,-1)>=6)); PlotShapes(IIf(GB100short,shapeDigit4+ shapePositionAbove,shapeNone),colorRed,0, 0,-60); // MR Long MRuptrend_a=BarsSince(z<0); MRuptrend_b=BarsSince(z>0); MRLinex_long=Ref(z,-1)>100 AND z<100; MRbarsfromline_long=BarsSince(MRLinex_long); MRCCIhook_long=z>Ref(z,-1) AND Ref(z,-1)<=Ref(z,-2) AND Ref(z,-2)<Ref(z,-3) AND z>-100 AND z<100; MRlong= Ref(z,-1)<=0 AND MRbarsfromline_long<10 AND MRCCIhook_long AND (MRuptren d_a>=6 AND z>-100 OR (MRuptrend_b<6 AND LLV(z,MRuptrend_b)>-100 AND z>-100 AND (Ref(MRuptrend_a,-6)>= 6 AND z>-100 OR Ref(MRuptrend_a,-5)>=6 AND z>-100 OR Ref(MRuptrend_a,-4)>=6 AND z>-100 OR Ref(MRuptrend_a,-3)>=6 AND z>-100 OR Ref(MRuptrend_a,-2)>=6 AND z>-100 OR Ref(MRuptrend_a,-1)>=6 AND z>100))); PlotShapes(IIf(MRlong,shapeDigit5,shapeNone),colorLime,0,0,-50); // MR Short MRdowntrend_a=BarsSince(z>0); MRdowntrend_b=BarsSince(z<0); MRLinex_short=Ref(z,-1)<=-100 AND z>=-100; MRbarsfromline_short=BarsSince(MRLinex_short); MRCCIhook_short=z<Ref(z,-1) AND Ref(z,-1)>=Ref(z,-2) AND Ref(z,-2)>Ref(z,-3) AND z<100 AND z>-100; MRshort= Ref(z,-1)>=0 AND MRbarsfromline_short<10 AND MRCCIhook_short AND (MRdow ntrend_a>=6 AND z<100 OR (MRdowntrend_b<6 AND HHV(z,MRdowntrend_b)<100 AND z<100 AND (Ref(MRdowntrend_a,6)>=6 AND z<100 OR Ref(MRdowntrend_a,-5)>=6 AND z<100 OR Ref(MRdowntrend_a,-4)>= 6 AND z<100 OR Ref(MRdowntrend_a,-3)>=6 AND z<100 OR Ref(MRdowntrend_a,-2)>=6 AND z<100 OR Ref( MRdowntrend_a,-1)>=6 AND z<100))); PlotShapes(IIf(MRshort,shapeDigit5+ shapePositionAbove,shapeNone),colorRed,0,0,50); // Columns for exploration

Filter =(zlrlong OR famirlong OR Vtlong OR gb100long OR mrlong OR hfe OR zlrsho rt OR famirshort OR vtshort OR gb100short OR mrlong OR (A OR bars)) AND 1 ; Buy = (zlrlong OR famirlong OR Vtlong OR gb100long);// AND MarketHours; Sell= (z<Ref(z,-1) AND Ref(z,-1)<Ref(z,-2) AND C<O);// OR MArketClose; ; Short = (zlrshort OR famirshort OR Vtshort OR gb100short); //AND MarketHours; Cover = (z>Ref(z,-1) AND Ref(z,-1)>Ref(z,-2) AND C>O);// OR MArketClose; AddColumn( IIf(zlrlong,1,IIf(zlrshort,-1,0)) ,"ZLR",1.0,colorWhite,IIf(zlrlong,c olorGreen,IIf(zlrshort,colorRed,colorBlack))); AddColumn(IIf(famirlong,1,IIf(famirShort,-1,0)),"Famir",1.0,colorWhite,IIf(famir long,colorGreen,IIf(famirShort,colorRed,colorBlack))); AddColumn(IIf(vtlong,1,IIf(vtShort,-1,0)),"Vegas",1.0,colorWhite,IIf(vtlong,colo rGreen,IIf(vtShort,colorRed,colorBlack))); AddColumn(IIf(gb100long,1,IIf(gb100Short,-1,0)),"GB100",1.0,colorWhite,IIf(gb100 long,colorGreen,IIf(gb100Short,colorRed,colorBlack))); AddColumn( IIf(mrlong,1,IIf(mrShort,-1,0)) ,"MR",1.0,colorWhite,IIf(mrlong,color Green,IIf(mrShort,colorRed,colorBlack))); AddColumn(IIf(hfelong,1,IIf(hfeshort,-1,0)),"HFE",1.0,colorWhite,IIf(hfelong,col orGreen,IIf(hfeshort,colorRed,colorBlack))); AddColumn(IIf(A OR bars,1,IIf(A OR bars,-1,0)),"Choppy",1.0,colorWhite,IIf(A OR bars,colorDarkYellow,IIf(A OR bars,colorDarkYellow,colorBlack))); //Plot Sell Arrows //Sell1=ExRem(Sell,Buy); //Cover1=ExRem(Cover,Short); //PlotShapes(IIf(Sell1,shapeDownArrow,shapeNone),colorLime,0,200,10); //PlotShapes(IIf(Cover1,shapeDownArrow,shapeNone),colorRed,0,200,10); //Signal Title Signaltitle= WriteIf(zlrlong,EncodeColor(colorYellow) + "ZLR ", WriteIf(zlrshort,EncodeColor(colorYellow) + "ZLR ", WriteIf(MRShort,EncodeColor( colorYellow) + "MR ", WriteIf(MRlong,EncodeColor(colorYellow) + "MR ", WriteIf(Famirshort,EncodeColor(colorYellow) + "FAMIR ", WriteIf(Famirlong,EncodeColor(colorYellow) + "FAMIR ",WriteIf(HFE,EncodeColor(co lorYellow) + "HFE ",WriteIf(VTlong,EncodeColor(colorYellow) + "VT ", WriteIf(VTshort,EncodeColor(colorYellow) + "VT ",WriteIf(GB100long,EncodeColor(c olorYellow) + "GB100 ", WriteIf(Gb100short,EncodeColor(colorYellow) + "GB100 "," ")))))))))));

//Choppy Title ChoppyTitle= WriteIf(A,EncodeColor(colorYellow) + "CHOPPY",WriteIf(bars,EncodeCo lor(colorYellow) + "CHOPPY","")); //Exit Title //Exittitle=WriteIf(Sell1,EncodeColor(colorLime) + "MLAY EXIT LONG",WriteIf(Cove r1,EncodeColor(colorRed) + "MPLAY EXIT SHORT","")); //Distance from EMA34 Ctoema=round(C-EMA34); Ctitle= WriteIf(Ctoema>0," points above EMA,",WriteIf(Ctoema<0," points below EM A,"," on EMA,")); //Number of trending bars anglelimit= ( angle_ema34<5 AND angle_ema34>-5) OR (angle_ema34<5 AND angle_ema 34>-5); angletitle= BarsSince(anglelimit); //Title Title = "" + Name() + ", " + Interval(2) + ", " + Date() + "\n" + EncodeColor(colorSkyblue) + "CCI 14 = " + round(z) + EncodeColor(colorWhite) + " , " + EncodeColor(colorLightOrange) + "CCI 6 = " + round(z6) + EncodeColor(colorWhite) + ", " + TitleTimeRem + EncodeColor(colorWhite) + TitleAngleEMA34 + EncodeColor(colorWhite) + ", " + TitleAngleLSMA25 + TitleTrending + "\n" + EncodeColor(colorWhite)+"Signal = "+Signaltitle + ChoppyT itle; //+ EncodeColor(colorWhite) + Ctoema + Ctitle + EncodeColor(colorWhite) + " " + angletitle + " " + "bars trending, " + " " + " "+Exittitle; //Mplay Exit MplayExitLong= z<Ref(z,-1) AND Ref(z,-1)<Ref(z,-2) AND C<O; MplayExitShort= z>Ref(z,-1) AND Ref(z,-1)>Ref(z,-2) AND C>O; PlotShapes(IIf(MplayExitLong,shapeSmallCircle,shapeNone),colorGreen,0,200,-10); PlotShapes(IIf(MplayExitShort,shapeSmallCircle,shapeNone),colorRed,0,200,-10); _SECTION_END();

You might also like