Woodie's CCi Daily Panel (676).afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:18k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Woodie's CCi Daily Panel
  4. //  Author/Uploader: Dennis Skoblar 
  5. //  E-mail:          DennisAndLisa@sbcglobal.net
  6. //  Date/Time Added: 2006-08-11 12:11:47
  7. //  Origin:          www.woodiescciclub.com
  8. //  Keywords:        Woodie's CCI, CCI
  9. //  Level:           medium
  10. //  Flags:           system,exploration,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=676
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=676
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  Go to http://woodiescciclub.com/forum/viewtopic.php?t=1357 for updates to
  17. //  this panel.
  18. //
  19. //------------------------------------------------------------------------------
  20. /////////////////////////////// 
  21. // CCI Woodies Style - Started by Wring 
  22. // Codded/Added by Kris 
  23. // Added by Dennis and Greg 
  24. // Version: 1.027 
  25. // Last Update: 8/11/2006 
  26. // Additions: 
  27. // timer, EMA angle, LSMA angle, trending indicator, pattern recognition (Choppy, HFE, ZLR, FAMIR, VT, GB100) 
  28. // Amibroker 4.70 
  29. /////////////////////////////// 
  30. Version(4.70); 
  31. //MarketHours = TimeNum()>=63000 AND TimeNum()<=130000; 
  32. //MArketClose=  TimeNum()<=123000; 
  33. z = CCI(20); 
  34. z6 = CCI(6); 
  35. CCI50_var = CCI(50); 
  36. LSMA25 = LinearReg(C, 25 ); 
  37. EMA34 = EMA(C,34); 
  38. PI = atan(1.00) * 4; 
  39. periods = 30; 
  40. HighHigh = HHV(H, periods); 
  41. LowLow = LLV(L, periods); 
  42. range = 25 / (HighHigh - LowLow) * LowLow; 
  43. TTMperiod = 6; 
  44. Low_ma = EMA(L, TTMperiod); 
  45. High_ma = EMA(H, TTMperiod); 
  46. Low_third = (High_ma - Low_ma) / 3 + Low_ma; 
  47. High_third = 2 * (High_ma - Low_ma) / 3 + Low_ma; 
  48. tempnum = Now( 4 ) - TimeNum(); 
  49. TimeRem = Interval() - ((int(tempnum[BarCount - 1] / 100) * 60) + (tempnum[BarCount - 1] - int(tempnum[BarCount - 1] / 100) * 100)); 
  50. if (TimeRem[BarCount - 1] < 0) TimeRem = 0; 
  51. TitleTimeRem = EncodeColor(colorWhite) + "      "; 
  52. MinuteVar = int(TimeRem / 60); 
  53. SecondsVar = int(frac(TimeRem / 60) * 60); 
  54. if (TimeRem[BarCount - 1] > 60) 
  55. TitleTimeRem = TitleTimeRem + EncodeColor(colorWhite) + MinuteVar + ":" + WriteIf(SecondsVar > 9, "", "0") + SecondsVar; 
  56. else if (TimeRem[BarCount - 1] > 20) 
  57. TitleTimeRem = TitleTimeRem  +  EncodeColor(colorYellow) + MinuteVar + ":" + WriteIf(SecondsVar > 9, "", "0") + SecondsVar; 
  58. else 
  59. TitleTimeRem = TitleTimeRem +  EncodeColor(colorLime) + MinuteVar + ":" + WriteIf(SecondsVar > 9, "", "0") + SecondsVar; 
  60. if(SelectedValue(CCI50_var) < 0) 
  61. CCI50Title = EncodeColor(colorRed); 
  62. else 
  63. CCI50Title = EncodeColor(colorLime); 
  64. CCI50Title = CCI50Title + "CCI 50 = " + round(CCI50_var) + ", "; 
  65. stop_range = IIf(O < C, IIf((H - O) < (C - L), C - L, H - O), 
  66. IIf((O - L) < (H - C), H - C, O - L)); 
  67. StopTitle = EncodeColor(colorWhite) + "Stop = " + EncodeColor(colorYellow); 
  68. StopTitle = StopTitle + StrToNum(NumToStr(stop_range, 4.4)); 
  69. x1_EMA34 = 0; 
  70. x2_EMA34 = 1; 
  71. y1_EMA34 = 0; 
  72. y2_EMA34 = (Ref(EMA34, -1) - EMA34) / Avg * range; 
  73. c_EMA34 = sqrt((x2_EMA34 - x1_EMA34)*(x2_EMA34 - x1_EMA34) + (y2_EMA34 - y1_EMA34)*(y2_EMA34 - y1_EMA34)); 
  74. angle_EMA34 = round(180 * acos((x2_EMA34 - x1_EMA34)/c_EMA34) / PI); 
  75. TitleAngleEMA34 = EncodeColor(colorWhite) + "nEMA34 angle = "; 
  76. angle_EMA34 = IIf(y2_EMA34 > 0, - angle_EMA34, angle_EMA34); 
  77. if(SelectedValue(angle_EMA34) >= 25) 
  78. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); 
  79. else if(SelectedValue(angle_EMA34) <= -25) 
  80. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); 
  81. else if(SelectedValue(angle_EMA34) >= 5) 
  82. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); 
  83. else if(SelectedValue(angle_EMA34) <= -5) 
  84. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); 
  85. else 
  86. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorYellow); 
  87. TitleAngleEMA34 = TitleAngleEMA34 + angle_EMA34; 
  88. x1_LSMA25 = 0; 
  89. x2_LSMA25 = 1; 
  90. y1_LSMA25 = 0; 
  91. y2_LSMA25 = (Ref(LSMA25, -1) - LSMA25) / Avg * range; 
  92. c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) + (y2_LSMA25 - y1_LSMA25)*(y2_LSMA25 - y1_LSMA25)); 
  93. angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) / PI); 
  94. TitleAngleLSMA25 = EncodeColor(colorWhite) + "LSMA25 angle = "; 
  95. angle_LSMA25 = IIf(y2_LSMA25 > 0, - angle_LSMA25, angle_LSMA25); 
  96. if(SelectedValue(angle_LSMA25) >= 25) 
  97. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); 
  98. else if(abs(SelectedValue(angle_LSMA25)) <= -25) 
  99. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); 
  100. else if(SelectedValue(angle_LSMA25) >= 5) 
  101. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); 
  102. else if(SelectedValue(angle_LSMA25) <= -5) 
  103. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); 
  104. else 
  105. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorYellow); 
  106. TitleAngleLSMA25 = TitleAngleLSMA25 + angle_LSMA25; 
  107. TitleTrending = WriteIf((angle_EMA34 <= -15 AND angle_lsma25 <= -25) OR (angle_EMA34 >= 15 AND angle_LSMA25 >= 25) , EncodeColor(colorLime) + " TRENDING",
  108. WriteIf((angle_EMA34 < 15 AND angle_EMA34 >= 0 AND angle_LSMA25 + angle_EMA34 >= 15) OR (angle_LSMA25 < 25  AND angle_LSMA25 >= 0 AND angle_LSMA25 + angle_EMA34  >= 25) OR  
  109.        (angle_EMA34 > -15 AND angle_EMA34 <= 0 AND angle_LSMA25 + angle_EMA34 <= -15) OR (angle_LSMA25 > -25 AND angle_LSMA25 <= 0 AND angle_LSMA25 + angle_EMA34 <= -25) ,  
  110.         EncodeColor(colorWhite) + EncodeColor(colorYellow) + "  NORMAL", 
  111.         EncodeColor(colorRed) + "      FLAT")); 
  112. sw =IIf((angle_EMA34 < 15 AND angle_EMA34 >= 0 AND angle_LSMA25 + angle_EMA34 >= 15)  OR (angle_LSMA25 < 25  AND angle_LSMA25 >= 0 AND angle_LSMA25 + angle_EMA34 >= 25),1,
  113.     IIf((angle_EMA34 > -15 AND angle_EMA34 <= 0 AND angle_LSMA25 + angle_EMA34 <= -15) OR (angle_LSMA25 > -25 AND angle_LSMA25 <= 0 AND angle_LSMA25 + angle_EMA34 <= -25),1,
  114.     IIf(angle_EMA34 <= -15 AND angle_lsma25 <= -25,2,IIf(angle_EMA34 >= 15 AND angle_LSMA25 >= 25,2,0)))); 
  115.  
  116. // Colour the bars for Woodies Trend Following 
  117. Plusbars = BarsSince(z < 0); 
  118. Minusbars = BarsSince(z > 0); 
  119. TrendBarCount = 6; 
  120. Color[0] = colorDefault; 
  121. Trend[0] = 0; 
  122. TTMColor[0] = colorDefault; 
  123. for( i = 1; i < BarCount; i++ ) 
  124. if (C[i] > High_third[i]) 
  125. TTMColor[i] = colorDarkGreen; 
  126. else if (C[i] < Low_third[i]) 
  127. TTMColor[i] = colorDarkRed; 
  128. else 
  129. TTMColor[i] = TTMColor[i - 1]; 
  130. if (Plusbars[i] >= TrendBarCount) 
  131. Trend[i] = 1; 
  132. else if (Minusbars[i] >= TrendBarCount) 
  133. Trend[i] = -1; 
  134. else 
  135. Trend[i] = Trend[i - 1]; 
  136. if (Trend[i] == 1) 
  137. if (Minusbars[i] == TrendBarCount - 1) 
  138. Color[i] = colorYellow; 
  139. else if (z[i] < 0) 
  140. Color[i] = colorBlack; 
  141. else 
  142. Color[i] = colorLime; 
  143. else if (Trend[i] == -1) 
  144. if (Plusbars[i] == TrendBarCount - 1) 
  145. Color[i] = colorYellow; 
  146. else if (z[i] >= 0) 
  147. Color[i] = colorBlack; 
  148. else 
  149. Color[i] = colorRed; 
  150. else 
  151. Color[i] = colorDefault; 
  152. // CCI Line 
  153. Plot(z,"CCI 20", colorBlack, styleLine | styleThick); 
  154. // Turbo CCI 
  155. Plot(z6,"CCI 6", colorDarkYellow, styleLine | styleNoLabel); 
  156. // zero line 25lsma 
  157. PlotShapes(IIf(C > LSMA25,shapeSmallCircle,shapeNone),colorLime,0,0,0); 
  158. PlotShapes(IIf(C<=LSMA25,shapeSmallCircle,shapeNone),colorRed,0,0,0);
  159. // CCI Histogram 
  160. Plot(z,"", Color, styleHistogram | styleThick | styleNoLabel); 
  161. // CCI 50 
  162. //Plot(CCI50_var,"CCI 50", IIf(CCI50_var < 0, colorDarkRed,colorDarkGreen), styleLine | styleNoLabel); 
  163. //Set Color for the SW 
  164. ColorSW = IIf(SW ==2, colorLime,IIf(SW ==1, colorYellow, colorRed));
  165. ColorANGLE_EMA = IIf(angle_EMA34 >=5, colorTurquoise, 
  166. IIf(angle_EMA34 <=-5, colorDarkRed, colorYellow)); 
  167. Plot(100,"", ColorANGLE_EMA , styleLine | styleThick | styleNoLabel); 
  168. Plot(-100,"", ColorANGLE_EMA , styleLine | styleThick | styleNoLabel); 
  169. // Plot the 200s 
  170. Plot(200,"", ColorSW, styleThick | styleNoLabel); 
  171. Plot(-200,"", ColorSW, styleThick | styleNoLabel); 
  172. // Plot the grids 
  173. PlotGrid(0); 
  174. PlotGrid(-100); 
  175. PlotGrid(100); 
  176. PlotGrid(-200); 
  177. PlotGrid(200); 
  178. // choppy 
  179. A= (HHV(z,10)<=100 AND LLV(z,10)>=-100); 
  180. B= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); 
  181. bs_a=BarsSince(A); 
  182. bs_b=BarsSince(B); 
  183. bars = IIf( bs_A < Bs_B, bs_a, 0); 
  184. // ZLR Long 
  185. uptrend_a=BarsSince(z<0); 
  186. uptrend_b=BarsSince(z>0); 
  187. Linex_long=Ref(z,-1)>100 AND z<100; 
  188. barsfromline_long=BarsSince(Linex_long); 
  189. 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; 
  190. SW_trendinglong= sw==1 OR sw==2; 
  191. zlrlong= (Ref(angle_ema34,-2)>=5 AND Ref(angle_ema34,-1)>=5 AND angle_ema34>=5) AND SW_trendinglong AND z<120 AND barsfromline_long<10 AND CCIhook_long AND (uptrend_a>=6 AND z>-100 OR 
  192. (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 
  193. Ref(uptrend_a,-2)>=6 AND z>-100 OR Ref(uptrend_a,-1)>=6 AND z>-100))); 
  194. PlotShapes(IIf(zlrlong,shapeDigit1,shapeNone),colorLime,0,0,-15); 
  195. // ZLR Short 
  196. downtrend_a=BarsSince(z>0); 
  197. downtrend_b=BarsSince(z<0); 
  198. Linex_short=Ref(z,-1)<=-100 AND z>=-100; 
  199. barsfromline_short=BarsSince(Linex_short); 
  200. 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; 
  201. SW_trendingshort= sw==1 OR sw==2; 
  202. zlrshort= (Ref(angle_ema34,-2)<=-5 AND Ref(angle_ema34,-1)<=-5 AND angle_ema34<=-5) AND SW_trendingshort AND z>-120 AND barsfromline_short<10 AND CCIhook_short AND (downtrend_a>=6 AND z<100 OR 
  203. (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<100 OR 
  204. Ref(downtrend_a,-3)>=6 AND z<100 OR Ref(downtrend_a,-2)>=6 AND z<100 OR Ref(downtrend_a,-1)>=6 AND z<100))); 
  205. PlotShapes(IIf(zlrshort,shapeDigit1+ shapePositionAbove,shapeNone),colorDarkRed,0,0,-15); 
  206. // Famir Short 
  207. Famir_downtrend_a=BarsSince(z<0); 
  208. Famir_downtrend_b=BarsSince(z>0); 
  209. FamirLinex_short=Ref(z,-1)>=100 AND z<100; 
  210. Famir_barsfromline_short=BarsSince(FamirLinex_short); 
  211. Famir_pivotshort= (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) 
  212. OR (Ref(z,-4)<Ref(z,-1) AND Ref(z,-1)<=55 AND Ref(z,-2)<=55 AND Ref(z,-3)<=55); 
  213. Famirhook_short=Famir_pivotshort AND z<Ref(LLV(z,Famir_barsfromline_short),-1) AND (z>=-55 AND z<=55) AND C<Lsma25; 
  214. Famirshort=  Famir_barsfromline_short<10 AND Famirhook_short AND (Famir_downtrend_a>=6 OR 
  215. (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 
  216. Ref(Famir_downtrend_a,-3)>=6 OR Ref(Famir_downtrend_a,-2)>=6 OR Ref(Famir_downtrend_a,-1)>=6))) AND C<LSMA25; 
  217. PlotShapes(IIf(famirShort,shapeDigit2+ shapePositionAbove,shapeNone),colorDarkRed,0,0,-15); 
  218. // Famir Long 
  219. Famir_uptrend_a=BarsSince(z<0); 
  220. Famir_uptrend_b=BarsSince(z>0); 
  221. FamirLinex_long=Ref(z,-1)<=-100 AND z>-100; 
  222. Famir_barsfromline_long=BarsSince(FamirLinex_long); 
  223. 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) 
  224. OR (Ref(z,-4)>Ref(z,-1) AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55 AND Ref(z,-3)>=-55); 
  225. Famirhook_long=Famir_pivotlong AND z>Ref(HHV(z,Famir_barsfromline_long),-1) AND (z>=-55 AND z<=55) AND C>Lsma25; 
  226. Famirlong= Famir_barsfromline_long<10 AND Famirhook_long AND (Famir_uptrend_a<6 OR 
  227. (Famir_uptrend_b>=6 AND(Ref(Famir_uptrend_a,-6)<6 OR Ref(Famir_uptrend_a,-5)<6 OR Ref(Famir_uptrend_a,-4)<6 OR Ref(Famir_uptrend_a,-3)<6 OR 
  228. Ref(Famir_uptrend_a,-3)<6 OR Ref(Famir_uptrend_a,-2)<6 OR Ref(Famir_uptrend_a,-1)<6))) AND C>LSMA25; 
  229. PlotShapes(IIf(famirlong,shapeDigit2,shapeNone),colorLime,0,0,-15); 
  230. // HFE 
  231. HFEshort=(Ref(z,-1)>200 AND z<200); 
  232. HFElong=(Ref(z,-1)<-200 AND z>-200); 
  233. HFE= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); 
  234. PlotShapes(IIf(Ref(z,-1)>200 AND z<200,shapeHollowDownTriangle,shapeNone),IIf(Ref(z,-1)>200 AND z<200,colorYellow,shapeNone),0,200,-20); 
  235. PlotShapes(IIf(Ref(z,-1)<-200 AND z>-200,shapeHollowUpTriangle,shapeNone),IIf(Ref(z,-1)<-200 AND z>-200,colorYellow,shapeNone),0,-200,-20); 
  236. // VT Long 
  237. vtLinex_long=Ref(z,-1)<=-200 AND z>-200; 
  238. vt_barsfromline_long=BarsSince(vtLinex_long); 
  239. vtlong_A = z<-200; 
  240. vtlong_B = Ref(z,-1)<=Ref(z,-2) OR 
  241. Ref(z,-2)<=Ref(z,-3) OR 
  242. Ref(z,-3)<=Ref(z,-4) OR 
  243. Ref(z,-4)<=Ref(z,-5) OR 
  244. Ref(z,-5)<=Ref(z,-6) OR 
  245. Ref(z,-6)<=Ref(z,-7) OR 
  246. Ref(z,-7)<=Ref(z,-8); 
  247. vtlong_bs_A = BarsSince(vtlong_A); 
  248. vtlong_bs_B = BarsSince(vtlong_b); 
  249. Vtlong_bars = vtlong_bs_A>=5 AND vtlong_bs_B<=0; 
  250. vt_pivotlong= Vtlong_bars; 
  251. swinghibars=BarsSince(z>Ref(HHV(z,vt_barsfromline_long),-1)); 
  252. vthook_long= vt_pivotlong AND z>Ref(HHV(z,vt_barsfromline_long),-1); 
  253. vtlong= vt_barsfromline_long<=11 AND (Ref(HHV(z,vt_barsfromline_long),-1)<0 OR HHV(z,vt_barsfromline_long)<=0) AND vthook_long AND C>Lsma25 AND Ref(swinghibars>=2,-1) AND z>-100; 
  254. PlotShapes(IIf(vtlong,shapeDigit3,shapeNone),colorLime,0,Min(z,0),-45); 
  255. // VT Short 
  256. vtLinex_short=Ref(z,-1)>=200 AND z<200; 
  257. vt_barsfromline_short=BarsSince(vtLinex_short); 
  258. vtshort_A = z>200 ; 
  259. vtshort_B =Ref(z,-1)>=Ref(z,-2) OR 
  260. Ref(z,-2)>=Ref(z,-3) OR 
  261. Ref(z,-3)>=Ref(z,-4) OR 
  262. Ref(z,-4)>=Ref(z,-5) OR 
  263. Ref(z,-5)>=Ref(z,-6) OR 
  264. Ref(z,-6)>=Ref(z,-7) OR 
  265. Ref(z,-7)>=Ref(z,-8); 
  266. vtshort_bs_A = BarsSince(vtshort_A); 
  267. vtshort_bs_B = BarsSince(vtshort_b); 
  268. Vtshort_bars = vtshort_bs_A>=5 AND vtshort_bs_B<=0; 
  269. vt_pivotshort= Vtshort_bars; 
  270. swinglowbars= BarsSince(z<Ref(LLV(z,vt_barsfromline_short),-1)); 
  271. vthook_short= vt_pivotshort AND z<Ref(LLV(z,vt_barsfromline_short),-1); 
  272. vtshort= vt_barsfromline_short<=11 AND (Ref(LLV(z,vt_barsfromline_short),-1)>0 OR LLV(z,vt_barsfromline_short)>0) AND vthook_short AND C<Lsma25 AND Ref(swinglowbars>=2,-1) AND z<100; 
  273. PlotShapes(IIf(vtshort,shapeDigit3+ shapePositionAbove,shapeNone),colorDarkRed,0,Max(z,0),-45); 
  274. // GB 100 Long 
  275. uptrend_a=BarsSince(z<0); 
  276. uptrend_b=BarsSince(z>0); 
  277. Linex_longGB=Ref(z,-1)>100 AND z<100; 
  278. barsfromline_longGB=BarsSince(Linex_longGB); 
  279. CCIhook_longGB= Ref(z,-1)<-100 AND z>-100; 
  280. GB100long= barsfromline_longGB<20 AND angle_EMA34>=5 AND CCIhook_longGB AND (uptrend_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 
  281. Ref(uptrend_a,-2)>=6 OR Ref(uptrend_a,-1)>=6)); 
  282. PlotShapes(IIf(GB100long,shapeDigit4,shapeNone),colorLime,0,0,-60); 
  283. // GB100 Short 
  284. downtrend_a=BarsSince(z>0); 
  285. downtrend_b=BarsSince(z<0); 
  286. Linex_shortGB=Ref(z,-1)<-100 AND z>-100; 
  287. barsfromline_shortGB=BarsSince(Linex_shortGB); 
  288. CCIhook_shortGB=Ref(z,-1)>100 AND z<100; 
  289. GB100short= barsfromline_shortGB<20 AND angle_EMA34<=-5 AND CCIhook_shortGB AND 
  290. (downtrend_b<6 AND (Ref(downtrend_a,-6)>=6 OR Ref(downtrend_a,-5)>=6 OR Ref(downtrend_a,-4)>=6 OR 
  291. Ref(downtrend_a,-3)>=6 OR Ref(downtrend_a,-2)>=6 OR Ref(downtrend_a,-1)>=6)); 
  292. PlotShapes(IIf(GB100short,shapeDigit4+ shapePositionAbove,shapeNone),colorDarkRed,0,0,-60); 
  293. // Columns for exploration 
  294. Filter =(zlrlong OR famirlong OR Vtlong OR gb100long OR hfe OR zlrshort OR famirshort OR vtshort OR gb100short OR (A OR bars)) AND 1 ; 
  295. Buy = (zlrlong OR famirlong OR Vtlong OR gb100long);// AND MarketHours; 
  296. Sell= z<=Ref(z,-1) AND C<Ref(C,-1);// OR MArketClose; ; 
  297. Short = (zlrshort OR famirshort OR Vtshort OR gb100short); //AND MarketHours; 
  298. Cover = z>=Ref(z,-1) AND C>Ref(C,-1);// OR MArketClose; 
  299. AddColumn( IIf(zlrlong,1,IIf(zlrshort,-1,0)) ,"ZLR",1.0,colorWhite,IIf(zlrlong,colorGreen,IIf(zlrshort,colorRed,colorBlack))); 
  300. AddColumn(IIf(famirlong,1,IIf(famirShort,-1,0)),"Famir",1.0,colorWhite,IIf(famirlong,colorGreen,IIf(famirShort,colorRed,colorBlack))); 
  301. AddColumn(IIf(vtlong,1,IIf(vtShort,-1,0)),"Vegas",1.0,colorWhite,IIf(vtlong,colorGreen,IIf(vtShort,colorRed,colorBlack))); 
  302. AddColumn(IIf(gb100long,1,IIf(gb100Short,-1,0)),"GB100",1.0,colorWhite,IIf(gb100long,colorGreen,IIf(gb100Short,colorRed,colorBlack))); 
  303. AddColumn(IIf(hfelong,1,IIf(hfeshort,-1,0)),"HFE",1.0,colorWhite,IIf(hfelong,colorGreen,IIf(hfeshort,colorRed,colorBlack))); 
  304. 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))); 
  305. //Signal Title 
  306. Signaltitle= WriteIf(zlrlong,EncodeColor(colorYellow) + "      ZLR ", 
  307. WriteIf(zlrshort,EncodeColor(colorYellow) + "      ZLR ",
  308. WriteIf(Famirshort,EncodeColor(colorYellow) + "     FAMIR ", 
  309. WriteIf(Famirlong,EncodeColor(colorYellow) + "     FAMIR ",WriteIf(HFE,EncodeColor(colorYellow) + "       HFE ",WriteIf(VTlong,EncodeColor(colorYellow) + "        VT ", 
  310. WriteIf(VTshort,EncodeColor(colorYellow) + "        VT ",WriteIf(GB100long,EncodeColor(colorYellow) + "    GB100 ", 
  311. WriteIf(Gb100short,EncodeColor(colorYellow) + "    GB100 "," "))))))))); 
  312. //Choppy Title 
  313. ChoppyTitle= WriteIf(A,EncodeColor(colorYellow) + " CHOPPY",WriteIf(bars,EncodeColor(colorYellow) + " CHOPPY","")); 
  314. // Price Panel
  315. Lastpricetitlehi= WriteIf(H>Ref(H,-1),EncodeColor(colorLime) + Ref(H,-1) + "  " + H , EncodeColor(colorLightGrey)+ Ref(H,-1) + "  " + H);
  316. Lastpricetitlelo= WriteIf(L<Ref(L,-1),EncodeColor(colorLightOrange) + Ref(L,-1) + "  " + L , EncodeColor(colorLightGrey)+ Ref(L,-1) + "  " + L);
  317. //Title 
  318. Title = "" + Name() + ", " + Interval(2) + ", " + Date() + "n" + 
  319. EncodeColor(colorBlack) + "CCI 20 = " + round(z) + EncodeColor(colorWhite) + "  " + EncodeColor(colorDarkYellow) + 
  320. "CCI 6 = " + round(z6) + EncodeColor(colorWhite)  + "n" +
  321. TitleTrending + "n" + Lastpricetitlehi + "n" + EncodeColor(colorLightGrey) +  "     " + C  + "n" + Lastpricetitlelo + "n" + 
  322. Signaltitle + ChoppyTitle;