Advertisement
Guest User

Untitled

a guest
Sep 11th, 2014
257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 185.86 KB | None | 0 0
  1. //+------------------------------------------------------------------+
  2. //| Candlestick Patterns.mq4 |
  3. //+------------------------------------------------------------------+
  4.  
  5.  
  6. #property copyright "Copyright © 2014"
  7. #property link "techno1991@o2.pl"
  8.  
  9. #property indicator_chart_window
  10. #property indicator_buffers 8
  11. #property indicator_color1 Red
  12. #property indicator_color2 Blue
  13. #property indicator_color3 Sienna
  14. #property indicator_color4 Sienna
  15. #property indicator_color5 Red
  16. #property indicator_color6 Red
  17. #property indicator_color7 Olive
  18. #property indicator_color8 Olive
  19.  
  20. extern int CountBars=1000; // bars counted
  21. extern int ___Ńâîäíŕ˙_ńâĺ÷ŕ___ = 1;
  22. extern bool svod_bar = false;
  23. extern int barOpen = 25;
  24. extern int barClose = 27;
  25. extern int ___Çŕęđŕńęŕ_ňĺëŕ___ = 1;
  26. extern bool pouring = true;
  27. extern color bear = Red;
  28. extern color bull = Blue;
  29.  
  30. extern int ___Óđîâíč_íŕ_ńâĺ÷ĺ___ = 1;
  31. extern bool bar50 = false;
  32. extern int barN50 = 1;
  33. extern double barproc = 50;
  34. extern int barN51 = 2;
  35. extern double barproc1 = 50;
  36. extern int _Óđîâíč_High_Low_íŕ_ńâĺ÷ĺ_ = 1;
  37. extern bool HL = false;
  38. extern int barN52 = 34;
  39. extern bool high52 = false;
  40. extern bool low52 = false;
  41. extern int barN53 = 25;
  42. extern bool high53 = false;
  43. extern bool low53 = false;
  44.  
  45. extern int ___Bearish_Patterns___ = 12; // true
  46. //extern int ___Bearish Patterns___ = 12; // false
  47. extern bool Display_ShootStar_SS = true;
  48. extern bool Display_Hanging_HM = true;
  49. extern bool Display_Evening_Stars_ES = true;
  50. extern bool Display_Evening_Stars_EDS = true;
  51. extern bool Display_Dark_Cloud_Cover_DC = true;
  52. extern bool Display_Three_Black_Crows_TBC = false;
  53. extern bool Display_3_identical_crows_TIC = false;
  54. extern bool Display_two_crows_TC = true;
  55. extern bool Display_two_crows_GTC = true;
  56. extern bool Display_advance_block_Ab = true;
  57. extern bool Display_on_in_neck_thrusting_NL = true;
  58. extern bool Display_thrusting_TL = true;
  59. bool Display_Mat_Hold_iMH = true;
  60.  
  61. extern int ___Bullish_Patterns___ = 12; // true
  62. //extern int ___Bullish Patterns___ = 12; // false
  63. extern bool Display_Hammer_HR = true;
  64. extern bool Display_Inverted_Hammer_IH = true;
  65. extern bool Display_Morning_Stars_MS = true;
  66. extern bool Display_Morning_Stars_MDS = true;
  67. extern bool Display_Piercing_Line_PL = true;
  68. extern bool Display_Three_White_Sold_TWS = false;
  69. extern bool Display_homing_pigeon_HP = true;
  70. extern bool Display_Stick_Sandwich_StS = true;
  71. bool Display_onin_neck_thrusting_iNL = true;
  72. extern bool Display_not_completed_DC_NDC = true;
  73. extern bool Display_Con_ng_Baby_Swallow_CBS = true;
  74. extern bool Display_Mat_Hold_MH = true;
  75.  
  76. extern int ___Bearish_Bullish_Patterns___ = 14; // true
  77. //extern int ___Bearish_Bullish_Patterns___ = 14; // false
  78. extern bool Display_Doji_D = true;
  79. bool Display_High_Wave_HW = true;
  80. extern bool Display_Engulfing_EG = true;
  81. extern bool Display_Belt_Hold_Lines_BH = true;
  82. extern bool Display_Harami_HI = true;
  83. extern bool Display_Tasuki_TG = true;
  84. extern bool Display_Three_Outside_To = true;
  85. extern bool Display_Three_Inside_Ti = true;
  86. extern bool Display_Three_line_strike_TLS = true;
  87. extern bool Display_F_R_three_methods_TM = true;
  88. extern bool Display_Breakaway_BW = true;
  89. extern bool Display_separating_line_SL = true;
  90. extern bool Display_meeting_lines_ML = true;
  91. extern bool Display_Kicking_K = true;
  92. extern bool Display_Tweezers_TZ = true;
  93. bool TZh = false;
  94. bool TZhh = false;
  95. bool TZl = false;
  96. bool TZll = false;
  97.  
  98. extern int Parameters_of_Patterns = 17; // settings
  99. //extern int Parameters_of_Patterns = 17;
  100. extern string _0_ = "SS,HM,IH,HR";
  101. extern double SS = 3.618;
  102.  
  103. extern string _1_ = "SS,HM,IH,HR";
  104. extern double tt = 1.618;
  105.  
  106. extern string _2_ = "Doji";
  107. extern int Doji = 25;
  108.  
  109. extern string _3_ = "%ä";
  110. extern double Star = 50;
  111.  
  112. extern string _4_ = "min Gap";
  113. extern int gapStar = 1;
  114.  
  115. extern string _5_ = "min Gap - Harami";
  116. extern int Harami = 0;
  117. extern string _6_ = "min Gap - Harami";
  118. extern int Harami_Ń = 0;
  119. extern string _7_ = "HHI & LHI";
  120. extern double Harami_HL = 38.2;
  121.  
  122. extern string _8_ = "High/Low _TM_ 10=100%";
  123. extern double TM = 10;
  124.  
  125. extern string _9_ = "Gap PL & DC";
  126. extern int pl_dcc = 1;
  127. extern string _10_ = "% DC,PL";
  128. extern double DC = 50;
  129.  
  130. extern string _11 = "min Gap - Tasuki";
  131. extern int tasuki = 2;
  132.  
  133. extern string _12_ = "min Gap - Ti";
  134. extern int tiud = 0;
  135.  
  136. extern string _13_ = "min Gap - TLS";
  137. extern int TLS = 1;
  138.  
  139. extern string _14_ = "% TIC";
  140. extern double tic = 35;
  141.  
  142. extern string _15_ = "Gap TC & GTC";
  143. extern int gtc = 5;
  144.  
  145. extern string _16_ = "Gap BW";
  146. extern int bw = 1;
  147.  
  148. extern string _17_ = "Gap";
  149. extern double gap = 1.0;
  150.  
  151. extern string _18_ = "Gap TZ";
  152. extern int tz = 11;
  153. //
  154. extern int Color_Bearish_Patterns = 26; // Bearish Patterns
  155. //
  156. extern color Color_SS = LightSeaGreen;
  157. extern color Color_HM = SaddleBrown;
  158. extern color Color_ES = Red;
  159. extern color Color_EDS = Red;
  160. extern color Color_DC = Brown;
  161. extern color Color_TBC = DarkOrange;
  162. extern color Color_TIC = DarkOrange;
  163. extern color Color_TC = Orange;
  164. extern color Color_GTC = Orange;
  165. extern color Color_Ab = Brown;
  166. extern color Color_NL = Orange;
  167. extern color Color_TL = Orange;
  168. color Color_iMH = Goldenrod;
  169.  
  170. extern color Colorh_D = Blue;
  171. color Colorh_HW = SlateBlue;
  172. extern color Colorh_EG = DarkGreen;
  173. extern color Colorh_BH = Green;
  174. extern color Colorh_HI = DarkOliveGreen;
  175. extern color Colorh_TG = Orange;
  176. extern color Colorh_To = DodgerBlue;
  177. extern color Colorh_Ti = DarkTurquoise;
  178. extern color Colorh_TLS = Brown;
  179. extern color Colorh__TM_ = Teal;
  180. extern color Colorh_BW = DarkOrange;
  181. extern color Colorh_SL = DarkOrange;
  182. extern color Colorh_ML = DarkOrange;
  183. extern color Colorh_K = DarkOrange;
  184. extern color Colorh_TZ = DarkOrange;
  185. //
  186. extern int Color_Bullish_Patterns = 26; // Bullish Patterns
  187. //
  188. extern color Color_HR = LightSeaGreen;
  189. extern color Color_IH = SaddleBrown;
  190. extern color Color_MS = Red;
  191. extern color Color_MDS = Red;
  192. extern color Color_PL = Brown;
  193. extern color Color_TWS = DarkOrange;
  194. extern color Color_HP = Brown;
  195. extern color Color_StS = DarkOrange;
  196. color Color_iNL = Orange;
  197. extern color Color_NDC = Brown;
  198. extern color Color_CBS = DarkOrange;
  199. extern color Color_MH = Goldenrod;
  200.  
  201. extern color Colorl_D = SlateBlue;
  202. color Colorl_HW = SlateBlue;
  203. extern color Colorl_EG = DarkGreen;
  204. extern color Colorl_BH = Green;
  205. extern color Colorl_HI = DarkSlateGray;
  206. extern color Colorl_TG = Orange;
  207. extern color Colorl_To = DodgerBlue;
  208. extern color Colorl_Ti = DarkTurquoise;
  209. extern color Colorl_TLS = Brown;
  210. extern color Colorl__TM_ = RosyBrown;
  211. extern color Colorl_BW = DarkOrange;
  212. extern color Colorl_SL = DarkOrange;
  213. extern color Colorl_ML = DarkOrange;
  214. extern color Colorl_K = DarkOrange;
  215. extern color Colorl_TZ = DarkOrange;
  216. //
  217. extern int Color_flat = 12; // Colors
  218. //
  219. extern color Color_D = Blue;
  220. extern color Color_EG = DarkGreen;
  221. extern color Color_BH = Green;
  222. extern color Color_HI = Green;
  223. extern color Color_TG = Orange;
  224. extern color Color_To = DodgerBlue;
  225. extern color Color_Ti = DarkTurquoise;
  226. extern color Color_TLS = Red;
  227. extern color Color__TM_ = LightCoral;
  228. extern color Color_BW = DarkOrange;
  229. extern color Color_SL = DarkOrange;
  230. extern color Color_ML = DarkOrange;
  231.  
  232. //
  233. extern bool Show_Alert = false; //true
  234. //
  235. extern bool Show_SS_Alert = true;
  236. bool Show_HM_Alert = true;
  237. extern bool Show_ES_Alert = true;
  238. extern bool Show_EDS_Alert = true;
  239. extern bool Show_DC_Alert = true;
  240. extern bool Show_TBC_Alert = false;
  241. extern bool Show_TIC_Alert = false;
  242. extern bool Show_TC_Alert = true;
  243. extern bool Show_GTC_Alert = true;
  244. extern bool Show_Ab_Alert = true;
  245. extern bool Show_NL_Alert = true;
  246. extern bool Show_TL_Alert = true;
  247. extern bool Show_iMH_Alert = true;
  248.  
  249. extern bool Show_HR_Alert = true;
  250. extern bool Show_IH_Alert = true;
  251. extern bool Show_MS_Alert = true;
  252. extern bool Show_MDS_Alert = true;
  253. extern bool Show_PL_Alert = true;
  254. extern bool Show_TWS_Alert = false;
  255. extern bool Show_HP_Alert = true;
  256. extern bool Show_StS_Alert = true;
  257. extern bool Show_iNL_Alert = true;
  258. extern bool Show_NDC_Alert = true;
  259. extern bool Show_CBS_Alert = true;
  260. extern bool Show_MH_Alert = true;
  261.  
  262. extern bool Show_D_Alert = true;
  263. extern bool Show_HW_Alert = false;
  264. extern bool Show_EG_Alert = true;
  265. extern bool Show_BH_Alert = true;
  266. extern bool Show_HI_Alert = true;
  267. extern bool Show_TG_Alert = true;
  268. extern bool Show_To_Alert = true;
  269. extern bool Show_Ti_Alert = true;
  270. extern bool Show_TLS_Alert = true;
  271. extern bool Show_TM_Alert = true;
  272. extern bool Show_BW_Alert = true;
  273. extern bool Show_SL_Alert = true;
  274. extern bool Show_ML_Alert = true;
  275. extern bool Show_K_Alert = true;
  276. extern bool Show_TZ_Alert = false;
  277.  
  278. extern bool Comments_eng = true; //true=English
  279. extern bool Comments_rus = false; //true=Russian
  280. extern bool flat = false; // flat trend
  281. extern bool Bear = true;
  282. extern bool Bull = true;
  283. extern bool TMc = true; // Close Price
  284. extern bool TMhl = false; // High/Low Price
  285. bool TBC = true;
  286. bool TWS = true;
  287. int Text = 8;
  288. extern string _19_ = "Doji";
  289. extern bool doji = true; // true // false
  290. extern bool High_Waves = true;
  291. extern int ExtComplect = 20;
  292. //---- buffers
  293. double upArrow[];
  294. double downArrow[];
  295. double buf0[];
  296. double buf1[];
  297. double buf2[];
  298. double buf3[];
  299. double buf4[];
  300. double buf5[];
  301.  
  302.  
  303.  
  304. //+------------------------------------------------------------------+
  305. //| Custom indicator initialization function |
  306. //+------------------------------------------------------------------+
  307. int init() {
  308.  
  309. //---- indicators
  310.  
  311. SetIndexStyle(0,DRAW_ARROW, EMPTY);
  312. SetIndexArrow(0,72);
  313. SetIndexBuffer(0, downArrow);
  314.  
  315. SetIndexStyle(1,DRAW_ARROW, EMPTY);
  316. SetIndexArrow(1,71);
  317. SetIndexBuffer(1, upArrow);
  318.  
  319. SetIndexBuffer(2, buf0);
  320. SetIndexStyle (2, DRAW_HISTOGRAM);
  321. SetIndexEmptyValue(2, EMPTY_VALUE);
  322. //
  323. SetIndexBuffer(3, buf1);
  324. SetIndexStyle (3, DRAW_HISTOGRAM);
  325. SetIndexEmptyValue(3, EMPTY_VALUE);
  326.  
  327. SetIndexBuffer(4, buf2);
  328. SetIndexStyle (4, DRAW_HISTOGRAM);
  329. SetIndexEmptyValue(4, EMPTY_VALUE);
  330. //
  331. SetIndexBuffer(5, buf3);
  332. SetIndexStyle (5, DRAW_HISTOGRAM);
  333. SetIndexEmptyValue(5, EMPTY_VALUE);
  334.  
  335. SetIndexBuffer(6, buf4);
  336. SetIndexStyle (6, DRAW_HISTOGRAM);
  337. SetIndexEmptyValue(6, EMPTY_VALUE);
  338. //
  339. SetIndexBuffer(7, buf5);
  340. SetIndexStyle (7, DRAW_HISTOGRAM);
  341. SetIndexEmptyValue(7, EMPTY_VALUE);
  342.  
  343. return(0);
  344. }
  345.  
  346. //+------------------------------------------------------------------+
  347. //| Custom indicator deinitialization function |
  348. //+------------------------------------------------------------------+
  349. int deinit() {
  350.  
  351. Comment("");
  352. _delete_line ();
  353. for(int i=0;i<CountBars+2;i++){
  354. ObjectDelete("SS"+i); ObjectDelete("HM"+i); ObjectDelete("ES"+i); ObjectDelete("EDS"+i); ObjectDelete("DC"+i);
  355. ObjectDelete("TBC"+i); ObjectDelete("TIC"+i); ObjectDelete("TC"+i); ObjectDelete("GTC"+i); ObjectDelete("Ab"+i);
  356. ObjectDelete("NL"+i); ObjectDelete("TL"+i); ObjectDelete("HR"+i); ObjectDelete("IH"+i); ObjectDelete("MS"+i);
  357.  
  358. ObjectDelete("MDS"+i); ObjectDelete("PL"+i); ObjectDelete("TWS"+i); ObjectDelete("HP"+i); ObjectDelete("StS"+i);
  359. ObjectDelete("iNL"+i); ObjectDelete("NDC"+i); ObjectDelete("CBS"+i); ObjectDelete("D"+i); ObjectDelete("gD"+i);
  360. ObjectDelete("dD"+i); ObjectDelete("EG"+i); ObjectDelete("BH"+i); ObjectDelete("HI"+i); ObjectDelete("TG"+i);
  361.  
  362. ObjectDelete("To"+i); ObjectDelete("Ti"+i); ObjectDelete("TLS"+i); ObjectDelete("TM"+i); ObjectDelete("BW"+i);
  363. ObjectDelete("SL"+i); ObjectDelete("ML"+i); ObjectDelete("K"+i); ObjectDelete("TM2"+i); ObjectDelete("TM3"+i);
  364. ObjectDelete("TM4"+i); ObjectDelete("TM5"+i); ObjectDelete("HIC"+i); ObjectDelete("HHI"+i); ObjectDelete("LHI"+i);
  365. ObjectDelete("ES+"+i); ObjectDelete("EDS+"+i); ObjectDelete("MS+"+i); ObjectDelete("MDS+"+i); ObjectDelete("DC+"+i);
  366. ObjectDelete("PL+"+i); ObjectDelete("MH2"+i); ObjectDelete("MH3"+i); ObjectDelete("MH4"+i); ObjectDelete("hW"+i);
  367. ObjectDelete("TZ"+i); ObjectDelete("TZh"+i); ObjectDelete("TZl"+i); ObjectDelete("iMH2"+i);
  368. ObjectDelete("iMH3"+i); ObjectDelete("iMH4"+i); ObjectDelete("TZhh"+i); ObjectDelete("TZll"+i);
  369. ObjectDelete("SS1"+i); ObjectDelete("HM1"+i);
  370. }
  371.  
  372. return(0);
  373. }
  374.  
  375. //+------------------------------------------------------------------+
  376. //| Start. |
  377. //+------------------------------------------------------------------+
  378. void _delete_line ()
  379. {
  380. int i;
  381. string txt;
  382.  
  383. for (i=ObjectsTotal(); i>=0; i--)
  384. {
  385. txt=ObjectName(i);
  386. if (StringFind(txt,"#"+ExtComplect+"_")>-1) ObjectDelete (txt);
  387. }
  388. }
  389. //+------------------------------------------------------------------+
  390. //| End. |
  391. //+------------------------------------------------------------------+
  392.  
  393. //+------------------------------------------------------------------+
  394. //| Custom indicator iteration function |
  395. //+------------------------------------------------------------------+
  396.  
  397. int start(){
  398.  
  399. double dayofyear;
  400. dayofyear=DayOfYear();
  401. SetIndexDrawBegin(0,Bars-CountBars+0);
  402. SetIndexDrawBegin(1,Bars-CountBars+0);
  403. int i,counted_bars=IndicatorCounted();
  404. if(CountBars<=0) return(0);
  405. if(counted_bars<0)
  406. {
  407. for(i=1;i<=0;i++) upArrow[CountBars-i]=0.0;
  408. for(i=1;i<=0;i++) downArrow[CountBars-i]=0.0;
  409. }
  410. string Comm;
  411.  
  412. Comm= " Candlestick Patterns"+
  413. "\n"+"___Ěĺäâĺćüč ěîäĺëč______"+
  414. "\n"+"SS - Ďŕäŕţůŕ˙ çâĺçäŕ"+
  415. "\n"+"HM - Ďîâĺřĺííűé"+
  416. "\n"+"ES - Âĺ÷ĺđí˙˙ çâĺçäŕ"+
  417. "\n"+"EDS - Âĺ÷ĺđí˙˙ çâĺçäŕ Doji"+
  418. "\n"+"DC - Ňĺěíŕ˙ çŕâĺńŕ"+
  419. "\n"+"TBC - Ňđč ÷ĺđíűĺ âîđîíű"+
  420. "\n"+"TIC - Ňđč îäčíŕęîâűĺ âîđîíű"+
  421. "\n"+"TC - Äâĺ âîđîíű"+
  422. "\n"+"GTC - Äâĺ âçëĺňĺâřčĺ âîđîíű"+
  423. "\n"+"Ab - Îňáčňŕ˙ ŕňŕęŕ"+
  424. "\n"+"NL - Ó/Íŕ ëčíčč řĺč"+
  425. "\n"+"TL - Ňîë÷îę"+
  426. "\n";
  427. Comm=Comm+"\n"+"___Áű÷üč ěîäĺëč______"+
  428. "\n"+"HR - Ěîëîň"+
  429. "\n"+"IH - Ďĺđĺâĺđíóňűé ěîëîň"+
  430. "\n"+"MS - Óňđĺíí˙˙ çâĺçäŕ"+
  431. "\n"+"MDS - Óňđĺíí˙˙ çâĺçäŕ Doji"+
  432. "\n"+"PL - Ďđîńâĺň â îáëŕęŕő"+
  433. "\n"+"TWS - Ňđč áĺëűő ńîëäŕňŕ"+
  434. "\n"+"HP - Ďî÷ňîâűé ăîëóáü"+
  435. "\n"+"StS - Ďđčëčďřčé ńýíäâč÷"+
  436. "\n"+"NDC - Íĺçŕâĺđřĺííŕ˙ ňĺěíŕ˙ çŕâĺńŕ"+
  437. //"\n"+"iNL - Ó/Íŕ ëčíčč řĺč"+
  438. "\n"+"CBS - Ďđ˙÷óůŕ˙ń˙ ëŕńňî÷ęŕ"+
  439. "\n"+"MH - Óäĺđćŕíčĺ íŕ ňŕňŕěč"+
  440. "\n";
  441. Comm=Comm+"\n"+"___Îáůčĺ ěîäĺëč______"+
  442. "\n"+"D - Doji"+
  443. "\n"+"gD - Doji íŕäăđîáčĺ"+
  444. "\n"+"dD - Doji ńňđĺęîçŕ"+
  445. //"\n"+"HW - Âűńîęŕ˙ âîëíŕ"+
  446. "\n"+"EG - Ďîăëîůĺíčĺ"+
  447. "\n"+"BH - Çŕőâŕň çŕ ďî˙ń"+
  448. "\n"+"HI - Harami"+
  449. "\n"+"HIC - Ęđĺńň Harami"+
  450. "\n"+"HHI - Âűńîęčé Harami"+
  451. "\n"+"LHI - Íčçęčé Harami"+
  452. "\n"+"TG - Tasuki"+
  453. "\n"+"To - Ňđč âíĺříčő âíčç/ââĺđő"+
  454. "\n"+"Ti - Ňđč âíóňđĺííčő âíčç/ââĺđő"+
  455. "\n"+"TLS - Ňđîéíîé óäŕđ"+
  456. "\n"+"_TM_ - Ňđč ěĺňîäŕ"+
  457. "\n"+"BW - Ďđîáîé"+
  458. "\n"+"SL - Đŕçäĺë˙ţůčĺń˙ ńâĺ÷č"+
  459. "\n"+"ML - Âńňđĺ÷ŕţůčĺń˙ ńâĺ÷č"+
  460. "\n"+"K - Âűńîęčé ďđűćîę"+
  461. "\n";
  462. Comm=Comm+"\n"+"___Öâĺňíűĺ áŕđű______"+
  463. "\n"+"Sienna - Äîćč"+
  464. "\n"+"Red - Äîćč íŕäăđîáčĺ, ńňđĺęîçŕ"+
  465. "\n"+"Red line - Ďčíöĺň"+
  466. //"\n"+"Olive - Âűńîęŕ˙ âîëíŕ"+
  467. "\n"+"dayofyear"+"="+DoubleToStr(dayofyear,0);
  468. if (Comments_rus==true) Comment(Comm);
  469.  
  470.  
  471. Comm= " Candlestick Patterns"+
  472. "\n"+"___Bearish Patterns______"+
  473. "\n"+"SS - Shooting Star"+
  474. "\n"+"HM - Hanging Man"+
  475. "\n"+"ES - Evening Star"+
  476. "\n"+"EDS - Evening Doji Star"+
  477. "\n"+"DC - Dark Cloud Cover"+
  478. "\n"+"TBC - Three Black Crows"+
  479. "\n"+"TIC - Three Identical Crows"+
  480. "\n"+"TC - Two Crows"+
  481. "\n"+"GTC - Upside Gap Two Crows "+
  482. "\n"+"Ab - Advanced Block"+
  483. "\n"+"NL - On/In Neck Thrusting"+
  484. "\n"+"TL - Thrusting"+
  485. "\n";
  486. Comm=Comm+"\n"+"___Bullish Patterns______"+
  487. "\n"+"HR - Hammer"+
  488. "\n"+"IH - Inverted Hammer"+
  489. "\n"+"MS - Morning Star"+
  490. "\n"+"MDS - Morning Doji Star"+
  491. "\n"+"PL - Piercing Line"+
  492. "\n"+"TWS - Three White Soldiers"+
  493. "\n"+"HP - Homing Pigeon"+
  494. "\n"+"StS - Stick Sandwich"+
  495. "\n"+"NDC - Not Completed Dark Cloud"+
  496. //"\n"+"iNL - On/In Neck Thrusting"+
  497. "\n"+"CBS - Concealing Baby Swallow"+
  498. "\n"+"MH - Mat Hold"+
  499. "\n";
  500. Comm=Comm+"\n"+"___Bearish/Bullish Patterns______"+
  501. "\n"+"D - Doji"+
  502. "\n"+"gD - Gravestone Doji"+
  503. "\n"+"dD - Dragonfly Doji"+
  504. //"\n"+"HW - High Wave"+
  505. "\n"+"EG - Engulfing Bearish/Bullish "+
  506. "\n"+"BH - Belt Hold Lines"+
  507. "\n"+"HI - Harami Bearish/Bullish "+
  508. "\n"+"HIC - Harami Cross "+
  509. "\n"+"HHI - High-Price Harami "+
  510. "\n"+"LHI - Low-Price Harami"+
  511. "\n"+"TG - Tasuki"+
  512. "\n"+"To - Three Outside Up/Down "+
  513. "\n"+"Ti - Three Inside Up/Down "+
  514. "\n"+"TLS - Three Line Strike"+
  515. "\n"+"_TM_ - Falling/Rising Three Methods"+
  516. "\n"+"BW - Breakaway"+
  517. "\n"+"SL - Separating Lines"+
  518. "\n"+"ML - Meeting Lines"+
  519. "\n"+"K - Kicking"+
  520. "\n";
  521. Comm=Comm+"\n"+"___Color bar______"+
  522. "\n"+"Sienna - Doji"+
  523. "\n"+"Red - Gravestone/Dragonfly Doji"+
  524. "\n"+"Red line - Tweezers"+
  525. //"\n"+"Olive - High Wave"+
  526. "\n"+"dayofyear"+"="+DoubleToStr(dayofyear,0);
  527.  
  528. if (Comments_eng==true) Comment(Comm);
  529.  
  530. double Range, AvgRange;
  531. int counter, setalert;
  532. static datetime prevtime = 0;
  533. int shift;int shift1;int shift2;int shift3;int shift4;int shift5;int shift6;int shift7;int shift8;int shift9;int shift10;int shift11;
  534. int shift12;int shift13;int shift14;int shift15;int shift16;int shift17;int shift18;int shift19;int shift20;int shift21;int shift22;
  535. int shift23;int shift24;int shift25;int shift26;int shift27;int shift28;int shift29;int shift30;int shift31;int shift32;int shift33;int shift34;
  536. string pattern, period;
  537. int setPattern = 0;
  538. int alert = 0;
  539. int arrowShift;
  540. int textShift;
  541. double O, O1, O2, O3, O4, O5, O6, C, C1, C2, C3, C4, C5, C6, L, L1, L2, L3, L4, L5, L6, L7, L8, L9, H, H1, H2, H3, H4, H5, H6, H7, H8, H9;
  542. double CL,CH, CLmin, CL1, CL2, CL3, CL4, CL5, CL6, CLg, BL, BLa1, BLa2, BLa3, BL90, BL902,BL903, BL904,BL905, BL906,BL907, BL1, BL2, BL3, UW,
  543. UWa, UW1, UW2, LW, LWa, LW1, LW2, BodyHigh1, BodyLow1, BodyHigh2, BodyLow2, BodyHigh3, BodyLow3, BodyHigh4, BodyLow4, BodyHigh5, BodyLow5,
  544. BodyHigh6, BodyLow6, BodyHigh7, BodyLow7, BodyHigh8, BodyLow8, BodyHigh9, BodyLow9, BodyHigh10, BodyLow10, BodyHigh11, BodyLow11,BodyHigh23,
  545. BodyLow23, BodyHigh45, BodyLow45, /*BodyHigh2345, BodyLow2345,*/ BodyHigh1234, BodyLow1234, BodyHigh234, BodyLow234, BodyHigh123, BodyLow123,
  546. BodyHigh12345, BodyLow12345,BodyHigh123456, BodyLow123456, BodyHighH12, BodyLowL12, BodyHighH12345, BodyLowL12345, BodyHighH123456, BodyLowL123456,
  547. BodyHighH34, BodyLowL34,BodyHighH1234, BodyLowL1234,BodyHighH123, BodyLowL123,point;
  548. double H10, H11, H12, H13, H14, H15, H16, H17, H18, H19, H20, H21, H22, H23, H24, H25, H26, H27, H28, H29, H30, H31, H32, H33;
  549. double L10, L11, L12, L13, L14, L15, L16, L17, L18, L19, L20, L21, L22, L23, L24, L25, L26, L27, L28, L29, L30, L31, L32, L33;
  550. BodyHigh1 = 0;
  551. BodyLow1 = 0;
  552. BodyHigh2 = 0;
  553. BodyLow2 = 0;
  554. BodyHigh3 = 0;
  555. BodyLow3 = 0;
  556. BodyHigh4 = 0;
  557. BodyLow4 = 0;
  558. BodyHigh5 = 0;
  559. BodyLow5 = 0;
  560. BodyHigh6 = 0;
  561. BodyLow6 = 0;
  562. BodyHigh7 = 0;
  563. BodyLow7 = 0;
  564. BL90 = 0;
  565. BL902 = 0;
  566. BL903 = 0;
  567. BL904 = 0;
  568. BL905 = 0;
  569. BL906 = 0;
  570. BL907 = 0;
  571.  
  572.  
  573. double Doji_Star_Ratio = 0;
  574. double Doji_MinLength = 0;
  575. double Star_MinLength = 0;
  576. int Pointer_Offset = 0;
  577. int High_Offset = 0;
  578. int CumOffset = 0;
  579. int IncOffset = 0;
  580.  
  581.  
  582.  
  583. if(prevtime == Time[0])
  584. {
  585. return(0);
  586. }
  587. prevtime = Time[0];
  588.  
  589. for (shift = 0; shift < CountBars; shift++)
  590. {
  591.  
  592. setalert = 0;
  593. counter=shift;
  594. Range=0;
  595. AvgRange=0;
  596. for (counter=shift ;counter<=shift+100;counter++)
  597. {
  598. AvgRange=AvgRange+MathAbs(High[counter]-Low[counter]);
  599. }
  600. Range=AvgRange/101;
  601.  
  602. shift1 = shift + 1;shift2 = shift + 2;shift3 = shift + 3;shift4 = shift + 4;shift5 = shift + 5;shift6 = shift + 6;shift7 = shift + 7;
  603. shift8 = shift + 8;shift9 = shift + 9;shift10 = shift + 10;shift11 = shift + 11;shift12 = shift + 12;shift13 = shift + 13;
  604. shift14 = shift + 14;shift15 = shift + 15;shift16 = shift + 16;shift17 = shift + 17;shift18 = shift + 18;shift19 = shift + 19;
  605. shift20 = shift + 20;shift21 = shift + 21;shift22 = shift + 22;shift23 = shift + 23;shift24 = shift + 24;shift25 = shift + 25;
  606. shift26 = shift + 26;shift27 = shift + 27;shift28 = shift + 28;shift29 = shift + 29;shift30 = shift + 30;shift31 = shift + 31;
  607. shift32 = shift + 32;shift33 = shift + 33;
  608.  
  609. O = Open[shift1];O1 = Open[shift2];O2 = Open[shift3];O3 = Open[shift4];O4 = Open[shift5];O5 = Open[shift6];O6 = Open[shift7];
  610.  
  611. C = Close[shift1];C1 = Close[shift2];C2 = Close[shift3];C3 = Close[shift4];C4 = Close[shift5];C5 = Close[shift6];C6 = Close[shift7];
  612.  
  613. H = High[shift1];H1 = High[shift2];H2 = High[shift3];H3 = High[shift4];H4 = High[shift5];H5 = High[shift6];H6 = High[shift7];
  614. H7 = High[shift8];H8 = High[shift9];H9 = High[shift10];H10 = High[shift11];H11 = High[shift12];H12 = High[shift13];
  615. H13 = High[shift14];H14 = High[shift15];H15 = High[shift16];H16 = High[shift17];H17 = High[shift18];H18 = High[shift19];
  616. H19 = High[shift20];H20 = High[shift21];H21 = High[shift22];H22 = High[shift23];H23 = High[shift24];H24 = High[shift25];
  617. H25 = High[shift26];H26 = High[shift27];H27 = High[shift28];H28 = High[shift29];H29 = High[shift30];H30 = High[shift31];
  618. H31 = High[shift32];H32 = High[shift33];H33 = High[shift34];
  619.  
  620. L = Low[shift1];L1 = Low[shift2];L2 = Low[shift3];L3 = Low[shift4];L4 = Low[shift5];L5 = Low[shift6];L6 = Low[shift7];
  621. L7 = Low[shift8];L8 = Low[shift9];L9 = Low[shift10];L10 = Low[shift11];L11 = Low[shift12];L12 = Low[shift13];
  622. L13 = Low[shift14];L14 = Low[shift15];L15 = Low[shift16];L16 = Low[shift17];L17 = Low[shift18];L18 = Low[shift19];
  623. L19 = Low[shift20];L20 = Low[shift21];L21 = Low[shift22];L22 = Low[shift23];L23 = Low[shift24];L24 = Low[shift25];
  624. L25 = Low[shift26];L26 = Low[shift27];L27 = Low[shift28];L28 = Low[shift29];L29 = Low[shift30];L30 = Low[shift31];
  625. L31 = Low[shift32];L32 = Low[shift33];L33 = Low[shift34];
  626.  
  627. BodyHigh1=MathMax(Open[shift1],Close[shift1]);
  628. BodyLow1 =MathMin(Open[shift1],Close[shift1]);
  629. BodyHigh2=MathMax(Open[shift2],Close[shift2]);
  630. BodyLow2 =MathMin(Open[shift2],Close[shift2]);
  631. BodyHigh3=MathMax(Open[shift3],Close[shift3]);
  632. BodyLow3 =MathMin(Open[shift3],Close[shift3]);
  633. BodyHigh4=MathMax(Open[shift4],Close[shift4]);
  634. BodyLow4 =MathMin(Open[shift4],Close[shift4]);
  635. BodyHigh5=MathMax(Open[shift5],Close[shift5]);
  636. BodyLow5 =MathMin(Open[shift5],Close[shift5]);
  637. BodyHigh6=MathMax(Open[shift6],Close[shift6]);
  638. BodyLow6 =MathMin(Open[shift6],Close[shift6]);
  639. BodyHigh7=MathMax(Open[shift7],Close[shift7]);
  640. BodyLow7 =MathMin(Open[shift7],Close[shift7]);
  641. BodyHigh8=MathMax(Open[shift8],Close[shift8]);
  642. BodyLow8 =MathMin(Open[shift8],Close[shift8]);
  643. BodyHigh9=MathMax(Open[shift9],Close[shift9]);
  644. BodyLow9 =MathMin(Open[shift9],Close[shift9]);
  645. BodyHigh10=MathMax(Open[shift10],Close[shift10]);
  646. BodyLow10 =MathMin(Open[shift10],Close[shift10]);
  647. BodyHigh11=MathMax(Open[shift11],Close[shift11]);
  648. BodyLow11 =MathMin(Open[shift11],Close[shift11]);
  649. // Ěčíčěóě Open č Close ń 1-4 áŕđű
  650. BodyHigh23=MathMax(BodyHigh2,BodyHigh3);
  651. BodyLow23 =MathMin(BodyLow2,BodyLow3);
  652. BodyHigh45=MathMax(BodyHigh4,BodyHigh5);
  653. BodyLow45 =MathMin(BodyLow4,BodyLow5);
  654. BodyHigh1234=MathMax(BodyHigh23,BodyHigh45);
  655. BodyLow1234 =MathMin(BodyLow23,BodyLow45);
  656. // Ěčíčěóě Low č High ń 1-4 áŕđű
  657. BodyHighH12=MathMax(H1,H2);
  658. BodyLowL12 =MathMin(L1,L2);
  659. BodyHighH34=MathMax(H3,H4);
  660. BodyLowL34 =MathMin(L3,L4);
  661. BodyHighH1234=MathMax(BodyHighH12,BodyHighH34);
  662. BodyLowL1234 =MathMin(BodyLowL12,BodyLowL34);
  663. // Ěčíčěóě Open č Close ń 1-3 áŕđű
  664. BodyHigh123=MathMax(BodyHigh23,BodyHigh4);
  665. BodyLow123 =MathMin(BodyLow23,BodyLow4);
  666. // Ěčíčěóě Low č High ń 1-3 áŕđű
  667. BodyHighH123=MathMax(BodyHighH12,H3);
  668. BodyLowL123 =MathMin(BodyLowL12,L3);
  669. // Ěčíčěóě Open č Close ń 1-5 áŕđű
  670. BodyHigh12345=MathMax(BodyHigh1234,BodyHigh6);
  671. BodyLow12345 =MathMin(BodyLow1234,BodyLow6);
  672. // Ěčíčěóě Low č High ń 1-5 áŕđű
  673. BodyHighH12345=MathMax(BodyHighH1234,H5);
  674. BodyLowL12345 =MathMin(BodyLowL1234,L5);
  675. // Ěčíčěóě Open č Close ń 1-6 áŕđű
  676. BodyHigh123456=MathMax(BodyHigh12345,BodyHigh7);
  677. BodyLow123456 =MathMin(BodyLow12345,BodyLow7);
  678. // Ěčíčěóě Low č High ń 1-6 áŕđű
  679. BodyHighH123456=MathMax(BodyHighH12345,H6);
  680. BodyLowL123456 =MathMin(BodyLowL12345,L6);
  681.  
  682. CL = High[shift1]-Low[shift1];
  683. CL1 = High[shift2]-Low[shift2];
  684. CL2 = High[shift3]-Low[shift3];
  685. CL3 = High[shift4]-Low[shift4];
  686. CL4 = High[shift5]-Low[shift5];
  687. CL5 = High[shift6]-Low[shift6];
  688. CL6 = High[shift7]-Low[shift7];
  689.  
  690. UW = High[shift1]-BodyHigh1;
  691. LW = BodyLow1-Low[shift1];
  692. UW1 = High[shift2]-BodyHigh2;
  693. LW1 = BodyLow2-Low[shift2];
  694. UW2 = High[shift3]-BodyHigh3;
  695. LW2 = BodyLow3-Low[shift3];
  696.  
  697. BL90 = BodyHigh1-BodyLow1;
  698. BL902 = BodyHigh2-BodyLow2;
  699. BL903 = BodyHigh3-BodyLow3;
  700. BL904 = BodyHigh4-BodyLow4;
  701. BL905 = BodyHigh5-BodyLow5;
  702. BL906 = BodyHigh6-BodyLow6;
  703. BL907 = BodyHigh7-BodyLow7;
  704.  
  705. point = MarketInfo(Symbol(),MODE_TICKSIZE);
  706.  
  707.  
  708. // if (DayOfYear()>0) {
  709. // flat=false;
  710. // }
  711.  
  712. if (flat==false) {
  713.  
  714. // Bearish Patterns
  715.  
  716.  
  717. // Check for Tweezers pattern
  718. if (Display_Tweezers_TZ == true) {
  719. if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>(H1-Range/tz) && H<(H1+Range/tz) &&
  720. H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 ) {
  721. shift33=shift2;
  722. H33=H1;
  723. TZh=true;
  724. }
  725. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>(H2-Range/tz) && H<(H2+Range/tz) &&
  726. H2>H3 && H2>H4 && H2>H5 && H2>H6 && H2>H7 && H2>H8 && H2>H9 ) {
  727. shift33=shift3;
  728. H33=H2;
  729. TZh=true;
  730. }
  731. else if ( C<O || C==O && H1>H && H1>(H2-Range/tz) && H1<(H2+Range/tz) &&
  732. H2>H3 && H2>H4 && H2>H5 && H2>H6 && H2>H7 && H2>H8 && H2>H9 ) {
  733. shift33=shift3;
  734. H33=H2;
  735. TZhh=true;
  736. }
  737. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>(H3-Range/tz) && H<(H3+Range/tz) &&
  738. H3>H4 && H3>H5 && H3>H6 && H3>H7 && H3>H8 && H3>H9 && H3>H10 ) {
  739. shift33=shift4;
  740. H33=H3;
  741. TZh=true;
  742. }
  743. else if ( C<O || C==O && H1>H && H1>H2 && H1>(H3-Range/tz) && H1<(H3+Range/tz) &&
  744. H3>H4 && H3>H5 && H3>H6 && H3>H7 && H3>H8 && H3>H9 && H3>H10 ) {
  745. shift33=shift4;
  746. H33=H3;
  747. TZhh=true;
  748. }
  749. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>(H4-Range/tz) && H<(H4+Range/tz) &&
  750. H4>H5 && H4>H6 && H4>H7 && H4>H8 && H4>H9 && H4>H10 && H4>H11 ) {
  751. shift33=shift5;
  752. H33=H4;
  753. TZh=true;
  754. }
  755. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>(H4-Range/tz) && H1<(H4+Range/tz) &&
  756. H4>H5 && H4>H6 && H4>H7 && H4>H8 && H4>H9 && H4>H10 && H4>H11 ) {
  757. shift33=shift5;
  758. H33=H4;
  759. TZhh=true;
  760. }
  761. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>(H5-Range/tz) && H<(H5+Range/tz) &&
  762. H5>H6 && H5>H7 && H5>H8 && H5>H9 && H5>H10 && H5>H11 && H5>H12 ) {
  763. shift33=shift6;
  764. H33=H5;
  765. TZh=true;
  766. }
  767. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>(H5-Range/tz) && H1<(H5+Range/tz) &&
  768. H5>H6 && H5>H7 && H5>H8 && H5>H9 && H5>H10 && H5>H11 && H5>H12 ) {
  769. shift33=shift6;
  770. H33=H5;
  771. TZhh=true;
  772. }
  773. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 &&
  774. H>(H6-Range/tz) && H<(H6+Range/tz) &&
  775. H6>H7 && H6>H8 && H6>H9 && H6>H10 && H6>H11 && H6>H12 && H6>H13 ) {
  776. shift33=shift7;
  777. H33=H6;
  778. TZh=true;
  779. }
  780. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 &&
  781. H1>(H6-Range/tz) && H1<(H6+Range/tz) &&
  782. H6>H7 && H6>H8 && H6>H9 && H6>H10 && H6>H11 && H6>H12 && H6>H13 ) {
  783. shift33=shift7;
  784. H33=H6;
  785. TZhh=true;
  786. }
  787. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 &&
  788. H>(H7-Range/tz) && H<(H7+Range/tz) &&
  789. H7>H8 && H7>H9 && H7>H10 && H7>H11 && H7>H12 && H7>H13 && H7>H14 ) {
  790. shift33=shift8;
  791. H33=H7;
  792. TZh=true;
  793. }
  794. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 &&
  795. H1>(H7-Range/tz) && H1<(H7+Range/tz) &&
  796. H7>H8 && H7>H9 && H7>H10 && H7>H11 && H7>H12 && H7>H13 && H7>H14 ) {
  797. shift33=shift8;
  798. H33=H7;
  799. TZhh=true;
  800. }
  801. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 &&
  802. H>(H8-Range/tz) && H<(H8+Range/tz) &&
  803. H8>H9 && H8>H10 && H8>H11 && H8>H12 && H8>H13 && H8>H14 && H8>H15 ) {
  804. shift33=shift9;
  805. H33=H8;
  806. TZh=true;
  807. }
  808. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 &&
  809. H1>(H8-Range/tz) && H1<(H8+Range/tz) &&
  810. H8>H9 && H8>H10 && H8>H11 && H8>H12 && H8>H13 && H8>H14 && H8>H15 ) {
  811. shift33=shift9;
  812. H33=H8;
  813. TZhh=true;
  814. }
  815. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 &&
  816. H>(H9-Range/tz) && H<(H9+Range/tz) &&
  817. H9>H10 && H9>H11 && H9>H12 && H9>H13 && H9>H14 && H9>H15 && H9>H16 ) {
  818. shift33=shift10;
  819. H33=H9;
  820. TZh=true;
  821. }
  822. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 &&
  823. H1>(H9-Range/tz) && H1<(H9+Range/tz) &&
  824. H9>H10 && H9>H11 && H9>H12 && H9>H13 && H9>H14 && H9>H15 && H9>H16 ) {
  825. shift33=shift10;
  826. H33=H9;
  827. TZhh=true;
  828. }
  829. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 &&
  830. H>(H10-Range/tz) && H<(H10+Range/tz) &&
  831. H10>H11 && H10>H12 && H10>H13 && H10>H14 && H10>H15 && H10>H16 && H10>H17 ) {
  832. shift33=shift11;
  833. H33=H10;
  834. TZh=true;
  835. }
  836. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 &&
  837. H1>(H10-Range/tz) && H1<(H10+Range/tz) &&
  838. H10>H11 && H10>H12 && H10>H13 && H10>H14 && H10>H15 && H10>H16 && H10>H17 ) {
  839. shift33=shift11;
  840. H33=H10;
  841. TZhh=true;
  842. }
  843. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 &&
  844. H>(H11-Range/tz) && H<(H11+Range/tz) &&
  845. H11>H12 && H11>H13 && H11>H14 && H11>H15 && H11>H16 && H11>H17 && H11>H18 ) {
  846. shift33=shift12;
  847. H33=H11;
  848. TZh=true;
  849. }
  850. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 &&
  851. H1>(H11-Range/tz) && H1<(H11+Range/tz) &&
  852. H11>H12 && H11>H13 && H11>H14 && H11>H15 && H11>H16 && H11>H17 && H11>H18 ) {
  853. shift33=shift12;
  854. H33=H11;
  855. TZhh=true;
  856. }
  857. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 &&
  858. H>(H12-Range/tz) && H<(H12+Range/tz) &&
  859. H12>H13 && H12>H14 && H12>H15 && H12>H16 && H12>H17 && H12>H18 && H12>H19 ) {
  860. shift33=shift13;
  861. H33=H12;
  862. TZh=true;
  863. }
  864. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 &&
  865. H1>(H12-Range/tz) && H1<(H12+Range/tz) &&
  866. H12>H13 && H12>H14 && H12>H15 && H12>H16 && H12>H17 && H12>H18 && H12>H19 ) {
  867. shift33=shift13;
  868. H33=H12;
  869. TZhh=true;
  870. }
  871. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 &&
  872. H>(H13-Range/tz) && H<(H13+Range/tz) &&
  873. H13>H14 && H13>H15 && H13>H16 && H13>H17 && H13>H18 && H13>H19 && H13>H20 ) {
  874. shift33=shift14;
  875. H33=H13;
  876. TZh=true;
  877. }
  878. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 &&
  879. H1>(H13-Range/tz) && H1<(H13+Range/tz) &&
  880. H13>H14 && H13>H15 && H13>H16 && H13>H17 && H13>H18 && H13>H19 && H13>H20 ) {
  881. shift33=shift14;
  882. H33=H13;
  883. TZhh=true;
  884. }
  885. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 &&
  886. H>(H14-Range/tz) && H<(H14+Range/tz) &&
  887. H14>H15 && H14>H16 && H14>H17 && H14>H18 && H14>H19 && H14>H20 && H14>H21 ) {
  888. shift33=shift15;
  889. H33=H14;
  890. TZh=true;
  891. }
  892. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 &&
  893. H1>(H14-Range/tz) && H1<(H14+Range/tz) &&
  894. H14>H15 && H14>H16 && H14>H17 && H14>H18 && H14>H19 && H14>H20 && H14>H21 ) {
  895. shift33=shift15;
  896. H33=H14;
  897. TZhh=true;
  898. }
  899. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  900. H>(H15-Range/tz) && H<(H15+Range/tz) &&
  901. H15>H16 && H15>H17 && H15>H18 && H15>H19 && H15>H20 && H15>H21 && H15>H22 ) {
  902. shift33=shift16;
  903. H33=H15;
  904. TZh=true;
  905. }
  906. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  907. H1>(H15-Range/tz) && H1<(H15+Range/tz) &&
  908. H15>H16 && H15>H17 && H15>H18 && H15>H19 && H15>H20 && H15>H21 && H15>H22 ) {
  909. shift33=shift16;
  910. H33=H15;
  911. TZhh=true;
  912. }
  913. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  914. H>H15 && H>(H16-Range/tz) && H<(H16+Range/tz) &&
  915. H16>H17 && H16>H18 && H16>H19 && H16>H20 && H16>H21 && H16>H22 && H16>H23 ) {
  916. shift33=shift17;
  917. H33=H16;
  918. TZh=true;
  919. }
  920. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  921. H1>H15 && H1>(H16-Range/tz) && H1<(H16+Range/tz) &&
  922. H16>H17 && H16>H18 && H16>H19 && H16>H20 && H16>H21 && H16>H22 && H16>H23 ) {
  923. shift33=shift17;
  924. H33=H16;
  925. TZhh=true;
  926. }
  927. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  928. H>H15 && H>H16 && H>(H17-Range/tz) && H<(H17+Range/tz) &&
  929. H17>H18 && H17>H19 && H17>H20 && H17>H21 && H17>H22 && H17>H23 && H17>H24 ) {
  930. shift33=shift18;
  931. H33=H17;
  932. TZh=true;
  933. }
  934. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  935. H1>H15 && H1>H16 && H1>(H17-Range/tz) && H1<(H17+Range/tz) &&
  936. H17>H18 && H17>H19 && H17>H20 && H17>H21 && H17>H22 && H17>H23 && H17>H24 ) {
  937. shift33=shift18;
  938. H33=H17;
  939. TZhh=true;
  940. }
  941. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  942. H>H15 && H>H16 && H>H17 && H>(H18-Range/tz) && H<(H18+Range/tz) &&
  943. H18>H19 && H18>H20 && H18>H21 && H18>H22 && H18>H23 && H18>H24 && H18>H25 ) {
  944. shift33=shift19;
  945. H33=H18;
  946. TZh=true;
  947. }
  948. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  949. H1>H15 && H1>H16 && H1>H17 && H1>(H18-Range/tz) && H1<(H18+Range/tz) &&
  950. H18>H19 && H18>H20 && H18>H21 && H18>H22 && H18>H23 && H18>H24 && H18>H25 ) {
  951. shift33=shift19;
  952. H33=H18;
  953. TZhh=true;
  954. }
  955. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  956. H>H15 && H>H16 && H>H17 && H>H18 && H>(H19-Range/tz) && H<(H19+Range/tz) &&
  957. H19>H20 && H19>H21 && H19>H22 && H19>H23 && H19>H24 && H19>H25 && H19>H26 ) {
  958. shift33=shift20;
  959. H33=H19;
  960. TZh=true;
  961. }
  962. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  963. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>(H19-Range/tz) && H1<(H19+Range/tz) &&
  964. H19>H20 && H19>H21 && H19>H22 && H19>H23 && H19>H24 && H19>H25 && H19>H26 ) {
  965. shift33=shift20;
  966. H33=H19;
  967. TZhh=true;
  968. }
  969. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  970. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>(H20-Range/tz) && H<(H20+Range/tz) &&
  971. H20>H21 && H20>H22 && H20>H23 && H20>H24 && H20>H25 && H20>H26 && H20>H27 ) {
  972. shift33=shift21;
  973. H33=H20;
  974. TZh=true;
  975. }
  976. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  977. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>(H20-Range/tz) && H1<(H20+Range/tz) &&
  978. H20>H21 && H20>H22 && H20>H23 && H20>H24 && H20>H25 && H20>H26 && H20>H27 ) {
  979. shift33=shift21;
  980. H33=H20;
  981. TZhh=true;
  982. }
  983. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  984. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>H20 && H>(H21-Range/tz) && H<(H21+Range/tz) &&
  985. H21>H22 && H21>H23 && H21>H24 && H21>H25 && H21>H26 && H21>H27 && H21>H28) {
  986. shift33=shift22;
  987. H33=H21;
  988. TZh=true;
  989. }
  990. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  991. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>H20 && H1>(H21-Range/tz) && H1<(H21+Range/tz) &&
  992. H21>H22 && H21>H23 && H21>H24 && H21>H25 && H21>H26 && H21>H27 && H21>H28) {
  993. shift33=shift22;
  994. H33=H21;
  995. TZhh=true;
  996. }
  997. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  998. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>H20 && H>H21 && H>(H22-Range/tz) && H<(H22+Range/tz) &&
  999. H22>H23 && H22>H24 && H22>H25 && H22>H26 && H22>H27 && H22>H28 && H22>H29) {
  1000. shift33=shift23;
  1001. H33=H22;
  1002. TZh=true;
  1003. }
  1004. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  1005. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>H20 && H1>H21 && H1>(H22-Range/tz) && H1<(H22+Range/tz) &&
  1006. H22>H23 && H22>H24 && H22>H25 && H22>H26 && H22>H27 && H22>H28 && H22>H29) {
  1007. shift33=shift23;
  1008. H33=H22;
  1009. TZhh=true;
  1010. }
  1011. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  1012. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>H20 && H>H21 && H>H22 && H>(H23-Range/tz) && H<(H23+Range/tz) &&
  1013. H23>H24 && H23>H25 && H23>H26 && H23>H27 && H23>H28 && H23>H29 && H23>H30) {
  1014. shift33=shift24;
  1015. H33=H23;
  1016. TZh=true;
  1017. }
  1018. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  1019. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>H20 && H1>H21 && H1>H22 && H1>(H23-Range/tz) && H1<(H23+Range/tz) &&
  1020. H23>H24 && H23>H25 && H23>H26 && H23>H27 && H23>H28 && H23>H29 && H23>H30) {
  1021. shift33=shift24;
  1022. H33=H23;
  1023. TZhh=true;
  1024. }
  1025. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  1026. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>H20 && H>H21 && H>H22 && H>H23 && H>(H24-Range/tz) && H<(H24+Range/tz) &&
  1027. H24>H25 && H24>H26 && H24>H27 && H24>H28 && H24>H29 && H24>H30 && H24>H31) {
  1028. shift33=shift25;
  1029. H33=H24;
  1030. TZh=true;
  1031. }
  1032. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  1033. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>H20 && H1>H21 && H1>H22 && H1>H23 && H1>(H24-Range/tz) && H1<(H24+Range/tz) &&
  1034. H24>H25 && H24>H26 && H24>H27 && H24>H28 && H24>H29 && H24>H30 && H24>H31) {
  1035. shift33=shift25;
  1036. H33=H24;
  1037. TZhh=true;
  1038. }
  1039. else if ( C<O || C==O || BL90==1*point || BL90<=CL/Doji && H>H1 && H>H2 && H>H3 && H>H4 && H>H5 && H>H6 && H>H7 && H>H8 && H>H9 && H>H10 && H>H11 && H>H12 && H>H13 && H>H14 &&
  1040. H>H15 && H>H16 && H>H17 && H>H18 && H>H19 && H>H20 && H>H21 && H>H22 && H>H23 && H>H24 && H>(H25-Range/tz) && H<(H25+Range/tz) &&
  1041. H25>H26 && H25>H27 && H25>H28 && H25>H29 && H25>H30 && H25>H31 && H25>H32) {
  1042. shift33=shift26;
  1043. H33=H25;
  1044. TZh=true;
  1045. }
  1046. else if ( C<O || C==O && H1>H && H1>H2 && H1>H3 && H1>H4 && H1>H5 && H1>H6 && H1>H7 && H1>H8 && H1>H9 && H1>H10 && H1>H11 && H1>H12 && H1>H13 && H1>H14 &&
  1047. H1>H15 && H1>H16 && H1>H17 && H1>H18 && H1>H19 && H1>H20 && H1>H21 && H1>H22 && H1>H23 && H1>H24 && H1>(H25-Range/tz) && H1<(H25+Range/tz) &&
  1048. H25>H26 && H25>H27 && H25>H28 && H25>H29 && H25>H30 && H25>H31 && H25>H32) {
  1049. shift33=shift26;
  1050. H33=H25;
  1051. TZhh=true;
  1052. }
  1053.  
  1054. if (TZh==true)
  1055. {
  1056. ObjectCreate("TZh"+shift,OBJ_TREND,0,Time[shift33],H33,Time[shift1],H33);
  1057. ObjectSet("TZh"+shift, OBJPROP_WIDTH, 0);
  1058. ObjectSet("TZh"+shift, OBJPROP_RAY, false);
  1059. ObjectSet("TZh"+shift, OBJPROP_BACK, true);
  1060. }
  1061. if (TZhh==true)
  1062. {
  1063. ObjectCreate("TZhh"+shift1,OBJ_TREND,0,Time[shift33],H33,Time[shift2],H33);
  1064. ObjectSet("TZhh"+shift1, OBJPROP_WIDTH, 0);
  1065. ObjectSet("TZhh"+shift1, OBJPROP_RAY, false);
  1066. ObjectSet("TZhh"+shift1, OBJPROP_BACK, true);
  1067. }
  1068. if (Show_TZ_Alert && setalert == 0 && Show_Alert == true && TZh==true||TZhh==true)
  1069. {
  1070. pattern="Tweezers";
  1071. setalert = 1;
  1072. }
  1073.  
  1074. else TZh=false; TZhh=false;
  1075. }
  1076.  
  1077. // Check for meeting lines pattern
  1078. if (Display_meeting_lines_ML == true) {
  1079. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ) {
  1080. if ( C1>O1 && C<O && O>=(C1+CL1/2) && C>=(C1-CL1/20)&& C<=(C1+CL1/20) && BL90>=CL/3 && BL902>=CL1/3) {
  1081.  
  1082. ObjectCreate(GetName("ML",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.8*Range*gap);
  1083. ObjectSetText(GetName("ML",shift1), "ML",Text, "Times New Roman", Colorh_ML);
  1084. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1085. }
  1086. if (Show_ML_Alert && setalert == 0 && Show_Alert == true)
  1087. {
  1088. pattern="Meeting Lines";
  1089. setalert = 1;
  1090. }
  1091. }
  1092. }
  1093.  
  1094. // Check for separating line pattern
  1095. if (Display_separating_line_SL == true){
  1096. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7)) ) {
  1097. if ( C1>O1 && C<O && O>=(O1-1*point) && O<=(O1+CL1/10) && BL90>=CL/2 && BL902>=CL1/2) {
  1098.  
  1099. ObjectCreate(GetName("SL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.8*Range*gap);
  1100. ObjectSetText(GetName("SL",shift1), "SL",Text, "Times New Roman", Colorh_SL);
  1101. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1102. }
  1103. if (Show_SL_Alert && setalert == 0 && Show_Alert == true)
  1104. {
  1105. pattern="Separating Lines";
  1106. setalert = 1;
  1107. }
  1108. }
  1109. }
  1110.  
  1111. // Check for Kicking pattern
  1112. if (Display_Kicking_K == true){
  1113. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7)) ) {
  1114. if ( C1>O1 && C<O && O<(O1-1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  1115.  
  1116. ObjectCreate(GetName("K",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.8*Range*gap);
  1117. ObjectSetText(GetName("K",shift1), "K",Text, "Times New Roman", Colorh_K);
  1118. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1119. }
  1120. if (Show_K_Alert && setalert == 0 && Show_Alert == true)
  1121. {
  1122. pattern="Kicking";
  1123. setalert = 1;
  1124. }
  1125. }
  1126. }
  1127.  
  1128. // Check for Breakaway pattern
  1129. if (Display_Breakaway_BW == true){
  1130. if ( ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ||
  1131. ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9)) ||
  1132. ((H3>=H4)&&(H3>=H5)&&(H3>=H6)&&(H3>=H7)&&(H3>=H8)&&(H3>=H9)) ) {
  1133. if ( C<O && C1>O1 && C3>O3 && C4>O4 && O3>(C4+bw*point) && BodyHigh3>C3 && C1>BodyHigh3 && C<O3 && BodyLow3>O3 && O1>=O3 &&
  1134. BL902<BL905 && BL903<BL905 && BL904<BL905) {
  1135.  
  1136. ObjectCreate(GetName("BW",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1137. ObjectSetText(GetName("BW",shift1), "BW",Text, "Times New Roman", Colorh_BW);
  1138. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1139. }
  1140. if (Show_BW_Alert && setalert == 0 && Show_Alert == true)
  1141. {
  1142. pattern="Breakaway";
  1143. setalert = 1;
  1144. }
  1145. }
  1146. }
  1147.  
  1148. // Check for upside gap two crows pattern
  1149.  
  1150. if (Display_two_crows_GTC == true){
  1151. if ( C<O && C1<O1 && C2>O2 && C1>(C2+gtc*point) && O>O1 && C<C1 && C>(C2+gtc*point) ){
  1152. ObjectCreate(GetName("GTC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1153. ObjectSetText(GetName("GTC",shift1), "GTC",Text, "Times New Roman", Color_GTC);
  1154. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1155. }
  1156. if (Show_GTC_Alert && setalert == 0 && Show_Alert == true)
  1157. {
  1158. pattern="Upside Gap Two Crows";
  1159. setalert = 1;
  1160. }
  1161. }
  1162.  
  1163. // Check for upside two crows pattern
  1164.  
  1165. if (Display_two_crows_TC == true){
  1166. if ( C<O && C1<O1 && C2>O2 && C1>(C2+gtc*point) && O<O1 && O>C1 && C<C2 && C>O2 && L1>=(C2-BL903*0.618) )
  1167. {
  1168. ObjectCreate(GetName("TC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1169. ObjectSetText(GetName("TC",shift1), "TC",Text, "Times New Roman", Color_TC);
  1170. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1171. }
  1172. if (Show_TC_Alert && setalert == 0 && Show_Alert == true)
  1173. {
  1174. pattern="Upside Two Crows";
  1175. setalert = 1;
  1176. }
  1177. }
  1178. // Check for Tasuki pattern
  1179.  
  1180. if (Display_Tasuki_TG == true){
  1181. if ( O2>C2 && O1>C1 && O<C && O1<(C2-tasuki*point) && C<(C2-tasuki*point) && C>=O1 && O<O1 && O>C1 &&
  1182. BL903>=BL902/2 && H1<L2 && H<(C2+BL903/10) )
  1183. {
  1184. ObjectCreate(GetName("TG",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1185. ObjectSetText(GetName("TG",shift1), "TG",Text, "Times New Roman", Colorh_TG);
  1186. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1187. }
  1188. if (Show_TG_Alert && setalert == 0 && Show_Alert == true)
  1189. {
  1190. pattern="Tasuki";
  1191. setalert = 1;
  1192. }
  1193. }
  1194.  
  1195. // Check for on neck pattern
  1196.  
  1197. if (Display_on_in_neck_thrusting_NL == true){
  1198. if ( ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8))||
  1199. ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9))||
  1200. ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9))||
  1201. ((L4<=L5)&&(L4<=L6)&&(L4<=L7)&&(L4<=L8)&&(L4<=L9)) ) {
  1202. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=L2 && H1<H2 && C<C1 && BL902>(BL90==0 || BL90<=CL/Doji) )
  1203. {
  1204. ObjectCreate(GetName("NL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1205. ObjectSetText(GetName("NL",shift1), "NL",Text, "Times New Roman", Color_NL);
  1206. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1207. }
  1208. if (Show_NL_Alert && setalert == 0 && Show_Alert == true)
  1209. {
  1210. pattern="On Neck";
  1211. setalert = 1;
  1212. }
  1213. }
  1214. }
  1215. // Check for in neck pattern
  1216.  
  1217. if (Display_on_in_neck_thrusting_NL == true){
  1218. if ( ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8))||
  1219. ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9))||
  1220. ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9))||
  1221. ((L4<=L5)&&(L4<=L6)&&(L4<=L7)&&(L4<=L8)&&(L4<=L9)) ) {
  1222. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=C2 && C1>=L2 && C<C1 && BL902>(BL90==0 || BL90<=CL/Doji) )
  1223. {
  1224. ObjectCreate(GetName("NL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1225. ObjectSetText(GetName("NL",shift1), "NL",Text, "Times New Roman", Color_NL);
  1226. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1227. }
  1228. if (Show_NL_Alert && setalert == 0 && Show_Alert == true)
  1229. {
  1230. pattern="In Neck";
  1231. setalert = 1;
  1232. }
  1233. }
  1234. }
  1235. // Check for thrusting patternO>=(C1+pl_dcc*point)
  1236.  
  1237. if (Display_thrusting_TL == true){
  1238. if ( ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8))||
  1239. ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9))||
  1240. ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9))||
  1241. ((L4<=L5)&&(L4<=L6)&&(L4<=L7)&&(L4<=L8)&&(L4<=L9)) ) {
  1242. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=(C2+BL903/2) && C1>C2 && C<C1 )
  1243. {
  1244. ObjectCreate(GetName("TL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1245. ObjectSetText(GetName("TL",shift1), "TL",Text, "Times New Roman", Color_TL);
  1246. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1247. }
  1248. if (Show_TL_Alert && setalert == 0 && Show_Alert == true)
  1249. {
  1250. pattern="Thrusting";
  1251. setalert = 1;
  1252. }
  1253. }
  1254. }
  1255.  
  1256. // Check for Three Outside Down pattern
  1257.  
  1258. if (Display_Three_Outside_To == true){
  1259. if ( (H2>=BodyHigh4 && H2>=BodyHigh5 && H2>=BodyHigh6 && H2>=BodyHigh7 && H2>=BodyHigh8 &&
  1260. H2>=BodyHigh9 && H2>=BodyHigh10 && H2>=BodyHigh11 && L2>=L3||H2>=H3) ||
  1261. (H1>=BodyHigh3 && H1>=BodyHigh4 && H1>=BodyHigh5 && H1>=BodyHigh6 && H1>=BodyHigh7 && H1>=BodyHigh8 && H1>=BodyHigh9 &&
  1262. H1>=BodyHigh10 && H1>=BodyHigh11 && L1>=L2||H1>=H2 )) {
  1263. if ( (C2>O2)&&(O1>C1)&&(O1>=C2)&&(C1<=O2)&&((O1-C1)>(C2-O2))&&(O>C)&&(C<C1) )
  1264. {
  1265. ObjectCreate(GetName("To",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1266. ObjectSetText(GetName("To",shift1), "To",Text, "Times New Roman", Colorh_To);
  1267. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1268. }
  1269. if (Show_To_Alert && setalert == 0 && Show_Alert == true)
  1270. {
  1271. pattern="Three Outside Down";
  1272. setalert = 1;
  1273. }
  1274. }
  1275. }
  1276.  
  1277. // Check for Three Inside Down pattern
  1278. if (Display_Three_Inside_Ti == true){
  1279. if ( (H2>=BodyHigh4 && H2>=BodyHigh5 && H2>=BodyHigh6 && H2>=BodyHigh7 && H2>=BodyHigh8 &&
  1280. H2>=BodyHigh9 && H2>=BodyHigh10 && H2>=BodyHigh11 && L2>=L3||H2>=H3) ||
  1281. (H1>=BodyHigh3 && H1>=BodyHigh4 && H1>=BodyHigh5 && H1>=BodyHigh6 && H1>=BodyHigh7 && H1>=BodyHigh8 && H1>=BodyHigh9 &&
  1282. H1>=BodyHigh10 && H1>=BodyHigh11 && L1>=L2||H1>=H2 )) {
  1283. if ( (C2>O2)&&(O1>C1)&&(O1<=(C2-tiud*point))&&((O2+tiud*point)<=C1)&&((O1-C1)<(C2-O2))&&(O>C)&&(O<O1)&&(C<O2) )
  1284. {
  1285. ObjectCreate(GetName("Ti",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1286. ObjectSetText(GetName("Ti",shift1), "Ti",Text, "Times New Roman", Colorh_Ti);
  1287. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1288. }
  1289. if (Show_Ti_Alert && setalert == 0 && Show_Alert == true)
  1290. {
  1291. pattern="Three Inside Down";
  1292. setalert = 1;
  1293. }
  1294. }
  1295. }
  1296. // Check for Three Black Crows pattern
  1297. if (TBC==true && Display_Three_Black_Crows_TBC == true){
  1298. if ( TBC==true && ((H4>=H5)&&(H4>=H6)&&(H4>=H7)&&(H4>=H8)&&(H4>=H9))||((H5>=H6)&&(H5>=H7)&&(H5>=H8)&&(H5>=H9)) &&
  1299. C2<O2 && C1<O1 && C1<=C2 && C<O && C<C1 ) {
  1300.  
  1301. ObjectCreate(GetName("TBC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1302. ObjectSetText(GetName("TBC",shift1), "TBC",Text, "Times New Roman", Color_TBC);
  1303. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1304. }
  1305. if (TBC==true && Show_TBC_Alert && setalert == 0 && Show_Alert == true)
  1306. {
  1307. pattern="Three Black Crows";
  1308. setalert = 1;
  1309. }
  1310. TBC=false;
  1311. }
  1312.  
  1313. if (TBC==true && Display_Three_Black_Crows_TBC == true){
  1314. if ( TBC==true && (H3>=H4)&&(H3>=H5)&&(H3>=H6)&&(H3>=H7)&&(H3>=H8) &&
  1315. C2<O2 && C1<O1 && C1<=C2 && C<O && C<C1 ) {
  1316.  
  1317. ObjectCreate(GetName("TBC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1318. ObjectSetText(GetName("TBC",shift1), "TBC", Text, "Times New Roman", Color_TBC);
  1319. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1320. }
  1321. if (TBC==true && Show_TBC_Alert && setalert == 0 && Show_Alert == true)
  1322. {
  1323. pattern="Three Black Crows";
  1324. setalert = 1;
  1325. }
  1326. TBC=false;
  1327. }
  1328.  
  1329. if (TBC==true && Display_Three_Black_Crows_TBC == true){
  1330. if ( TBC==true && (H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7) &&
  1331. C2<O2 && C1<O1 && C1<=C2 && C<O && C<C1 ) {
  1332.  
  1333. ObjectCreate(GetName("TBC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1334. ObjectSetText(GetName("TBC",shift1), "TBC", Text, "Times New Roman", Color_TBC);
  1335. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1336. }
  1337. if (TBC==true && Show_TBC_Alert && setalert == 0 && Show_Alert == true)
  1338. {
  1339. pattern="Three Black Crows";
  1340. setalert = 1;
  1341. }
  1342. TBC=false;
  1343. }
  1344. else TBC=true;
  1345.  
  1346. // Check for three identical crows pattern
  1347. if (Display_3_identical_crows_TIC == true){
  1348. if ( ((H4>=H5)&&(H4>=H6)&&(H4>=H7)&&(H4>=H8)&&(H4>=H9)) || ((H3>=H4)&&(H3>=H5)&&(H3>=H6)&&(H3>=H7)&&(H3>=H8)) ||
  1349. ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7))||((H5>=H6)&&(H5>=H7)&&(H5>=H8)&&(H5>=H9)) &&
  1350. C2<O2 && C1<O1 && C1<=C2 && C<O && C<C1 &&
  1351. BL903>=CL2/5 && BL902>=(BL903*(100-tic)/100)&& BL902<=(BL903*(100+tic)/100) &&
  1352. BL90>=(BL903*(100-tic)/100)&& BL90<=(BL903*(100+tic)/100) ) {
  1353.  
  1354. ObjectCreate(GetName("TIC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1355. ObjectSetText(GetName("TIC",shift1), "TIC",Text, "Times New Roman", Color_TIC);
  1356. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1357. }
  1358. if (Show_TIC_Alert && setalert == 0 && Show_Alert == true)
  1359. {
  1360. pattern="Three Identical Crows";
  1361. setalert = 1;
  1362. }
  1363. }
  1364.  
  1365.  
  1366. // Check for advance block pattern
  1367. if (Display_advance_block_Ab == true){
  1368. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) || ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  1369. if ( (C2>O2)&&(C1>O1)&&(C1>C2)&&(C>O)&&(C>C1) && UW1>LW1 && UW>LW && BL902<BL903 && BL90<BL902)
  1370. {
  1371.  
  1372. ObjectCreate(GetName("Ab",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.1*Range*gap);
  1373. ObjectSetText(GetName("Ab",shift1), "Ab",Text, "Times New Roman", Color_Ab);
  1374. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1375. }
  1376. if (Show_Ab_Alert && setalert == 0 && Show_Alert == true)
  1377. {
  1378. pattern="Advanced Block";
  1379. setalert = 1;
  1380. }
  1381. }
  1382. }
  1383.  
  1384.  
  1385. // Check for Three-line strike pattern
  1386. if (Display_Three_line_strike_TLS == true){
  1387. if ( ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9))||((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9)) ) {
  1388. if ( C<O && C4<O4 && C3<O3 && O3<O4 && C3<C4 && C2<O2 && O2<O3 && C2<C3 && C1>O1 && C1>O4 && O1<(C2-TLS*point) ) {
  1389.  
  1390. ObjectCreate(GetName("TLS",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.5*Range*gap);
  1391. ObjectSetText(GetName("TLS",shift1), "TLS",Text, "Times New Roman", Colorh_TLS);
  1392. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1393. }
  1394. if (Show_TLS_Alert && setalert == 0 && Show_Alert == true)
  1395. {
  1396. pattern="Three Line Strike";
  1397. setalert = 1;
  1398. }
  1399. }
  1400. }
  1401.  
  1402. if (TMhl) {
  1403. // Check for Falling Three methods pattern
  1404. if (Display_F_R_three_methods_TM == true){
  1405. if ( C1>=O1 || BL902<=CL1/Doji && C2>O2 || BL903<=CL2/Doji && C3<O3 && C<O && C<BodyLowL123 &&
  1406. L1>=(L3-TM*CL3/10) && L2>=(L3-TM*CL3/10) && H1<=(H3+TM*CL3/10) && H2<=(H3+TM*CL3/10) ) {
  1407. if ( BodyLow2>=L3 && BodyHigh2<=H3 && BodyLow3>=L3 && BodyHigh3<=H3 && BL902<BL904 && BL903<BL904 ) {
  1408.  
  1409. ObjectCreate(GetName("TM2",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1410. ObjectSetText(GetName("TM2",shift1), "_TM2_",7, "Times New Roman", Colorh__TM_);
  1411. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1412. }
  1413. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1414. {
  1415. pattern="Falling Three Methods";
  1416. setalert = 1;
  1417. }
  1418. }
  1419. }
  1420. // Check for Falling Three methods pattern
  1421. if (Display_F_R_three_methods_TM == true){
  1422. if ( C3>C4 && C1>=O1 || BL902<=CL1/Doji && C3>O3 || BL904<=CL3/Doji && C4<O4 && O>C && O>=C4 && C<BodyLowL1234 &&
  1423. L1>=(L4-TM*CL4/10) && L2>=(L4-TM*CL4/10) && L3>=(L4-TM*CL4/10) && H1<=(H4+TM*CL4/10) && H2<=(H4+TM*CL4/10) && H3<=(H4+TM*CL4/10) ) {
  1424. if ( BodyLow2>=L4 && BodyHigh2<=H4 && BodyLow3>=L4 && BodyHigh3<=H4 && BodyLow4>=L4 && BodyHigh4<=H4 && BL902<BL905 && BL903<BL905 && BL904<BL905 ) {
  1425.  
  1426. ObjectCreate(GetName("TM3",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1427. ObjectSetText(GetName("TM3",shift1), "_TM3_",7, "Times New Roman", Colorh__TM_);
  1428. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1429. }
  1430. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1431. {
  1432. pattern="Falling Three Methods";
  1433. setalert = 1;
  1434. }
  1435. }
  1436. }
  1437. // Check for Falling Three methods pattern
  1438. if (Display_F_R_three_methods_TM == true){
  1439. if ( C5<O5 && C4>O4 || BL905<=CL4/Doji && C1>=O1 || BL902<=CL1/Doji && C<O && O>=C5 && C<BodyLowL12345 &&
  1440. L1>=(L5-TM*CL5/10) && L2>=(L5-TM*CL5/10) && L3>=(L5-TM*CL5/10) && L4>=(L5-TM*CL5/10) &&
  1441. H1<=(H5+TM*CL5/10) && H2<=(H5+TM*CL5/10) && H3<=(H5+TM*CL5/10) && H4<=(H5+TM*CL5/10) ) {
  1442. if ( BodyLow2>=L5 && BodyHigh2<=H5 && BodyLow3>=L5 && BodyHigh3<=H5 && BodyLow4>=L5 && BodyHigh4<=H5 && BodyLow5>=L5 && BodyHigh5<=H5 &&
  1443. BL902<BL906 && BL903<BL906 && BL904<BL906 && BL905<BL906 ) {
  1444.  
  1445. ObjectCreate(GetName("TM4",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1446. ObjectSetText(GetName("TM4",shift1), "_TM4_",7, "Times New Roman", Colorh__TM_);
  1447. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1448. }
  1449. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1450. {
  1451. pattern="Falling Three Methods";
  1452. setalert = 1;
  1453. }
  1454. }
  1455. }
  1456. // Check for Falling Three methods pattern
  1457. if (Display_F_R_three_methods_TM == true){
  1458. if ( C6<O6 && C5>O5 || BL906<=CL5/Doji && C1>=O1 || BL902<=CL1/Doji && C<O && O>=C6 && C<BodyLowL123456 &&
  1459. L1>=(L6-TM*CL6/10) && L2>=(L6-TM*CL6/10) && L3>=(L6-TM*CL6/10) && L4>=(L6-TM*CL6/10) && L5>=(L6-TM*CL6/10) &&
  1460. H1<=(H6+TM*CL6/10) && H2<=(H6+TM*CL6/10) && H3<=(H6+TM*CL6/10) && H4<=(H6+TM*CL6/10) && H5<=(H6+TM*CL6/10) ) {
  1461. if ( BodyLow2>=L6 && BodyHigh2<=H6 && BodyLow3>=L6 && BodyHigh3<=H6 && BodyLow4>=L6 && BodyHigh4<=H6 && BodyLow5>=L6 && BodyHigh5<=H6 && BodyLow6>=L6 && BodyHigh6<=H6 &&
  1462. BL902<BL907 && BL903<BL907 && BL904<BL907 && BL905<BL907 && BL906<BL907 ) {
  1463.  
  1464. ObjectCreate(GetName("TM5",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1465. ObjectSetText(GetName("TM5",shift1), "_TM5_",7, "Times New Roman", Colorh__TM_);
  1466. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1467. }
  1468. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1469. {
  1470. pattern="Falling Three Methods";
  1471. setalert = 1;
  1472. }
  1473. }
  1474. }
  1475. }
  1476.  
  1477. if (TMc) {
  1478. // Check for Falling Three methods pattern
  1479. if (Display_F_R_three_methods_TM == true){
  1480. if ( C1>=O1 || BL902<=CL1/Doji && C2>O2 || BL903<=CL2/Doji && C3<O3 && C<O && C<BodyLow123 &&
  1481. L1>=(L3-TM*CL3/10) && L2>=(L3-TM*CL3/10) && H1<=(H3+TM*CL3/10) && H2<=(H3+TM*CL3/10) ) {
  1482. if ( BodyLow2>=L3 && BodyHigh2<=H3 && BodyLow3>=L3 && BodyHigh3<=H3 && BL902<BL904 && BL903<BL904 ) {
  1483.  
  1484. ObjectCreate(GetName("TM2",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1485. ObjectSetText(GetName("TM2",shift1), "_TM2_",7, "Times New Roman", Colorh__TM_);
  1486. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1487. }
  1488. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1489. {
  1490. pattern="Falling Three Methods";
  1491. setalert = 1;
  1492. }
  1493. }
  1494. }
  1495. // Check for Falling Three methods pattern
  1496. if (Display_F_R_three_methods_TM == true){
  1497. if ( C3>C4 && C1>=O1 || BL902<=CL1/Doji && C3>O3 || BL904<=CL3/Doji && C4<O4 && O>C && O>=C4 && C<BodyLow1234 &&
  1498. L1>=(L4-TM*CL4/10) && L2>=(L4-TM*CL4/10) && L3>=(L4-TM*CL4/10) && H1<=(H4+TM*CL4/10) && H2<=(H4+TM*CL4/10) && H3<=(H4+TM*CL4/10) ) {
  1499. if ( BodyLow2>=L4 && BodyHigh2<=H4 && BodyLow3>=L4 && BodyHigh3<=H4 && BodyLow4>=L4 && BodyHigh4<=H4 && BL902<BL905 && BL903<BL905 && BL904<BL905 ) {
  1500.  
  1501. ObjectCreate(GetName("TM3",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1502. ObjectSetText(GetName("TM3",shift1), "_TM3_",7, "Times New Roman", Colorh__TM_);
  1503. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1504. }
  1505. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1506. {
  1507. pattern="Falling Three Methods";
  1508. setalert = 1;
  1509. }
  1510. }
  1511. }
  1512. // Check for Falling Three methods pattern
  1513. if (Display_F_R_three_methods_TM == true){
  1514. if ( C5<O5 && C4>O4 || BL905<=CL4/Doji && C1>=O1 || BL902<=CL1/Doji && C<O && O>=C5 && C<BodyLow12345 &&
  1515. L1>=(L5-TM*CL5/10) && L2>=(L5-TM*CL5/10) && L3>=(L5-TM*CL5/10) && L4>=(L5-TM*CL5/10) &&
  1516. H1<=(H5+TM*CL5/10) && H2<=(H5+TM*CL5/10) && H3<=(H5+TM*CL5/10) && H4<=(H5+TM*CL5/10) ) {
  1517. if ( BodyLow2>=L5 && BodyHigh2<=H5 && BodyLow3>=L5 && BodyHigh3<=H5 && BodyLow4>=L5 && BodyHigh4<=H5 && BodyLow5>=L5 && BodyHigh5<=H5 &&
  1518. BL902<BL906 && BL903<BL906 && BL904<BL906 && BL905<BL906 ) {
  1519.  
  1520. ObjectCreate(GetName("TM4",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1521. ObjectSetText(GetName("TM4",shift1), "_TM4_",7, "Times New Roman", Colorh__TM_);
  1522. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1523. }
  1524. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1525. {
  1526. pattern="Falling Three Methods";
  1527. setalert = 1;
  1528. }
  1529. }
  1530. }
  1531. // Check for Falling Three methods pattern
  1532. if (Display_F_R_three_methods_TM == true){
  1533. if ( C6<O6 && C5>O5 || BL906<=CL5/Doji && C1>=O1 || BL902<=CL1/Doji && C<O && O>=C6 && C<BodyLow123456 &&
  1534. L1>=(L6-TM*CL6/10) && L2>=(L6-TM*CL6/10) && L3>=(L6-TM*CL6/10) && L4>=(L6-TM*CL6/10) && L5>=(L6-TM*CL6/10) &&
  1535. H1<=(H6+TM*CL6/10) && H2<=(H6+TM*CL6/10) && H3<=(H6+TM*CL6/10) && H4<=(H6+TM*CL6/10) && H5<=(H6+TM*CL6/10) ) {
  1536. if ( BodyLow2>=L6 && BodyHigh2<=H6 && BodyLow3>=L6 && BodyHigh3<=H6 && BodyLow4>=L6 && BodyHigh4<=H6 && BodyLow5>=L6 && BodyHigh5<=H6 && BodyLow6>=L6 && BodyHigh6<=H6 &&
  1537. BL902<BL907 && BL903<BL907 && BL904<BL907 && BL905<BL907 && BL906<BL907 ) {
  1538.  
  1539. ObjectCreate(GetName("TM5",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1540. ObjectSetText(GetName("TM5",shift1), "_TM5_",7, "Times New Roman", Colorh__TM_);
  1541. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1542. }
  1543. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  1544. {
  1545. pattern="Falling Three Methods";
  1546. setalert = 1;
  1547. }
  1548. }
  1549. }
  1550. }
  1551.  
  1552. // Check for Mat-Hold pattern
  1553. if (Display_Mat_Hold_iMH == true){
  1554. if ( C3<O3 && C2>O2 && C1>O1 && C<O && C2<C3 && C<L1||O<L1 ) {
  1555. if (BL904>BL903 && BL904>BL902 ) {
  1556.  
  1557. ObjectCreate(GetName("iMH2",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1558. ObjectSetText(GetName("iMH2",shift), "_iMH2_",7, "Times New Roman", Color_iMH);
  1559. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1560. }
  1561. if (Show_iMH_Alert && setalert == 0 && Show_Alert == true)
  1562. {
  1563. pattern="Mat Hold";
  1564. setalert = 1;
  1565. }
  1566. }
  1567. }
  1568. // Check for Mat-Hold pattern
  1569. if (Display_Mat_Hold_iMH == true){
  1570. if ( C4<O4 && C2>O2 && C1>O1 && C<O && O3<C4 && C3<C4 && C<L1||O<L1 ) {
  1571. if (BL905>BL904 && BL905>BL903 && BL905>BL902 && C2<BodyHigh4 ) {
  1572.  
  1573. ObjectCreate(GetName("iMH3",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1574. ObjectSetText(GetName("iMH3",shift), "_iMH3_",7, "Times New Roman", Color_iMH);
  1575. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1576. }
  1577. if (Show_iMH_Alert && setalert == 0 && Show_Alert == true)
  1578. {
  1579. pattern="Mat Hold";
  1580. setalert = 1;
  1581. }
  1582. }
  1583. }
  1584. // Check for Mat-Hold pattern
  1585. if (Display_Mat_Hold_iMH == true){
  1586. if ( C5<O5 && C3>O3 && C2>O2 && C1>O1 && C<O && O4<C5 && C4<C5 && C<L1||O<L1 ) {
  1587. if (BL906>BL905 && BL906>BL904 && BL906>BL903 && BL906>BL902 && C3<BodyHigh5 ) {
  1588.  
  1589. ObjectCreate(GetName("iMH4",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  1590. ObjectSetText(GetName("iMH4",shift), "_iMH4_",7, "Times New Roman", Color_iMH);
  1591. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1592. }
  1593. if (Show_iMH_Alert && setalert == 0 && Show_Alert == true)
  1594. {
  1595. pattern="Mat Hold";
  1596. setalert = 1;
  1597. }
  1598. }
  1599. }
  1600.  
  1601. // Check for Bearish Hanging man
  1602. if (Display_Hanging_HM == true) {
  1603. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1604. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ||
  1605. ( BodyHigh1>=BodyHigh2 && BodyHigh1>=BodyHigh3 && BodyHigh1>=BodyHigh4 && BodyHigh1>=BodyHigh5 && BodyHigh1>=BodyHigh6 &&
  1606. BodyHigh1>=BodyHigh7 && BodyHigh1>=BodyHigh8 ) ) {
  1607. if ( C<O && BL90<LW/tt && BL90>CL/Doji && (UW<LW/SS )) {
  1608.  
  1609. ObjectCreate(GetName("HM",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.0*Range*gap);
  1610. ObjectSetText(GetName("HM",shift1), "HM", Text, "Times New Roman", Color_HM);
  1611. CumOffset = CumOffset+IncOffset;
  1612. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1613. }
  1614. if (Show_HM_Alert) {
  1615. if (setalert == 0 && Show_Alert == true) {
  1616. pattern = "Hanging Man";
  1617. setalert = 1;
  1618. }
  1619. }
  1620. }
  1621. }
  1622.  
  1623. if (Display_Hanging_HM == true) {
  1624. if ( ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9) ) ||
  1625. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ||
  1626. (BodyHigh2>=BodyHigh3 && BodyHigh2>=BodyHigh4 && BodyHigh2>=BodyHigh5 && BodyHigh2>=BodyHigh6 && BodyHigh2>=BodyHigh7 &&
  1627. BodyHigh2>=BodyHigh8 && BodyHigh2>=BodyHigh9 ) ) {
  1628. if ( C1>O1 && C<O || BL90<=CL/Doji && BL902<LW1/tt && BL902>CL1/Doji && (UW1<LW1/SS ) ) {
  1629.  
  1630. ObjectCreate(GetName("HM",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.0*Range*gap);
  1631. ObjectSetText(GetName("HM",shift1), "HM", Text, "Times New Roman", Color_HM);
  1632. CumOffset = CumOffset+IncOffset;
  1633. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1634. }
  1635. if (Show_HM_Alert) {
  1636. if (setalert == 0 && Show_Alert == true) {
  1637. pattern = "Hanging Man";
  1638. setalert = 1;
  1639. }
  1640. }
  1641. }
  1642. }
  1643.  
  1644.  
  1645.  
  1646.  
  1647. // Check for Bearish Shooting ShootStar
  1648. if (Display_ShootStar_SS == true) {
  1649. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1650. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ||
  1651. ( BodyHigh1>=BodyHigh2 && BodyHigh1>=BodyHigh3 && BodyHigh1>=BodyHigh4 && BodyHigh1>=BodyHigh5 && BodyHigh1>=BodyHigh6 &&
  1652. BodyHigh1>=BodyHigh7 && BodyHigh1>=BodyHigh8 ) ) {
  1653. if ( C<O && BL90<UW/tt && BL90>CL/Doji && (LW<UW/SS ) ) {
  1654.  
  1655. ObjectCreate(GetName("SS",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1*Range*gap);
  1656. ObjectSetText(GetName("SS",shift1), "SS", Text, "Times New Roman", Color_SS);
  1657. CumOffset = CumOffset+IncOffset;
  1658. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1659. }
  1660. if (Show_SS_Alert) {
  1661. if (setalert == 0 && Show_Alert == true) {
  1662. pattern = "Shooting Star";
  1663. setalert = 1;
  1664. }
  1665. }
  1666. }
  1667. }
  1668.  
  1669. if (Display_ShootStar_SS == true) {
  1670. if ( ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9) ) ||
  1671. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ||
  1672. (BodyHigh2>=BodyHigh3 && BodyHigh2>=BodyHigh4 && BodyHigh2>=BodyHigh5 && BodyHigh2>=BodyHigh6 && BodyHigh2>=BodyHigh7 &&
  1673. BodyHigh2>=BodyHigh8 && BodyHigh2>=BodyHigh9 ) ) {
  1674. if ( C1>O1 && C<O || BL90<=CL/Doji && BL902<UW1/tt && BL902>CL1/Doji && (LW1<UW1/SS ) ) {
  1675.  
  1676. ObjectCreate(GetName("SS",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1*Range*gap);
  1677. ObjectSetText(GetName("SS",shift1), "SS", Text, "Times New Roman", Color_SS);
  1678. CumOffset = CumOffset+IncOffset;
  1679. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1680. }
  1681. if (Show_SS_Alert) {
  1682. if (setalert == 0 && Show_Alert == true) {
  1683. pattern = "Shooting Star";
  1684. setalert = 1;
  1685. }
  1686. }
  1687. }
  1688. }
  1689.  
  1690.  
  1691.  
  1692. // Check for Evening Star pattern
  1693. if (Display_Evening_Stars_ES == true) {
  1694. if ( (H1>H2||H1>H) && C<O && ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ||
  1695. ((BodyHigh2>=BodyHigh3)&&(H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9)) &&
  1696. (C2>O2)&&(O1>=(C2+gapStar*point))&&(O<=(C1-gapStar*point+3*point) && C1>O1) || (O<=(O1-gapStar*point+3*point) && C1<O1) &&
  1697. (C1>=(C2+gapStar*point)) ) {
  1698. if ((BL903>BL902)&&(C<(C2-BL903*Star/100))&&(BL902>CL1/Doji)){
  1699.  
  1700. ObjectCreate(GetName("ES",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.4*Range*gap);
  1701. ObjectSetText(GetName("ES",shift1), "ES", Text, "Times New Roman", Color_ES);
  1702. CumOffset = CumOffset+IncOffset;
  1703. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1704. }
  1705. if (Show_ES_Alert) {
  1706. if (setalert == 0 && Show_Alert == true) {
  1707. pattern="Evening Star";
  1708. setalert = 1;
  1709. }
  1710. }
  1711. }
  1712. }
  1713.  
  1714. // Check for Abandoned baby pattern
  1715. if (Display_Evening_Stars_ES == true) {
  1716. if ( C<O && (H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&& L1>H2 && L1>H ) {
  1717. if ( BL902*2<=BL903 || BL902==0){
  1718.  
  1719. ObjectCreate(GetName("ES",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.6*Range*gap);
  1720. ObjectSetText(GetName("ES",shift1), "ES", Text, "Times New Roman", Color_ES);
  1721. CumOffset = CumOffset+IncOffset;
  1722. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1723. }
  1724. if (Show_ES_Alert) {
  1725. if (setalert == 0 && Show_Alert == true) {
  1726. pattern="Abandoned Baby";
  1727. setalert = 1;
  1728. }
  1729. }
  1730. }
  1731. }
  1732.  
  1733.  
  1734. // Check for Evening Star Doji pattern
  1735. if (Display_Evening_Stars_EDS == true) {
  1736. if ( (H1>H2||H1>H) && C<O && ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ||
  1737. ((BodyHigh2>=(BodyHigh3-3*point))&&(H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9)) &&
  1738. (C2>O2)&&(O1>=(C2-3*point))&& (O<=(C1+3*point)) && (C1>=(C2-3*point))) {
  1739. if ( (C<(C2-BL903*Star/100))&&(BL902==0 || BL902==1*point || BL902<=CL1/Doji)){
  1740.  
  1741. ObjectCreate(GetName("EDS",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.5*Range*gap);
  1742. ObjectSetText(GetName("EDS",shift1), "EDS", Text, "Times New Roman", Color_EDS);
  1743. CumOffset = CumOffset+IncOffset;
  1744. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  1745. }
  1746. if (Show_EDS_Alert) {
  1747. if (setalert == 0 && Show_Alert == true) {
  1748. pattern="Evening Star Doji";
  1749. setalert = 1;
  1750. }
  1751. }
  1752. }
  1753. }
  1754.  
  1755. // Check for Doji pattern
  1756. if (Display_Doji_D == true) {
  1757. if ( (H>=BodyHigh2 && H>=BodyHigh3 && H>=BodyHigh4 && H>=BodyHigh5 && H>=BodyHigh6 && H>=BodyHigh7 && H>=BodyHigh8 &&
  1758. H>=BodyHigh9 && H>=BodyHigh10 && L>=L1||H>=H1&& L>=L2||H>=H2) ||
  1759. (H1>=BodyHigh3 && H1>=BodyHigh4 && H1>=BodyHigh5 && H1>=BodyHigh6 && H1>=BodyHigh7 && H1>=BodyHigh8 && H1>=BodyHigh9 &&
  1760. H1>=BodyHigh10 && H1>=BodyHigh11 && L1>=L2||H1>=H2 && L1<=L||H1<=H)) {
  1761. if ((BL90==0 || BL90==1*point || BL90<=CL/Doji) && UW>CL/10 && LW>CL/10) {
  1762.  
  1763. ObjectCreate(GetName("D",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.4*Range*gap);
  1764. ObjectSetText(GetName("D",shift1), "D", Text, "Times New Roman", Colorh_D);
  1765. CumOffset = CumOffset+IncOffset;
  1766. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1767. }
  1768. if (Show_D_Alert) {
  1769. if (setalert == 0 && Show_Alert == true) {
  1770. pattern = "Doji";
  1771. setalert = 1;
  1772. }
  1773. }
  1774. }
  1775. }
  1776.  
  1777.  
  1778. // Check for Doji pattern
  1779. if (Display_Doji_D == true) {
  1780. if ((BL90==0 || BL90==1*point || BL90<=CL/Doji) && LW<=CL/11) {
  1781.  
  1782. ObjectCreate(GetName("gD",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.4*Range*gap);
  1783. ObjectSetText(GetName("gD",shift1), "gD", Text, "Times New Roman", Colorh_D);
  1784. CumOffset = CumOffset+IncOffset;
  1785. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1786. }
  1787. if (Show_D_Alert) {
  1788. if (setalert == 0 && Show_Alert == true) {
  1789. pattern = "Doji";
  1790. setalert = 1;
  1791. }
  1792. }
  1793. }
  1794.  
  1795. // Check for High Waves pattern
  1796. if (Display_High_Wave_HW == true) {
  1797. if ( (H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) &&(C<O) ) {
  1798. if (BL902>CL1/Doji && BL902<13*CL1/Doji && (UW1>1.9*BL902||LW1>1.9*BL902) ) {
  1799.  
  1800. ObjectCreate(GetName("HW",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.7*Range*gap);
  1801. ObjectSetText(GetName("HW",shift1), "HW", Text, "Times New Roman", Colorh_HW);
  1802. CumOffset = CumOffset+IncOffset;
  1803. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1804. }
  1805. if (Show_HW_Alert) {
  1806. if (setalert == 0 && Show_Alert == true) {
  1807. pattern = "High Wave";
  1808. setalert = 1;
  1809. }
  1810. }
  1811. }
  1812. }
  1813.  
  1814. // Check for a Dark Cloud Cover pattern
  1815. if (Display_Dark_Cloud_Cover_DC == true) {
  1816. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7) ) ||
  1817. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) &&(C1>O1) ) {
  1818. if (BL902>=CL1/3 && C>O1&&(O>=(C1+pl_dcc*point))&&(C<(C1-BL902*DC/100)) && BL90>LW ) {
  1819.  
  1820. ObjectCreate(GetName("DC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.4*Range*gap);
  1821. ObjectSetText(GetName("DC",shift1), "DC", Text, "Times New Roman", Color_DC);
  1822. CumOffset = CumOffset+IncOffset;
  1823. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1824. }
  1825. if (Show_DC_Alert) {
  1826. if (setalert == 0 && Show_Alert == true) {
  1827. pattern="Dark Cloud Cover";
  1828. setalert = 1;
  1829. }
  1830. }
  1831. }
  1832. }
  1833.  
  1834. // Check for a not completed dark cloud pattern
  1835. if (Display_not_completed_DC_NDC == true) {
  1836. if ( ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9) ) ||
  1837. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ) {
  1838. if ( BL902>=2*CL1/Doji && O1>=H2||O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=(C2-BL903*DC/100) && C1<C2 && C>C1 ) {
  1839.  
  1840. ObjectCreate(GetName("NDC",shift1), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  1841. ObjectSetText(GetName("NDC",shift1), "NDC", Text, "Times New Roman", Color_NDC);
  1842. CumOffset = CumOffset+IncOffset;
  1843. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  1844. }
  1845. if (Show_NDC_Alert) {
  1846. if (setalert == 0 && Show_Alert == true) {
  1847. pattern="Not Completed Dark Cloud";
  1848. setalert = 1;
  1849. }
  1850. }
  1851. }
  1852. }
  1853.  
  1854.  
  1855. // Check for Bearish Engulfing pattern
  1856. if (Display_Engulfing_EG == true) {
  1857. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1858. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ||
  1859. ( BodyHigh1>=(BodyHigh2-1*point) && BodyHigh1>=BodyHigh3 && BodyHigh1>=BodyHigh4 && BodyHigh1>=BodyHigh5 && BodyHigh1>=BodyHigh6 &&
  1860. BodyHigh1>=BodyHigh7 && BodyHigh1>=BodyHigh8 ) ) {
  1861. if ( (C1>O1) && (O>=(C1-1*point))&&(C<=O1) && BL90>(BL902+1*point) && BL90>=CL/3) {
  1862.  
  1863. ObjectCreate(GetName("EG",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.0*Range*gap);
  1864. ObjectSetText(GetName("EG",shift1), "EG", Text, "Times New Roman", Colorh_EG);
  1865. CumOffset = CumOffset+IncOffset;
  1866. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1867. }
  1868. if (Show_EG_Alert) {
  1869. if (setalert == 0 && Show_Alert == true) {
  1870. pattern = "Bearish Engulfing";
  1871. setalert = 1;
  1872. }
  1873. }
  1874. }
  1875. }
  1876.  
  1877. //Check for Belt-Hold Lines pattern
  1878. if (Display_Belt_Hold_Lines_BH) {
  1879. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)) ||
  1880. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)) ||
  1881. ( BodyHigh1>=BodyHigh2 && BodyHigh1>=BodyHigh3 && BodyHigh1>=BodyHigh4 && BodyHigh1>=BodyHigh5 && BodyHigh1>=BodyHigh6 ) ||
  1882. (BodyHigh2>=BodyHigh3 && BodyHigh2>=BodyHigh4 && BodyHigh2>=BodyHigh5 && BodyHigh2>=BodyHigh6 && BodyHigh2>=BodyHigh7 ) ) {
  1883. if ((UW<=BL90/30||(UW<2*point && UW<LW))&&(BL90>1.3*LW) && UW<LW/3||(UW<2*point&&LW<2*point) && C<O) {
  1884.  
  1885. ObjectCreate(GetName("BH",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1886. ObjectSetText(GetName("BH",shift1), "BH", Text, "Times New Roman", Colorh_BH);
  1887. CumOffset = CumOffset+IncOffset;
  1888. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1889. }
  1890. if (Show_BH_Alert) {
  1891. if (setalert == 0 && Show_Alert == true) {
  1892. pattern="Belt Hold Lines";
  1893. setalert = 1;
  1894. }
  1895. }
  1896. }
  1897. }
  1898. // Check for Harami pattern
  1899. if (Display_Harami_HI == true) {
  1900. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1901. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  1902. if ( BL90>CL/Doji && (BodyLow1>(BodyLow2+Harami*point) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyHigh1<(BodyHigh2-Harami*point)) ||
  1903. (BodyHigh1<(BodyHigh2-Harami*point) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyLow1>(BodyLow2+Harami*point)) ) {
  1904.  
  1905. ObjectCreate(GetName("HI",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 2*Range*gap);
  1906. ObjectSetText(GetName("HI",shift1), "HI", Text, "Times New Roman", Colorh_HI);
  1907. CumOffset = CumOffset+IncOffset;
  1908. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1909. }
  1910. if (Show_HI_Alert) {
  1911. if (setalert == 0 && Show_Alert == true) {
  1912. pattern = "Harami";
  1913. setalert = 1;
  1914. }
  1915. }
  1916. }
  1917. }
  1918.  
  1919. if (Display_Harami_HI == true) {
  1920. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1921. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  1922. if ( ((BL90==1*point || BL90==0 || BL90<=CL/(Doji*1.0))&&(BodyLow1>=(BodyLow2+Harami_Ń*point))&&(BodyHigh1<=(BodyHigh2-Harami_Ń*point))) ) {
  1923.  
  1924. ObjectCreate(GetName("HIC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  1925. ObjectSetText(GetName("HIC",shift1), "HIC", Text, "Times New Roman", Colorh_HI);
  1926. CumOffset = CumOffset+IncOffset;
  1927. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1928. }
  1929. if (Show_HI_Alert) {
  1930. if (setalert == 0 && Show_Alert == true) {
  1931. pattern = "Harami Cross";
  1932. setalert = 1;
  1933. }
  1934. }
  1935. }
  1936. }
  1937.  
  1938. if (Display_Harami_HI == true) {
  1939. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1940. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  1941. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+BL902*(1-Harami_HL/100)))&&(BodyHigh1<=(BodyHigh2-Harami*point)) ) {
  1942.  
  1943. ObjectCreate(GetName("HHI",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 2*Range*gap);
  1944. ObjectSetText(GetName("HHI",shift1), "HHI", Text, "Times New Roman", Colorh_HI);
  1945. CumOffset = CumOffset+IncOffset;
  1946. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1947. }
  1948. if (Show_HI_Alert) {
  1949. if (setalert == 0 && Show_Alert == true) {
  1950. pattern = "High Price Harami";
  1951. setalert = 1;
  1952. }
  1953. }
  1954. }
  1955. }
  1956.  
  1957. if (Display_Harami_HI == true) {
  1958. if ( ((H>=H1)&&(H>=H2)&&(H>=H3)&&(H>=H4)&&(H>=H5)&&(H>=H6)&&(H>=H7)) ||
  1959. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  1960. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+Harami*point))&&(BodyHigh1<=(BodyHigh2-BL902*(1-Harami_HL/100))) ) {
  1961.  
  1962. ObjectCreate(GetName("LHI",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 2*Range*gap);
  1963. ObjectSetText(GetName("LHI",shift1), "LHI", Text, "Times New Roman", Colorh_HI);
  1964. CumOffset = CumOffset+IncOffset;
  1965. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  1966. }
  1967. if (Show_HI_Alert) {
  1968. if (setalert == 0 && Show_Alert == true) {
  1969. pattern = "Low Price Harami";
  1970. setalert = 1;
  1971. }
  1972. }
  1973. }
  1974. }
  1975.  
  1976.  
  1977. // End of Bearish Patterns
  1978. //////////////////////////////////////////////////////////////////////////////////////////////////////////////
  1979.  
  1980. // Bullish Patterns
  1981.  
  1982. // Check for Tweezers pattern
  1983. if (Display_Tweezers_TZ == true) {
  1984. if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L>(L1-Range/tz) && L<(L1+Range/tz) &&
  1985. L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8) {
  1986. shift33=shift2;
  1987. L33=L1;
  1988. TZl=true;
  1989. }
  1990. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L>(L2-Range/tz) && L<(L2+Range/tz) &&
  1991. L2<L3 && L2<L4 && L2<L5 && L2<L6 && L2<L7 && L2<L8 && L2<L9) {
  1992. shift33=shift3;
  1993. L33=L2;
  1994. TZl=true;
  1995. }
  1996. else if ( TZl==false && C>O || C==O && L1<L && L1>(L2-Range/tz) && L1<(L2+Range/tz) &&
  1997. L2<L3 && L2<L4 && L2<L5 && L2<L6 && L2<L7 && L2<L8 && L2<L9) {
  1998. shift33=shift3;
  1999. L33=L2;
  2000. TZll=true;
  2001. }
  2002. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L>(L3-Range/tz) && L<(L3+Range/tz) &&
  2003. L3<L4 && L3<L5 && L3<L6 && L3<L7 && L3<L8 && L3<L9 && L3<L10) {
  2004. shift33=shift4;
  2005. L33=L3;
  2006. TZl=true;
  2007. }
  2008. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1>(L3-Range/tz) && L1<(L3+Range/tz) &&
  2009. L3<L4 && L3<L5 && L3<L6 && L3<L7 && L3<L8 && L3<L9 && L3<L10) {
  2010. shift33=shift4;
  2011. L33=L3;
  2012. TZll=true;
  2013. }
  2014. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L>(L4-Range/tz) && L<(L4+Range/tz) &&
  2015. L4<L5 && L4<L6 && L4<L7 && L4<L8 && L4<L9 && L4<L10 && L4<L11) {
  2016. shift33=shift5;
  2017. L33=L4;
  2018. TZl=true;
  2019. }
  2020. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1>(L4-Range/tz) && L1<(L4+Range/tz) &&
  2021. L4<L5 && L4<L6 && L4<L7 && L4<L8 && L4<L9 && L4<L10 && L4<L11) {
  2022. shift33=shift5;
  2023. L33=L4;
  2024. TZll=true;
  2025. }
  2026. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 &&
  2027. L>(L5-Range/tz) && L<(L5+Range/tz) &&
  2028. L5<L6 && L5<L7 && L5<L8 && L5<L9 && L5<L10 && L5<L11 && L5<L12) {
  2029. shift33=shift6;
  2030. L33=L5;
  2031. TZl=true;
  2032. }
  2033. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 &&
  2034. L1>(L5-Range/tz) && L1<(L5+Range/tz) &&
  2035. L5<L6 && L5<L7 && L5<L8 && L5<L9 && L5<L10 && L5<L11 && L5<L12) {
  2036. shift33=shift6;
  2037. L33=L5;
  2038. TZll=true;
  2039. }
  2040. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 &&
  2041. L>(L6-Range/tz) && L<(L6+Range/tz) &&
  2042. L6<L7 && L6<L8 && L6<L9 && L6<L10 && L6<L11 && L6<L12 && L6<L13) {
  2043. shift33=shift7;
  2044. L33=L6;
  2045. TZl=true;
  2046. }
  2047. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 &&
  2048. L1>(L6-Range/tz) && L1<(L6+Range/tz) &&
  2049. L6<L7 && L6<L8 && L6<L9 && L6<L10 && L6<L11 && L6<L12 && L6<L13) {
  2050. shift33=shift7;
  2051. L33=L6;
  2052. TZll=true;
  2053. }
  2054. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 &&
  2055. L>(L7-Range/tz) && L<(L7+Range/tz) &&
  2056. L7<L8 && L7<L9 && L7<L10 && L7<L11 && L7<L12 && L7<L13 && L7<L14) {
  2057. shift33=shift8;
  2058. L33=L7;
  2059. TZl=true;
  2060. }
  2061. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 &&
  2062. L1>(L7-Range/tz) && L1<(L7+Range/tz) &&
  2063. L7<L8 && L7<L9 && L7<L10 && L7<L11 && L7<L12 && L7<L13 && L7<L14) {
  2064. shift33=shift8;
  2065. L33=L7;
  2066. TZll=true;
  2067. }
  2068. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 &&
  2069. L>(L8-Range/tz) && L<(L8+Range/tz) &&
  2070. L8<L9 && L8<L10 && L8<L11 && L8<L12 && L8<L13 && L8<L14 && L8<L15) {
  2071. shift33=shift9;
  2072. L33=L8;
  2073. TZl=true;
  2074. }
  2075. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 &&
  2076. L1>(L8-Range/tz) && L1<(L8+Range/tz) &&
  2077. L8<L9 && L8<L10 && L8<L11 && L8<L12 && L8<L13 && L8<L14 && L8<L15) {
  2078. shift33=shift9;
  2079. L33=L8;
  2080. TZll=true;
  2081. }
  2082. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 &&
  2083. L>(L9-Range/tz) && L<(L9+Range/tz) &&
  2084. L9<L10 && L9<L11 && L9<L12 && L9<L13 && L9<L14 && L9<L15 && L9<L16) {
  2085. shift33=shift10;
  2086. L33=L9;
  2087. TZl=true;
  2088. }
  2089. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 &&
  2090. L1>(L9-Range/tz) && L1<(L9+Range/tz) &&
  2091. L9<L10 && L9<L11 && L9<L12 && L9<L13 && L9<L14 && L9<L15 && L9<L16) {
  2092. shift33=shift10;
  2093. L33=L9;
  2094. TZll=true;
  2095. }
  2096. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 &&
  2097. L>(L10-Range/tz) && L<(L10+Range/tz) &&
  2098. L10<L11 && L10<L12 && L10<L13 && L10<L14 && L10<L15 && L10<L16 && L10<L17) {
  2099. shift33=shift11;
  2100. L33=L10;
  2101. TZl=true;
  2102. }
  2103. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 &&
  2104. L1>(L10-Range/tz) && L1<(L10+Range/tz) &&
  2105. L10<L11 && L10<L12 && L10<L13 && L10<L14 && L10<L15 && L10<L16 && L10<L17) {
  2106. shift33=shift11;
  2107. L33=L10;
  2108. TZll=true;
  2109. }
  2110. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 &&
  2111. L>(L11-Range/tz) && L<(L11+Range/tz) &&
  2112. L11<L12 && L11<L13 && L11<L14 && L11<L15 && L11<L16 && L11<L17 && L11<L18) {
  2113. shift33=shift12;
  2114. L33=L11;
  2115. TZl=true;
  2116. }
  2117. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 &&
  2118. L1>(L11-Range/tz) && L1<(L11+Range/tz) &&
  2119. L11<L12 && L11<L13 && L11<L14 && L11<L15 && L11<L16 && L11<L17 && L11<L18) {
  2120. shift33=shift12;
  2121. L33=L11;
  2122. TZll=true;
  2123. }
  2124. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 &&
  2125. L>(L12-Range/tz) && L<(L12+Range/tz) &&
  2126. L12<L13 && L12<L14 && L12<L15 && L12<L16 && L12<L17 && L12<L18 && L12<L19) {
  2127. shift33=shift13;
  2128. L33=L12;
  2129. TZl=true;
  2130. }
  2131. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 &&
  2132. L1>(L12-Range/tz) && L1<(L12+Range/tz) &&
  2133. L12<L13 && L12<L14 && L12<L15 && L12<L16 && L12<L17 && L12<L18 && L12<L19) {
  2134. shift33=shift13;
  2135. L33=L12;
  2136. TZll=true;
  2137. }
  2138. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 &&
  2139. L>(L13-Range/tz) && L<(L13+Range/tz) &&
  2140. L13<L14 && L13<L15 && L13<L16 && L13<L17 && L13<L18 && L13<L19 && L13<L20) {
  2141. shift33=shift14;
  2142. L33=L13;
  2143. TZl=true;
  2144. }
  2145. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 &&
  2146. L1>(L13-Range/tz) && L1<(L13+Range/tz) &&
  2147. L13<L14 && L13<L15 && L13<L16 && L13<L17 && L13<L18 && L13<L19 && L13<L20) {
  2148. shift33=shift14;
  2149. L33=L13;
  2150. TZll=true;
  2151. }
  2152. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 &&
  2153. L>(L14-Range/tz) && L<(L14+Range/tz) &&
  2154. L14<L15 && L14<L16 && L14<L17 && L14<L18 && L14<L19 && L14<L20 && L14<L21) {
  2155. shift33=shift15;
  2156. L33=L14;
  2157. TZl=true;
  2158. }
  2159. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 &&
  2160. L1>(L14-Range/tz) && L1<(L14+Range/tz) &&
  2161. L14<L15 && L14<L16 && L14<L17 && L14<L18 && L14<L19 && L14<L20 && L14<L21) {
  2162. shift33=shift15;
  2163. L33=L14;
  2164. TZll=true;
  2165. }
  2166. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2167. L>(L15-Range/tz) && L<(L15+Range/tz) &&
  2168. L15<L16 && L15<L17 && L15<L18 && L15<L19 && L15<L20 && L15<L21 && L15<L22) {
  2169. shift33=shift16;
  2170. L33=L15;
  2171. TZl=true;
  2172. }
  2173. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2174. L1>(L15-Range/tz) && L1<(L15+Range/tz) &&
  2175. L15<L16 && L15<L17 && L15<L18 && L15<L19 && L15<L20 && L15<L21 && L15<L22) {
  2176. shift33=shift16;
  2177. L33=L15;
  2178. TZll=true;
  2179. }
  2180. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2181. L<L15 && L>(L16-Range/tz) && L<(L16+Range/tz) &&
  2182. L16<L17 && L16<L18 && L16<L19 && L16<L20 && L16<L21 && L16<L22 && L16<L23) {
  2183. shift33=shift17;
  2184. L33=L16;
  2185. TZl=true;
  2186. }
  2187. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2188. L1<L15 && L1>(L16-Range/tz) && L1<(L16+Range/tz) &&
  2189. L16<L17 && L16<L18 && L16<L19 && L16<L20 && L16<L21 && L16<L22 && L16<L23) {
  2190. shift33=shift17;
  2191. L33=L16;
  2192. TZll=true;
  2193. }
  2194. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2195. L<L15 && L<L16 && L>(L17-Range/tz) && L<(L17+Range/tz) &&
  2196. L17<L18 && L17<L19 && L17<L20 && L17<L21 && L17<L22 && L17<L23 && L17<L24) {
  2197. shift33=shift18;
  2198. L33=L17;
  2199. TZl=true;
  2200. }
  2201. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2202. L1<L15 && L1<L16 && L1>(L17-Range/tz) && L1<(L17+Range/tz) &&
  2203. L17<L18 && L17<L19 && L17<L20 && L17<L21 && L17<L22 && L17<L23 && L17<L24) {
  2204. shift33=shift18;
  2205. L33=L17;
  2206. TZll=true;
  2207. }
  2208. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2209. L<L15 && L<L16 && L<L17 && L>(L18-Range/tz) && L<(L18+Range/tz) &&
  2210. L18<L19 && L18<L20 && L18<L21 && L18<L22 && L18<L23 && L18<L24 && L18<L25) {
  2211. shift33=shift19;
  2212. L33=L18;
  2213. TZl=true;
  2214. }
  2215. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2216. L1<L15 && L1<L16 && L1<L17 && L1>(L18-Range/tz) && L1<(L18+Range/tz) &&
  2217. L18<L19 && L18<L20 && L18<L21 && L18<L22 && L18<L23 && L18<L24 && L18<L25) {
  2218. shift33=shift19;
  2219. L33=L18;
  2220. TZll=true;
  2221. }
  2222. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2223. L<L15 && L<L16 && L<L17 && L<L18 && L>(L19-Range/tz) && L<(L19+Range/tz) &&
  2224. L19<L20 && L19<L21 && L19<L22 && L19<L23 && L19<L24 && L19<L25 && L19<L26) {
  2225. shift33=shift20;
  2226. L33=L19;
  2227. TZl=true;
  2228. }
  2229. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2230. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1>(L19-Range/tz) && L1<(L19+Range/tz) &&
  2231. L19<L20 && L19<L21 && L19<L22 && L19<L23 && L19<L24 && L19<L25 && L19<L26) {
  2232. shift33=shift20;
  2233. L33=L19;
  2234. TZll=true;
  2235. }
  2236. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2237. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1>(L20-Range/tz) && L1<(L20+Range/tz) &&
  2238. L20<L21 && L20<L22 && L20<L23 && L20<L24 && L20<L25 && L20<L26 && L20<L27) {
  2239. shift33=shift21;
  2240. L33=L20;
  2241. TZl=true;
  2242. }
  2243. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2244. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1>(L20-Range/tz) && L1<(L20+Range/tz) &&
  2245. L20<L21 && L20<L22 && L20<L23 && L20<L24 && L20<L25 && L20<L26 && L20<L27) {
  2246. shift33=shift21;
  2247. L33=L20;
  2248. TZll=true;
  2249. }
  2250. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2251. L<L15 && L<L16 && L<L17 && L<L18 && L<L19 && L<L20 && L>(L21-Range/tz) && L<(L21+Range/tz) &&
  2252. L21<L22 && L21<L23 && L21<L24 && L21<L25 && L21<L26 && L21<L27 && L21<L28) {
  2253. shift33=shift22;
  2254. L33=L21;
  2255. TZl=true;
  2256. }
  2257. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2258. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1<L20 && L1>(L21-Range/tz) && L1<(L21+Range/tz) &&
  2259. L21<L22 && L21<L23 && L21<L24 && L21<L25 && L21<L26 && L21<L27 && L21<L28) {
  2260. shift33=shift22;
  2261. L33=L21;
  2262. TZll=true;
  2263. }
  2264. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2265. L<L15 && L<L16 && L<L17 && L<L18 && L<L19 && L<L20 && L<L21 && L>(L22-Range/tz) && L<(L22+Range/tz) &&
  2266. L22<L23 && L22<L24 && L22<L25 && L22<L26 && L22<L27 && L22<L28 && L22<L29 ) {
  2267. shift33=shift23;
  2268. L33=L22;
  2269. TZl=true;
  2270. }
  2271. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2272. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1<L20 && L1<L21 && L1>(L22-Range/tz) && L1<(L22+Range/tz) &&
  2273. L22<L23 && L22<L24 && L22<L25 && L22<L26 && L22<L27 && L22<L28 && L22<L29 ) {
  2274. shift33=shift23;
  2275. L33=L22;
  2276. TZll=true;
  2277. }
  2278. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2279. L<L15 && L<L16 && L<L17 && L<L18 && L<L19 && L<L20 && L<L21 && L<L22 && L>(L23-Range/tz) && L<(L23+Range/tz) &&
  2280. L23<L24 && L23<L25 && L23<L26 && L23<L27 && L23<L28 && L23<L29 && L23<L30 ) {
  2281. shift33=shift24;
  2282. L33=L23;
  2283. TZl=true;
  2284. }
  2285. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2286. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1<L20 && L1<L21 && L1<L22 && L1>(L23-Range/tz) && L1<(L23+Range/tz) &&
  2287. L23<L24 && L23<L25 && L23<L26 && L23<L27 && L23<L28 && L23<L29 && L23<L30 ) {
  2288. shift33=shift24;
  2289. L33=L23;
  2290. TZll=true;
  2291. }
  2292. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2293. L<L15 && L<L16 && L<L17 && L<L18 && L<L19 && L<L20 && L<L21 && L<L22 && L<L23 && L>(L24-Range/tz) && L<(L24+Range/tz) &&
  2294. L24<L25 && L24<L26 && L24<L27 && L24<L28 && L24<L29 && L24<L30 && L24<L31 ) {
  2295. shift33=shift25;
  2296. L33=L24;
  2297. TZl=true;
  2298. }
  2299. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2300. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1<L20 && L1<L21 && L1<L22 && L1<L23 && L1>(L24-Range/tz) && L1<(L24+Range/tz) &&
  2301. L24<L25 && L24<L26 && L24<L27 && L24<L28 && L24<L29 && L24<L30 && L24<L31 ) {
  2302. shift33=shift25;
  2303. L33=L24;
  2304. TZll=true;
  2305. }
  2306. else if ( C>O || C==O || BL90==1*point || BL90<=CL/Doji && L<L1 && L<L2 && L<L3 && L<L4 && L<L5 && L<L6 && L<L7 && L<L8 && L<L9 && L<L10 && L<L11 && L<L12 && L<L13 && L<L14 &&
  2307. L<L15 && L<L16 && L<L17 && L<L18 && L<L19 && L<L20 && L<L21 && L<L22 && L<L23 && L<L24 && L>(L25-Range/tz) && L<(L25+Range/tz) &&
  2308. L25<L26 && L25<L27 && L25<L28 && L25<L29 && L25<L30 && L25<L31 && L25<L32 ) {
  2309. shift33=shift26;
  2310. L33=L25;
  2311. TZl=true;
  2312. }
  2313. else if ( TZl==false && C>O || C==O && L1<L && L1<L2 && L1<L3 && L1<L4 && L1<L5 && L1<L6 && L1<L7 && L1<L8 && L1<L9 && L1<L10 && L1<L11 && L1<L12 && L1<L13 && L1<L14 &&
  2314. L1<L15 && L1<L16 && L1<L17 && L1<L18 && L1<L19 && L1<L20 && L1<L21 && L1<L22 && L1<L23 && L1<L24 && L1>(L25-Range/tz) && L1<(L25+Range/tz) &&
  2315. L25<L26 && L25<L27 && L25<L28 && L25<L29 && L25<L30 && L25<L31 && L25<L32 ) {
  2316. shift33=shift26;
  2317. L33=L25;
  2318. TZll=true;
  2319. }
  2320.  
  2321. if (TZl==true)
  2322. {
  2323. ObjectCreate("TZl"+shift,OBJ_TREND,0,Time[shift33],L33,Time[shift1],L33);
  2324. ObjectSet("TZl"+shift, OBJPROP_WIDTH, 0);
  2325. ObjectSet("TZl"+shift, OBJPROP_RAY, false);
  2326. ObjectSet("TZl"+shift, OBJPROP_BACK, true);
  2327. }
  2328. if (TZll==true)
  2329. {
  2330. ObjectCreate("TZll"+shift1,OBJ_TREND,0,Time[shift33],L33,Time[shift2],L33);
  2331. ObjectSet("TZll"+shift1, OBJPROP_WIDTH, 0);
  2332. ObjectSet("TZll"+shift1, OBJPROP_RAY, false);
  2333. ObjectSet("TZll"+shift1, OBJPROP_BACK, true);
  2334. }
  2335. if (Show_TZ_Alert && setalert == 0 && Show_Alert == true && TZl==true||TZll==true)
  2336. {
  2337. pattern="Tweezers";
  2338. setalert = 1;
  2339. }
  2340.  
  2341. else TZl=false; TZll=false;
  2342. }
  2343.  
  2344. // Check for Concealing Baby Swallow pattern
  2345.  
  2346. if (Display_Con_ng_Baby_Swallow_CBS == true){
  2347. if ( O2>C2 && O1>C1 && O>C && O1<C2 && H1>C2 && O>=H1 && C<=(L1+CL1/10) && BL90>CL1 && BL902<BL903 && BL903>=CL2/3) {
  2348.  
  2349. ObjectCreate(GetName("CBS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2350. ObjectSetText(GetName("CBS",shift), "CBS",Text, "Times New Roman", Color_CBS);
  2351. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2352. }
  2353. if (Show_CBS_Alert && setalert == 0 && Show_Alert == true)
  2354. {
  2355. pattern="Concealing Baby Swallow";
  2356. setalert = 1;
  2357. }
  2358. }
  2359.  
  2360. // Check for meeting lines pattern
  2361. if (Display_meeting_lines_ML == true){
  2362. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7)) ) {
  2363. if ( C1<O1 && C>O && C>O1 && O<=(C1-CL1/2) && C<=(C1+CL1/20) && C>=(C1-CL1/20) && BL90>=CL/3 && BL902>=CL1/3) {
  2364.  
  2365. ObjectCreate(GetName("ML",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2366. ObjectSetText(GetName("ML",shift), "ML",Text, "Times New Roman", Colorl_ML);
  2367. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2368. }
  2369. if (Show_ML_Alert && setalert == 0 && Show_Alert == true)
  2370. {
  2371. pattern="Meeting Lines";
  2372. setalert = 1;
  2373. }
  2374. }
  2375. }
  2376.  
  2377. // Check for separating line pattern
  2378. if (Display_separating_line_SL == true){
  2379. if ( ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  2380. if ( C1<O1 && C>O && C>O1 && O>=(O1-CL1/10) && O<=(O1+1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  2381.  
  2382. ObjectCreate(GetName("SL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2383. ObjectSetText(GetName("SL",shift), "SL",Text, "Times New Roman", Colorl_SL);
  2384. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2385. }
  2386. if (Show_SL_Alert && setalert == 0 && Show_Alert == true)
  2387. {
  2388. pattern="Separating Lines";
  2389. setalert = 1;
  2390. }
  2391. }
  2392. }
  2393.  
  2394. // Check for Kicking pattern
  2395. if (Display_Kicking_K == true){
  2396. if ( ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8)) ) {
  2397. if ( C1<O1 && C>O && C>O1 && O>(O1+1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  2398.  
  2399. ObjectCreate(GetName("K",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2400. ObjectSetText(GetName("K",shift), "K",Text, "Times New Roman", Colorl_K);
  2401. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2402. }
  2403. if (Show_K_Alert && setalert == 0 && Show_Alert == true)
  2404. {
  2405. pattern="Kicking";
  2406. setalert = 1;
  2407. }
  2408. }
  2409. }
  2410.  
  2411. // Check for on neck patternO1<=(C2-pl_dcc*point)
  2412.  
  2413. if (Display_onin_neck_thrusting_iNL == true){
  2414. if ( ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9) ) ||
  2415. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ) {
  2416. if ( BL902>=2*CL1/Doji && O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=H2 && L1>L2 && C>C1 )
  2417. {
  2418. ObjectCreate(GetName("iNL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2419. ObjectSetText(GetName("iNL",shift), "iNL",Text, "Times New Roman", Color_iNL);
  2420. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2421. }
  2422. if (Show_iNL_Alert && setalert == 0 && Show_Alert == true)
  2423. {
  2424. pattern="On Neck";
  2425. setalert = 1;
  2426. }
  2427. }
  2428. }
  2429. // Check for on neck pattern
  2430.  
  2431. if (Display_onin_neck_thrusting_iNL == true){
  2432. if ( ((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9) ) ||
  2433. ((H1>=H2)&&(H1>=H3)&&(H1>=H4)&&(H1>=H5)&&(H1>=H6)&&(H1>=H7)&&(H1>=H8) ) ) {
  2434. if ( BL902>=2*CL1/Doji && O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=C2 && C1<=H2 && C>C1 )
  2435. {
  2436. ObjectCreate(GetName("iNL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  2437. ObjectSetText(GetName("iNL",shift), "iNL",Text, "Times New Roman", Color_iNL);
  2438. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2439. }
  2440. if (Show_iNL_Alert && setalert == 0 && Show_Alert == true)
  2441. {
  2442. pattern="On Neck";
  2443. setalert = 1;
  2444. }
  2445. }
  2446. }
  2447.  
  2448. // Check for Breakaway pattern
  2449.  
  2450. if (Display_Breakaway_BW == true){
  2451. if ( ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  2452. ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9)) ||
  2453. ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9)) ) {
  2454. if ( C>O && C1<O1 && C3<O3 && C4<O4 && O3<(C4-bw*point) && BodyLow3<C3 && C1<BodyLow3 && C>O3 && BodyHigh3<=O3 && O1<=O3 &&
  2455. BL902<BL905 && BL903<BL905 && BL904<BL905) {
  2456.  
  2457. ObjectCreate(GetName("BW",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2458. ObjectSetText(GetName("BW",shift), "BW",Text, "Times New Roman", Colorl_BW);
  2459. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2460. }
  2461. if (Show_BW_Alert && setalert == 0 && Show_Alert == true)
  2462. {
  2463. pattern="Breakaway";
  2464. setalert = 1;
  2465. }
  2466. }
  2467. }
  2468.  
  2469. // Check for Stick Sandwich pattern
  2470.  
  2471. if (Display_Stick_Sandwich_StS == true){
  2472. if ( ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9)) ||
  2473. ((L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8)&&(L3<=L9)) ) {
  2474. if ( C<O && C1>O1 && C2<O2 && O1>=C2 && C1>=H2 && O>=C1 && C>=(C2-3*point) && C<=(C2+BL902/10) && C<C1 )
  2475. {
  2476. ObjectCreate(GetName("StS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2477. ObjectSetText(GetName("StS",shift), "StS",Text, "Times New Roman", Color_StS);
  2478. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2479. }
  2480. if (Show_StS_Alert && setalert == 0 && Show_Alert == true)
  2481. {
  2482. pattern="Stick Sandwich";
  2483. setalert = 1;
  2484. }
  2485. }
  2486. }
  2487.  
  2488.  
  2489. // Check for Tasuki pattern
  2490.  
  2491. if (Display_Tasuki_TG == true){
  2492. if ( O2<C2 && O1<C1 && O>C && O1>(C2+tasuki*point) && C>(C2+tasuki*point) && C<=O1 && O<C1 && O>O1 &&
  2493. L1>H2 && L>(C2-BL903/10) && BL903>=BL902/2 )
  2494. {
  2495. ObjectCreate(GetName("TG",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2496. ObjectSetText(GetName("TG",shift), "TG",Text, "Times New Roman", Colorl_TG);
  2497. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2498. }
  2499. if (Show_TG_Alert && setalert == 0 && Show_Alert == true)
  2500. {
  2501. pattern="Tasuki";
  2502. setalert = 1;
  2503. }
  2504. }
  2505.  
  2506.  
  2507. // Check for Three Outside Up pattern
  2508. if (Display_Three_Outside_To == true){
  2509. if ( (L2<=BodyLow4 && L2<=BodyLow5 && L2<=BodyLow6 && L2<=BodyLow7 && L2<=BodyLow8 && L2<=BodyLow9 &&
  2510. L2<=BodyLow10 && L2<=BodyLow11 && H2<=H3||L2<=L3 ) ||
  2511. (L1<=BodyLow3 && L1<=BodyLow4 && L1<=BodyLow5 && L1<=BodyLow6 && L1<=BodyLow7 && L1<=BodyLow8 && L1<=BodyLow9 && L1<=BodyLow10 &&
  2512. L1<=BodyLow11 && H1<=H2||L1<=L2 )) {
  2513. if ( (O2>C2)&&(C1>O1)&&(C1>O2)&&(C2>=O1)&&((C1-O1)>(O2-C2))&&(C>O)&&(C>C1) )
  2514. {
  2515. ObjectCreate(GetName("To",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2516. ObjectSetText(GetName("To",shift), "To",Text, "Times New Roman", Colorl_To);
  2517. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2518. }
  2519. if (Show_To_Alert && setalert == 0 && Show_Alert == true)
  2520. {
  2521. pattern="Three Outside Up";
  2522. setalert = 1;
  2523. }
  2524. }
  2525. }
  2526.  
  2527. // Check for Three Inside Up pattern
  2528. if (Display_Three_Inside_Ti == true){
  2529. if ( (L2<=BodyLow4 && L2<=BodyLow5 && L2<=BodyLow6 && L2<=BodyLow7 && L2<=BodyLow8 && L2<=BodyLow9 &&
  2530. L2<=BodyLow10 && L2<=BodyLow11 && H2<=H3||L2<=L3 ) ||
  2531. (L1<=BodyLow3 && L1<=BodyLow4 && L1<=BodyLow5 && L1<=BodyLow6 && L1<=BodyLow7 && L1<=BodyLow8 && L1<=BodyLow9 && L1<=BodyLow10 &&
  2532. L1<=BodyLow11 && H1<=H2||L1<=L2 )) {
  2533. if ( (O2>C2)&&(C1>O1)&&(C1<=(O2-tiud*point))&&((C2+tiud*point)<=O1)&&((C1-O1)<(O2-C2))&&(C>O)&&(O>O1)&&(C>O2) )
  2534. {
  2535. ObjectCreate(GetName("Ti",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2536. ObjectSetText(GetName("Ti",shift), "Ti",Text, "Times New Roman", Colorl_Ti);
  2537. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2538. }
  2539. if (Show_Ti_Alert && setalert == 0 && Show_Alert == true)
  2540. {
  2541. pattern="Three Inside Up";
  2542. setalert = 1;
  2543. }
  2544. }
  2545. }
  2546.  
  2547. // Check for Homing Pigeon pattern
  2548. if (Display_homing_pigeon_HP == true){
  2549. if ( (H2>H1) && (L2<L1) && (O2>C2)&&(C1<O1)&&(O1<=(O2-2*point))&&((C2+2*point)<=C1)&&((O1-C1)<(O2-C2))&&(C>O) && C>=O1 &&
  2550. BL902>=CL/3 && BL90>CL/Doji)
  2551. {
  2552. ObjectCreate(GetName("HP",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2553. ObjectSetText(GetName("HP",shift), "HP",Text, "Times New Roman", Color_HP);
  2554. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2555. }
  2556. if (Show_HP_Alert && setalert == 0 && Show_Alert == true)
  2557. {
  2558. pattern="Homing Pigeon";
  2559. setalert = 1;
  2560. }
  2561. }
  2562.  
  2563. // Check for Three White Soldiers pattern
  2564. if (TWS==true && Display_Three_White_Sold_TWS == true){
  2565. if ( TWS==true && (L4<=L5)&&(L4<=L6)&&(L4<=L7)&&(L4<=L8)&&(L4<=L9) &&
  2566. C>C1 && C1>=C2 && C2>O2 && C1>O1 && C>O ) {
  2567.  
  2568. ObjectCreate(GetName("TWS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2569. ObjectSetText(GetName("TWS",shift), "TWS",Text, "Times New Roman", Color_TWS);
  2570. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2571. }
  2572. if (TWS==true && Show_TWS_Alert && setalert == 0 && Show_Alert == true)
  2573. {
  2574. pattern="Three White Soldiers";
  2575. setalert = 1;
  2576. }
  2577. TWS=false;
  2578. }
  2579.  
  2580. if (TWS==true && Display_Three_White_Sold_TWS == true){
  2581. if ( TWS==true && (L3<=L4)&&(L3<=L5)&&(L3<=L6)&&(L3<=L7)&&(L3<=L8) &&
  2582. C>C1 && C1>=C2 && C2>O2 && C1>O1 && C>O ) {
  2583.  
  2584. ObjectCreate(GetName("TWS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2585. ObjectSetText(GetName("TWS",shift), "TWS",Text, "Times New Roman", Color_TWS);
  2586. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2587. }
  2588. if (TWS==true && Show_TWS_Alert && setalert == 0 && Show_Alert == true)
  2589. {
  2590. pattern="Three White Soldiers";
  2591. setalert = 1;
  2592. }
  2593. TWS=false;
  2594. }
  2595.  
  2596. if (TWS==true && Display_Three_White_Sold_TWS == true){
  2597. if ( TWS==true && (L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7) &&
  2598. C>C1 && C1>=C2 && C2>O2 && C1>O1 && C>O ) {
  2599.  
  2600. ObjectCreate(GetName("TWS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2601. ObjectSetText(GetName("TWS",shift), "TWS",Text, "Times New Roman", Color_TWS);
  2602. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2603. }
  2604. if (TWS==true && Show_TWS_Alert && setalert == 0 && Show_Alert == true)
  2605. {
  2606. pattern="Three White Soldiers";
  2607. setalert = 1;
  2608. }
  2609. TWS=false;
  2610. }
  2611. else TWS=true;
  2612.  
  2613. // Check for Three-line strike pattern
  2614. if (Display_Three_line_strike_TLS == true){
  2615. if ( ((H3>=H4)&&(H3>=H5)&&(H3>=H6)&&(H3>=H7)&&(H3>=H8)&&(H3>=H9))||((H2>=H3)&&(H2>=H4)&&(H2>=H5)&&(H2>=H6)&&(H2>=H7)&&(H2>=H8)&&(H2>=H9)) ) {
  2616. if ( C>O && C4>O4 && C3>O3 && O3>O4 && C3>C4 && C2>O2 && O2>O3 && C2>C3 && C1<O1 && C1<O4 && O1>(C2+TLS*point) ) {
  2617.  
  2618. ObjectCreate(GetName("TLS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2619. ObjectSetText(GetName("TLS",shift), "TLS",Text, "Times New Roman", Colorl_TLS);
  2620. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2621. }
  2622. if (Show_TLS_Alert && setalert == 0 && Show_Alert == true)
  2623. {
  2624. pattern="Three Line Strike";
  2625. setalert = 1;
  2626. }
  2627. }
  2628. }
  2629.  
  2630.  
  2631. if (TMhl) {
  2632. // Check for Rising Three methods pattern
  2633. if (Display_F_R_three_methods_TM == true){
  2634. if ( C3>O3 && C2<O2 || BL903<=CL2/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C3 && C>O && C>BodyHighH123 &&
  2635. H1<=(H3+TM*CL3/10) && H2<=(H3+TM*CL3/10) && L1>=(L3-TM*CL3/10) && L2>=(L3-TM*CL3/10) ) {
  2636. if ( BodyLow2>L3 && BodyHigh2<H3 && BodyLow3>L3 && BodyHigh3<H3 && BL902<BL904 && BL903<BL904 ) {
  2637.  
  2638. ObjectCreate(GetName("TM2",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2639. ObjectSetText(GetName("TM2",shift), "_TM2_",7, "Times New Roman", Colorl__TM_);
  2640. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2641. }
  2642. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2643. {
  2644. pattern="Rising Three Methods";
  2645. setalert = 1;
  2646. }
  2647. }
  2648. }
  2649. // Check for Rising Three methods pattern
  2650. if (Display_F_R_three_methods_TM == true){
  2651. if ( C4>O4 && C3<O3 || BL904<=CL3/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C4 && C>O && C>BodyHighH1234 &&
  2652. H1<=(H4+TM*CL4/10) && H2<=(H4+TM*CL4/10) && H3<=(H4+TM*CL4/10) &&
  2653. L1>=(L4-TM*CL4/10) && L2>=(L4-TM*CL4/10) && L3>=(L4-TM*CL4/10) ) {
  2654. if ( BodyLow2>L4 && BodyHigh2<H4 && BodyLow3>L4 && BodyHigh3<H4 && BodyLow4>L4 && BodyHigh4<H4 &&
  2655. BL902<BL905 && BL903<BL905 && BL904<BL905 ) {
  2656.  
  2657. ObjectCreate(GetName("TM3",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2658. ObjectSetText(GetName("TM3",shift), "_TM3_",7, "Times New Roman", Colorl__TM_);
  2659. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2660. }
  2661. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2662. {
  2663. pattern="Rising Three Methods";
  2664. setalert = 1;
  2665. }
  2666. }
  2667. }
  2668. // Check for Rising Three methods pattern
  2669. if (Display_F_R_three_methods_TM == true){
  2670. if ( C5>O5 && C4<O4 || BL905<=CL4/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C5 && C>O && C>BodyHighH12345 &&
  2671. H1<=(H5+TM*CL5/10) && H2<=(H5+TM*CL5/10) && H3<=(H5+TM*CL5/10) && H4<=(H5+TM*CL5/10) &&
  2672. L1>=(L5-TM*CL5/10) && L2>=(L5-TM*CL5/10) && L3>=(L5-TM*CL5/10) && L4>=(L5-TM*CL5/10) ) {
  2673. if ( BodyLow2>L5 && BodyHigh2<H5 && BodyLow3>L5 && BodyHigh3<H5 && BodyLow4>L5 && BodyHigh4<H5 && BodyLow5>L5 && BodyHigh5<H5 &&
  2674. BL902<BL906 && BL903<BL906 && BL904<BL906 && BL905<BL906 ) {
  2675.  
  2676. ObjectCreate(GetName("TM4",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2677. ObjectSetText(GetName("TM4",shift), "_TM4_",7, "Times New Roman", Colorl__TM_);
  2678. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2679. }
  2680. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2681. {
  2682. pattern="Rising Three Methods";
  2683. setalert = 1;
  2684. }
  2685. }
  2686. }
  2687. // Check for Rising Three methods pattern
  2688. if (Display_F_R_three_methods_TM == true){
  2689. if ( C6>O6 && C5<O5 || BL906<=CL5/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C6 && C>O && C>BodyHighH123456 &&
  2690. H1<=(H6+TM*CL6/10) && H2<=(H6+TM*CL6/10) && H3<=(H6+TM*CL6/10) && H4<=(H6+TM*CL6/10) && H5<=(H6+TM*CL6/10) &&
  2691. L1>=(L6-TM*CL6/10) && L2>=(L6-TM*CL6/10) && L3>=(L6-TM*CL6/10) && L4>=(L6-TM*CL6/10) && L5>=(L6-TM*CL6/10) ) {
  2692. if ( BodyLow2>L6 && BodyHigh2<H6 && BodyLow3>L6 && BodyHigh3<H6 && BodyLow4>L6 && BodyHigh4<H6 && BodyLow5>L6 && BodyHigh5<H6 && BodyLow6>L6 && BodyHigh6<H6 &&
  2693. BL902<BL907 && BL903<BL907 && BL904<BL907 && BL905<BL907 && BL906<BL907 ) {
  2694.  
  2695. ObjectCreate(GetName("TM5",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2696. ObjectSetText(GetName("TM5",shift), "_TM5_",7, "Times New Roman", Colorl__TM_);
  2697. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2698. }
  2699. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2700. {
  2701. pattern="Rising Three Methods";
  2702. setalert = 1;
  2703. }
  2704. }
  2705. }
  2706. }
  2707.  
  2708. if (TMc) {
  2709. // Check for Rising Three methods pattern
  2710. if (Display_F_R_three_methods_TM == true){
  2711. if ( C3>O3 && C2<O2 || BL903<=CL2/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C3 && C>O && C>BodyHigh123 &&
  2712. H1<=(H3+TM*CL3/10) && H2<=(H3+TM*CL3/10) &&
  2713. L1>=(L3-TM*CL3/10) && L2>=(L3-TM*CL3/10) ) {
  2714. if ( BodyLow2>L3 && BodyHigh2<H3 && BodyLow3>L3 && BodyHigh3<H3 &&
  2715. BL902<BL904 && BL903<BL904 ) {
  2716.  
  2717. ObjectCreate(GetName("TM2",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2718. ObjectSetText(GetName("TM2",shift), "_TM2_",7, "Times New Roman", Colorl__TM_);
  2719. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2720. }
  2721. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2722. {
  2723. pattern="Rising Three Methods";
  2724. setalert = 1;
  2725. }
  2726. }
  2727. }
  2728. // Check for Rising Three methods pattern
  2729. if (Display_F_R_three_methods_TM == true){
  2730. if ( C4>O4 && C3<O3 || BL904<=CL3/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C4 && C>O && C>BodyHigh1234 &&
  2731. H1<=(H4+TM*CL4/10) && H2<=(H4+TM*CL4/10) && H3<=(H4+TM*CL4/10) &&
  2732. L1>=(L4-TM*CL4/10) && L2>=(L4-TM*CL4/10) && L3>=(L4-TM*CL4/10) ) {
  2733. if ( BodyLow2>L4 && BodyHigh2<H4 && BodyLow3>L4 && BodyHigh3<H4 && BodyLow4>L4 && BodyHigh4<H4 &&
  2734. BL902<BL905 && BL903<BL905 && BL904<BL905 ) {
  2735.  
  2736. ObjectCreate(GetName("TM3",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2737. ObjectSetText(GetName("TM3",shift), "_TM3_",7, "Times New Roman", Colorl__TM_);
  2738. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2739. }
  2740. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2741. {
  2742. pattern="Rising Three Methods";
  2743. setalert = 1;
  2744. }
  2745. }
  2746. }
  2747. // Check for Rising Three methods pattern
  2748. if (Display_F_R_three_methods_TM == true){
  2749. if ( C5>O5 && C4<O4 || BL905<=CL4/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C5 && C>O && C>BodyHigh12345 &&
  2750. H1<=(H5+TM*CL5/10) && H2<=(H5+TM*CL5/10) && H3<=(H5+TM*CL5/10) && H4<=(H5+TM*CL5/10) &&
  2751. L1>=(L5-TM*CL5/10) && L2>=(L5-TM*CL5/10) && L3>=(L5-TM*CL5/10) && L4>=(L5-TM*CL5/10) ) {
  2752. if ( BodyLow2>L5 && BodyHigh2<H5 && BodyLow3>L5 && BodyHigh3<H5 && BodyLow4>L5 && BodyHigh4<H5 && BodyLow5>L5 && BodyHigh5<H5 &&
  2753. BL902<BL906 && BL903<BL906 && BL904<BL906 && BL905<BL906 ) {
  2754.  
  2755. ObjectCreate(GetName("TM4",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2756. ObjectSetText(GetName("TM4",shift), "_TM4_",7, "Times New Roman", Colorl__TM_);
  2757. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2758. }
  2759. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2760. {
  2761. pattern="Rising Three Methods";
  2762. setalert = 1;
  2763. }
  2764. }
  2765. }
  2766. // Check for Rising Three methods pattern
  2767. if (Display_F_R_three_methods_TM == true){
  2768. if ( C6>O6 && C5<O5 || BL906<=CL5/Doji && C1<=O1 || BL902<=CL1/Doji && O<=C6 && C>O && C>BodyHigh123456 &&
  2769. H1<=(H6+TM*CL6/10) && H2<=(H6+TM*CL6/10) && H3<=(H6+TM*CL6/10) && H4<=(H6+TM*CL6/10) && H5<=(H6+TM*CL6/10) &&
  2770. L1>=(L6-TM*CL6/10) && L2>=(L6-TM*CL6/10) && L3>=(L6-TM*CL6/10) && L4>=(L6-TM*CL6/10) && L5>=(L6-TM*CL6/10) ) {
  2771. if ( BodyLow2>L6 && BodyHigh2<H6 && BodyLow3>L6 && BodyHigh3<H6 && BodyLow4>L6 && BodyHigh4<H6 && BodyLow5>L6 && BodyHigh5<H6 && BodyLow6>L6 && BodyHigh6<H6 &&
  2772. BL902<BL907 && BL903<BL907 && BL904<BL907 && BL905<BL907 && BL906<BL907 ) {
  2773.  
  2774. ObjectCreate(GetName("TM5",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  2775. ObjectSetText(GetName("TM5",shift), "_TM5_",7, "Times New Roman", Colorl__TM_);
  2776. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2777. }
  2778. if (Show_TM_Alert && setalert == 0 && Show_Alert == true)
  2779. {
  2780. pattern="Rising Three Methods";
  2781. setalert = 1;
  2782. }
  2783. }
  2784. }
  2785. }
  2786.  
  2787. // Check for Mat-Hold pattern
  2788. if (Display_Mat_Hold_MH == true){
  2789. if ( C3>O3 && C2<O2 && C1<O1 && C>O && C2>C3 && C>H1||O>H1 ) {
  2790. if (BL904>BL903 && BL904>BL902 ) {
  2791.  
  2792. ObjectCreate(GetName("MH2",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2793. ObjectSetText(GetName("MH2",shift), "_MH2_",7, "Times New Roman", Color_MH);
  2794. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2795. }
  2796. if (Show_MH_Alert && setalert == 0 && Show_Alert == true)
  2797. {
  2798. pattern="Mat Hold";
  2799. setalert = 1;
  2800. }
  2801. }
  2802. }
  2803. // Check for Mat-Hold pattern
  2804. if (Display_Mat_Hold_MH == true){
  2805. if ( C4>O4 && C2<O2 && C1<O1 && C>O && O3>C4 && C3>C4 && C>H1||O>H1 ) {
  2806. if (BL905>BL904 && BL905>BL903 && BL905>BL902 && C2<BodyHigh4 ) {
  2807.  
  2808. ObjectCreate(GetName("MH3",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2809. ObjectSetText(GetName("MH3",shift), "_MH3_",7, "Times New Roman", Color_MH);
  2810. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2811. }
  2812. if (Show_MH_Alert && setalert == 0 && Show_Alert == true)
  2813. {
  2814. pattern="Mat Hold";
  2815. setalert = 1;
  2816. }
  2817. }
  2818. }
  2819. // Check for Mat-Hold pattern
  2820. if (Display_Mat_Hold_MH == true){
  2821. if ( C5>O5 && C3<O3 && C2<O2 && C1<O1 && C>O && O4>C5 && C4>C5 && C>H1||O>H1 ) {
  2822. if (BL906>BL905 && BL906>BL904 && BL906>BL903 && BL906>BL902 && C3<BodyHigh5 ) {
  2823.  
  2824. ObjectCreate(GetName("MH4",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.2*gap);
  2825. ObjectSetText(GetName("MH4",shift), "_MH4_",7, "Times New Roman", Color_MH);
  2826. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2827. }
  2828. if (Show_MH_Alert && setalert == 0 && Show_Alert == true)
  2829. {
  2830. pattern="Mat Hold";
  2831. setalert = 1;
  2832. }
  2833. }
  2834. }
  2835.  
  2836.  
  2837. // Check for Bullish Hammer
  2838. if (Display_Hammer_HR == true) {
  2839. if (((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2840. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  2841. (BodyLow1<=BodyLow2 && BodyLow1<=BodyLow3 && BodyLow1<=BodyLow4 && BodyLow1<=BodyLow5 && BodyLow1<=BodyLow6 &&
  2842. BodyLow1<=BodyLow7 && BodyLow1<=BodyLow8 ) ) {
  2843. if ( C>O && BL90<LW/tt && BL90>CL/Doji && (UW<LW/SS) ) {
  2844.  
  2845. ObjectCreate(GetName("HR",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.5*Range*gap);
  2846. ObjectSetText(GetName("HR",shift), "HR", Text, "Times New Roman", Color_HR);
  2847. CumOffset = CumOffset+IncOffset;
  2848. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2849. }
  2850. if (Show_HM_Alert) {
  2851. if (setalert == 0 && Show_Alert == true) {
  2852. pattern = "Hammer";
  2853. setalert = 1;
  2854. }
  2855. }
  2856. }
  2857. }
  2858.  
  2859. if (Display_Hammer_HR == true) {
  2860. if (((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9))||
  2861. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  2862. (BodyLow2<=BodyLow3 && BodyLow2<=BodyLow4 && BodyLow2<=BodyLow5 && BodyLow2<=BodyLow6 && BodyLow2<=BodyLow7 && BodyLow2<=BodyLow8 &&
  2863. BodyLow2<=BodyLow9 )) {
  2864. if ( C1<O1 && C>O || BL90<=CL/Doji && BL902<LW1/tt && BL902>CL1/Doji && (UW1<LW1/SS ) ) {
  2865.  
  2866. ObjectCreate(GetName("HR",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.5*Range*gap);
  2867. ObjectSetText(GetName("HR",shift), "HR", Text, "Times New Roman", Color_HR);
  2868. CumOffset = CumOffset+IncOffset;
  2869. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  2870. }
  2871. if (Show_HM_Alert) {
  2872. if (setalert == 0 && Show_Alert == true) {
  2873. pattern = "Hammer";
  2874. setalert = 1;
  2875. }
  2876. }
  2877. }
  2878. }
  2879. // Check for Bullish Inverted Hammer
  2880. if (Display_Inverted_Hammer_IH == true) {
  2881. if (((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2882. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  2883. (BodyLow1<=BodyLow2 && BodyLow1<=BodyLow3 && BodyLow1<=BodyLow4 && BodyLow1<=BodyLow5 && BodyLow1<=BodyLow6 &&
  2884. BodyLow1<=BodyLow7 && BodyLow1<=BodyLow8 ) ) {
  2885. if (C>O && BL90<UW/tt && BL90>CL/Doji && (LW<UW/SS ) ) {
  2886.  
  2887. ObjectCreate(GetName("IH",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.1*Range*gap);
  2888. ObjectSetText(GetName("IH",shift), "IH", Text, "Times New Roman", Color_IH);
  2889. CumOffset = CumOffset+IncOffset;
  2890. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2891. }
  2892. if (Show_IH_Alert) {
  2893. if (setalert == 0 && Show_Alert == true) {
  2894. pattern = "Inverted Hammer";
  2895. setalert = 1;
  2896. }
  2897. }
  2898. }
  2899. }
  2900.  
  2901. if (Display_Inverted_Hammer_IH == true) {
  2902. if ( ((L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9))||
  2903. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  2904. (BodyLow2<=BodyLow3 && BodyLow2<=BodyLow4 && BodyLow2<=BodyLow5 && BodyLow2<=BodyLow6 && BodyLow2<=BodyLow7 && BodyLow2<=BodyLow8 &&
  2905. BodyLow2<=BodyLow9 )) {
  2906. if (C1<O1 && C>O || BL90<=CL/Doji && BL902<UW1/tt && BL902>CL1/Doji && (LW1<UW1/SS ) ) {
  2907.  
  2908. ObjectCreate(GetName("IH",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 1.1*Range*gap);
  2909. ObjectSetText(GetName("IH",shift), "IH", Text, "Times New Roman", Color_IH);
  2910. CumOffset = CumOffset+IncOffset;
  2911. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  2912. }
  2913. if (Show_IH_Alert) {
  2914. if (setalert == 0 && Show_Alert == true) {
  2915. pattern = "Inverted Hammer";
  2916. setalert = 1;
  2917. }
  2918. }
  2919. }
  2920. }
  2921.  
  2922.  
  2923. // Check for Bullish Harami (BL90==0 || BL90<=CL/Doji)&&
  2924. if (Display_Harami_HI == true) {
  2925. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2926. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ) {
  2927. if ( BL90>CL/Doji && (BodyLow1>(BodyLow2+Harami*point) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyHigh1<(BodyHigh2-Harami*point)) ||
  2928. (BodyHigh1<(BodyHigh2-Harami*point) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyLow1>(BodyLow2+Harami*point)) ) {
  2929.  
  2930. ObjectCreate(GetName("HI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 2*Range*gap);
  2931. ObjectSetText(GetName("HI",shift), "HI", Text, "Times New Roman", Colorl_HI);
  2932. CumOffset = CumOffset+IncOffset;
  2933. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2934. }
  2935. if (Show_HI_Alert) {
  2936. if (setalert == 0 && Show_Alert == true) {
  2937. pattern = "Harami";
  2938. setalert = 1;
  2939. }
  2940. }
  2941. }
  2942. }
  2943.  
  2944. if (Display_Harami_HI == true) {
  2945. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2946. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ) {
  2947. if ( ((BL90==1*point || BL90==0 || BL90<=CL/(Doji*1.0))&&(BodyLow1>=(BodyLow2+Harami_Ń*point))&&(BodyHigh1<=(BodyHigh2-Harami_Ń*point))) ) {
  2948.  
  2949. ObjectCreate(GetName("HIC",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 2*Range*gap);
  2950. ObjectSetText(GetName("HIC",shift), "HIC", Text, "Times New Roman", Colorl_HI);
  2951. CumOffset = CumOffset+IncOffset;
  2952. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2953. }
  2954. if (Show_HI_Alert) {
  2955. if (setalert == 0 && Show_Alert == true) {
  2956. pattern = "Harami Cross";
  2957. setalert = 1;
  2958. }
  2959. }
  2960. }
  2961. }
  2962.  
  2963. if (Display_Harami_HI == true) {
  2964. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2965. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ) {
  2966. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+BL902*(1-Harami_HL/100)))&&(BodyHigh1<=(BodyHigh2-Harami*point)) ) {
  2967.  
  2968. ObjectCreate(GetName("HHI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 2*Range*gap);
  2969. ObjectSetText(GetName("HHI",shift), "HHI", Text, "Times New Roman", Colorl_HI);
  2970. CumOffset = CumOffset+IncOffset;
  2971. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2972. }
  2973. if (Show_HI_Alert) {
  2974. if (setalert == 0 && Show_Alert == true) {
  2975. pattern = "High Price Harami";
  2976. setalert = 1;
  2977. }
  2978. }
  2979. }
  2980. }
  2981.  
  2982. if (Display_Harami_HI == true) {
  2983. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  2984. ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ) {
  2985. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+Harami*point))&&(BodyHigh1<=(BodyHigh2-BL902*(1-Harami_HL/100))) ) {
  2986.  
  2987. ObjectCreate(GetName("LHI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 2*Range*gap);
  2988. ObjectSetText(GetName("LHI",shift), "LHI", Text, "Times New Roman", Colorl_HI);
  2989. CumOffset = CumOffset+IncOffset;
  2990. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  2991. }
  2992. if (Show_HI_Alert) {
  2993. if (setalert == 0 && Show_Alert == true) {
  2994. pattern = "Low Price Harami";
  2995. setalert = 1;
  2996. }
  2997. }
  2998. }
  2999. }
  3000.  
  3001.  
  3002. // Check for Bullish Doji
  3003. if (Display_Doji_D == true) {
  3004. if ( (L<=BodyLow2 && L<=BodyLow3 && L<=BodyLow4 && L<=BodyLow5 && L<=BodyLow6 && L<=BodyLow7 && L<=BodyLow8 && L<=BodyLow9 &&
  3005. L<=BodyLow10 && H<=H1||L<=L1 && H<=H2||L<=L2) ||
  3006. (L1<=BodyLow3 && L1<=BodyLow4 && L1<=BodyLow5 && L1<=BodyLow6 && L1<=BodyLow7 && L1<=BodyLow8 && L1<=BodyLow9 && L1<=BodyLow10 &&
  3007. L1<=BodyLow11 && H1<=H2||L1<=L2 && H1>=H||L1>=L)) {
  3008. if (BL90==0 || BL90==1*point || BL90<=CL/Doji && UW>CL/10 && LW>CL/10) {
  3009.  
  3010. ObjectCreate(GetName("D",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1*Range*gap);
  3011. ObjectSetText(GetName("D",shift), "D", Text, "Times New Roman", Colorl_D);
  3012. CumOffset = CumOffset+IncOffset;
  3013. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3014. }
  3015. if (Show_D_Alert) {
  3016. if (setalert == 0 && Show_Alert == true) {
  3017. pattern = "Doji";
  3018. setalert = 1;
  3019. }
  3020. }
  3021. }
  3022. }
  3023.  
  3024.  
  3025.  
  3026. if (Display_Doji_D == true) {
  3027. if ((BL90==0 || BL90==1*point || BL90<=CL/Doji) && UW<=CL/11) {
  3028.  
  3029. ObjectCreate(GetName("dD",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1*Range*gap);
  3030. ObjectSetText(GetName("dD",shift), "dD", Text, "Times New Roman", Colorl_D);
  3031. CumOffset = CumOffset+IncOffset;
  3032. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3033. }
  3034. if (Show_D_Alert) {
  3035. if (setalert == 0 && Show_Alert == true) {
  3036. pattern = "Doji";
  3037. setalert = 1;
  3038. }
  3039. }
  3040. }
  3041.  
  3042. // Check for High Waves
  3043. if (Display_High_Wave_HW == true) {
  3044. if ( C>O && ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ) {
  3045. if (BL902>CL1/Doji && BL902<13*CL1/Doji && (UW1>1.9*BL902||LW1>1.9*BL902) ) {
  3046.  
  3047. ObjectCreate(GetName("HW",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.3*Range*gap);
  3048. ObjectSetText(GetName("HW",shift), "HW", Text, "Times New Roman", Colorl_HW);
  3049. CumOffset = CumOffset+IncOffset;
  3050. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3051. }
  3052. if (Show_HW_Alert) {
  3053. if (setalert == 0 && Show_Alert == true) {
  3054. pattern = "High Wave";
  3055. setalert = 1;
  3056. }
  3057. }
  3058. }
  3059. }
  3060.  
  3061. // Check for Morning Star
  3062. if (Display_Morning_Stars_MS == true) {
  3063. if ( (L1<L2||L1<L) && C>O && ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  3064. ((BodyLow2<BodyLow3)&&(L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9)) &&
  3065. (C2<O2) && (C1<=(C2-gapStar*point)) && (O1<=(C2-gapStar*point)) &&
  3066. (O>=(C1+gapStar*point-3*point) && C1<O1) || (O>=(O1+gapStar*point) && C1>O1) ) {
  3067. if ( (BL903>BL902)&&(C>(C2+BL903*Star/100))&&(BL902>CL1/Doji)) {
  3068.  
  3069. ObjectCreate(GetName("MS",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.7*Range*gap);
  3070. ObjectSetText(GetName("MS",shift), "MS", Text, "Times New Roman", Color_MS);
  3071. CumOffset = CumOffset+IncOffset;
  3072. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  3073. }
  3074. if (Show_MS_Alert) {
  3075. if (shift == 0 && Show_Alert == true) {
  3076. pattern="Morning Star";
  3077. setalert = 1;
  3078. }
  3079. }
  3080. }
  3081. }
  3082.  
  3083. // Check for Abandoned baby
  3084. if (Display_Morning_Stars_MS == true) {
  3085. if ( C>O && (L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(O1<L2)&&(H1<L2)&&(H1<L) ) {
  3086. if ( (BL902*2<=BL903 || BL902==0) ) {
  3087.  
  3088. ObjectCreate(GetName("MS",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.9*Range*gap);
  3089. ObjectSetText(GetName("MS",shift), "MS", Text, "Times New Roman", Color_MS);
  3090. CumOffset = CumOffset+IncOffset;
  3091. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  3092. }
  3093. if (Show_MS_Alert) {
  3094. if (shift == 0 && Show_Alert == true) {
  3095. pattern="Abandoned Baby";
  3096. setalert = 1;
  3097. }
  3098. }
  3099. }
  3100. }
  3101.  
  3102. // Check for Morning Star Doji
  3103. if (Display_Morning_Stars_MDS == true) {
  3104. if ( (L1<L2||L1<L) && C>O && ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  3105. ((BodyLow2<(BodyLow3+3*point))&&(L2<=L3)&&(L2<=L4)&&(L2<=L5)&&(L2<=L6)&&(L2<=L7)&&(L2<=L8)&&(L2<=L9)) &&
  3106. (C2<O2) && (O1<=(C2+3*point)) && (O>=(C1-3*point)) && (C1<=(C2+3*point)) ) {
  3107. if ( (C>(C2+BL903*Star/100)) && (BL902==0 || BL902==1*point || BL902<=CL1/Doji) ) {
  3108.  
  3109. ObjectCreate(GetName("MDS",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.7*Range*gap);
  3110. ObjectSetText(GetName("MDS",shift), "MDS", Text, "Times New Roman", Color_MDS);
  3111. CumOffset = CumOffset+IncOffset;
  3112. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  3113. }
  3114. if (Show_MDS_Alert) {
  3115. if (shift == 0 && Show_Alert == true) {
  3116. pattern="Morning Star Doji";
  3117. setalert = 1;
  3118. }
  3119. }
  3120. }
  3121. }
  3122.  
  3123.  
  3124. // Check for Piercing Line pattern
  3125. if (Display_Piercing_Line_PL == true) {
  3126. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7))||
  3127. ( (L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8) )&&(C1<O1) ) {
  3128. if (C<O1&&(O<=(C1-pl_dcc*point))&&(C>(C1+BL902*DC/100))&& BL902>BL90/3 && BL90>UW ) {
  3129.  
  3130. ObjectCreate(GetName("PL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3131. ObjectSetText(GetName("PL",shift), "PL", Text, "Times New Roman", Color_PL);
  3132. CumOffset = CumOffset+IncOffset;
  3133. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3134. }
  3135. if (Show_PL_Alert) {
  3136. if (shift == 0 && Show_Alert == true) {
  3137. pattern="Piercing Line";
  3138. setalert = 1;
  3139. }
  3140. }
  3141. }
  3142. }
  3143.  
  3144.  
  3145. // Check for Bullish Engulfing pattern
  3146. if (Display_Engulfing_EG) {
  3147. if ( ((L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)&&(L1<=L7)&&(L1<=L8)) ||
  3148. ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)&&(L<=L6)&&(L<=L7)) ||
  3149. ( BodyLow1<=(BodyLow2+1*point) && BodyLow1<=BodyLow3 && BodyLow1<=BodyLow4 && BodyLow1<=BodyLow5 && BodyLow1<=BodyLow6 &&
  3150. BodyLow1<=BodyLow7 && BodyLow1<=BodyLow8 ) ) {
  3151. if ( (C1<=O1) && (O<=(C1+1*point))&&(C>=O1) && BL90>(BL902+1*point) && BL90>=CL/3) {
  3152.  
  3153. ObjectCreate(GetName("EG",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.0*Range*gap);
  3154. ObjectSetText(GetName("EG",shift), "EG", Text, "Times New Roman", Colorl_EG);
  3155. CumOffset = CumOffset+IncOffset;
  3156. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3157. }
  3158. if (Show_EG_Alert) {
  3159. if (shift == 0 && Show_Alert == true) {
  3160. pattern="Bullish Engulfing";
  3161. setalert = 1;
  3162. }
  3163. }
  3164. }
  3165. }
  3166.  
  3167. //Check for Bullish Belt-Hold Lines pattern
  3168. if (Display_Belt_Hold_Lines_BH) {
  3169. if ( ((L<=L1)&&(L<=L2)&&(L<=L3)&&(L<=L4)&&(L<=L5)) ||
  3170. ( (L1<=L2)&&(L1<=L3)&&(L1<=L4)&&(L1<=L5)&&(L1<=L6)) ||
  3171. (BodyLow1<=BodyLow2 && BodyLow1<=BodyLow3 && BodyLow1<=BodyLow4 && BodyLow1<=BodyLow5 && BodyLow1<=BodyLow6 ) ||
  3172. (BodyLow2<=BodyLow3 && BodyLow2<=BodyLow4 && BodyLow2<=BodyLow5 && BodyLow2<=BodyLow6 && BodyLow2<=BodyLow7 ) ) {
  3173. if ((LW<=BL90/30||(LW<2*point && LW<UW))&&(BL90>1.3*UW) && LW<UW/3||(UW<2*point&&LW<2*point) && C>O) {
  3174.  
  3175. ObjectCreate(GetName("BH",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3176. ObjectSetText(GetName("BH",shift), "BH", Text, "Times New Roman", Colorl_BH);
  3177. CumOffset = CumOffset+IncOffset;
  3178. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3179. }
  3180. if (Show_BH_Alert) {
  3181. if (shift == 0 && Show_Alert == true) {
  3182. pattern="Bullish Belt Hold Lines";
  3183. setalert = 1;
  3184. }
  3185. }
  3186. }
  3187. }
  3188. // End of Bullish Patterns
  3189. }
  3190.  
  3191. if (flat==true) {
  3192. if (Bear) {
  3193. // Bearish Patterns
  3194.  
  3195. // Check for meeting lines pattern
  3196. if (Display_meeting_lines_ML == true){
  3197. if ( C1>O1 && C<O && O>=(C1+CL1/2) && C>=(C1-CL1/10)&& C<=(C1+CL1/10) && BL90>=CL/3 && BL902>=CL1/3) {
  3198.  
  3199. ObjectCreate(GetName("ML",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3200. ObjectSetText(GetName("ML",shift1), "ML",Text, "Times New Roman", Colorh_ML);
  3201. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3202. }
  3203. }
  3204. // Check for separating line pattern
  3205. if (Display_separating_line_SL == true){
  3206. if ( C1>O1 && C<O && O>=(O1-1*point) && O<=(O1+CL1/10) && BL90>=CL/2 && BL902>=CL1/2) {
  3207.  
  3208. ObjectCreate(GetName("SL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3209. ObjectSetText(GetName("SL",shift1), "SL",Text, "Times New Roman", Colorh_SL);
  3210. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3211. }
  3212. }
  3213. // Check for Kicking pattern
  3214. if (Display_Kicking_K == true){
  3215. if ( C1>O1 && C<O && O<(O1-1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  3216.  
  3217. ObjectCreate(GetName("K",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3218. ObjectSetText(GetName("K",shift1), "K",Text, "Times New Roman", Colorh_K);
  3219. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3220. }
  3221. }
  3222. // Check for Breakaway pattern
  3223. if (Display_Breakaway_BW == true){
  3224. if ( C<O && C1>O1 && C3>O3 && C4>O4 && O3>(C4+bw*point) && BodyHigh3>C3 && C1>BodyHigh3 && C<O3 && BodyLow3>O3 && O1>=O3 &&
  3225. BL902<BL905 && BL903<BL905 && BL904<BL905) {
  3226.  
  3227. ObjectCreate(GetName("BW",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  3228. ObjectSetText(GetName("BW",shift1), "BW",Text, "Times New Roman", Colorh_BW);
  3229. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3230. }
  3231. }
  3232. // Check for upside gap two crows pattern
  3233.  
  3234. if (Display_two_crows_GTC == true){
  3235. if ( C<O && C1<O1 && C2>O2 && C1>(C2+gtc*point) && O>O1 && C<C1 && C>(C2+gtc*point) )
  3236. {
  3237. ObjectCreate(GetName("GTC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3238. ObjectSetText(GetName("GTC",shift1), "GTC",Text, "Times New Roman", Color_GTC);
  3239. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3240. }
  3241. if (Show_GTC_Alert && setalert == 0 && Show_Alert == true)
  3242. {
  3243. pattern="Upside Gap Two Crows";
  3244. setalert = 1;
  3245. }
  3246. }
  3247.  
  3248. // Check for upside two crows pattern
  3249.  
  3250. if (Display_two_crows_TC == true){
  3251. if ( C<O && C1<O1 && C2>O2 && C1>(C2+gtc*point) && O<O1 && O>C1 && C<C2 && C>O2 && L1>=(C2-BL903*0.618) )
  3252. {
  3253. ObjectCreate(GetName("TC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3254. ObjectSetText(GetName("TC",shift1), "TC",Text, "Times New Roman", Color_TC);
  3255. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3256. }
  3257. if (Show_TC_Alert && setalert == 0 && Show_Alert == true)
  3258. {
  3259. pattern="Upside Two Crows";
  3260. setalert = 1;
  3261. }
  3262. }
  3263. // Check for Tasuki pattern
  3264.  
  3265. if (Display_Tasuki_TG == true){
  3266. if ( O2>C2 && O1>C1 && O<C && O1<(C2-tasuki*point) && C<(C2-tasuki*point) && C>=O1 && O<O1 && O>C1 &&
  3267. BL903>=BL902/2 && H1<L2 && H<(C2+BL903/10) )
  3268. {
  3269. ObjectCreate(GetName("TG",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3270. ObjectSetText(GetName("TG",shift1), "TG",Text, "Times New Roman", Colorh_TG);
  3271. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3272. }
  3273. }
  3274. // Check for on neck pattern
  3275. if (Display_on_in_neck_thrusting_NL == true){
  3276. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=L2 && H1<H2 && C<C1 && BL902>(BL90==0 || BL90<=CL/Doji) )
  3277. {
  3278. ObjectCreate(GetName("NL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3279. ObjectSetText(GetName("NL",shift1), "NL",Text, "Times New Roman", Color_NL);
  3280. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3281. }
  3282. }
  3283. // Check for in neck pattern
  3284. if (Display_on_in_neck_thrusting_NL == true){
  3285. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=C2 && C1>=L2 && C<C1 && BL902>(BL90==0 || BL90<=CL/Doji) )
  3286. {
  3287. ObjectCreate(GetName("NL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3288. ObjectSetText(GetName("NL",shift1), "NL",Text, "Times New Roman", Color_NL);
  3289. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3290. }
  3291. }
  3292. // Check for thrusting pattern
  3293. if (Display_thrusting_TL == true){
  3294. if ( BL902>=2*CL1/Doji && O1<=(C2-pl_dcc*point) && BL903>=BL902 && O>C && C<O1 && O1<C1 && O2>C2 && C1<=(C2+BL903/2) && C1>C2 && C<C1 )
  3295. {
  3296. ObjectCreate(GetName("TL",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3297. ObjectSetText(GetName("TL",shift1), "TL",Text, "Times New Roman", Color_TL);
  3298. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3299. }
  3300. }
  3301. // Check for Three Outside Down pattern
  3302. if (Display_Three_Outside_To == true){
  3303. if ( (C2>O2)&&(O1>C1)&&(O1>=C2)&&(C1<=O2)&&((O1-C1)>(C2-O2))&&(O>C)&&(C<C1) )
  3304. {
  3305. ObjectCreate(GetName("To",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3306. ObjectSetText(GetName("To",shift1), "To",Text, "Times New Roman", Colorh_To);
  3307. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3308. }
  3309. }
  3310. // Check for Three Inside Down pattern
  3311. if (Display_Three_Inside_Ti == true){
  3312. if ( (C2>O2)&&(O1>C1)&&(O1<=(C2-tiud*point))&&((O2+tiud*point)<=C1)&&((O1-C1)<(C2-O2))&&(O>C)&&(O<O1)&&(C<O2) )
  3313. {
  3314. ObjectCreate(GetName("Ti",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3315. ObjectSetText(GetName("Ti",shift1), "Ti",Text, "Times New Roman", Colorh_Ti);
  3316. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3317. }
  3318. }
  3319. // Check for advance block pattern
  3320. if (Display_advance_block_Ab == true){
  3321. if ( (C2>O2)&&(C1>O1)&&(C1>C2)&&(C>O)&&(C>C1) /*&& UW2>LW2*0.8*/ && UW1>LW1 && UW>LW && BL902<BL903 && BL90<BL902)
  3322. {
  3323. ObjectCreate(GetName("Ab",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.3*Range*gap);
  3324. ObjectSetText(GetName("Ab",shift1), "Ab",Text, "Times New Roman", Color_Ab);
  3325. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3326. }
  3327. }
  3328. // Check for Three-line strike pattern
  3329. if (Display_Three_line_strike_TLS == true){
  3330. if ( C<O && C4<O4 && C3<O3 && O3<O4 && C3<C4 && C2<O2 && O2<O3 && C2<C3 && C1>O1 && C1>O4 && O1<(C2-TLS*point) ) {
  3331.  
  3332. ObjectCreate(GetName("TLS",shift1), OBJ_TEXT, 0, Time[shift2], High[shift2] + 1.5*Range*gap);
  3333. ObjectSetText(GetName("TLS",shift1), "TLS",Text, "Times New Roman", Colorh_TLS);
  3334. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  3335. }
  3336. }
  3337.  
  3338. // Check for Bearish Hanging man
  3339. if (Display_Hanging_HM == true) {
  3340. if ( (C1>=O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3341. if ( BL90<LW/tt && BL90>CL/Doji && (UW<LW/SS ) ) {
  3342.  
  3343. ObjectCreate(GetName("HM",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.5*Range*gap);
  3344. ObjectSetText(GetName("HM",shift), "HM", Text, "Times New Roman", Color_HM);
  3345. CumOffset = CumOffset+IncOffset;
  3346. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3347. }
  3348. }
  3349. }
  3350. // Check for Bearish Shooting ShootStar
  3351. if (Display_ShootStar_SS == true) {
  3352. if ( (C1>=O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3353. if ( BL90<UW/tt && BL90>CL/Doji && (LW<UW/SS ) ) {
  3354.  
  3355. ObjectCreate(GetName("SS",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1*Range*gap);
  3356. ObjectSetText(GetName("SS",shift), "SS", Text, "Times New Roman", Color_SS);
  3357. CumOffset = CumOffset+IncOffset;
  3358. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3359. }
  3360. }
  3361. }
  3362. // Check for Evening Star pattern
  3363. if (Display_Evening_Stars_ES == true) {
  3364. if ( (H1>H2||H1>H) && C<O && (H2>=H3 && H2>=H4 && H2>=H5)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3365. if ( (C2>O2)&&(O1>=(C2+gapStar*point))&&(O<=(C1-gapStar*point+3*point) && C1>O1) || (O<=(O1-gapStar*point+3*point) && C1<O1) &&
  3366. (C1>=(C2+gapStar*point)) ) {
  3367. if ( (BL903>BL902)&&(C<(C2-BL903*Star/100))&&(BL902>CL1/Doji)){
  3368.  
  3369. ObjectCreate(GetName("ES",shift), OBJ_TEXT, 0, Time[shift2], High[shift2] + Range*gap);
  3370. ObjectSetText(GetName("ES",shift), "ES", Text, "Times New Roman", Color_ES);
  3371. CumOffset = CumOffset+IncOffset;
  3372. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  3373. }
  3374. }
  3375. }
  3376. }
  3377.  
  3378. // Check for Evening Star Doji pattern
  3379. if (Display_Evening_Stars_EDS == true) {
  3380. if ( (H1>H2||H1>H) && C<O && (H2>=H3 && H2>=H4 && H2>=H5)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3381. if ( (C2>O2)&&(O1>=(C2-3*point))&& (O<=(C1+3*point)) && (C1>=(C2-3*point)) ) {
  3382. if ( (C<(C2-BL903*Star/100))&&(BL902==0 || BL902==1*point || BL902<=CL1/Doji)){
  3383.  
  3384. ObjectCreate(GetName("EDS",shift), OBJ_TEXT, 0, Time[shift2], High[shift2] + Range*gap);
  3385. ObjectSetText(GetName("EDS",shift), "EDS", Text, "Times New Roman", Color_EDS);
  3386. CumOffset = CumOffset+IncOffset;
  3387. downArrow[shift2] = High[shift2] + 0.2*Range*gap;
  3388. }
  3389. }
  3390. }
  3391. }
  3392.  
  3393. // Check for a Dark Cloud Cover pattern
  3394. if (Display_Dark_Cloud_Cover_DC == true) {
  3395. if ( (C1>O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3396. if (BL902>=CL1/3 && C>O1&&(O>=(C1+pl_dcc*point))&&(C<=(C1-BL902*DC/100)) && BL90>LW ) {
  3397.  
  3398. ObjectCreate(GetName("DC",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.4*Range*gap);
  3399. ObjectSetText(GetName("DC",shift), "DC", Text, "Times New Roman", Color_DC);
  3400. CumOffset = CumOffset+IncOffset;
  3401. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3402. }
  3403. }
  3404. }
  3405.  
  3406. // Check for a not completed dark cloud pattern
  3407. if (Display_not_completed_DC_NDC == true) {
  3408. if ( (C2>O2) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3409. if ( BL902>=2*CL1/Doji && O1>=H2||O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=(C2-BL903/2) && C1<C2 && C>C1 ) {
  3410.  
  3411. ObjectCreate(GetName("NDC",shift1), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3412. ObjectSetText(GetName("NDC",shift1), "NDC", Text, "Times New Roman", Color_NDC);
  3413. CumOffset = CumOffset+IncOffset;
  3414. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3415. }
  3416. }
  3417. }
  3418.  
  3419. // Check for Bearish Engulfing pattern
  3420. if (Display_Engulfing_EG == true) {
  3421. if ( (C1>=O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 && H1>=H4) ) {
  3422. if ((O>=(C1-1*point))&&(C<=O1) && BL90>(BL902+1*point) && BL90>=CL/3) {
  3423.  
  3424. ObjectCreate(GetName("EG",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + Range*gap);
  3425. ObjectSetText(GetName("EG",shift), "EG", Text, "Times New Roman", Color_EG);
  3426. CumOffset = CumOffset+IncOffset;
  3427. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3428. }
  3429. }
  3430. }
  3431. // Check for Belt-Hold Lines pattern
  3432. if (Display_Belt_Hold_Lines_BH) {
  3433. if ((UW<=BL90/30||(UW<2*point && UW<LW))&&(BL90>1.3*LW) && UW<LW/3||(UW<2*point&&LW<2*point) && C<O) {
  3434.  
  3435. ObjectCreate(GetName("BH",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + Range*gap);
  3436. ObjectSetText(GetName("BH",shift), "BH", Text, "Times New Roman", Color_BH);
  3437. CumOffset = CumOffset+IncOffset;
  3438. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3439. }
  3440. }
  3441. // Check for Harami pattern
  3442. if (Display_Harami_HI == true) {
  3443. if ( (C1>O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 ) ) {
  3444. if ( BL90>CL/Doji && (BodyLow1>(BodyLow2+Harami*point) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyHigh1<(BodyHigh2-Harami*point)) ||
  3445. (BodyHigh1<(BodyHigh2-Harami*point) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyLow1>(BodyLow2+Harami*point)) ) {
  3446.  
  3447. ObjectCreate(GetName("HI",shift), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  3448. ObjectSetText(GetName("HI",shift), "HI", Text, "Times New Roman", Color_HI);
  3449. CumOffset = CumOffset+IncOffset;
  3450. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3451. }
  3452. }
  3453. }
  3454.  
  3455. if (Display_Harami_HI == true) {
  3456. if ( (C1>O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 ) ) {
  3457. if ( ((BL90==1*point || BL90==0 || BL90<=CL/(Doji*1.0))&&(BodyLow1>=(BodyLow2+Harami_Ń*point))&&(BodyHigh1<=(BodyHigh2-Harami_Ń*point))) ) {
  3458.  
  3459. ObjectCreate(GetName("HIC",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  3460. ObjectSetText(GetName("HIC",shift1), "HIC", Text, "Times New Roman", Colorh_HI);
  3461. CumOffset = CumOffset+IncOffset;
  3462. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3463. }
  3464. }
  3465. }
  3466.  
  3467. if (Display_Harami_HI == true) {
  3468. if ( (C1>O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 ) ) {
  3469. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+BL902*(1-Harami_HL/100)))&&(BodyHigh1<=(BodyHigh2-Harami*point)) ) {
  3470.  
  3471. ObjectCreate(GetName("HHI",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  3472. ObjectSetText(GetName("HHI",shift1), "HHI", Text, "Times New Roman", Colorh_HI);
  3473. CumOffset = CumOffset+IncOffset;
  3474. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3475. }
  3476. }
  3477. }
  3478.  
  3479. if (Display_Harami_HI == true) {
  3480. if ( (C1>O1) && (H>=H1 && H>=H2 && H>=H3)||(H1>=H2 && H1>=H3 ) ) {
  3481. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+Harami*point))&&(BodyHigh1<=(BodyHigh2-BL902*(1-Harami_HL/100))) ) {
  3482.  
  3483. ObjectCreate(GetName("LHI",shift1), OBJ_TEXT, 0, Time[shift1], High[shift1] + 1.2*Range*gap);
  3484. ObjectSetText(GetName("LHI",shift1), "LHI", Text, "Times New Roman", Colorh_HI);
  3485. CumOffset = CumOffset+IncOffset;
  3486. downArrow[shift1] = High[shift1] + 0.2*Range*gap;
  3487. }
  3488. }
  3489. }
  3490. }
  3491. // End of Bearish Patterns
  3492.  
  3493. // Bullish Patterns
  3494. if (Bull) {
  3495. // Check for Concealing Baby Swallow pattern
  3496. if (Display_Con_ng_Baby_Swallow_CBS == true){
  3497. if ( O2>C2 && O1>C1 && O>C && O1<C2 && H1>C2 && O>=H1 && C<=(L1+CL1/10) && BL90>CL1 && BL902<BL903 && BL903>=CL2/3) {
  3498.  
  3499. ObjectCreate(GetName("CBS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3500. ObjectSetText(GetName("CBS",shift), "CBS",Text, "Times New Roman", Color_CBS);
  3501. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3502. }
  3503. }
  3504. // Check for meeting lines pattern
  3505. if (Display_meeting_lines_ML == true){
  3506. if ( C1<O1 && C>O && O<=(C1-CL1/2) && C<=(C1+CL1/10) && C>=(C1-CL1/10) && BL90>=CL/3 && BL902>=CL1/3) {
  3507.  
  3508. ObjectCreate(GetName("ML",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3509. ObjectSetText(GetName("ML",shift), "ML",Text, "Times New Roman", Colorl_ML);
  3510. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3511. }
  3512. }
  3513. // Check for separating line pattern
  3514. if (Display_separating_line_SL == true){
  3515. if ( C1<O1 && C>O && O>=(O1-CL1/10) && O<=(O1+1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  3516.  
  3517. ObjectCreate(GetName("SL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3518. ObjectSetText(GetName("SL",shift), "SL",Text, "Times New Roman", Colorl_SL);
  3519. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3520. }
  3521. }
  3522. // Check for Kicking pattern
  3523. if (Display_Kicking_K == true){
  3524. if ( C1<O1 && C>O && O>(O1+1*point) && BL90>=CL/2 && BL902>=CL1/2) {
  3525.  
  3526. ObjectCreate(GetName("K",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3527. ObjectSetText(GetName("K",shift), "K",Text, "Times New Roman", Colorl_K);
  3528. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3529. }
  3530. }
  3531. // Check for on neck pattern
  3532. if (Display_onin_neck_thrusting_iNL == true){
  3533. if ( BL902>=2*CL1/Doji && O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=H2 && L1>L2 && C>C1 )
  3534. {
  3535. ObjectCreate(GetName("iNL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3536. ObjectSetText(GetName("iNL",shift), "iNL",Text, "Times New Roman", Color_iNL);
  3537. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3538. }
  3539. }
  3540. // Check for on neck pattern
  3541. if (Display_onin_neck_thrusting_iNL == true){
  3542. if ( BL902>=2*CL1/Doji && O1>=(C2+pl_dcc*point) && BL903>=BL902 && O<C && C>O1 && O1>C1 && O2<C2 && C1>=C2 && C1<=H2 && C>C1 )
  3543. {
  3544. ObjectCreate(GetName("iNL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.5*Range*gap);
  3545. ObjectSetText(GetName("iNL",shift), "iNL",Text, "Times New Roman", Color_iNL);
  3546. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3547. }
  3548. }
  3549. // Check for Breakaway pattern
  3550. if (Display_Breakaway_BW == true){
  3551. if ( C>O && C1<O1 && C3<O3 && C4<O4 && O3<(C4-bw*point) && BodyLow3<C3 && C1<BodyLow3 && C>O3 && BodyHigh3<=O3 && O1<=O3 &&
  3552. BL902<BL905 && BL903<BL905 && BL904<BL905) {
  3553.  
  3554. ObjectCreate(GetName("BW",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3555. ObjectSetText(GetName("BW",shift), "BW",Text, "Times New Roman", Colorl_BW);
  3556. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3557. }
  3558. }
  3559. // Check for Stick Sandwich pattern
  3560. if (Display_Stick_Sandwich_StS == true){
  3561. if ( C<O && C1>O1 && C2<O2 && O1>=C2 && C1>=H2 && O>=C1 && C>=(C2-3*point) && C<=(C2+BL902/10) && C<C1 )
  3562. {
  3563. ObjectCreate(GetName("StS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3564. ObjectSetText(GetName("StS",shift), "StS",Text, "Times New Roman", Color_StS);
  3565. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3566. }
  3567. }
  3568. // Check for Tasuki pattern
  3569.  
  3570. if (Display_Tasuki_TG == true){
  3571. if ( O2<C2 && O1<C1 && O>C && O1>(C2+tasuki*point) && C>(C2+tasuki*point) && C<=O1 && O<C1 && O>O1 &&
  3572. L1>H2 && L>(C2-BL903/10) && BL903>=BL902/2 )
  3573. {
  3574. ObjectCreate(GetName("TG",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3575. ObjectSetText(GetName("TG",shift), "TG",Text, "Times New Roman", Colorl_TG);
  3576. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3577. }
  3578. if (Show_TG_Alert && setalert == 0 && Show_Alert == true)
  3579. {
  3580. pattern="Tasuki";
  3581. setalert = 1;
  3582. }
  3583. }
  3584. // Check for Three Outside Up pattern
  3585. if (Display_Three_Outside_To == true){
  3586. if ( (O2>C2)&&(C1>O1)&&(C1>O2)&&(C2>=O1)&&((C1-O1)>(O2-C2))&&(C>O)&&(C>C1) )
  3587. {
  3588. ObjectCreate(GetName("To",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3589. ObjectSetText(GetName("To",shift), "To",Text, "Times New Roman", Colorl_To);
  3590. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3591. }
  3592. }
  3593. // Check for Three Inside Up pattern
  3594. if (Display_Three_Inside_Ti == true){
  3595. if ( (O2>C2)&&(C1>O1)&&(C1<=(O2-tiud*point))&&((C2+tiud*point)<=O1)&&((C1-O1)<(O2-C2))&&(C>O)&&(O>O1)&&(C>O2) )
  3596. {
  3597. ObjectCreate(GetName("Ti",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3598. ObjectSetText(GetName("Ti",shift), "Ti",Text, "Times New Roman", Colorl_Ti);
  3599. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3600. }
  3601. }
  3602. // Check for Homing Pigeon pattern
  3603. if (Display_homing_pigeon_HP == true){
  3604. if ( (H2>H1) && (L2<L1) && (O2>C2)&&(C1<O1)&&(O1<=(O2-2*point))&&((C2+2*point)<=C1)&&((O1-C1)<(O2-C2))&&(C>O) && C>=O1 &&
  3605. BL902>=CL/3 && BL90>CL/Doji)
  3606. {
  3607. ObjectCreate(GetName("HP",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3608. ObjectSetText(GetName("HP",shift), "HP",Text, "Times New Roman", Color_HP);
  3609. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3610. }
  3611. }
  3612. // Check for Three-line strike pattern
  3613. if (Display_Three_line_strike_TLS == true){
  3614. if ( C>O && C4>O4 && C3>O3 && O3>O4 && C3>C4 && C2>O2 && O2>O3 && C2>C3 && C1<O1 && C1<O4 && O1>(C2+TLS*point) ) {
  3615.  
  3616. ObjectCreate(GetName("TLS",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - Range*1.5*gap);
  3617. ObjectSetText(GetName("TLS",shift), "TLS",Text, "Times New Roman", Colorl_TLS);
  3618. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3619. }
  3620. }
  3621.  
  3622. // Check for Bullish Hammer
  3623. if (Display_Hammer_HR == true) {
  3624. if ( (C1<=O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3625. if (/*BL90>=2*point &&*/ BL90<LW/tt && BL90>CL/Doji && (UW<LW/SS ) ) {
  3626.  
  3627. ObjectCreate(GetName("HR",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3628. ObjectSetText(GetName("HR",shift), "HR", Text, "Times New Roman", Color_HM);
  3629. CumOffset = CumOffset+IncOffset;
  3630. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3631. }
  3632. }
  3633. }
  3634. // Check for Bullish Inverted Hammer
  3635. if (Display_Inverted_Hammer_IH == true) {
  3636. if ( (C1<=O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3637. if (/*BL90>=2*point &&*/ BL90<UW/tt && BL90>CL/Doji && (LW<UW/SS ) ) {
  3638.  
  3639. ObjectCreate(GetName("IH",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3640. ObjectSetText(GetName("IH",shift), "IH", Text, "Times New Roman", Color_IH);
  3641. CumOffset = CumOffset+IncOffset;
  3642. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3643. }
  3644. }
  3645. }
  3646. // Check for Bullish Harami
  3647. if (Display_Harami_HI == true) {
  3648. if ( (C1<O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 /*&& L1<=L4*/) ) {
  3649. if ( BL90>CL/Doji && (BodyLow1>(BodyLow2+Harami*point) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyHigh1<(BodyHigh2-Harami*point)) ||
  3650. (BodyHigh1<(BodyHigh2-Harami*point) && BodyHigh1>(BodyHigh2-BL902*(1-Harami_HL/100)) && BodyLow1<(BodyLow2+BL902*(1-Harami_HL/100)) && BodyLow1>(BodyLow2+Harami*point)) ) {
  3651.  
  3652. ObjectCreate(GetName("HI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.2*Range*gap);
  3653. ObjectSetText(GetName("HI",shift), "HI", Text, "Times New Roman", Color_HI);
  3654. CumOffset = CumOffset+IncOffset;
  3655. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3656. }
  3657. }
  3658. }
  3659.  
  3660. if (Display_Harami_HI == true) {
  3661. if ( (C1<O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 /*&& L1<=L4*/) ) {
  3662. if ( ((BL90==1*point || BL90==0 || BL90<=CL/(Doji*1.0))&&(BodyLow1>=(BodyLow2+Harami_Ń*point))&&(BodyHigh1<=(BodyHigh2-Harami_Ń*point))) ) {
  3663.  
  3664. ObjectCreate(GetName("HIC",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.2*Range*gap);
  3665. ObjectSetText(GetName("HIC",shift), "HIC", Text, "Times New Roman", Colorl_HI);
  3666. CumOffset = CumOffset+IncOffset;
  3667. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3668. }
  3669. }
  3670. }
  3671.  
  3672. if (Display_Harami_HI == true) {
  3673. if ( (C1<O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 /*&& L1<=L4*/) ) {
  3674. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+BL902*(1-Harami_HL/100)))&&(BodyHigh1<=(BodyHigh2-Harami*point)) ) {
  3675.  
  3676. ObjectCreate(GetName("HHI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.2*Range*gap);
  3677. ObjectSetText(GetName("HHI",shift), "HHI", Text, "Times New Roman", Colorl_HI);
  3678. CumOffset = CumOffset+IncOffset;
  3679. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3680. }
  3681. }
  3682. }
  3683.  
  3684. if (Display_Harami_HI == true) {
  3685. if ( (C1<O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 /*&& L1<=L4*/) ) {
  3686. if ( BL90>CL/Doji&&(BodyLow1>=(BodyLow2+Harami*point))&&(BodyHigh1<=(BodyHigh2-BL902*(1-Harami_HL/100))) ) {
  3687.  
  3688. ObjectCreate(GetName("LHI",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 1.2*Range*gap);
  3689. ObjectSetText(GetName("LHI",shift), "LHI", Text, "Times New Roman", Colorl_HI);
  3690. CumOffset = CumOffset+IncOffset;
  3691. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3692. }
  3693. }
  3694. }
  3695.  
  3696. // Check for Morning Star
  3697. if (Display_Morning_Stars_MS == true) {
  3698. if ( (L1<L2||L1<L) && C>O && (L2<=L3 && L2<=L4 && L2<=L5)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3699. if ( (L1<=L2) && (C2<O2) && (C1<=(C2-gapStar*point)) && (O1<=(C2-gapStar*point)) &&
  3700. (O>=(C1+gapStar*point-3*point) && C1<O1) || (O>=(O1+gapStar*point) && C1>O1) ) {
  3701. if ( (BL903>BL902)&&(C>(C2+BL903*Star/100))&&(BL902>CL1/Doji)) {
  3702.  
  3703. ObjectCreate(GetName("MS",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.7*Range*gap);
  3704. ObjectSetText(GetName("MS",shift), "MS", Text, "Times New Roman", Color_MS);
  3705. CumOffset = CumOffset+IncOffset;
  3706. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  3707. }
  3708. }
  3709. }
  3710. }
  3711.  
  3712. // Check for Morning Star Doji
  3713. if (Display_Morning_Stars_MDS == true) {
  3714. if ( (L1<L2||L1<L) && C>O && (L2<=L3 && L2<=L4 && L2<=L5)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3715. if ( (L1<=L2) && (C2<O2) && (O1<=(C2+3*point)) && (O>=(C1-3*point)) && (C1<=(C2+3*point)) ) {
  3716. if ( (C>(C2+BL903*Star/100)) && (BL902==0 || BL902==1*point || BL902<=CL1/Doji) ) {
  3717.  
  3718. ObjectCreate(GetName("MDS",shift), OBJ_TEXT, 0, Time[shift2], Low[shift2] - 0.7*Range*gap);
  3719. ObjectSetText(GetName("MDS",shift), "MDS", Text, "Times New Roman", Color_MDS);
  3720. CumOffset = CumOffset+IncOffset;
  3721. upArrow[shift2] = Low[shift2] - 0.3*Range*gap;
  3722. }
  3723. }
  3724. }
  3725. }
  3726.  
  3727. // Check for Piercing Line pattern
  3728. if (Display_Piercing_Line_PL == true) {
  3729. if ( (C1<O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3730. if (C<O1&&(O<=(C1-pl_dcc*point))&&(C>(C1+BL902*DC/100))&& BL902>BL90/3 && BL90>UW ) {
  3731.  
  3732. ObjectCreate(GetName("PL",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3733. ObjectSetText(GetName("PL",shift), "PL", Text, "Times New Roman", Color_PL);
  3734. CumOffset = CumOffset+IncOffset;
  3735. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3736. }
  3737. }
  3738. }
  3739.  
  3740. // Check for Bullish Engulfing pattern
  3741. if (Display_Engulfing_EG) {
  3742. if ( (C1<=O1) && (L<=L1 && L<=L2 && L<=L3)||(L1<=L2 && L1<=L3 && L1<=L4) ) {
  3743. if ((O<=(C1+1*point))&&(C>=O1) && BL90>(BL902+1*point) && BL90>=CL/3) {
  3744.  
  3745. ObjectCreate(GetName("EG",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3746. ObjectSetText(GetName("EG",shift), "EG", Text, "Times New Roman", Color_EG);
  3747. CumOffset = CumOffset+IncOffset;
  3748. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3749. }
  3750. }
  3751. }
  3752. // Check for Bullish Belt-Hold Lines pattern
  3753. if (Display_Belt_Hold_Lines_BH) {
  3754. if ((LW<=BL90/30||(LW<2*point && LW<UW))&&(BL90>1.3*UW) && LW<UW/3||(UW<2*point&&LW<2*point) && C>O) {
  3755.  
  3756. ObjectCreate(GetName("BH",shift), OBJ_TEXT, 0, Time[shift1], Low[shift1] - 0.7*Range*gap);
  3757. ObjectSetText(GetName("BH",shift), "BH", Text, "Times New Roman", Color_BH);
  3758. CumOffset = CumOffset+IncOffset;
  3759. upArrow[shift1] = Low[shift1] - 0.3*Range*gap;
  3760. }
  3761. }
  3762. }
  3763. }
  3764. // End of Bullish Patterns
  3765.  
  3766. if (setalert == 1 && shift == 0) {
  3767. Alert(Symbol(), " ", period, " ", pattern);
  3768. setalert = 0;
  3769. }
  3770. CumOffset = 0;
  3771. } // End of for loop
  3772. if (doji) {
  3773. int LoopBegin;
  3774. //----
  3775. if (CountBars==0) LoopBegin=Bars-1;
  3776. else LoopBegin=CountBars-1;
  3777. LoopBegin=MathMin(Bars-25, LoopBegin);
  3778.  
  3779. for(shift=LoopBegin; shift>=0; shift--)
  3780. {
  3781. buf0[shift]=EMPTY_VALUE;
  3782. buf1[shift]=EMPTY_VALUE;
  3783. if (Close[shift]>=Open[shift] && (Close[shift]-Open[shift]<=1*point)||(Close[shift]-Open[shift]<=(High[shift]-Low[shift])/Doji) )
  3784. {
  3785. buf0[shift]=High[shift];
  3786. buf1[shift]=Low[shift];
  3787. }
  3788. if (Close[shift]<Open[shift] && (Open[shift]-Close[shift]<=1*point)||(Open[shift]-Close[shift]<=(High[shift]-Low[shift])/Doji) )
  3789. {
  3790. buf0[shift]=Low[shift];
  3791. buf1[shift]=High[shift];
  3792. }
  3793.  
  3794.  
  3795. if (Close[shift]>=Open[shift] && Close[shift]-Open[shift]<=(High[shift]-Low[shift])/Doji && High[shift]-Close[shift]<=(High[shift]-Low[shift])/11)
  3796. {
  3797. buf2[shift]=High[shift];
  3798. buf3[shift]=Low[shift];
  3799. }
  3800. if (Close[shift]<Open[shift] && Open[shift]-Close[shift]<=(High[shift]-Low[shift])/Doji && High[shift]-Open[shift]<=(High[shift]-Low[shift])/11)
  3801. {
  3802. buf2[shift]=Low[shift];
  3803. buf3[shift]=High[shift];
  3804. }
  3805. if (Close[shift]>=Open[shift] && Close[shift]-Open[shift]<=(High[shift]-Low[shift])/Doji && Open[shift]-Low[shift]<=(High[shift]-Low[shift])/11)
  3806. {
  3807. buf2[shift]=High[shift];
  3808. buf3[shift]=Low[shift];
  3809. }
  3810. if (Close[shift]<Open[shift] && Open[shift]-Close[shift]<=(High[shift]-Low[shift])/Doji && Close[shift]-Low[shift]<=(High[shift]-Low[shift])/11)
  3811. {
  3812. buf2[shift]=Low[shift];
  3813. buf3[shift]=High[shift];
  3814. }
  3815.  
  3816. if (High_Waves && Close[shift]>=Open[shift] && (Close[shift]-Open[shift]>(High[shift]-Low[shift])/Doji) && (Close[shift]-Open[shift]<(High[shift]-Low[shift])*13/Doji) &&
  3817. ((High[shift]-Close[shift])>1.9*(Close[shift]-Open[shift])) || ((Open[shift]-Low[shift])>1.9*(Close[shift]-Open[shift])) )
  3818. {
  3819. buf4[shift]=High[shift];
  3820. buf5[shift]=Low[shift];
  3821. }
  3822. if (High_Waves && Close[shift]<Open[shift] && (Open[shift]-Close[shift]>(High[shift]-Low[shift])/Doji) && (Open[shift]-Close[shift]<(High[shift]-Low[shift])*13/Doji) &&
  3823. ((High[shift]-Open[shift])>1.9*(Open[shift]-Close[shift])) || ((Close[shift]-Low[shift])>1.9*(Open[shift]-Close[shift])) )
  3824. {
  3825. buf4[shift]=Low[shift];
  3826. buf5[shift]=High[shift];
  3827. }
  3828.  
  3829. }
  3830. }
  3831.  
  3832. if (svod_bar == true) {
  3833.  
  3834. double mat;
  3835. string nameObj;
  3836. mat = MathAbs(barClose - barOpen);
  3837. int sh;
  3838. int sh1;
  3839. int sh2;
  3840. int sh3;
  3841. int sh4;
  3842. int sh5;
  3843. int sh7,color_sv;
  3844.  
  3845. sh1 = sh + barOpen;
  3846. sh2 = sh + barClose;
  3847.  
  3848. if (barClose>barOpen)
  3849. {
  3850. O1 = Open[sh2];
  3851. C2 = Close[sh1];
  3852. sh1 = sh + barOpen;
  3853. sh2 = sh + barClose;
  3854. sh3=Highest(NULL,0,MODE_HIGH,sh2-sh1+1,sh1);
  3855. sh4=Lowest(NULL,0,MODE_LOW,sh2-sh1+1,sh1);
  3856. sh7 = sh2 + 1;
  3857. sh5 = (sh1-sh2)/2 + sh2;
  3858. }
  3859. if (barClose<barOpen)
  3860. {
  3861. O1 = Open[sh1];
  3862. C2 = Close[sh2];
  3863.  
  3864. sh3=Highest(NULL,0,MODE_HIGH,sh1-sh2+1,sh2);
  3865. sh4=Lowest(NULL,0,MODE_LOW,sh1-sh2+1,sh2);
  3866. sh7 = sh1 + 1;
  3867.  
  3868. sh5 = (sh2-sh1)/2 + sh1;
  3869. }
  3870.  
  3871. sh3 = sh + sh3;
  3872. sh4 = sh + sh4;
  3873.  
  3874. H3 = High[sh3];
  3875. L4 = Low[sh4];
  3876. sh5 = sh + sh5;
  3877.  
  3878. if (O1>=C2) {
  3879. color_sv = indicator_color1;
  3880. }
  3881. if (O1<C2) {
  3882. color_sv = indicator_color2;
  3883. }
  3884.  
  3885. nameObj="#"+ExtComplect+"_"+"svod H3_L4";
  3886. ObjectDelete(nameObj);
  3887. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh5],H3,Time[sh5],L4);
  3888. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3889. ObjectSet(nameObj, OBJPROP_RAY, false);
  3890. ObjectSet(nameObj, OBJPROP_BACK, true);
  3891. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3892.  
  3893.  
  3894.  
  3895. if (barClose>barOpen) {
  3896. sh1 = sh + barOpen;
  3897. sh2 = sh + barClose;
  3898. }
  3899. if (barClose<barOpen) {
  3900. sh2 = sh + barOpen;
  3901. sh1 = sh + barClose;
  3902. }
  3903.  
  3904. if (pouring == true && (mat > 5 || mat == 2 || mat == 4) ) {
  3905. nameObj="#"+ExtComplect+"_"+"svod pouring";
  3906. ObjectDelete(nameObj);
  3907. ObjectCreate(nameObj,OBJ_RECTANGLE,0,Time[sh1],O1,Time[sh2],C2);
  3908. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3909. }
  3910.  
  3911. if (pouring == true && (mat == 1 || mat == 3 || mat == 5) ) {
  3912. nameObj="#"+ExtComplect+"_"+"svod pouring";
  3913. ObjectDelete(nameObj);
  3914. ObjectCreate(nameObj,OBJ_RECTANGLE,0,Time[sh1],O1,Time[sh7],C2);
  3915. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3916. }
  3917.  
  3918. if (pouring == false) {
  3919. if (mat > 0) {
  3920. nameObj="#"+ExtComplect+"_"+"svod O1_C2";
  3921. ObjectDelete(nameObj);
  3922. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh1],O1,Time[sh1],C2);
  3923. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3924. ObjectSet(nameObj, OBJPROP_RAY, false);
  3925. ObjectSet(nameObj, OBJPROP_BACK, true);
  3926. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3927. }
  3928.  
  3929. nameObj="#"+ExtComplect+"_"+"svod C2_C2";
  3930. ObjectDelete(nameObj);
  3931. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh1],C2,Time[sh2],C2);
  3932. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3933. ObjectSet(nameObj, OBJPROP_RAY, false);
  3934. ObjectSet(nameObj, OBJPROP_BACK, true);
  3935. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3936.  
  3937. if (mat > 5 || mat == 2 || mat == 4) {
  3938. nameObj="#"+ExtComplect+"_"+"svod C2_O1";
  3939. ObjectDelete(nameObj);
  3940. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh2],C2,Time[sh2],O1);
  3941. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3942. ObjectSet(nameObj, OBJPROP_RAY, false);
  3943. ObjectSet(nameObj, OBJPROP_BACK, true);
  3944. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3945. }
  3946.  
  3947. nameObj="#"+ExtComplect+"_"+"svod O1_O1";
  3948. ObjectDelete(nameObj);
  3949. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh1],O1,Time[sh2],O1);
  3950. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3951. ObjectSet(nameObj, OBJPROP_RAY, false);
  3952. ObjectSet(nameObj, OBJPROP_BACK, true);
  3953. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3954.  
  3955. if ( mat == 1 || mat == 3 || mat == 5) {
  3956.  
  3957. nameObj="#"+ExtComplect+"_"+"svod C2_C2_sh7";
  3958. ObjectDelete(nameObj);
  3959. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh2],C2,Time[sh7],C2);
  3960. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3961. ObjectSet(nameObj, OBJPROP_RAY, false);
  3962. ObjectSet(nameObj, OBJPROP_BACK, true);
  3963. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3964.  
  3965. nameObj="#"+ExtComplect+"_"+"svod C2_O1_sh7";
  3966. ObjectDelete(nameObj);
  3967. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh7],C2,Time[sh7],O1);
  3968. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3969. ObjectSet(nameObj, OBJPROP_RAY, false);
  3970. ObjectSet(nameObj, OBJPROP_BACK, true);
  3971. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3972.  
  3973. nameObj="#"+ExtComplect+"_"+"svod O1_O1_sh7";
  3974. ObjectDelete(nameObj);
  3975. ObjectCreate(nameObj,OBJ_TREND,0,Time[sh2],O1,Time[sh7],O1);
  3976. ObjectSet(nameObj, OBJPROP_WIDTH, 2);
  3977. ObjectSet(nameObj, OBJPROP_RAY, false);
  3978. ObjectSet(nameObj, OBJPROP_BACK, true);
  3979. ObjectSet(nameObj,OBJPROP_COLOR, color_sv);
  3980. }
  3981. }
  3982. }
  3983.  
  3984.  
  3985. if (bar50) {
  3986.  
  3987. int shh;
  3988. int shh1;
  3989. int shh2;
  3990. int shh3;
  3991. int shh4;
  3992. shh1 = shh + barN50;
  3993. shh2 = shh + barN51;
  3994. shh3 = shh + barN52;
  3995. shh4 = shh + barN53;
  3996. C1=Close[shh1];
  3997. O1=Open[shh1];
  3998. H1=High[shh1];
  3999. L1=Low[shh1];
  4000. C2=Close[shh2];
  4001. O2=Open[shh2];
  4002. H2=High[shh2];
  4003. L1=Low[shh1];
  4004. BodyHigh1=MathMax(C1,O1);
  4005. BodyLow1 =MathMin(C1,O1);
  4006. BodyHigh2=MathMax(C2,O2);
  4007. BodyLow2 =MathMin(C2,O2);
  4008. H1=(BodyHigh1-BodyLow1)*(barproc/100)+BodyLow1;
  4009. H2=(BodyHigh2-BodyLow2)*(barproc1/100)+BodyLow2;
  4010.  
  4011. nameObj="#"+ExtComplect+"_"+"barU1";
  4012. ObjectDelete(nameObj);
  4013. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh1],H1,Time[shh],H1);
  4014. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4015. ObjectSet(nameObj, OBJPROP_RAY, false);
  4016. ObjectSet(nameObj, OBJPROP_BACK, true);
  4017. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4018.  
  4019. nameObj="#"+ExtComplect+"_"+"barU2";
  4020. ObjectDelete(nameObj);
  4021. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh2],H2,Time[shh],H2);
  4022. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4023. ObjectSet(nameObj, OBJPROP_RAY, false);
  4024. ObjectSet(nameObj, OBJPROP_BACK, true);
  4025. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4026.  
  4027. }
  4028. if (HL) {
  4029.  
  4030. shh3 = shh + barN52;
  4031. shh4 = shh + barN53;
  4032.  
  4033. if (high52) {
  4034. nameObj="#"+ExtComplect+"_"+"barH1";
  4035. ObjectDelete(nameObj);
  4036. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh3],High[shh3],Time[shh],High[shh3]);
  4037. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4038. ObjectSet(nameObj, OBJPROP_RAY, false);
  4039. ObjectSet(nameObj, OBJPROP_BACK, true);
  4040. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4041. }
  4042. if (high53) {
  4043. nameObj="#"+ExtComplect+"_"+"barH2";
  4044. ObjectDelete(nameObj);
  4045. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh4],High[shh4],Time[shh],High[shh4]);
  4046. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4047. ObjectSet(nameObj, OBJPROP_RAY, false);
  4048. ObjectSet(nameObj, OBJPROP_BACK, true);
  4049. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4050. }
  4051. if (low52) {
  4052. nameObj="#"+ExtComplect+"_"+"barL1";
  4053. ObjectDelete(nameObj);
  4054. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh3],Low[shh3],Time[shh],Low[shh3]);
  4055. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4056. ObjectSet(nameObj, OBJPROP_RAY, false);
  4057. ObjectSet(nameObj, OBJPROP_BACK, true);
  4058. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4059. }
  4060. if (low53) {
  4061. nameObj="#"+ExtComplect+"_"+"barL2";
  4062. ObjectDelete(nameObj);
  4063. ObjectCreate(nameObj,OBJ_TREND,0,Time[shh4],Low[shh4],Time[shh],Low[shh4]);
  4064. ObjectSet(nameObj, OBJPROP_WIDTH, 0);
  4065. ObjectSet(nameObj, OBJPROP_RAY, false);
  4066. ObjectSet(nameObj, OBJPROP_BACK, true);
  4067. ObjectSet(nameObj,OBJPROP_COLOR, indicator_color3);
  4068. }
  4069. }
  4070.  
  4071.  
  4072. return(0);
  4073. }
  4074. //+------------------------------------------------------------------+
  4075.  
  4076. string GetName(string aName,int counted_bars)
  4077. {
  4078. return(aName+DoubleToStr(counted_bars,0));
  4079. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement