سلام خدمت دوستان عزیز
کسانی که روش تحلیلی ویلیامز - ایمز رو کار می کنند اطلاع دارند که شرط های اولیه برای ورود به یک نماد, فشردگی خطوط Alligator و در مرحله بعد شکسته شدن فرکتال هستش.
پیدا کردن نمادهایی که این دو شرط رو دارند خیلی سخت هستش چرا که تعداد بسیار زیادی نماد داریم.
بخاطر همین یک فیلتر درست کردم که شرایط فشردگی خطوط Alligator و شکست فرکتال رو به صورت تقریبی نمایش میده.
برای این فیلتر یک فیلد ایجاد کنید و اسمش رو فشردگی و مقدارش رو هم بزارید (cfield0) و یک فیلد دیگه هم ایجاد کنید و اسمش رو بزارید فرکتال و مقدارش رو هم بزارید (cfield1).
بعد از اون فیلتر رو فعال کنید و در فیلدهای ساخته شده به شما نمایش داده میشه که آیا خطوط به صورت تقریبی فشرده هستند یا خیر و اینکه آیا فرکتالی شکسته شده است یا خیر.
کد:// Coded By: @ITheEqualizer true==function() { var i; // Moving Average - Period: 5 Days var t = 5; var fi = 0; for (i = 0; i < 4; i++) { fi = fi + ([ih][i].PClosing * t); t = t - 1; } var mfi = fi / (1 + 2 + 3 + 4 + 5); // Moving Average - Period: 8 Days var t = 8; var ei = 0; for (i = 0; i < 7; i++) { ei = ei + ([ih][i].PClosing * t); t = t - 1; } var mei = ei / (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8); // Moving Average - Period: 13 Days var t = 13; var th = 0; for (i = 0; i < 12; i++) { th = th + ([ih][i].PClosing * t); t = t - 1; } var mth = th / (1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13); // Checking MAs var m = (mei - mfi) / mei; var k = (mei - mth) / mei; if (m >= -0.02 && m <= 0.02 && k >= -0.02 && k <= 0.02) { (cfield0) = "فشرده"; } else { (cfield0) = "غیرفشرده"; } // High Fractal var h = [ih][5].PClosing; for (i = 0; i < 4; i++) { if ([ih][i].PClosing > h) { h = [ih][i].PClosing; } } // Low Fractal var l = [ih][5].PClosing; for (i = 0; i < 4; i++) { if ([ih][i].PClosing < l) { l = [ih][i].PClosing; } } // Checking Fractals if (h < (pc)) { (cfield1) = "صعودی"; } else if (l > (pc)) { (cfield1) = "نزولی"; } else { (cfield1) = "بدون تغییر"; } return true; }()