#4x 2010 xard time signal-b.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «#4x 2010 xard time signal-b.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, отображаемый в отдельном окне. Он построен на основе сглаженной скользящей средней (SMMA) и включает систему обнаружения ценовых циклов с фильтрацией.
Индикатор рассчитывает несколько буферов данных: два гистограммных буфера отображают визуальные сигналы, остальные буферы используются для внутренних вычислений и маркировки точек пересечения. Применяется алгоритм нулевого лага (ZeroLag) для уменьшения задержки фильтрации.
Продукт предоставляет настраиваемые параметры выбора типа фильтра (SMA или RSI), его силы, а также возможность включения циклического фильтра для уточнения сигналов.
Настройки программы
| Настройка | Описание |
|---|---|
| PriceActionFilter | Период сглаженной скользящей средней (SMMA), используемой для расчёта ценового действия. |
| Length | Множитель для расчёта средней амплитуды ценового диапазона. |
| MajorCycleStrength | Множитель силы основного цикла, определяющий порог обнаружения циклических разворотов. |
| UseCycleFilter | Переключатель включения или отключения циклического фильтра. |
| UseFilterSMAorRSI | Тип фильтра: 1 — фильтр на основе SMA с нулевым лагом, 2 — фильтр на основе RSI. |
| FilterStrengthSMA | Глубина сглаживания фильтра при использовании SMA с нулевым лагом. |
| FilterStrengthRSI | Глубина сглаживания фильтра при использовании RSI. |
Поиск по коду файла
#property indicator_separate_window
#property indicator_minimum -1.0
#property indicator_maximum 1.0
#property indicator_buffers 6
#property indicator_color1 Black
#property indicator_color2 Aqua
#property indicator_width2 4
#property indicator_color3 Crimson
#property indicator_width3 4
#property indicator_color4 Black
#property indicator_color5 Black
#property indicator_color6 Black
extern int PriceActionFilter = 1;
extern int Length = 4;
extern int MajorCycleStrength = 4;
extern bool UseCycleFilter = FALSE;
extern int UseFilterSMAorRSI = 1;
extern int FilterStrengthSMA = 12;
extern int FilterStrengthRSI = 21;
double g_ibuf_104[];
double g_ibuf_108[];
double g_ibuf_112[];
double g_ibuf_116[];
double g_ibuf_120[];
double g_ibuf_124[];
double g_ima_128 = 0.0;
double gd_136 = 0.0;
double gd_144 = 0.0;
double gd_152 = 0.0;
int gi_160 = 0;
int gi_164 = 0;
int gi_168 = 0;
int gi_172 = 0;
int gi_176 = 0;
int gi_unused_180 = 0;
int gi_unused_184 = 0;
int gi_unused_188 = 0;
int gi_unused_192 = 0;
double g_applied_price_196 = 0.0;
double g_applied_price_204 = 0.0;
int gi_212 = 1;
int gi_216 = 1;
double g_applied_price_220 = 0.0;
double g_applied_price_228 = 0.0;
int gi_236 = 0;
int gi_240 = 0;
bool gi_244 = TRUE;
bool gi_248 = FALSE;
bool gi_252 = FALSE;
bool gi_256 = FALSE;
bool gi_260 = FALSE;
int gi_264 = 1;
int gi_268;
int gi_272;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
int l_count_0;
int li_4;
int li_8;
double l_ima_12;
double l_ima_20;
double l_ima_28;
double l_ima_36;
int l_ind_counted_44 = IndicatorCounted();
if (l_ind_counted_44 < 0) return (-1);
int li_48 = Bars - l_ind_counted_44;
if (li_48 < 0) li_48 = 0;
int li_52 = 250;
double ld_56 = 0.0;
double ld_64 = 0.0;
for (int li_72 = li_48; li_72 >= 0; li_72--) {
ld_64 = 0.0;
l_count_0 = 0;
for (int l_count_76 = 0; l_count_76 < li_52; l_count_76++) {
l_count_0++;
li_4 = li_72 + l_count_76;
if (li_4 >= Bars) break;
ld_64 += High[li_4] - Low[li_4];
}
ld_56 = ld_64 / l_count_0 * Length;
li_8 = Bars - li_72;
if (li_8 < 0) li_8 = 0;
g_ima_128 = iMA(NULL, 0, PriceActionFilter, 0, MODE_SMMA, PRICE_CLOSE, li_72);
if (UseFilterSMAorRSI == 1) g_ibuf_124[li_72] = ZeroLag(g_ima_128, FilterStrengthSMA, li_72);
if (UseFilterSMAorRSI == 2) g_ibuf_124[li_72] = ZeroLag(iRSI(NULL, 0, 14, g_ima_128, FilterStrengthRSI), FilterStrengthRSI, li_72);
if (g_ibuf_124[li_72] > g_ibuf_124[li_72 + 1]) gi_176 = 1;
if (g_ibuf_124[li_72] < g_ibuf_124[li_72 + 1]) gi_176 = 2;
if (li_8 <= 1) {
if (gd_136 == 0.0) gd_144 = ld_56;
else gd_144 = gd_136;
g_applied_price_196 = g_ima_128;
g_applied_price_220 = g_ima_128;
}
if (li_8 > 1) {
if (gi_160 > -1) {
if (g_ima_128 < g_applied_price_196) {
if (UseCycleFilter && gi_176 == 2 && gi_248) {
g_ibuf_116[li_72 + li_8 - gi_212] = 0;
g_ibuf_104[li_72 + li_8 - gi_212] = 0;
}
if (!UseCycleFilter && gi_248) {
g_ibuf_116[li_72 + li_8 - gi_212] = 0;
g_ibuf_104[li_72 + li_8 - gi_212] = 0;
}
g_applied_price_196 = g_ima_128;
gi_212 = li_8;
gi_248 = TRUE;
} else {
if (g_ima_128 > g_applied_price_196) {
gi_168 = li_8 - gi_212;
if (!UseCycleFilter) {
g_ibuf_116[li_72 + gi_168] = -1;
g_ibuf_104[li_72 + gi_168] = -1;
}
if (UseCycleFilter && gi_176 == 1) {
g_ibuf_116[li_72 + gi_168] = -1;
g_ibuf_104[li_72 + gi_168] = -1;
gi_unused_180 = 1;
} else gi_unused_180 = 0;
gi_248 = TRUE;
l_ima_12 = iMA(NULL, 0, PriceActionFilter, 0, MODE_SMMA, PRICE_CLOSE, li_72 + gi_168);
if (gi_244) gi_268 = g_ima_128 - l_ima_12 >= gd_144;
else gi_268 = g_ima_128 >= l_ima_12 * (gd_144 / 1000.0 + 1.0);
if (gi_268 && gi_168 >= gi_264) {
gi_160 = -1;
g_applied_price_220 = g_ima_128;
gi_236 = li_8;
gi_256 = FALSE;
gi_248 = FALSE;
}
}
}
}
if (gi_160 < 1) {
if (g_ima_128 > g_applied_price_220) {
if (UseCycleFilter && gi_176 == 1 && gi_256) {
g_ibuf_120[li_72 + li_8 - gi_236] = 0;
g_ibuf_104[li_72 + li_8 - gi_236] = 0;
}
if (!UseCycleFilter && gi_256) {
g_ibuf_120[li_72 + li_8 - gi_236] = 0;
g_ibuf_104[li_72 + li_8 - gi_236] = 0;
}
g_applied_price_220 = g_ima_128;
gi_236 = li_8;
gi_256 = TRUE;
} else {
if (g_ima_128 < g_applied_price_220) {
gi_168 = li_8 - gi_236;
if (!UseCycleFilter) {
g_ibuf_120[li_72 + gi_168] = 1;
g_ibuf_104[li_72 + gi_168] = 1;
}
if (UseCycleFilter && gi_176 == 2) {
g_ibuf_120[li_72 + gi_168] = 1;
g_ibuf_104[li_72 + gi_168] = 1;
gi_unused_180 = 2;
} else gi_unused_180 = 0;
gi_256 = TRUE;
l_ima_20 = iMA(NULL, 0, PriceActionFilter, 0, MODE_SMMA, PRICE_CLOSE, li_72 + gi_168);
if (gi_244) gi_268 = l_ima_20 - g_ima_128 >= gd_144;
else gi_268 = g_ima_128 <= l_ima_20 * (1 - gd_144 / 1000.0);
if (gi_268 && gi_168 >= gi_264) {
gi_160 = 1;
g_appliedПоказано первые 50% кода (символов: 7590)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.