pbf_trend_bars_v2.mq5
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «pbf_trend_bars_v2.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Индикатор pbf_trend_bars_v2 реализован для платформы MetaTrader 5 и отображает результаты анализа в отдельном окне с помощью шести буферов стрелок (три зелёных и три красных). Он рассчитывает разницу между короткой и полной линиями взвешенной скользящей средней (LWMA) для трёх групп параметров, затем дополнительно сглаживает эти разницы и сигнализирует о смене направления через стрелки.
Для каждой из трёх групп параметров (Length1–3) вычисляются промежуточные значения: удвоенная краткосрочная LWMA минус полная LWMA. Полученные массивы дополнительно обрабатываются функцией iMAOnArray с периодами, полученными из квадратного корня исходной длины. Сравнение текущего и предыдущего значений сглаженных линий определяет, в какой буфер (верхний или нижний) помещается стрелка.
В коде присутствуют закомментированные блоки, связанные с валидацией через DLL, однако они неактивны и не влияют на работу индикатора. Основная логика полностью сосредоточена в функции start(), которая вызывается при каждом обновлении ценовых данных.
Настройки программы
| Настройка | Описание |
|---|---|
| Length1 | Первый период для расчёта краткосрочной и полной линий взвешенной скользящей средней (LWMA) в первой группе параметров. |
| Length2 | Второй период для расчёта краткосрочной и полной линий взвешенной скользящей средней (LWMA) во второй группе параметров. |
| Length3 | Третий период для расчёта краткосрочной и полной линий взвешенной скользящей средней (LWMA) в третьей группе параметров. |
| Position1 | Вертикальное смещение стрелок, отображаемых для первой группы параметров. |
| Position2 | Вертикальное смещение стрелок, отображаемых для второй группы параметров. |
| Position3 | Вертикальное смещение стрелок, отображаемых для третьей группы параметров. |
Поиск по коду файла
/*
Generated by EX4 TO MQ4 decompile Service
Website:
E-mail : i**o*@ex4Tomq4.net
*/
#property indicator_separate_window
#property indicator_buffers 6
#property indicator_color1 Lime
#property indicator_color2 Red
#property indicator_color3 Lime
#property indicator_color4 Red
#property indicator_color5 Lime
#property indicator_color6 Red
/*
#import "ServerValidate.dll"
void ValidateUser(string a0, string a1, int a2, int a3, int& a4[], int& a5[], string a6);
double Func2(double a0, double a1);
double Func3();
double Func4();
double Func5(double a0);
int IsValidated();
#import
*/
extern int Length1 = 13;
extern int Length2 = 34;
extern int Length3 = 89;
extern int Position1 = 35;
extern int Position2 = 0;
extern int Position3 = -35;
/*
extern string Username;
extern string Password;
*/
double g_ibuf_116[];
double g_ibuf_120[];
double g_ibuf_124[];
double g_ibuf_128[];
double g_ibuf_132[];
double g_ibuf_136[];
double gda_140[];
double gda_144[];
double gda_148[];
bool gi_152 = TRUE;
datetime g_time_156;
int init() {
// код доступен только после оплаты
}
int deinit() {
return (0);
}
int start() {
// код доступен только после оплаты
}
string ls_0;
int period_64;
double ld_68;
double ld_76;
double ima_on_arr_96;
double ima_on_arr_104;
double ima_on_arr_112;
double ima_on_arr_120;
/*
if (AccountNumber() == 0) return (0);
if (IsValidated() == 1) gi_152 = TRUE;
Comment("");
if (gi_152 == FALSE) {
ls_0 = "12345678901234567890123456789012345678901234567890ABCDEFGHIJKLMNOP";
int lia_8[] = {0};
int lia_12[] = {0};
ValidateUser(Username, Password, AccountNumber(), 0, lia_12, lia_8, ls_0);
if (lia_12[0] == 1) {
Print("Validated");
gi_152 = TRUE;
} else {
Alert("Not validated - return message: ", ls_0);
return (0);
}
}
*/
int li_24 = IndicatorCounted();
if (li_24 < 0) return (-1);
if (li_24 > 0) li_24--;
int li_16 = Bars - li_24;
bool li_28 = FALSE;
if (g_time_156 != Time[0]) li_28 = TRUE;
g_time_156 = Time[0];
if (li_28) {
ArrayResize(gda_140, Bars);
ArrayResize(gda_144, Bars);
ArrayResize(gda_148, Bars);
if (li_24 > 0) {
for (int li_20 = Bars - 1; li_20 > 0; li_20--) {
gda_140[li_20] = gda_140[li_20 - 1];
gda_144[li_20] = gda_144[li_20 - 1];
Показано первые 50% кода (символов: 4683)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.