OU Forex Mastery Trend Momentum
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «ou forex mastery trend momentum.mq5» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 5, предназначенный для анализа ценового импульса и направления тренда. Он отображает аналитические данные в отдельном индикаторном окне с двумя основными линиями (зелёной и красной), масштабированными в диапазоне от -100 до 100.
Индикатор обрабатывает ценовые данные с применением сглаживающих скользящих средних и визуализирует полученные значения импульса. При пересечении двух основных линий рисуются маркеры пересечений соответствующего цвета, а при необходимости отображаются маркеры ценовых уровней.
Продукт предоставляет настраиваемые параметры отображения: количество видимых баров, уровень масштабирования графических объектов, а также переключатели для показа ценовых маркеров и сигналов пересечения. Индикатор поддерживает анализ для заранее определённого списка валютных пар.
Настройки программы
| Настройка | Описание |
|---|---|
| Show_Bars | Количество баров — Количество баров, отображаемых индикатором на графике. |
| ZoomLevel1to5 | Уровень масштабирования — Уровень масштабирования графических объектов на графике (от 1 до 5). |
| ShowPriceMarker | Показать ценовой маркер — Переключатель отображения маркеров ценовых уровней на графике. |
| ShowCrossover | Показать пересечение — Переключатель отображения маркеров пересечения двух основных линий индикатора. |
Поиск по коду файла
/*
Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
Website:
E-mail : p******m*@gmail.com
*/
#property indicator_separate_window
#property indicator_minimum -100.0
#property indicator_maximum 100.0
#property indicator_buffers 2
#property indicator_color1 Green
#property indicator_color2 Red
#include "..\include\OU_Forex.mqh"
#import "user32.dll"
int GetDC(int a0);
int ReleaseDC(int a0, int a1);
#import "gdi32.dll"
int GetPixel(int a0, int a1, int a2);
/*
#import "OU_Loader.dll"
bool OU_called();
bool LoadConsole();
bool RunAllowed();
bool VersionAllowed(string a0, string a1);
bool PairAllowed(string a0, string a1);
bool FeatureAllowed(string a0, string a1);
int GetUserLevel(string a0);
*/
#import
string gs_76;
bool gi_unused_84 = FALSE;
string gs_88 = "2.00MT";
string gs_unused_96 = "2.00FT";
string gs_104 = "";
bool gi_unused_112 = FALSE;
string gsa_116[] = {"EURUSD", "GBPUSD", "USDCHF", "USDJPY", "USDCAD", "AUDUSD", "NZDUSD", "EURJPY", "EURGBP", "AUDJPY", "GBPJPY", "EURAUD", "EURCAD", "CHFJPY", "AUDCAD", "GBPCHF", "EURCHF", "NZDJPY", "CADJPY", "AUDNZD", "GBPAUD", "GBPCAD"};
int gi_120 = -1;
string gs_124 = "";
int gi_132 = 14;
int g_period_136 = 5;
int g_period_140 = 3;
int g_period_144 = 3;
extern int Show_Bars = 5000;
int gi_unused_152 = 0;
extern int ZoomLevel1to5 = 2;
extern bool ShowPriceMarker = TRUE;
extern bool ShowCrossover = TRUE;
bool gi_168 = TRUE;
double g_ibuf_172[];
double g_ibuf_176[];
double g_ibuf_180[];
double g_ibuf_184[];
double g_ibuf_188[];
double g_ibuf_192[];
double g_ibuf_196[];
double g_ibuf_200[];
string gs_dummy_204;
string gs_dummy_212;
bool gi_unused_220 = FALSE;
string gs_224;
string gs_232 = "1 - Trend Momentum";
string gs_oufm_tm_240 = "OUFM TM";
bool gi_unused_248 = FALSE;
int chartcolor() {
int li_0 = WindowHandle(Symbol(), Period());
int li_4 = GetDC(li_0);
int li_ret_8 = GetPixel(li_4, 1, 2);
ReleaseDC(li_0, li_4);
return (li_ret_8);
}
bool OU_loader_call() {
string ls_unused_0;
if (!OU_called()) LoadConsole();
return (OU_called());
}
int DrawAllowed(string &as_0, string as_8) {
as_8 = BaseSymbol(as_8);
if (!OU_loader_call()) {
as_0 = "failure loading console.";
return (0);
}
if (!RunAllowed()) {
as_0 = "waiting for console.";
return (0);
}
if (!VersionAllowed(gs_76, gs_104)) {
as_0 = "version " + gs_104 + " outdated." + VersionAllowed(gs_76, gs_104) + 0 + 1;
return (0);
}
if (as_8 == "Scanner.") return (1);
if (!PairAllowed(gs_76, as_8)) {
if (validpair(gs_76, as_8)) as_0 = "unsubscribed pair.";
else as_0 = "unsupported pair.";
return (0);
}
return (1);
}
bool validpair(string as_0, string as_8) {
string ls_16 = pairtype(as_8);
if (ls_16 == "4" || ls_16 == "10") return (TRUE);
if (as_0 == "OUFT" && ls_16 == "17" || ls_16 == "22") return (TRUE);
return (FALSE);
}
string pairtype(string as_0) {
string ls_8 = "USDIX,EURUSD,GBPUSD,USDCHF,USDJPY";
string ls_16 = "EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,AUDUSD,NZDUSD,EURJPY,EURGBP,AUDJPY";
string ls_24 = "EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,AUDUSD,NZDUSD,EURJPY,EURGBP,AUDJPY,GBPJPY,EURAUD,EURCAD,CHFJPY,AUDCAD,GBPCHF,EURCHF";
string ls_32 = "EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,AUDUSD,NZDUSD,EURJPY,EURGBP,AUDJPY,GBPJPY,EURAUD,EURCAD,CHFJPY,AUDCAD,GBPCHF,EURCHF,NZDJPY,CADJPY,AUDNZD,GBPAUD,GBPCAD";
as_0 = StringSubstr(as_0, 0, 6);
if (StringFind(ls_8, as_0) > -1) as_0 = "4";
else {
if (StringFind(ls_16, as_0) > -1) as_0 = "10";
else {
if (StringFind(ls_24, as_0) > -1) as_0 = "17";
else {
if (StringFind(ls_32, as_0) > -1) as_0 = "22";
else as_0 = "1000";
}
}
}
return (as_0);
}
string BaseSymbol(string as_0) {
if (gi_120 == -1) SetSymbolSuffixLength();
if (as_0 == "Scanner.") return (as_0);
if (gi_120 == 0 || StringSubstr(as_0, StringLen(as_0) - gi_120) != gs_124) return (as_0);
return (StringSubstr(as_0, 0, StringLen(as_0) - gi_120));
}
void SetSymbolSuffixLength() {
string lsa_0[1000];
SymbolsList(lsa_0, 0);
for (int l_index_4 = 0; StringSubstr(lsa_0[l_index_4], 0, 6) != "EURUSD" && l_index_4 < 1000; l_index_4++) {
}
gi_120 = StringLen(lsa_0[l_index_4]) - 6;
gs_124 = StringSubstr(lsa_0[l_index_4], 6);
}
int SymbolsList(string &asa_0[1000], bool ai_4) {
string l_name_8;
int li_16;
int li_ret_20;
if (ai_4) l_name_8 = "symbols.sel";
else l_name_8 = "symbols.raw";
int l_file_24 = FileOpenHistory(l_name_8, FILE_BIN|FILE_READ);
if (l_file_24 < 0) {
Print("Symbol open failure.");
return (-1);
}
if (ai_4) {
li_ret_20 = (FileSize(l_file_24) - 4) / 128;
li_16 = 116;
} else {
li_ret_20 = FileSize(l_file_24) / 1936;
li_16 = 1924;
}
ArrayResize(asa_0, li_ret_20);
if (ai_4) FileSeek(l_file_24, 4, SEEK_SET);
for (int l_index_28 = 0; l_index_28 < li_ret_20; l_index_28++) {
asa_0[l_index_28] = FileReadString(l_file_24, 12);
FileSeek(l_file_24, li_16, SEEK_CUR);
}
FileClose(l_file_24);
return (li_ret_20);
}
int init() {
// код доступен только после оплаты
}
if (!IsDllsAllowed()) Alert("Enable Dlls under Tools/OPtions for OU_Forex_pricelines.");
gs_76 = "OUFM";
gs_104 = gs_88;
OU_loader_call();
deleteobjects();
IndicatorBuffers(8);
SetIndexEmptyValue(0, 0.0);
SetIndexBuffer(0, g_ibuf_172);
SetIndexLabel(0, "LineA");
SetIndexEmptyValue(1, 0.0);
SetIndexBuffer(1, g_ibuf_176);
SetIndexLabel(1, "LineB LineA");
SetIndexEmptyValue(2, 0.0);
SetIndexBuffer(2, g_ibuf_180);
SetIndexStyle(2, DRAW_NONE);
SetIndexEmptyValue(3, 0.0);
SetIndexBuffer(3, g_ibuf_184);
SetIndexStyle(3Показано первые 50% кода (символов: 9246)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.