← К каталогу
Исходный код · ID 2939

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 и перейдите к оплате.

Стоимость полного кода
715,80₽ ≈ $8.75