#property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Lime #property indicator_color2 Red double arr_global_76[]; extern int key = 111699999996; extern double Smooth = 1; double var_92 = 100; extern int bars = 1000; int var_104 = 0; extern int Progression = 3; extern int Len = 12; extern int Sensitivity = 30; int var_120 = 1; int var_124 = 0; double var_128 = 0; double var_136; double var_144; double var_152; double var_160; double var_168; double var_176; double var_184; double var_192; double var_200 = 0; int var_208; int var_212; int var_216; int var_220; int var_224; int var_228; int var_232; int var_236; int var_240; int var_244; int var_248; int var_252; int var_256 = 0; double var_260; double var_268; double var_276; double var_284; double var_292; double var_300; double var_308; double var_316; double var_324; double var_332; double var_340; double var_348; double var_356; double var_364; double var_372; double var_380; double var_388; double var_396; double var_404; double var_412; double var_420; double var_428; double var_436; double var_444; double var_452; double var_460 = 0; int var_468; int var_472; int var_476; int var_480; int var_484; int var_488 = 0; double arr_global_492[128]; double arr_global_496[128]; double arr_global_500[11]; double arr_global_504[62]; double arr_global_508[300]; int var_512; int var_516; int var_520; int var_524; int var_528; int var_532; double var_536; double var_544; int var_552; double arr_global_556[]; double arr_global_560[15000]; double arr_global_564[15000]; double var_568; double var_576 = 0; double var_584; double var_592; double var_600 = 0; //+------------------------------------------------------------------+ int init() { for (var_208 = 0; var_208 < 128; var_208++) arr_global_492[var_208] = 0.0; for (var_208 = 0; var_208 < 128; var_208++) arr_global_496[var_208] = 0.0; for (var_208 = 0; var_208 < 11; var_208++) arr_global_500[var_208] = 0.0; for (var_208 = 0; var_208 < 62; var_208++) arr_global_504[var_208] = 0.0; SetIndexStyle(0,DRAW_LINE,0,1); SetIndexBuffer(0,arr_global_76); SetIndexStyle(1,DRAW_LINE,0,1); SetIndexBuffer(1,arr_global_556); SetLevelValue(0,4); SetLevelValue(1,8); SetLevelValue(2,23); SetLevelValue(3,27); SetLevelValue(4,6); SetLevelValue(5,25); return(0); } //+------------------------------------------------------------------+ int start() { int var_start_0; int var_start_4; int var_start_8; switch (key) { case 34562788: loadJMA(); break; default: if (Bars > var_600) { var_600 = Bars; int var_start_16 = 0; for (int var_start_20 = 0; var_start_20 < bars; var_start_20++) { var_584 = 0; var_592 = 0; for (int var_start_24 = Len; var_start_24 <= Len + Progression * Sensitivity; var_start_24 = var_start_24 + Progression) { var_568 = iCustom(NULL,0,"UT_FAST",34562788,var_start_24,bars,0,var_start_20); var_576 = iCustom(NULL,0,"UT_FAST",34562788,var_start_24,bars,0,var_start_20 + 1); if (var_568 > var_576) var_584++; else var_592++; } arr_global_560[var_start_20] = var_584; arr_global_564[var_start_20] = var_592; } lenars(arr_global_560,1); lenars(arr_global_564,2); return(0); } } return(0); } //+------------------------------------------------------------------+ void loadJMA() { double var_loadJMA_0; var_220 = 63; var_224 = 64; if (var_120 == 1) { for (var_208 = 1; var_208 < var_220 + 1; var_208++) arr_global_492[var_208] = -1000000; for (var_208 = var_224; var_208 < 128; var_208++) arr_global_492[var_208] = 1000000; var_120 = 0; } var_468 = 1; if (Smooth <= 1.0) var_380 = 0.0000000001; else var_380 = (Smooth - 1.0) / 2; if (var_92 < -100.0) { var_268 = 0.5; } else if (var_92 > 100.0) { var_268 = 2.5; } else { var_268 = var_92 / 100 + 1.5; } var_144 = MathLog(MathSqrt(var_380)); var_152 = var_144; if ((var_144 / MathLog(2.0) + 2.0) < 0.0) var_160 = 0; else var_160 = var_152 / MathLog(2.0) + 2.0; var_404 = var_160; if ((var_404 - 2.0) >= 0.5) var_388 = var_404 - 2.0; else var_388 = 0.5; var_372 = MathSqrt(var_380) * var_404; var_396 = var_372 / (var_372 + 1.0); var_380 = var_380 * 0.9; var_332 = var_380 / (var_380 + 2.0); var_468 = 1; if (bars == 0) bars = Bars; for (var_124 = bars + 1000; var_124 >= 0; var_124--) { switch (var_104) { case 0: var_loadJMA_0 = Close[var_124]; break; case 1: var_loadJMA_0 = Open[var_124]; break; case 2: var_loadJMA_0 = (Open[var_124] + High[var_124] + Low[var_124] + Close[var_124]) / 4; break; case 3: var_loadJMA_0 = High[var_124]; break; case 4: var_loadJMA_0 = Low[var_124]; break; default:var_loadJMA_0 = Close[var_124]; } if (var_484 < 61) { var_484 = var_484 + 1; arr_global_504[var_484] = var_loadJMA_0; } if (var_484 > 30) { if (var_468 != 0) { var_468 = 0; var_212 = 0; for (var_208 = 1; var_208 < 30; var_208++) { if (arr_global_504[var_208 + 1] != arr_global_504[var_208]) var_212 = 1; } var_472 = var_212 * 30; if (var_472 == 0) var_308 = var_loadJMA_0; else var_308 = arr_global_504[1]; var_276 = var_308; if (var_472 > 29) var_472 = 29; } else { var_472 = 0; } for (var_208 = var_472; var_208 >= 0; var_208--) { if (var_208 == 0) var_260 = var_loadJMA_0; else var_260 = arr_global_504[31 - var_208]; var_292 = var_260 - var_276; var_324 = var_260 - var_308; if (MathAbs(var_292) > MathAbs(var_324)) var_152 = MathAbs(var_292); else var_152 = MathAbs(var_324); var_412 = var_152; var_136 = var_412 + 0.0000000001; if (var_236 <= 1) var_236 = 127; else var_236--; if (var_240 <= 1) var_240 = 10; else var_240--; if (var_256 < 128) var_256++; var_176 = var_176 + var_136 - arr_global_500[var_240]; arr_global_500[var_240] = var_136; if (var_256 > 10) var_200 = var_176 * 0.1; else var_200 = var_176 / var_256; if (var_256 == 30) var_516 = 0; if (var_256 > 127) { var_184 = arr_global_496[var_236]; arr_global_496[var_236] = var_200; var_252 = 64; var_244 = var_252; var_512 = var_244; while (var_252 > 1) { if (arr_global_492[var_244] < var_184) { var_252 = var_252 / 2; var_244 = var_244 + var_252; var_512 = var_244; } else { if (arr_global_492[var_244] <= var_184) { var_252 = 1; } else { var_252 = var_252 / 2; var_244 = var_244 - var_252; var_512 = var_244; } } } } else { arr_global_496[var_236] = var_200; if (var_220 + var_224 > 127) { var_224--; var_244 = var_224; var_512 = var_244; } else { var_220++; var_244 = var_220; var_512 = var_244; } if (var_220 > 96) var_228 = 96; else var_228 = var_220; if (var_224 < 32) var_232 = 32; else var_232 = var_224; } var_252 = 64; var_248 = var_252; while (var_252 > 1) { if (arr_global_492[var_248] >= var_200) { if (arr_global_492[var_248 - 1] <= var_200) { var_252 = 1; } else { var_252 = var_252 / 2; var_248 = var_248 - var_252; } } else { var_252 = var_252 / 2; var_248 = var_248 + var_252; } if ((var_248 == 127) && (var_200 > arr_global_492[127])) var_248 = 128; } if (var_256 > 127) { if (var_244 >= var_248) { if ((var_228 + 1 > var_248) && (var_232 - 1 < var_248)) { var_192 = var_192 + var_200; } else { if ((var_232 > var_248) && (var_232 - 1 < var_244)) { var_192 = var_192 + arr_global_492[var_232 - 1]; } } } else { if (var_232 >= var_248) { if ((var_228 + 1 < var_248) && (var_228 + 1 > var_244)) { var_192 = var_192 + arr_global_492[var_228 + 1]; } } else { if (var_228 + 2 > var_248) { var_192 = var_192 + var_200; } else { if ((var_228 + 1 < var_248) && (var_228 + 1 > var_244)) { var_192 = var_192 + arr_global_492[var_228 + 1]; } } } } if (var_244 > var_248) { if ((var_232 - 1 < var_244) && (var_228 + 1 > var_244)) { var_192 = var_192 - arr_global_492[var_244]; } else { if ((var_228 < var_244) && (var_228 + 1 > var_248)) { var_192 = var_192 - arr_global_492[var_228]; } } } else { if ((var_228 + 1 > var_244) && (var_232 - 1 < var_244)) { var_192 = var_192 - arr_global_492[var_244]; } else { if ((var_232 > var_244) && (var_232 < var_248)) { var_192 = var_192 - arr_global_492[var_232]; } } } } if (var_244 <= var_248) { if (var_244 >= var_248) { arr_global_492[var_248] = var_200; } else { for (var_516 = var_244 + 1; var_516 < var_248; var_516++) { arr_global_492[var_516 - 1] = arr_global_492[var_516]; } arr_global_492[var_248 - 1] = var_200; } } else { for (var_520 = var_244 - 1; var_520 >= var_248; var_520--) { arr_global_492[var_520 + 1] = arr_global_492[var_520]; } arr_global_492[var_248] = var_200; } if (var_256 <= 127) { var_192 = 0; for (var_528 = var_232; var_528 < var_228 + 1; var_528++) var_192 = var_192 + arr_global_492[var_528]; } var_348 = var_192 / (var_228 - var_232 + 1); if (var_488 + 1 > 31) var_488 = 31; else var_488++; if (var_488 <= 30) { if (var_292 > 0.0) var_276 = var_260; else var_276 = var_260 - var_292 * var_396; if (var_324 < 0.0) var_308 = var_260; else var_308 = var_260 - var_324 * var_396; var_436 = var_loadJMA_0; if (var_488 != 30) continue; var_444 = var_loadJMA_0; if (MathCeil(var_372) >= 1.0) var_168 = MathCeil(var_372); else var_168 = 1; var_480 = var_168; if (MathFloor(var_372) >= 1.0) var_152 = MathFloor(var_372); else var_152 = 1; var_476 = var_152; if (var_480 == var_476) { var_356 = 1; } else { var_168 = var_480 - var_476; var_356 = (var_372 - var_476) / var_168; } if (var_476 <= 29) var_212 = var_476; else var_212 = 29; if (var_480 <= 29) var_216 = var_480; else var_216 = 29; var_420 = (var_loadJMA_0 - arr_global_504[var_484 - var_212]) * (1 - var_356) / var_476 + (var_loadJMA_0 - arr_global_504[var_484 - var_216]) * var_356 / var_480; } else { if (var_404 >= MathPow(MathAbs(var_412 / var_348),var_388)) var_144 = MathPow(MathAbs(var_412 / var_348),var_388); else var_144 = var_404; if (var_144 < 1.0) { var_152 = 1.0; } else { if (var_404 >= MathPow(MathAbs(var_412 / var_348),var_388)) var_160 = MathPow(MathAbs(var_412 / var_348),var_388); else var_160 = var_404; var_152 = var_160; } var_340 = var_152; var_364 = MathPow(var_396,MathSqrt(var_340)); if (var_292 > 0.0) var_276 = var_260; else var_276 = var_260 - var_292 * var_364; if (var_324 < 0.0) var_308 = var_260; else var_308 = var_260 - var_324 * var_364; } } if (var_488 > 30) { var_300 = MathPow(var_332,var_340); var_444 = (1 - var_300) * var_loadJMA_0 + var_300 * var_444; var_452 = (var_loadJMA_0 - var_444) * (1 - var_332) + var_332 * var_452; var_460 = var_268 * var_452 + var_444; var_284 = var_300 * (-2.0); var_316 = var_300 * var_300; var_428 = var_284 + var_316 + 1.0; var_420 = (var_460 - var_436) * var_428 + var_316 * var_420; var_436 = var_436 + var_420; } } var_128 = var_436; arr_global_76[var_124] = var_128; } return; } //+------------------------------------------------------------------+ void lenars(double arr_lenars_0[], int inp_lenars_4) { double var_lenars_8; var_220 = 63; var_224 = 64; if (var_120 == 1) { for (var_208 = 1; var_208 < var_220 + 1; var_208++) arr_global_492[var_208] = -1000000; for (var_208 = var_224; var_208 < 128; var_208++) arr_global_492[var_208] = 1000000; var_120 = 0; } var_468 = 1; if (Smooth <= 1.0) var_380 = 0.0000000001; else var_380 = (Smooth - 1.0) / 2; if (var_92 < -100.0) { var_268 = 0.5; } else if (var_92 > 100.0) { var_268 = 2.5; } else { var_268 = var_92 / 100 + 1.5; } var_144 = MathLog(MathSqrt(var_380)); var_152 = var_144; if (var_144 / MathLog(2.0) + 2.0 < 0.0) var_160 = 0; else var_160 = var_152 / MathLog(2.0) + 2.0; var_404 = var_160; if (var_404 - 2.0 >= 0.5) var_388 = var_404 - 2.0; else var_388 = 0.5; var_372 = MathSqrt(var_380) * var_404; var_396 = var_372 / (var_372 + 1.0); var_380 = var_380 * 0.9; var_332 = var_380 / (var_380 + 2.0); var_468 = 1; if (bars == 0) bars = Bars; for (var_124 = bars + 30; var_124 >= 0; var_124--) { var_lenars_8 = arr_lenars_0[var_124]; if (var_484 < 61) { var_484 = var_484 + 1; arr_global_504[var_484] = var_lenars_8; } if (var_484 > 30) { if (var_468 != 0) { var_468 = 0; var_212 = 0; for (var_208 = 1; var_208 < 30; var_208++) { if (arr_global_504[var_208 + 1] != arr_global_504[var_208]) var_212 = 1; } var_472 = var_212 * 30; if (var_472 == 0) var_308 = var_lenars_8; else var_308 = arr_global_504[1]; var_276 = var_308; if (var_472 > 29) var_472 = 29; } else { var_472 = 0; } for (var_208 = var_472; var_208 >= 0; var_208--) { if (var_208 == 0) var_260 = var_lenars_8; else var_260 = arr_global_504[31 - var_208]; var_292 = var_260 - var_276; var_324 = var_260 - var_308; if (MathAbs(var_292) > MathAbs(var_324)) var_152 = MathAbs(var_292); else var_152 = MathAbs(var_324); var_412 = var_152; var_136 = var_412 + 0.0000000001; if (var_236 <= 1) var_236 = 127; else var_236--; if (var_240 <= 1) var_240 = 10; else var_240--; if (var_256 < 128) var_256++; var_176 = var_176 + var_136 - arr_global_500[var_240]; arr_global_500[var_240] = var_136; if (var_256 > 10) var_200 = var_176 * 0.1; else var_200 = var_176 / var_256; if (var_256 == 30) var_516 = 0; if (var_256 > 127) { var_184 = arr_global_496[var_236]; arr_global_496[var_236] = var_200; var_252 = 64; var_244 = var_252; var_512 = var_244; while (var_252 > 1) { if (arr_global_492[var_244] < var_184) { var_252 = var_252 / 2; var_244 = var_244 + var_252; var_512 = var_244; } else { if (arr_global_492[var_244] <= var_184) { var_252 = 1; } else { var_252 = var_252 / 2; var_244 = var_244 - var_252; var_512 = var_244; } } } } else { arr_global_496[var_236] = var_200; if (var_220 + var_224 > 127) { var_224--; var_244 = var_224; var_512 = var_244; } else { var_220++; var_244 = var_220; var_512 = var_244; } if (var_220 > 96) var_228 = 96; else var_228 = var_220; if (var_224 < 32) var_232 = 32; else var_232 = var_224; } var_252 = 64; var_248 = var_252; while (var_252 > 1) { if (arr_global_492[var_248] >= var_200) { if (arr_global_492[var_248 - 1] <= var_200) { var_252 = 1; } else { var_252 = var_252 / 2; var_248 = var_248 - var_252; } } else { var_252 = var_252 / 2; var_248 = var_248 + var_252; } if ((var_248 == 127) && (var_200 > arr_global_492[127])) var_248 = 128; } if (var_256 > 127) { if (var_244 >= var_248) { if ((var_228 + 1 > var_248) && (var_232 - 1 < var_248)) { var_192 = var_192 + var_200; } else { if ((var_232 > var_248) && (var_232 - 1 < var_244)) { var_192 = var_192 + arr_global_492[var_232 - 1]; } } } else { if (var_232 >= var_248) { if ((var_228 + 1 < var_248) && (var_228 + 1 > var_244)) { var_192 = var_192 + arr_global_492[var_228 + 1]; } } else { if (var_228 + 2 > var_248) { var_192 = var_192 + var_200; } else { if ((var_228 + 1 < var_248) && (var_228 + 1 > var_244)) { var_192 = var_192 + arr_global_492[var_228 + 1]; } } } } if (var_244 > var_248) { if ((var_232 - 1 < var_244) && (var_228 + 1 > var_244)) { var_192 = var_192 - arr_global_492[var_244]; } else { if ((var_228 < var_244) && (var_228 + 1 > var_248)) { var_192 = var_192 - arr_global_492[var_228]; } } } else { if ((var_228 + 1 > var_244) && (var_232 - 1 < var_244)) { var_192 = var_192 - arr_global_492[var_244]; } else { if ((var_232 > var_244) && (var_232 < var_248)) { var_192 = var_192 - arr_global_492[var_232]; } } } } if (var_244 <= var_248) { if (var_244 >= var_248) { arr_global_492[var_248] = var_200; } else { for (var_516 = var_244 + 1; var_516 < var_248; var_516++) arr_global_492[var_516 - 1] = arr_global_492[var_516]; arr_global_492[var_248 - 1] = var_200; } } else { for (var_520 = var_244 - 1; var_520 >= var_248; var_520--) arr_global_492[var_520 + 1] = arr_global_492[var_520]; arr_global_492[var_248] = var_200; } if (var_256 <= 127) { var_192 = 0; for (var_528 = var_232; var_528 < var_228 + 1; var_528++) var_192 = var_192 + arr_global_492[var_528]; } var_348 = var_192 / (var_228 - var_232 + 1); if (var_488 + 1 > 31) var_488 = 31; else var_488++; if (var_488 <= 30) { if (var_292 > 0.0) var_276 = var_260; else var_276 = var_260 - var_292 * var_396; if (var_324 < 0.0) var_308 = var_260; else var_308 = var_260 - var_324 * var_396; var_436 = var_lenars_8; if (var_488 != 30) continue; var_444 = var_lenars_8; if (MathCeil(var_372) >= 1.0) var_168 = MathCeil(var_372); else var_168 = 1; var_480 = var_168; if (MathFloor(var_372) >= 1.0) var_152 = MathFloor(var_372); else var_152 = 1; var_476 = var_152; if (var_480 == var_476) { var_356 = 1; } else { var_168 = var_480 - var_476; var_356 = (var_372 - var_476) / var_168; } if (var_476 <= 29) var_212 = var_476; else var_212 = 29; if (var_480 <= 29) var_216 = var_480; else var_216 = 29; var_420 = (var_lenars_8 - arr_global_504[var_484 - var_212]) * (1 - var_356) / var_476 + (var_lenars_8 - arr_global_504[var_484 - var_216]) * var_356 / var_480; } else { if (var_404 >= MathPow(MathAbs(var_412 / var_348),var_388)) var_144 = MathPow(MathAbs(var_412 / var_348),var_388); else var_144 = var_404; if (var_144 < 1.0) { var_152 = 1.0; } else { if (var_404 >= MathPow(MathAbs(var_412 / var_348),var_388)) var_160 = MathPow(MathAbs(var_412 / var_348),var_388); else var_160 = var_404; var_152 = var_160; } var_340 = var_152; var_364 = MathPow(var_396,MathSqrt(var_340)); if (var_292 > 0.0) var_276 = var_260; else var_276 = var_260 - var_292 * var_364; if (var_324 < 0.0) var_308 = var_260; else var_308 = var_260 - var_324 * var_364; } } if (var_488 > 30) { var_300 = MathPow(var_332,var_340); var_444 = (1 - var_300) * var_lenars_8 + var_300 * var_444; var_452 = (var_lenars_8 - var_444) * (1 - var_332) + var_332 * var_452; var_460 = var_268 * var_452 + var_444; var_284 = var_300 * (-2.0); var_316 = var_300 * var_300; var_428 = var_284 + var_316 + 1.0; var_420 = (var_460 - var_436) * var_428 + var_316 * var_420; var_436 = var_436 + var_420; } } var_128 = var_436; if (inp_lenars_4 == 1) arr_global_76[var_124] = var_128; else arr_global_556[var_124] = var_128; } return; }