currencypowermeter 2.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «currencypowermeter 2.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Currency Power Meter — индикатор для MetaTrader 4, отображающий на графике табло с показателями силы валютных пар. Он рассчитывает соотношения текущих цен (bid/low относительно диапазона high-low) за заданный период и преобразует их в шкалу оценок от 0 до 9.9 с помощью функции CheckRatio. Результаты визуализируются в виде цветных полосок и текстовых меток для каждой валюты, привязанных к углу графика.
Индикатор поддерживает настраиваемые пороговые значения LowValue и MaxValue: при выходе показателя за границы воспроизводится звуковой сигнал, при условии совпадения валюты из списка PairAlert и истечения задержки AlertDelay. Расчёт минимумов и максимумов выполняется через пользовательские функции MyLowest и MyHighest с учётом параметра Hours и соответствующего таймфрейма.
При инициализации (init) динамически создаются графические объекты-метки для каждой валюты, а при деинициализации (deinit) все объекты с префиксом «CPM» удаляются. В коде закомментирован импорт wininet.dll, поэтому сетевая функциональность неактивна.
Настройки программы
| Настройка | Описание |
|---|---|
| LowValue | Порог низкой силы — Пороговое значение показателя силы, при котором срабатывает звуковое оповещение при недостаточной силе валюты. |
| MaxValue | Порог высокой силы — Пороговое значение показателя силы, при котором срабатывает звуковое оповещение при высокой силе валюты. |
| PairAlert | Валютные пары для оповещений — Список валютных пар (через запятую), для которых включены звуковые оповещения при достижении пороговых значений. |
| AlertDelay | Задержка оповещения — Задержка в секундах между повторными звуковыми оповещениями для выбранных валютных пар. |
| Hours | Период расчёта (часы) — Количество часов, используемых для расчёта минимумов и максимумов цен при определении силы валюты. |
| cCurrency | Цвет текста валют — Цвет текста названий валют в табло индикатора. |
| cScoreHigh | Цвет текущего показателя — Цвет текста текущего показателя силы валюты. |
| cScoreHour | Цвет почасового показателя — Цвет текста почасового показателя силы валюты. |
| Window | Окно графика — Индекс окна графика, в котором создаются графические объекты индикатора. |
| Corner | Угол размещения — Угол графика, в котором привязываются текстовые метки и полосы индикатора (0 — левый верхний, 1 — правый верхний, 2 — левый нижний, 3 — правый нижний). |
| Xdistance | Смещение по X — Горизонтальное смещение в пикселях от точки привязки для графических объектов индикатора. |
| Ydistance | Смещение по Y — Вертикальное смещение в пикселях от точки привязки для графических объектов индикатора. |
Поиск по коду файла
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black
/* #import "wininet.dll"
int InternetOpenA(string a0, int a1, string a2, string a3, int a4);
int InternetOpenUrlA(int a0, string a1, string a2, int a3, int a4, int a5);
int InternetReadFile(int a0, string a1, int a2, int& a3[]);
int InternetCloseHandle(int a0);
#import
*/
extern double LowValue = 2.0;
extern double MaxValue = 8.0;
extern string PairAlert = "";
extern int AlertDelay = 30;
extern int Hours = 1;
extern color cCurrency = Lime;
extern color cScoreHigh = Aqua;
extern color cScoreHour = Orange;
extern int Window = 0;
extern int Corner = 3;
extern int Xdistance = 0;
extern int Ydistance = 0;
string gsa_160[16];
string gsa_164[8];
int gia_168[8] = {40, 10, 160, 130, 190, 70, 220, 100};
int gia_172[] = {16612911, 16620590, 16702510, 15990063, 11206190, 5569869, 4193654, 3669164, 3407316, 3144445, 3144189, 3138813, 3069181, 3126526, 3046654, 3098621, 4207864, 4207864, 4207864, 4207864};
int gia_176[11] = {0, 4, 11, 23, 39, 50, 61, 78, 89, 96, 100};
int gi_180 = 16;
int gi_184 = 8;
double gda_188[8];
double gda_192[16];
double gda_196[16];
double gda_200[8];
double gda_204[16];
double gda_208[16];
int g_datetime_212 = 0;
int g_str2int_216 = 0;
bool gi_220 = TRUE;
bool gi_224 = TRUE;
int gia_228[64] = {65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 43, 47};
int gi_232 = 1;
string gs_dummy_236;
int gi_244 = 0;
int gi_248 = 0;
int g_count_252 = 0;
string gs_256;
int gia_264[1];
string gs_272 = "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000";
int init() {
// код доступен только после оплаты
}
int start() {
// код доступен только после оплаты
}
string text_0;
int count_16;
int count_20;
string ls_24;
double ld_32;
double ld_40;
double low_48;
double ld_56;
double ld_72;
double bid_80;
double ld_88 = 0.01;
if (gi_220 == TRUE) {
for (int index_8 = 0; index_8 < gi_180; index_8++) {
RefreshRates();
ld_88 = 0.0001;
ls_24 = gsa_160[index_8];
if (StringSubstr(ls_24, 3, 3) == "JPY") ld_88 = 0.01;
low_48 = MarketInfo(ls_24, MODE_LOW);
bid_80 = MarketInfo(ls_24, MODE_BID);
ld_56 = (bid_80 - low_48) / MathMax(MarketInfo(ls_24, MODE_HIGH) - low_48, ld_88);
gda_192[index_8] = CheckRatio(100.0 * ld_56);
gda_196[index_8] = 9.9 - CheckRatio(100.0 * ld_56);
low_48 = MyLowest(ls_24);
ld_72Показано первые 50% кода (символов: 7158)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.