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

currency-strength-meter indicator.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Индикатор отображает метры силы валют для основных форекс-пар на графике MetaTrader 4. Он рассчитывает значения силы на основе ценовых данных (high, low, bid, ask) для заданного набора пар и агрегирует их по отдельным валютам (USD, EUR, GBP, CHF, CAD, AUD, NZD, JPY).
Результаты выводятся в виде графических меток на графике в видеометровой компоновке с цветовой индикацией уровня силы. Для каждой валюты отображается числовое значение и цветные полоски, меняющие цвет в зависимости от рассчитанной силы.
Индикатор поддерживает режим автоматического обновления данных при подключении терминала. Позиция отображения на графике и цветовая схема настраиваются через входные параметры.

Настройки программы

НастройкаОписание
C C — Заголовок группы настройки углового положения
c0 c0 — Описание варианта углового положения: верхний левый
c1 c1 — Описание варианта углового положения: верхний правый
c2 c2 — Описание варианта углового положения: нижний левый
c3 c3 — Описание варианта углового положения: нижний правый
myCorner myCorner — Угол размещения индикатора на графике (0 — верхний левый, 1 — верхний правый, 2 — нижний левый, 3 — нижний правый)
T T — Заголовок группы настройки цветов текста
StrengthColor StrengthColor — Цвет числовых значений силы валют
CurrencyColor CurrencyColor — Цвет текста названий валют на индикаторе
LogoColor LogoColor — Цвет логотипа и линий разделителей индикатора
Получить полный код

Поиск по коду файла

/*
   G e n e r a t e d  by ex4-to-mq4 decompiler FREEWARE 4.0.509.5
   Website: h ttp : // wwW. ME T aQUote S .nE t
   E-mail : S U P PoR T @me TAQU o TES. n eT
*/

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Black

#import "stdlib.ex4"
   string ErrorDescription(int a0); // DA69CBAFF4D38B87377667EEC549DE5A
#import

string Gs_xmeter3_76 = "xmeter3";
extern string C = "---Corner Position---";
extern string c0 = " 0 = Upper left";
extern string c1 = " 1 = Upper right";
extern string c2 = " 2 = Lower left";
extern string c3 = " 3 = Lower right";
extern int myCorner = 3;
extern string T = "---Text Colors---";
extern color StrengthColor = Sienna;
extern color CurrencyColor = DarkSlateBlue;
extern color LogoColor = DimGray;
extern bool AccountIsIBFXmini = FALSE;
bool Gi_152 = FALSE;
string Gsa_156[] = {"GBPJPY"};
string Gsa_160[] = {"EURUSD", "GBPUSD", "AUDUSD", "NZDUSD", "USDJPY", "USDCHF", "USDCAD", "EURCAD", "GBPCAD", "EURJPY", "EURGBP", "EURCHF", "EURAUD", "EURNZD", "GBPJPY", "GBPCHF", "EURJPY"};
string Gsa_164[] = {"USD", "EUR", "GBP", "CHF", "CAD", "AUD", "NZD", "JPY"};
int Gia_168[] = {150, 130, 110, 90, 70, 50, 30, 10};
string Gsa_172[2] = {"BUY ", "SELL "};
int Gia_176[19] = {0, 3, 10, 25, 40, 50, 60, 75, 90, 97, 100};
int Gi_180;
int Gi_184;
double Gda_188[];
double Gda_192[];
double Gda_196[];
double Gda_200[];
double Gda_204[];
double Gda_208[];
double Gda_212[];
double Gda_216[];
double Gda_220[];
int Gia_224[2][];

int init() {
      // код доступен только после оплаты
   }

int deinit() {
   DeleteExistingLabels();
   Print("shutdown error - ", ErrorDescription(GetLastError()));
   return (0);
}

int start() {
      // код доступен только после оплаты
   }

void main() {
   double Ld_0;
   int count_16;
   string symbol_20;
   double Ld_28;
   for (int index_8 = 0; index_8 < Gi_180; index_8++) {
      RefreshRates();
      if (AccountIsIBFXmini) symbol_20 = Gsa_160[index_8] + 109;
      else symbol_20 = Gsa_160[index_8];
      Ld_0 = GetPoint(symbol_20);
      Gda_192[index_8] = MarketInfo(symbol_20, MODE_HIGH);
      Gda_196[index_8] = MarketInfo(symbol_20, MODE_LOW);
      Gda_200[index_8] = MarketInfo(symbol_20, MODE_BID);
      Gda_204[index_8] = MarketInfo(symbol_20, MODE_ASK);
      Gda_212[index_8] = MathMax((Gda_192[index_8] - Gda_196[index_8]) / Ld_0, 1);
      Gda_208[index_8] = (Gda_200[index_8] - Gda_196[index_8]) / Gda_212[index_8] / Ld_0;
      Gda_216[index_8] = iLookup(100.0 * Gda_208[index_8]);
      Gda_220[index_8] = 9.9 - Gda_216[index_8];
   }
   for (int index_12 = 0; index_12 < Gi_184; index_12++) {
      count_16 = 0;
      Ld_28 = 0;
      for (index_8 = 0; index_8 < Gi_180; index_8++) {
         if (StringSubstr(Gsa_160[index_8], 0, 3) == Gsa_164[index_12]) {
            count_16++;
            Ld_28 += Gda_216[index_8];
         }
         if (StringSubstr(Gsa_160[index_8], 3, 3) == Gsa_164[index_12]) {
            count_16++;
            Ld_28 += Gda_220[index_8];
         }
         if (count_16 > 0) Gda_188[index_12] = NormalizeDouble(Ld_28 / count_16, 1);
         else Gda_188[index_12] = -1;
      }
   }
   objectBlank();
   for (index_12 = 0; index_12 < Gi_184; index_12++) paintCurr(index_12, Gda_188[index_12]);
   paintLine();
}

void init_tradepair_index() {
   string Ls_20;
   string Ls_28;
   string Ls_36;
   int arr_size_8 = ArraySize(Gsa_156);
   for (int count_4 = 0; count_4 < arr_size_8; count_4++) {
      Ls_20 = Gsa_156[0];
      Ls_28 = StringSubstr(Ls_20, 0, 3);
      Ls_36 = StringSubstr(Ls_20, 3, 3);
      Gia_224[0][count_4] = -1;
      Gia_224[1][count_4] = -1;
      for (int index_0 = 0; index_0 < Gi_184; index_0++) {
         if (Ls_28 == Gsa_164[index_0]) Gia_224[0][count_4] = ind

Показано первые 50% кода (символов: 7135)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
713,50₽ ≈ $8.72