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

OUFM PAI Oscillator

ou forex mastery pai oscillator.mq4
Вы автор или правообладатель?

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

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

О программе

Данный продукт представляет собой пользовательский индикатор для платформы MetaTrader 4, отображающий аналитический PAI Oscillator в отдельном окне графика. Индикатор разработан компанией FlyRight Software Corp. и включает расчёт на основе скользких средних ценовых данных.

Доступ к функциональности индикатора может быть ограничен через систему авторизации с использованием внешних DLL-библиотек. Индикатор проверяет разрешения на запуск, версию, пару и уровень пользователя перед отображением данных.

Параметр PAI_Period позволяет задать базовый период расчёта индикатора. По умолчанию значение равно 14. Индикатор использует три буфера данных, при этом один из них отображается визуально в отдельном подокне.

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

НастройкаОписание
PAI_Period Период PAI — Базовый период расчёта индикатора PAI Oscillator.
Получить полный код

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

/*
   Generated by EX4-TO-MQ4 decompiler V4.0.224.1 []
   Website: 
   E-mail : p******m*@gmail.com
*/

#property indicator_separate_window
#property indicator_levelcolor Yellow
#property indicator_levelstyle 0
#property indicator_buffers 1
#property indicator_color1 Yellow
#property indicator_width1 3

#include "..\include\OU_Forex.mqh"
/*
#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 "user32.dll"
   int GetDC(int a0);
   int ReleaseDC(int a0, int a1);
#import "gdi32.dll"
   int GetPixel(int a0, int a1, int a2);
#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 = "";
bool gi_132 = FALSE;
bool gi_136 = FALSE;
bool gi_140 = FALSE;
extern int PAI_Period = 14;
double g_ibuf_148[];
double g_ibuf_152[];
double g_ibuf_156[];
int gi_160;

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);
}

int superuser() {
   return (GetUserLevel(gs_76) == 3 || GetUserLevel(gs_76) == 5);
}

int LTCAllowed() {
   return (FeatureAllowed(gs_76, "LTC") || superuser());
}

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 {
            

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

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

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

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

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

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

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