Woodie's CCI Panel Intraday (697).afl
上传用户:shiqiang
上传日期:2009-06-12
资源大小:1289k
文件大小:22k
源码类别:

金融证券系统

开发平台:

Others

  1. //------------------------------------------------------------------------------
  2. //
  3. //  Formula Name:    Woodie's CCI Panel Intraday
  4. //  Author/Uploader: Dennis Skoblar 
  5. //  E-mail:          DennisAndLisa@sbcglobal.net
  6. //  Date/Time Added: 2006-09-09 14:01:57
  7. //  Origin:          www.woodiescciclub.com
  8. //  Keywords:        Woodie's CCI
  9. //  Level:           medium
  10. //  Flags:           system,exploration,indicator
  11. //  Formula URL:     http://www.amibroker.com/library/formula.php?id=697
  12. //  Details URL:     http://www.amibroker.com/library/detail.php?id=697
  13. //
  14. //------------------------------------------------------------------------------
  15. //
  16. //  *** NEW VERSION ***
  17. //
  18. //  As of 9-9-2006
  19. //
  20. //  *** The Sidewinder and CZI included in the panel are very close
  21. //  approximations derrived from watching the moderator's charts and are not
  22. //  derrived from Woodie's proprietary formula ***
  23. //
  24. //  Note: to activate the timer properly, make sure the following is set:
  25. //
  26. //  click on Tools==>Preferences==>Intraday....
  27. //
  28. //  make sure "Allign minute bars to market hours" is checked...
  29. //
  30. //  make sure "Start time of interval" is checked...
  31. //
  32. //  make sure "Override: Weekly/monthly bars use day of last trade" is checked
  33. //
  34. //  Now there is an inner panel color and outer panel color option...Use these
  35. //  settings...
  36. //
  37. //  Go to Tools==>Colors==>Palette Editor==>Custom Colors
  38. //
  39. //  Input these values under the Custom Colors section on the bottom, the first
  40. //  square is custom1, the last is custom16.
  41. //
  42. //  These settings are for the outer border panel color. Put them in Custom11
  43. //  ...
  44. //
  45. //  Hue: 86
  46. //
  47. //  Sat: 37
  48. //
  49. //  Lum: 110
  50. //
  51. //  Red: 99
  52. //
  53. //  Green: 135
  54. //
  55. //  Blue: 104
  56. //
  57. //  These settings are for the color of the inner panal color, both the upper
  58. //  half and the lower half. Put them in Custom14 ...
  59. //
  60. //  Hue: 84
  61. //
  62. //  Sat: 34
  63. //
  64. //  Lum: 90
  65. //
  66. //  Red: 82
  67. //
  68. //  Green: 109
  69. //
  70. //  Blue: 85
  71. //
  72. //  Disclaimer: For educational purposes only, trade at your own risk.
  73. //
  74. //  For updates...goto
  75. //
  76. //  http://woodiescciclub.com/forum/viewtopic.php?t=1357
  77. //
  78. //  -Dennis
  79. //
  80. //------------------------------------------------------------------------------
  81. /////////////////////////////// 
  82. // CCI Woodies Style  
  83. // Codded/Added by Dennis, Kris, Wring, Greg
  84. // Last Update: 9/9/2006
  85. // Amibroker 4.70 
  86. /////////////////////////////// 
  87. // Color setup
  88. // Go to Tools==>Colors==>Palette Editor==>Custom Colors
  89. // Input these values under the Custom Colors section on the bottom, the first
  90. //  square is custom1, the last is custom16.
  91. // These settings are for the outer border panel color. Put them in 
  92. // Custom11...
  93. // Hue: 86
  94. // Sat: 37
  95. // Lum: 110
  96. // Red: 99
  97. // Green: 135
  98. // Blue: 104
  99. //
  100. // These settings are for the color of the inner panal color, 
  101. // both the upper half AND the lower half. Put them in Custom14 ...
  102. // Hue: 84
  103. // Sat: 34
  104. // Lum: 90
  105. // Red: 82
  106. // Green: 109
  107. // Blue: 85
  108. /////////////////////////////// 
  109. //Setup Parameters section, right click on chart panel, click on Parameters:
  110. // (1) =zlr
  111. // (2) =famir
  112. // (3) =vegas trade
  113. // (4) =gb 100 line cross
  114. // (5) =tony trade
  115. // The last one "choppy" is not a pattern, but a signal that indicates a
  116. // choppy
  117. // market defined as CCI chopping
  118. // back and forth inbetween the 100's. Choppy is gone once a Hook From Extreme
  119. // occures.
  120. /////////////////////////////// 
  121. //Setup Axes and Grid section (right click on chart panel, click on
  122. // Parameters):
  123. // Scaling: Custom , Min=-275  Max=275
  124. // Show Date Axis = Yes , Show Middle Lines = No
  125. /////////////////////////////// 
  126. // To activate the timer properly, make sure the following is set:
  127. // click on Tools==>Preferences==>Intraday....
  128. // make sure "Allign minute bars to market hours" is checked...
  129. // make sure "Start time of interval" is checked...
  130. // make sure "Override: Weekly/monthly bars use day of last trade" is checked.
  131. /////////////////////////////// 
  132. // Discalimer: For educational purposes only. Trade at your own risk.
  133. /////////////////////////////// 
  134. Version(4.70); 
  135. PositionSize = MarginDeposit = 1;
  136. MH1=Param("Market Open",default=063000,000000,240000);
  137. MH2=Param("Market Close",default=122700,000000,240000);
  138. MarketHours = TimeNum()>=MH1 AND TimeNum()<=MH2; 
  139. MArketClose= TimeNum()<=MH2; 
  140. SetChartBkColor(ParamColor("Outer panel color ",colorCustom11)); // color of
  141. // outer border 
  142. SetChartBkGradientFill( ParamColor("Inner panel color upper half",
  143. colorCustom14),ParamColor("Inner panel color lower half",  
  144. colorCustom14)); // color of inner panel
  145. zperiod=Param("CCI Period",default=14,0,100);
  146. z = CCI(zperiod); 
  147. z6 = CCI(6); 
  148. CCI50_var = CCI(50); 
  149. LSMA25 = LinearReg(C, 25 ); 
  150. EMA34 = EMA(C,34); 
  151. PI = atan(1.00) * 4; 
  152. periods = 30; 
  153. HighHigh = HHV(H, periods); 
  154. LowLow = LLV(L, periods); 
  155. range = 25 / (HighHigh - LowLow) * LowLow; 
  156. TTMperiod = 6; 
  157. Low_ma = EMA(L, TTMperiod); 
  158. High_ma = EMA(H, TTMperiod); 
  159. Low_third = (High_ma - Low_ma) / 3 + Low_ma; 
  160. High_third = 2 * (High_ma - Low_ma) / 3 + Low_ma; 
  161. tempnum = Now( 4 ) - TimeNum(); 
  162. TimeRem = Interval() - ((int(tempnum[BarCount - 1] / 100) * 60) +
  163. (tempnum[BarCount - 1] - int(tempnum[BarCount - 1] / 100) * 100)); 
  164. if (TimeRem[BarCount - 1] < 0) TimeRem = 0; 
  165. TitleTimeRem = EncodeColor(colorWhite); 
  166. MinuteVar = int(TimeRem );  
  167. if (TimeRem[BarCount - 1] > 60) 
  168. TitleTimeRem = TitleTimeRem + EncodeColor(colorWhite) + MinuteVar + "s"; 
  169. else if (TimeRem[BarCount - 1] > 45) 
  170. TitleTimeRem = TitleTimeRem  +  EncodeColor(colorWhite) + MinuteVar + "s"; 
  171. else 
  172. TitleTimeRem = TitleTimeRem +  EncodeColor(colorYellow) + MinuteVar + "s"; 
  173. if(SelectedValue(CCI50_var) < 0) 
  174. CCI50Title = EncodeColor(colorRed); 
  175. else 
  176. CCI50Title = EncodeColor(colorLime); 
  177. CCI50Title = CCI50Title + "CCI 50 = " + round(CCI50_var) + ", "; 
  178. stop_range = IIf(O < C, IIf((H - O) < (C - L), C - L, H - O), 
  179. IIf((O - L) < (H - C), H - C, O - L)); 
  180. StopTitle = EncodeColor(colorWhite) + "Stop = " + EncodeColor(colorYellow); 
  181. StopTitle = StopTitle + StrToNum(NumToStr(stop_range, 4.4)); 
  182. x1_EMA34 = 0; 
  183. x2_EMA34 = 1; 
  184. y1_EMA34 = 0; 
  185. y2_EMA34 = (Ref(EMA34, -1) - EMA34) / Avg * range; 
  186. c_EMA34 = sqrt((x2_EMA34 - x1_EMA34)*(x2_EMA34 - x1_EMA34) + (y2_EMA34 -
  187. y1_EMA34)*(y2_EMA34 - y1_EMA34)); 
  188. angle_EMA34 = round(180 * acos((x2_EMA34 - x1_EMA34)/c_EMA34) / PI); 
  189. TitleAngleEMA34 = EncodeColor(colorWhite) + "nEMA34 angle = "; 
  190. angle_EMA34 = IIf(y2_EMA34 > 0, - angle_EMA34, angle_EMA34); 
  191. if(SelectedValue(angle_EMA34) >= 25) 
  192. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); 
  193. else if(SelectedValue(angle_EMA34) <= -25) 
  194. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); 
  195. else if(SelectedValue(angle_EMA34) >= 5) 
  196. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorTurquoise); 
  197. else if(SelectedValue(angle_EMA34) <= -5) 
  198. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorRed); 
  199. else 
  200. TitleAngleEMA34 = TitleAngleEMA34 + EncodeColor(colorYellow); 
  201. TitleAngleEMA34 = TitleAngleEMA34 + angle_EMA34; 
  202. x1_LSMA25 = 0; 
  203. x2_LSMA25 = 1; 
  204. y1_LSMA25 = 0; 
  205. y2_LSMA25 = (Ref(LSMA25, -1) - LSMA25) / Avg * range; 
  206. c_LSMA25 = sqrt((x2_LSMA25 - x1_LSMA25)*(x2_LSMA25 - x1_LSMA25) + (y2_LSMA25 -
  207. y1_LSMA25)*(y2_LSMA25 - y1_LSMA25)); 
  208. angle_LSMA25 = round(180 * acos((x2_LSMA25 - x1_LSMA25)/c_LSMA25) / PI); 
  209. TitleAngleLSMA25 = EncodeColor(colorWhite) + "LSMA25 angle = "; 
  210. angle_LSMA25 = IIf(y2_LSMA25 > 0, - angle_LSMA25, angle_LSMA25); 
  211. if(SelectedValue(angle_LSMA25) >= 25) 
  212. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); 
  213. else if(abs(SelectedValue(angle_LSMA25)) <= -25) 
  214. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); 
  215. else if(SelectedValue(angle_LSMA25) >= 5) 
  216. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorTurquoise); 
  217. else if(SelectedValue(angle_LSMA25) <= -5) 
  218. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorRed); 
  219. else 
  220. TitleAngleLSMA25 = TitleAngleLSMA25 + EncodeColor(colorYellow); 
  221. TitleAngleLSMA25 = TitleAngleLSMA25 + angle_LSMA25; 
  222. // Colour the bars for Woodies Trend Following 
  223. Plusbars = BarsSince(z < 0); 
  224. Minusbars = BarsSince(z > 0); 
  225. TrendBarCount = 6; 
  226. Color[0] = colorDefault; 
  227. Trend[0] = 0; 
  228. TTMColor[0] = colorDefault; 
  229. for( i = 1; i < BarCount; i++ ) 
  230. if (C[i] > High_third[i]) 
  231. TTMColor[i] = colorDarkGreen; 
  232. else if (C[i] < Low_third[i]) 
  233. TTMColor[i] = colorDarkRed; 
  234. else 
  235. TTMColor[i] = TTMColor[i - 1]; 
  236. if (Plusbars[i] >= TrendBarCount) 
  237. Trend[i] = 1; 
  238. else if (Minusbars[i] >= TrendBarCount) 
  239. Trend[i] = -1; 
  240. else 
  241. Trend[i] = Trend[i - 1]; 
  242. if (Trend[i] == 1) 
  243. if (Minusbars[i] == TrendBarCount - 1) 
  244. Color[i] = colorYellow; 
  245. else if (z[i] < 0) 
  246. Color[i] = colorDarkGrey; 
  247. else 
  248. Color[i] = colorLime; 
  249. else if (Trend[i] == -1) 
  250. if (Plusbars[i] == TrendBarCount - 1) 
  251. Color[i] = colorYellow; 
  252. else if (z[i] >= 0) 
  253. Color[i] = colorDarkGrey; 
  254. else 
  255. Color[i] = colorRed; 
  256. else 
  257. Color[i] = colorDefault; 
  258. // Turbo CCI 
  259. Plot(z6,"CCI 6", colorDarkRed, styleLine | styleNoLabel); 
  260. // zero line 25lsma 
  261.  
  262. PlotShapes(IIf(C > LSMA25,shapeSmallCircle,shapeNone),colorLime,0,0,0); 
  263. PlotShapes(IIf(C < LSMA25,shapeSmallCircle,shapeNone),colorRed,0,0,0);
  264. PlotShapes(IIf(C == LSMA25,shapeSmallCircle,shapeNone),colorTeal,0,0,0);
  265. // CCI Histogram 
  266. Plot(z,"", Color, styleHistogram | styleThick | styleNoLabel); 
  267. // Plot the Mock CZI on the 100s 
  268. ColorANGLE_EMA = IIf(angle_EMA34 >=5, colorTurquoise, 
  269. IIf(angle_EMA34 <=-5, colorRed, colorYellow)); 
  270. Plot(100,"", ColorANGLE_EMA , styleLine | styleThick | styleNoLabel); 
  271. Plot(-100,"", ColorANGLE_EMA , styleLine | styleThick | styleNoLabel); 
  272. // Plot the Mock Sidewinder on the 200s 
  273. TitleTrending = WriteIf((abs(angle_EMA34) >= 15) AND (abs(angle_EMA34 +
  274. angle_LSMA25) >= 50), EncodeColor(colorWhite)  + EncodeColor(colorLime) +
  275. "TRENDING", 
  276. WriteIf((abs(angle_EMA34) >= 5) AND (((angle_EMA34 >= 0) AND (angle_LSMA25 >=
  277. 0)) OR ((angle_EMA34 <= 0) AND (angle_LSMA25 <= 0))) AND (abs(angle_EMA34 +
  278. angle_LSMA25) >= 30), EncodeColor(colorWhite) + EncodeColor(colorYellow) +
  279. "NORMAL", 
  280. EncodeColor(colorWhite) + EncodeColor(colorRed) + "FLAT")); 
  281. SW = IIf((abs(angle_EMA34) >= 15) AND (abs(angle_EMA34 + angle_LSMA25) >= 50),
  282. IIf(angle_LSMA25 > 0, 2, -2), 
  283. IIf((abs(angle_EMA34) >= 5) AND (((angle_EMA34 >= 0) AND (angle_LSMA25 >= 0))
  284. OR ((angle_EMA34 <= 0) AND (angle_LSMA25 <= 0))) AND (abs(angle_EMA34 +
  285. angle_LSMA25) >= 30), IIf(angle_LSMA25 > 0, 1, -1), 0)); 
  286. ColorSW = IIf(abs(SW) == 2, colorLime, 
  287. IIf(abs(SW) == 1, colorYellow, colorRed)); 
  288. Plot(200,"", ColorSW, styleLine | styleThick | styleNoLabel); 
  289. Plot(-200,"", ColorSW, styleLine | styleThick | styleNoLabel); 
  290. // Plot Grids
  291. PlotTheGrids = ParamToggle("Plot the grids","No|Yes",1); 
  292. if (PlotTheGrids ==1) 
  293. PlotGrid(0); 
  294. PlotGrid(-100); 
  295. PlotGrid(100);
  296. PlotGrid(-200); 
  297. PlotGrid(200); 
  298. // choppy - wcci is 10 bars within the 100's
  299. A= (HHV(z,10)<=100 AND LLV(z,10)>=-100); 
  300. B= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); 
  301. bs_a=BarsSince(A); 
  302. bs_b=BarsSince(B); 
  303. bars = IIf( bs_A < Bs_B, bs_a, 0); 
  304. NoChop= a == 0 AND bars == 0;
  305. // ZLR Long 
  306. Linex_long=Ref(z,-1)>100 AND z<100; 
  307. barsfromline_long=BarsSince(Linex_long); 
  308. CCIhook_long=z>Ref(z,-1) AND Ref(z,-1)>-100 AND Ref(z,-1)<Ref(z,-2) AND
  309. Ref(z,-2)>-100 AND z>0;
  310. SW_trendinglong= sw==1 OR sw==2; 
  311. zlrlong=  (Ref(angle_ema34,-2)>=5 AND Ref(angle_ema34,-1)>=5 AND
  312. angle_ema34>=5) AND SW_trendinglong AND z<120 AND barsfromline_long<10 AND
  313. CCIhook_long AND trend==1;
  314. // ZLR Short 
  315. Linex_short=Ref(z,-1)<=-100 AND z>=-100; 
  316. barsfromline_short=BarsSince(Linex_short); 
  317. CCIhook_short=z<Ref(z,-1) AND Ref(z,-1)<100 AND Ref(z,-1)>Ref(z,-2) AND
  318. Ref(z,-2)<100 AND z<0; 
  319. SW_trendingshort= sw==-1 OR sw==-2;
  320. zlrshort=  (Ref(angle_ema34,-2)<=-5 AND Ref(angle_ema34,-1)<=-5 AND
  321. angle_ema34<=-5) AND SW_trendingshort AND z>-120 AND barsfromline_short<10 AND
  322. CCIhook_short AND trend==-1;
  323. // Famir Long 
  324. FamirLinex_long=Ref(z,-1)<=-100 AND z>-100; 
  325. Famir_barsfromline_long=BarsSince(FamirLinex_long); 
  326. Famir_pivotlong= (Ref(z,-2)>Ref(z,-1)AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55) OR
  327. (Ref(z,-3)>Ref(z,-1) AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55 AND Ref(z,-3)>=-55)
  328. OR (Ref(z,-4)>Ref(z,-1) AND Ref(z,-1)>=-55 AND Ref(z,-2)>=-55 AND
  329. Ref(z,-3)>=-55); 
  330. Famirhook_long=Famir_pivotlong AND z>Ref(HHV(z,Famir_barsfromline_long),-1)
  331. AND
  332. (z>=-55 AND z<=55); 
  333. Famirlong= Famir_barsfromline_long<10 AND Famirhook_long AND trend==-1 AND
  334. C>LSMA25; 
  335. // Famir Short 
  336. FamirLinex_short=Ref(z,-1)>=100 AND z<100; 
  337. Famir_barsfromline_short=BarsSince(FamirLinex_short); 
  338. Famir_pivotshort= (Ref(z,-2)<Ref(z,-1)AND Ref(z,-1)<=55 AND Ref(z,-2)<=55) OR
  339. (Ref(z,-3)<Ref(z,-1)AND Ref(z,-1)<=55 AND Ref(z,-2)<=55 AND Ref(z,-3)<=55) 
  340. OR (Ref(z,-4)<Ref(z,-1) AND Ref(z,-1)<=55 AND Ref(z,-2)<=55 AND
  341. Ref(z,-3)<=55); 
  342. Famirhook_short=Famir_pivotshort AND z<Ref(LLV(z,Famir_barsfromline_short),-1)
  343. AND (z>=-55 AND z<=55); 
  344. Famirshort= Famir_barsfromline_short<10 AND Famirhook_short AND trend==1 AND
  345. C<LSMA25; 
  346. // HFE 
  347. HFEshort=(Ref(z,-1)>200 AND z<200); 
  348. HFElong=(Ref(z,-1)<-200 AND z>-200); 
  349. HFE= (Ref(z,-1)>200 AND z<200) OR (Ref(z,-1)<-200 AND z>-200); 
  350. // VT Long 
  351. vtLinex_long=Ref(z,-1)<=-200 AND z>-200; 
  352. vt_barsfromline_long=BarsSince(vtLinex_long); 
  353. vtlong_A = z<-200; 
  354. vtlong_B = Ref(z,-1)<=Ref(z,-2) OR 
  355. Ref(z,-2)<=Ref(z,-3) OR 
  356. Ref(z,-3)<=Ref(z,-4) OR 
  357. Ref(z,-4)<=Ref(z,-5) OR 
  358. Ref(z,-5)<=Ref(z,-6) OR 
  359. Ref(z,-6)<=Ref(z,-7) OR 
  360. Ref(z,-7)<=Ref(z,-8); 
  361. vtlong_bs_A = BarsSince(vtlong_A); 
  362. vtlong_bs_B = BarsSince(vtlong_b); 
  363. Vtlong_bars = vtlong_bs_A>=5 AND vtlong_bs_B<=0; 
  364. vt_pivotlong= Vtlong_bars; 
  365. swinghibars=BarsSince(z>Ref(HHV(z,vt_barsfromline_long),-1)); 
  366. vthook_long= vt_pivotlong AND z>Ref(HHV(z,vt_barsfromline_long),-1); 
  367. vtlong= vt_barsfromline_long<=11 AND (Ref(HHV(z,vt_barsfromline_long),-1)<0 OR
  368. HHV(z,vt_barsfromline_long)<=0) AND vthook_long AND C>Lsma25 AND
  369. Ref(swinghibars>=2,-1) AND z>-100; 
  370. // VT Short 
  371. vtLinex_short=Ref(z,-1)>=200 AND z<200; 
  372. vt_barsfromline_short=BarsSince(vtLinex_short); 
  373. vtshort_A = z>200 ; 
  374. vtshort_B =Ref(z,-1)>=Ref(z,-2) OR 
  375. Ref(z,-2)>=Ref(z,-3) OR 
  376. Ref(z,-3)>=Ref(z,-4) OR 
  377. Ref(z,-4)>=Ref(z,-5) OR 
  378. Ref(z,-5)>=Ref(z,-6) OR 
  379. Ref(z,-6)>=Ref(z,-7) OR 
  380. Ref(z,-7)>=Ref(z,-8); 
  381. vtshort_bs_A = BarsSince(vtshort_A); 
  382. vtshort_bs_B = BarsSince(vtshort_b); 
  383. Vtshort_bars = vtshort_bs_A>=5 AND vtshort_bs_B<=0; 
  384. vt_pivotshort= Vtshort_bars; 
  385. swinglowbars= BarsSince(z<Ref(LLV(z,vt_barsfromline_short),-1)); 
  386. vthook_short= vt_pivotshort AND z<Ref(LLV(z,vt_barsfromline_short),-1); 
  387. vtshort= vt_barsfromline_short<=11 AND (Ref(LLV(z,vt_barsfromline_short),-1)>0
  388. OR LLV(z,vt_barsfromline_short)>0) AND vthook_short AND C<Lsma25 AND
  389. Ref(swinglowbars>=2,-1) AND z<100; 
  390. // GB 100 Long 
  391. Linex_longGB=Ref(z,-1)>100 AND z<100; 
  392. barsfromline_longGB=BarsSince(Linex_longGB); 
  393. CCIhook_longGB= Ref(z,-1)<-100 AND z>-100; 
  394. GB100long= barsfromline_longGB<20 AND angle_EMA34>=5 AND CCIhook_longGB AND
  395. trend==1;
  396. // GB100 Short 
  397. Linex_shortGB=Ref(z,-1)<-100 AND z>-100; 
  398. barsfromline_shortGB=BarsSince(Linex_shortGB); 
  399. CCIhook_shortGB=Ref(z,-1)>100 AND z<100; 
  400. GB100short= barsfromline_shortGB<20 AND angle_EMA34<=-5 AND CCIhook_shortGB
  401. AND
  402. trend==-1;
  403. // TT Long 
  404. Minuszero=BarsSince(Ref(z,-1)>0);
  405. TTCCIhook_long= z>Ref(z,-1) AND z>0; 
  406. TTlong= Ref(trend,-Minuszero)==1 AND
  407. LLV(Ref(z,-1),BarsSince(Ref(z,-1)>=100))>-100 AND TTCCIhook_long AND
  408. Ref(minusbars,-1)>=4 AND Ref(minusbars,-1)<=9;
  409. // TT Short 
  410. Pluszero=BarsSince(Ref(z,-1)<0);
  411. TTCCIhook_short=z<Ref(z,-1) AND z<0; 
  412. TTshort= Ref(trend,-Pluszero)==-1 AND
  413. HHV(Ref(z,-1),BarsSince(Ref(z,-1)<=-100))<100 AND  TTCCIhook_short AND
  414. Ref(plusbars,-1)>=4 AND Ref(plusbars,-1)<=9;
  415. // Columns for exploration 
  416. Filter =(zlrlong OR famirlong OR Vtlong OR gb100long OR ttlong OR hfelong OR
  417. zlrshort OR famirshort OR vtshort OR gb100short OR ttshort OR Hfeshort AND NOT
  418. nochop);
  419. Buy = (zlrlong OR famirlong OR Vtlong OR gb100long OR ttlong);
  420. Sell= z<=Ref(z,-1) ;// OR MArketClose; ; 
  421. Short = (zlrshort OR famirshort OR Vtshort OR gb100short OR ttshort);
  422. Cover = z>=Ref(z,-1) ;// OR MArketClose; 
  423. AddColumn( IIf(zlrlong,1,IIf(zlrshort,-1,0))
  424. ,"ZLR",1.0,colorWhite,IIf(zlrlong,colorLime,IIf(zlrshort,colorDarkRed,colorBlack)));
  425. AddColumn(IIf(famirlong,1,IIf(famirShort,-1,0)),"Famir",1.0,colorWhite,IIf(famirlong,colorLime,IIf(famirShort,colorDarkRed,colorBlack)));
  426. AddColumn(IIf(vtlong AND NOT famirlong,1,IIf(vtShort AND NOT
  427. famirshort,-1,0)),"Vegas",1.0,colorWhite,IIf(vtlong AND NOT
  428. famirlong,colorLime,IIf(vtShort AND NOT famirshort,colorDarkRed,colorBlack)));
  429. AddColumn(IIf(gb100long,1,IIf(gb100Short,-1,0)),"GB100",1.0,colorWhite,IIf(gb100long,colorLime,IIf(gb100Short,colorDarkRed,colorBlack)));
  430. AddColumn(IIf(ttlong,1,IIf(ttShort,-1,0)),"TT",1.0,colorWhite,IIf(ttlong,colorLime,IIf(ttShort,colorDarkRed,colorBlack)));
  431. AddColumn(IIf(hfelong,1,IIf(hfeshort,-1,0)),"HFE",1.0,colorWhite,IIf(hfelong,colorLime,IIf(hfeshort,colorDarkRed,colorBlack)));
  432. AddColumn(IIf(A OR bars,1,IIf(A OR bars,-1,0)),"Choppy",1.0,colorWhite,IIf(A
  433. OR
  434. bars,colorDarkYellow,IIf(A OR bars,colorDarkYellow,colorBlack))); 
  435. // Price Panel
  436. Lastpricetitlehi= WriteIf(H>Ref(H,-1),EncodeColor(colorLime) + Ref(H,-1) + " 
  437. "
  438. + H , EncodeColor(colorBlack)+ Ref(H,-1) + "  " + H);
  439. Lastpricetitlelo= WriteIf(L<Ref(L,-1),EncodeColor(colorDarkRed) + Ref(L,-1) +
  440. "
  441.  " + L , EncodeColor(colorBlack) + Ref(L,-1) + "  " + L);
  442. // Display Patterns
  443. zlrcode=ParamToggle("(1)  zlr ","No|Yes",1); 
  444. famircode=ParamToggle("(2)  famir ","No|Yes",1); 
  445. Vtcode=ParamToggle("(3)  vt ","No|Yes",1); 
  446. gb100code=ParamToggle("(4)  gb100 ","No|Yes",1); 
  447. ttcode=ParamToggle("(5)  tt ","No|Yes",1); 
  448. Hfecode=ParamToggle("hfe","No|Yes",1); 
  449. Choppycode=ParamToggle("choppy","No|Yes",1); 
  450. CCIcolorChoppycode=ParamToggle("Hilite wcci line when choopy","No|Yes",1); 
  451. // CCI Line 
  452. CCIcolorChoppy= IIf(NOT nochop AND
  453. CCIcolorChoppycode==1,colorWhite,colorBlack);
  454. Plot(round(z),"WCCI", CCIcolorChoppy, styleLine | styleThick); 
  455. //Signal Title 
  456. Signaltitle= WriteIf(zlrlong AND zlrcode==1,EncodeColor(colorWhite) + "ZLR
  457. ", 
  458. WriteIf(zlrshort AND zlrcode==1,EncodeColor(colorWhite) + "ZLR ",
  459. WriteIf(Famirshort AND famircode==1,EncodeColor(colorWhite) + "FAMIR ", 
  460. WriteIf(Famirlong AND famircode==1,EncodeColor(colorWhite) + "FAMIR ",
  461. WriteIf(VTlong AND Vtcode==1,EncodeColor(colorWhite) + "VT ", 
  462. WriteIf(VTshort AND Vtcode==1,EncodeColor(colorWhite) + "VT ",
  463. WriteIf(GB100long AND gb100code==1,EncodeColor(colorWhite) + "GB100 ", 
  464. WriteIf(Gb100short AND gb100code==1,EncodeColor(colorWhite) + "GB100 ",
  465. WriteIf(TTLong AND ttcode==1,EncodeColor(colorWhite) + "TT ",
  466. WriteIf(TTShort AND ttcode==1,EncodeColor(colorWhite) + "TT ",
  467. WriteIf(HFE AND Hfecode==1,EncodeColor(colorWhite) + "HFE ","")))))))))));
  468. //Choppy Title 
  469. ChoppyTitle= WriteIf(A AND Choppycode==1,EncodeColor(colorWhite) +
  470. "CHOPPY",WriteIf(bars AND Choppycode==1,EncodeColor(colorWhite) +
  471. "CHOPPY",""));
  472. patterntitle= WriteIf(zlrcode==1 OR famircode==1 OR Hfecode==1 OR Vtcode==1
  473. OR gb100code==1 OR ttcode==1 OR choppycode==1,Signaltitle + ChoppyTitle,"");
  474. //Pattern Codes
  475. PlotShapes(IIf(zlrlong AND 
  476. zlrcode==1,shapeDigit1,shapeNone),colorLime,0,0,-15); 
  477. PlotShapes(IIf(zlrshort AND  zlrcode==1,shapeDigit1+
  478. shapePositionAbove,shapeNone),colorDarkRed,0,0,-15);
  479. PlotShapes(IIf(famirlong AND 
  480. famircode==1,shapeDigit2,shapeNone),colorLime,0,0,-15); 
  481. PlotShapes(IIf(famirShort AND famircode==1,shapeDigit2+
  482. shapePositionAbove,shapeNone),colorDarkRed,0,0,-15) ;
  483. PlotShapes(IIf(Ref(z,-1)>200 AND z<200 AND 
  484. Hfecode==1,shapeHollowDownTriangle,shapeNone),IIf(Ref(z,-1)>200 AND z<200 AND
  485. Hfecode==1,colorYellow,shapeNone),0,200,-20); 
  486. PlotShapes(IIf(Ref(z,-1)<-200 AND z>-200 AND 
  487. Hfecode==1,shapeHollowUpTriangle,shapeNone),IIf(Ref(z,-1)<-200 AND z>-200 AND
  488. Hfecode==1,colorYellow,shapeNone),0,-200,-20) ;
  489. PlotShapes(IIf(vtlong AND NOT famirlong AND
  490. Vtcode==1,shapeDigit3,shapeNone),colorLime,0,Min(z,0),-45); 
  491. PlotShapes(IIf(vtshort AND NOT famirshort AND Vtcode==1,shapeDigit3+
  492. shapePositionAbove,shapeNone),colorDarkRed,0,Max(z,0),-45);
  493. PlotShapes(IIf(GB100long AND
  494. gb100code==1,shapeDigit4,shapeNone),colorLime,0,0,-60); 
  495. PlotShapes(IIf(GB100short AND gb100code==1,shapeDigit4+
  496. shapePositionAbove,shapeNone),colorDarkRed,0,0,-60); 
  497. PlotShapes(IIf(ttlong AND
  498. ttcode==1,shapeDigit5,shapeNone),colorLime,0,0,-50); 
  499. PlotShapes(IIf(ttshort AND ttcode==1,shapeDigit5+
  500. shapePositionAbove,shapeNone),colorDarkRed,0,Max(z,0),-50);
  501. //Title 
  502. Title = EncodeColor(colorBlack) + "" + Name() + ", " + Interval(2) + ", " +
  503. Date() + "n" + 
  504. TitleTimeRem + EncodeColor(colorWhite) + "n" +
  505. Titletrending + "n" + Lastpricetitlehi + "n" + EncodeColor(colorBlack) +  " 
  506.   " + C  + "n" + Lastpricetitlelo + "n" + 
  507. patterntitle;