#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,var_124 = 0; double var_128 = 0,var_136,var_144,var_152,var_160,var_168,var_176,var_184,var_192,var_200 = 0; int var_208,var_212,var_216,var_220,var_224,var_228,var_232,var_236,var_240,var_244; int var_248,var_252,var_256 = 0; int var_512,var_516,var_520,var_524,var_528,var_532,var_552; int var_468,var_472,var_476,var_480,var_484,var_488 = 0; double var_260,var_268,var_276,var_284,var_292,var_300,var_308,var_316,var_324,var_332; double var_340,var_348,var_356,var_364,var_372,var_380,var_388,var_396,var_404,var_412; double var_420,var_428,var_436,var_444,var_452,var_460 = 0,var_536,var_544; 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]; double arr_global_556[]; double arr_global_560[15000]; double arr_global_564[15000]; double var_568,var_576 = 0,var_584,var_592,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,var_start_4,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_FAST1",34562788,var_start_24,bars,0,var_start_20); var_576 = iCustom(NULL,0,"UT_FAST1",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; }
Sample
Analysis
Market Information Used:
Series array that contains close prices for each bar
Series array that contains open prices of each bar
Series array that contains the highest prices of each bar
Series array that contains the lowest prices of each bar
Indicator Curves created:
Implements a curve of type DRAW_LINE
Indicators Used:
Custom Indicators Used:
UT_FAST1
Order Management characteristics:
Other Features: