#property indicator_chart_window #property indicator_buffers 3 #property indicator_color1 Red #property indicator_color2 Orange #property indicator_color3 Blue int gi_76 = 5; int gi_80 = 17; int gi_84 = 23; int gi_88 = 17; int g_period_92 = 40; int g_period_96 = 100; int g_period_100 = 137; int g_period_104 = 21; double gd_108 = 0.3; double gd_116 = 0.0; double gd_124 = 5.0; string gs_132 = ""; string gs_140 = ""; int gi_148; int gi_156; bool gi_172; bool gi_176; bool gi_180; bool gi_184; int gi_unused_188; double g_icustom_192; double g_icustom_200; double gd_208; double g_imacd_216; double g_imacd_224; double g_imacd_232; double g_imacd_240; double g_iopen_248; double g_iopen_256; double g_iclose_296; double g_iclose_304; double gd_312; double gd_320; double gd_328; double gd_336; double gd_344; double gd_352; double g_ima_360; int g_datetime_384; int g_day_of_week_388; int g_hour_392; int gi_396; int gi_400; int gi_404 = 1; double g_ibuf_408[]; double g_ibuf_412[]; double g_ibuf_416[]; int g_bars_420 = -1; int deinit() { Comment("KAIMIYA SYSTEM INDICATOR"); ObjectDelete("KAIMIYA SYSTEM INDICATOR"); return (0); } int init() { SetIndexStyle(0, DRAW_ARROW, STYLE_SOLID, 3); SetIndexStyle(1, DRAW_ARROW, STYLE_SOLID, 3); SetIndexStyle(2, DRAW_ARROW, STYLE_SOLID, 3); SetIndexArrow(0, 232); SetIndexArrow(1, 231); SetIndexArrow(2, 232); SetIndexBuffer(0, g_ibuf_408); SetIndexBuffer(1, g_ibuf_412); SetIndexBuffer(2, g_ibuf_416); return (0); } int start() { if (g_bars_420 == Bars) return (0); g_bars_420 = Bars; int li_0 = IndicatorCounted(); if (li_0 < 0) return (-1); if (li_0 > 0) li_0--; gi_400 = Bars - 1; if (li_0 >= 1) gi_400 = Bars - li_0 - 1; if (gi_400 < 0) gi_400 = 0; if (gi_404 == 1) { for (gi_396 = gi_400; gi_396 >= 1; gi_396--) { HideTestIndicators(TRUE); g_ima_360 = iMA(NULL, 0, g_period_104, 0, MODE_SMA, PRICE_CLOSE, gi_396); gi_unused_188 = iMA(NULL, 0, g_period_104, 0, MODE_SMA, PRICE_CLOSE, gi_396 + 1); gd_312 = NormalizeDouble(g_ima_360 + 1.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_320 = NormalizeDouble(g_ima_360 + 2.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_328 = NormalizeDouble(g_ima_360 + 4.236 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_336 = NormalizeDouble(g_ima_360 - 1.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_344 = NormalizeDouble(g_ima_360 - 2.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_352 = NormalizeDouble(g_ima_360 - 4.236 * iATR(NULL, 0, g_period_104, gi_396), Digits); g_imacd_224 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_MAIN, gi_396 + 1); g_imacd_240 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_SIGNAL, gi_396 + 1); g_imacd_216 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_MAIN, gi_396); g_imacd_232 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_SIGNAL, gi_396); g_icustom_192 = iCustom(NULL, 0, "Ind1", 0, gi_396 + 1); g_icustom_200 = iCustom(NULL, 0, "Ind2", 0, gi_396 + 1); g_datetime_384 = iTime(NULL, 0, gi_396); g_hour_392 = TimeHour(g_datetime_384); g_day_of_week_388 = TimeDayOfWeek(g_datetime_384); if (gi_180 == FALSE && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) gi_180 = TRUE; if (gi_148 == 2) if (g_iopen_256 > iClose(NULL, 0, gi_396 + 1) && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) gi_148 = 3; if (gi_148 == 3 && g_icustom_200 < iClose(NULL, 0, gi_396 + 1) && gi_180 == TRUE) { if (g_iopen_256 < iClose(NULL, 0, gi_396 + 1) && g_iopen_256 + gd_124 > iClose(NULL, 0, gi_396 + 1)) gi_180 = FALSE; else { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; } } if (gi_148 == 2 || gi_148 == 3 && g_icustom_192 < iClose(NULL, 0, gi_396 + 1)) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; } if (gi_148 == 2 || gi_148 == 3 && g_day_of_week_388 == gi_76 && g_hour_392 == gi_80) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; } if (gi_184 == FALSE && g_icustom_200 < iClose(NULL, 0, gi_396 + 1)) gi_184 = TRUE; if (gi_156 == 2) if (g_iopen_248 < iClose(NULL, 0, gi_396 + 1) && g_icustom_200 < iClose(NULL, 0, gi_396 + 1)) gi_156 = 3; if (gi_156 == 3 && g_icustom_200 > iClose(NULL, 0, gi_396 + 1) && gi_184 == TRUE) { if (g_iopen_248 > iClose(NULL, 0, gi_396 + 1) && g_iopen_248 - gd_124 < iClose(NULL, 0, gi_396 + 1)) gi_184 = FALSE; else { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; } } if (gi_156 == 2 || gi_156 == 3 && g_icustom_192 > iClose(NULL, 0, gi_396 + 1)) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; } if (gi_156 == 2 || gi_156 == 3 && g_hour_392 == gi_80 && g_day_of_week_388 == gi_76) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; } if (gi_148 == 4 && g_icustom_192 < g_icustom_200) gi_148 = 0; if (gi_156 == 4 && g_icustom_192 > g_icustom_200) gi_156 = 0; if (gi_172 == FALSE && g_icustom_192 > iClose(NULL, 0, gi_396 + 1)) { gi_172 = TRUE; gi_176 = FALSE; g_iclose_304 = iClose(NULL, 0, gi_396 + 1); } if (gi_148 == 0 && g_imacd_224 < g_imacd_240) gi_148 = 1; if (gi_148 == 1 && g_imacd_224 > g_imacd_240) gi_148 = 0; if (gi_176 == FALSE && g_icustom_192 < iClose(NULL, 0, gi_396 + 1)) { gi_176 = TRUE; gi_172 = FALSE; g_iclose_296 = iClose(NULL, 0, gi_396 + 1); } if (gi_156 == 0 && g_imacd_224 > g_imacd_240) gi_156 = 1; if (gi_156 == 1 && g_imacd_224 < g_imacd_240) gi_156 = 0; if (g_hour_392 >= 16 && g_hour_392 <= 22) continue; if (gi_172 == TRUE && gi_148 == 1 && g_icustom_192 > iClose(NULL, 0, gi_396 + 1) && gd_336 < iClose(NULL, 0, gi_396 + 1) && g_iclose_304 - gd_116 < iClose(NULL, 0, gi_396 + 1) && g_iclose_304 + gd_108 > iClose(NULL, 0, gi_396 + 1) && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) { g_ibuf_408[gi_396] = iClose(NULL, 0, gi_396 + 1); g_iopen_256 = iOpen(NULL, 0, gi_396); gi_148 = 2; gi_180 = TRUE; } if (gi_176 == TRUE && gi_156 == 1 && g_icustom_192 < iClose(NULL, 0, gi_396 + 1) && gd_312 > iClose(NULL, 0, gi_396 + 1) && g_iclose_296 + gd_116 > iClose(NULL, 0, gi_396 + 1) && g_iclose_296 - gd_108 < iClose(NULL, 0, gi_396 + 1) && g_icustom_200 < iClose(NULL, 0, gi_396 + 1)) { g_ibuf_416[gi_396] = iClose(NULL, 0, gi_396 + 1); g_iopen_248 = iOpen(NULL, 0, gi_396); gi_156 = 2; gi_184 = TRUE; } } gi_404 = 2; } for (gi_396 = gi_400; gi_396 >= 0; gi_396--) { HideTestIndicators(TRUE); g_ima_360 = iMA(NULL, 0, g_period_104, 0, MODE_SMA, PRICE_CLOSE, gi_396); gi_unused_188 = iMA(NULL, 0, g_period_104, 0, MODE_SMA, PRICE_CLOSE, gi_396 + 1); gd_312 = NormalizeDouble(g_ima_360 + 1.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_320 = NormalizeDouble(g_ima_360 + 2.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_328 = NormalizeDouble(g_ima_360 + 4.236 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_336 = NormalizeDouble(g_ima_360 - 1.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_344 = NormalizeDouble(g_ima_360 - 2.618 * iATR(NULL, 0, g_period_104, gi_396), Digits); gd_352 = NormalizeDouble(g_ima_360 - 4.236 * iATR(NULL, 0, g_period_104, gi_396), Digits); g_imacd_224 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_MAIN, gi_396 + 1); g_imacd_240 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_SIGNAL, gi_396 + 1); g_imacd_216 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_MAIN, gi_396); g_imacd_232 = iMACD(NULL, 0, g_period_92, g_period_96, g_period_100, PRICE_CLOSE, MODE_SIGNAL, gi_396); g_icustom_192 = iCustom(NULL, 0, "Ind1", 0, gi_396 + 1); g_icustom_200 = iCustom(NULL, 0, "Ind2", 0, gi_396 + 1); g_datetime_384 = iTime(NULL, 0, gi_396); g_hour_392 = TimeHour(g_datetime_384); g_day_of_week_388 = TimeDayOfWeek(g_datetime_384); if (gi_396 == 0) { if (gi_180 == FALSE && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) gi_180 = TRUE; if (gi_148 == 2) if (g_iopen_256 > iClose(NULL, 0, gi_396 + 1) && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) gi_148 = 3; if (gi_148 == 3 && g_icustom_200 < iClose(NULL, 0, gi_396 + 1) && gi_180 == TRUE) { if (g_iopen_256 < iClose(NULL, 0, gi_396 + 1) && g_iopen_256 + gd_124 > iClose(NULL, 0, gi_396 + 1)) gi_180 = FALSE; else { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; gs_132 = "BASIC CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",BASIC CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Basic Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } } if (gi_148 == 2 || gi_148 == 3 && g_icustom_192 < iClose(NULL, 0, gi_396 + 1)) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; gs_132 = "STOP CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",STOP CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Stop Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } if (gi_148 == 2 || gi_148 == 3 && g_day_of_week_388 == gi_76 && g_hour_392 == gi_80) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_148 = 4; gs_132 = "WEEKEND CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",WEEKEND CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Weekend Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } if (gi_184 == FALSE && gd_208 < iClose(NULL, 0, gi_396 + 1)) gi_184 = TRUE; if (gi_156 == 2) if (g_iopen_248 < iClose(NULL, 0, gi_396 + 1) && g_icustom_200 < iClose(NULL, 0, gi_396 + 1)) gi_156 = 3; if (gi_156 == 3 && g_icustom_200 > iClose(NULL, 0, gi_396 + 1) && gi_184 == TRUE) { if (g_iopen_248 > iClose(NULL, 0, gi_396 + 1) && g_iopen_248 - gd_124 < iClose(NULL, 0, gi_396 + 1)) gi_184 = FALSE; else { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; gs_132 = "BASIC CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",BASIC CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Basic Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } } if (gi_156 == 2 || gi_156 == 3 && g_icustom_192 > iClose(NULL, 0, gi_396 + 1)) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; gs_132 = "STOP CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",STOP CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Stop Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } if (gi_156 == 2 || gi_156 == 3 && g_hour_392 == gi_80 && g_day_of_week_388 == gi_76) { g_ibuf_412[gi_396] = iClose(NULL, 0, gi_396 + 1); gi_156 = 4; gs_132 = "WEEKEND CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",WEEKEND CLOSE:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Weekend Close price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } if (gi_148 == 4 && g_icustom_192 < g_icustom_200) gi_148 = 0; if (gi_156 == 4 && g_icustom_192 > g_icustom_200) gi_156 = 0; if (gi_172 == FALSE && g_icustom_192 > iClose(NULL, 0, gi_396 + 1)) { gi_172 = TRUE; gi_176 = FALSE; g_iclose_304 = iClose(NULL, 0, gi_396 + 1); } if (gi_148 == 0 && g_imacd_224 < g_imacd_240) gi_148 = 1; if (gi_148 == 1 && g_imacd_224 > g_imacd_240) gi_148 = 0; if (gi_176 == FALSE && g_icustom_192 < iClose(NULL, 0, gi_396 + 1)) { gi_176 = TRUE; gi_172 = FALSE; g_iclose_296 = iClose(NULL, 0, gi_396 + 1); } if (gi_156 == 0 && g_imacd_224 > g_imacd_240) gi_156 = 1; if (gi_156 == 1 && g_imacd_224 < g_imacd_240) gi_156 = 0; if (g_hour_392 >= gi_88 && g_hour_392 <= gi_84) continue; if (gi_172 == TRUE && gi_148 == 1 && g_icustom_192 > iClose(NULL, 0, gi_396 + 1) && gd_336 < iClose(NULL, 0, gi_396 + 1) && g_iclose_304 - gd_116 < iClose(NULL, 0, gi_396 + 1) && g_iclose_304 + gd_108 > iClose(NULL, 0, gi_396 + 1) && g_icustom_200 > iClose(NULL, 0, gi_396 + 1)) { g_ibuf_408[gi_396] = iClose(NULL, 0, gi_396 + 1); g_iopen_256 = iOpen(NULL, 0, gi_396); gi_148 = 2; gi_180 = TRUE; gs_132 = "SELL:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",SELL:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Sell price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } if (gi_176 == TRUE && gi_156 == 1 && g_icustom_192 < iClose(NULL, 0, gi_396 + 1) && gd_312 > iClose(NULL, 0, gi_396 + 1) && g_iclose_296 + gd_116 > iClose(NULL, 0, gi_396 + 1) && g_iclose_296 - gd_108 < iClose(NULL, 0, gi_396 + 1) && g_icustom_200 < iClose(NULL, 0, gi_396 + 1)) { g_ibuf_416[gi_396] = iClose(NULL, 0, gi_396 + 1); g_iopen_248 = iOpen(NULL, 0, gi_396); gi_156 = 2; gi_184 = TRUE; gs_132 = "BUY:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); gs_140 = "KAMIYA SYSTEM:" + Symbol() + ",BUY:" + DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2); SendMail(gs_132, gs_140); Alert("Buy price coming ", DoubleToStr(NormalizeDouble(iClose(NULL, 0, gi_396 + 1), 2), 2)); } } } return (0); }