currency-strength-meter indicator.mq4
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «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? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.