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

OU Forex Mastery

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

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

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

О программе

OU Forex Mastery — торговый советник для MetaTrader 4, работающий как рыночный сканер. Отслеживает выбранные валютные пары на нескольких таймфреймах, отображая текущую цену, уровни поддержки и сопротивления, а также сигналы для потенциальных сделок.

Советник рассчитывает значения индикаторов и пользовательских метрик на основе ценовых данных, определяя условия для отображения сигналов на экране. Результаты визуализируются в виде текстовых меток на графике с цветовой индикацией направления и силы сигнала.

Поддерживаются PC- и email-оповещения с настраиваемой задержкой. Для работы требуется подключённая библиотека OU_Forex и разрешённые DLL. Доступна фильтрация пар и управление отображением отдельных разделов сканера.

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

НастройкаОписание
spnote Заметки — Текстовый параметр для заметок или примечаний пользователя.
showpairs Отображаемые пары — Список валютных пар для отображения в сканере, разделённый запятыми.
FontSize Размер шрифта — Размер шрифта для отображения текста на графике.
HalfPikeAlertsOn Оповещения Half Pike — Включает или выключает оповещения по сигналам Half Pike.
ChannelHopAlertsOn Оповещения Channel Hop — Включает или выключает оповещения по сигналам Channel Hop.
GravyTrainAlertsOn Оповещения Gravy Train — Включает или выключает оповещения по сигналам Gravy Train.
M1SSAlertsOn Оповещения M1 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме M1.
M5SSAlertsOn Оповещения M5 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме M5.
M15SSAlertsOn Оповещения M15 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме M15.
M30SSAlertsOn Оповещения M30 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме M30.
H1SSAlertsOn Оповещения H1 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме H1.
H4SSAlertsOn Оповещения H4 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме H4.
D1SSAlertsOn Оповещения D1 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме D1.
W1SSAlertsOn Оповещения W1 Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме W1.
MN1SSAlertsOn Оповещения MN Sling Shots — Включает или выключает оповещения Sling Shots на таймфрейме MN.
AlertDelaySetting Настройка задержки оповещений — Текстовая подсказка с описанием задержки между оповещениями.
PCAlertDelay Задержка PC-оповещений — Задержка между PC-оповещениями в минутах; значение 0 отключает.
EmailAlertDelay Задержка email-оповещений — Задержка между email-оповещениями в минутах; значение 0 отключает.
ShowSSM1M5 Показ Sling Shots M1/M5 — Отображает столбцы Sling Shots для таймфреймов M1 и M5.
ShowSSM15M30 Показ Sling Shots M15/M30 — Отображает столбцы Sling Shots для таймфреймов M15 и M30.
ShowSSH1H4 Показ Sling Shots H1/H4 — Отображает столбцы Sling Shots для таймфреймов H1 и H4.
ShowSSDWKMN Показ Sling Shots D1/W1/MN — Отображает столбцы Sling Shots для таймфреймов D1, W1 и MN.
Получить полный код

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

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

#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);
   int GetBKNumbers(string a0, int& a1[], double& 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 = "";
string gs_unused_132 = "DB1.1";
extern string spnote = "Comma seperated e.g. EURUSD,GBPUSD";
extern string showpairs = "EURUSD,GBPUSD,USDCHF,USDJPY,USDCAD,AUDUSD,NZDUSD,EURJPY,EURGBP,AUDJPY";
extern int FontSize = 10;
extern bool HalfPikeAlertsOn = TRUE;
extern bool ChannelHopAlertsOn = TRUE;
extern bool GravyTrainAlertsOn = TRUE;
extern bool M1SSAlertsOn = TRUE;
extern bool M5SSAlertsOn = TRUE;
extern bool M15SSAlertsOn = TRUE;
extern bool M30SSAlertsOn = TRUE;
extern bool H1SSAlertsOn = TRUE;
extern bool H4SSAlertsOn = TRUE;
extern bool D1SSAlertsOn = TRUE;
extern bool W1SSAlertsOn = TRUE;
extern bool MN1SSAlertsOn = TRUE;
extern string AlertDelaySetting = "Time between alerts in minutes, 0 to disable.";
extern int PCAlertDelay = 15;
extern int EmailAlertDelay = **;
extern bool ShowSSM1M5 = TRUE;
extern bool ShowSSM15M30 = TRUE;
extern bool ShowSSH1H4 = TRUE;
extern bool ShowSSDWKMN = TRUE;
int gi_240 = 7;
int gi_244 = 7;
int gia_248[20][12];
int gia_252[20][12];
bool gba_256[20][12];
int gi_260 = 3;
int gia_268[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_272[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_276[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_280[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_284[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_288[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_292[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_296[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_300[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_304[] = {0, 0, 0, 0, 0, 0, 0, 0, 0};
int gia_308[] = {1, 5, 15, 30, 60, 240};
int gia_312[] = {1, 5, 15, 30, 60, 240, 1440, 10080, 43200};
string gs_oufm_316 = "OUFM";
string gs_324 = "Scalp Alert";
string gs_st_alert_332 = "ST Alert";
string gs_lt_alert_340 = "LT Alert";
int g_arr_size_352;
int g_index_356 = -1;
bool gi_360 = TRUE;
bool gi_364 = FALSE;
int gia_368[12][1000];
double gda_372[12][1000];
int gia_376[1000];
double gda_380[1000];
int gia_384[12] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
bool gba_388[12];
string gsa_392[12];
string gsa_396[12];
int gi_400;
int gi_404 = 80;
int gi_408 = 20;
int gi_412;
int gi_416;
int gi_420;
int gi_424;
int gi_428;

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

string bkshortname(int ai_0) {
   if (ai_0 == 1) return ("B");
   return ("K");
}

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

bool SlingShotsAllowed() {
   return (FeatureAllowed(gs_76, "SS") || LTCAllowed() || superuser());
}

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 {
            if (StringFind(ls_32, as_0) > -1) as_0 = "22";
            else as_0 = "1000";
         }
      }
   }
   return (as_0);
}

int breakdownPairList(string as_0, string &asa_8[], string &asa_12[]) {
   int l_index_16 = 0;
   int li_20 = 0;
   int li_24 = StringFind(as_0, ",");
   if (StringSubstr(as_0, StringLen(as_0), 1) != ",") as_0 = as_0 + ",";
   while (li_24 > -1 && l_index_16 < 12) {
      asa_12[l_index_16] = BaseSymbol(StringSubstr(as_0, li_20, li_24 - li_20));
      asa_8[l_index_16] = FullSymbol(asa_12[l_index_16]);
      li_20 = li_24 + 1;
      li_24 = StringFind(as_0, ",", li_20);
      l_index_16++;
   }
   if (li_24 > -1) Alert("Scanner is currently limited to 12 pairs.  The first 10 will be displayed.");
   return (l_index_16);
}

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

string FullSymbol(string as_0) {
   return (BaseSymbol(as_0) + gs_124);
}

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() {
      // код доступен только после оплаты
   }

int deinit() {
   ObDeleteObjectsByPrefix(gs_oufm_316);
   ObDeleteObjectsByPrefix("Frame_");
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   double ld_0;
   color l_color_8;
   bool li_28;
   string l_name_40;
   double l_iclose_60;
   string ls_68;
   string ls_76;
   int li_84;
   int li_88;
   int li_92;
   int li_96;
   double ld_100;
   double ld_108;
   double ld_116;
   double ld_124;
   int li_132;
   double lda_136[100];
   double lda_140[100];
   double lda_144[100];
   double lda_148[100];
   double lda_152[100];
   double lda_156[100];
   double lda_160[100];
   string ls_164;
   string ls_unused_32 = "";
   ls_unused_32 = "";
   string l_text_48 = "";
   if (!DrawAllowed(l_text_48, "Scanner.")) {
      ObjectSetText(gs_oufm_316 + " Notices", l_text_48, FontSize - 2, "Arial", Red);
      gi_364 = FALSE;
      return (-1);
   }
   if (!gi_364) {
      CreateLabelObjects();
      for (int li_12 = 0; li_12 < gi_400; li_12++) {
         if (!PairAllowed(gs_76, gsa_396[li_12]) && GetUserLevel(gs_76) < 3) gba_388[li_12] = 0;
         else {
            gba_388[li_12] = 1;
            gia_384[li_12] = GetBKNumbers(gsa_396[li_12], gia_376, gda_380);
            for (int l_index_56 = 0; l_index_56 < gia_384[li_12]; l_index_56++) {
               gia_368[li_12][l_index_56] = gia_376[l_index_56];
               if (gia_368[li_12][l_index_56] < 1 || gia_368[li_12][l_index_56] > 2) Print(gsa_392[li_12], ",", gia_376[l_index_56], ",", gda_380[l_index_56]);
               gda_372[li_12][l_index_56] = gda_380[l_index_56];
            }
         }
      }
      g_index_356 = -1;
      gi_364 = TRUE;
   }
   int li_20 = g_index_356;
   g_index_356++;
   if (g_index_356 >= gi_400) {
      g_index_356 = 0;
      gi_360 = FALSE;
   }
   if (gi_360) CreateDataColumn(g_index_356);
   if (!gba_388[g_index_356] && GetUserLevel(gs_76) < 3) {
      if (validpair(gs_76, gsa_396[g_index_356])) ObjectSetText(gs_oufm_316 + " Price" + gsa_396[g_index_356], "Unsubscribed.", FontSize - 2, "Arial", Yellow);
      else ObjectSetText(gs_oufm_316 + " Price" + gsa_396[g_index_356], "Unsupported.", FontSize - 2, "Arial", Yellow);
   } else {
      ObjectSetText(gs_oufm_316 + " Notices", alertdelaytext(), FontSize - 2, "Arial", DeepSkyBlue);
      l_iclose_60 = iClose(gsa_392[g_index_356], PERIOD_M1, 0);
      if (l_iclose_60 != 0.0) {
         ObjectSetText(gs_oufm_316 + " Price" + gsa_396[g_index_356], DoubleToStr(l_iclose_60, MarketInfo(gsa_392[g_index_356], MODE_DIGITS)), FontSize, "Arial", Yellow);
         li_28 = gia_384[g_index_356] <= 0;
         if (gia_384[g_index_356] > 0) {
            for (int l_count_24 = 0; gda_372[g_index_356][l_count_24] > l_iclose_60 && l_count_24 < gia_384[g_index_356] - 1; l_count_24++) {
            }
            if (l_count_24 > gia_384[g_index_356] - 1) {
               ObjectSetText(gs_oufm_316 + " Supp" + gsa_396[g_index_356], "Below", FontSize, "Arial", Yellow);
               ls_68 = "Below";
            } else {
               ld_0 = getPipValue(l_iclose_60 - gda_372[g_index_356][l_count_24], gsa_392[g_index_356]);
               ls_68 = bkshortname(gia_368[g_index_356][l_count_24]) + gda_372[g_index_356][l_count_24];
               if (ld_0 <= 10.0) {
                  l_color_8 = LimeGreen;
                  li_28 = TRUE;
               } else l_color_8 = Yellow;
               ObjectSetText(gs_oufm_316 + " Supp" + gsa_396[g_index_356], DoubleToStr(ld_0, 0) + " " + bkshortname(gia_368[g_index_356][l_count_24]), FontSize, "Arial", l_color_8);
            }
            if (l_count_24 == 0) {
               ObjectSetText(gs_oufm_316 + " Resistance" + gsa_396[g_index_356], "Above", FontSize, "Arial", Yellow);
               ls_76 = "Above";
            } else {
               ld_0 = getPipValue(gda_372[g_index_356][l_count_24 - 1] - l_iclose_60, gsa_392[g_index_356]);
               ls_76 = bkshortname(gia_368[g_index_356][l_count_24 - 1]) + ((gda_372[g_index_356][l_count_24 - 1]));
               if (ld_0 <= 10.0) {
                  l_color_8 = LimeGreen;
                  li_28 = TRUE;
               } else l_color_8 = Yellow;
               ObjectSetText(gs_oufm_316 + " Resistance" + gsa_396[g_index_356], DoubleToStr(ld_0, 0) + " " + bkshortname(gia_368[g_index_356][l_count_24 - 1]), FontSize, "Arial", l_color_8);
            }
         } else {
            ObjectSetText(gs_oufm_316 + " Supp" + gsa_396[g_index_356], "N/A", FontSize, "Arial", Yellow);
            ls_68 = "N/A";
            ObjectSetText(gs_oufm_316 + " Resistance" + gsa_396[g_index_356], "N/A", FontSize, "Arial", Yellow);
            ls_76 = "N/A";
         }
      }
      for (int l_index_16 = 0; l_index_16 < ArraySize(gia_312); l_index_16++) {
         li_84 = 14;
         li_88 = 5;
         li_92 = 3;
         li_96 = 3;
         li_132 = 100;
         if (li_132 >= iBars(gsa_392[g_index_356], gia_312[l_index_16]) - 1) li_132 = iBars(gsa_392[g_index_356], gia_312[l_index_16]) - 1 - 1;
         for (li_12 = li_132 - 1; li_12 >= 0; li_12--) {
            lda_136[li_12] = iClose(gsa_392[g_index_356], gia_312[l_index_16], li_12) - (iHigh(gsa_392[g_index_356], gia_312[l_index_16], iHighest(gsa_392[g_index_356], gia_312[l_index_16], MODE_HIGH, li_84, li_12)) +
               iLow(gsa_392[g_index_356], gia_312[l_index_16], iLowest(gsa_392[g_index_356], gia_312[l_index_16], MODE_LOW, li_84, li_12))) / 2.0;
            lda_140[li_12] = iHigh(gsa_392[g_index_356], gia_312[l_index_16], iHighest(gsa_392[g_index_356], gia_312[l_index_16], MODE_HIGH, li_84, li_12)) - iLow(gsa_392[g_index_356], gia_312[l_index_16], iLowest(gsa_392[g_index_356], gia_312[l_index_16], MODE_LOW, li_84, li_12));
         }
         ld_116 = 2.0 / (li_88 + 1);
         ld_124 = 1 - ld_116;
         lda_144[li_132 - li_88] = (lda_136[li_132 - li_88]) * ld_116;
         lda_148[li_132 - li_88] = (lda_140[li_132 - li_88]) * ld_116;
         for (li_12 = li_132 - li_88 - 1; li_12 >= 0; li_12--) {
            lda_144[li_12] = (lda_144[li_12 + 1]) * ld_124 + lda_136[li_12] * ld_116;
            lda_148[li_12] = (lda_148[li_12 + 1]) * ld_124 + lda_140[li_12] * ld_116;
         }
         ld_116 = 2.0 / (li_92 + 1);
         ld_124 = 1 - ld_116;
         lda_152[li_132 - li_88 - li_92] = (lda_144[li_132 - li_88 - li_92]) * ld_116;
         lda_156[li_132 - li_88 - li_92] = (lda_148[li_132 - li_88 - li_92]) * ld_116;
         for (li_12 = li_132 - li_88 - li_92 - 1; li_12 >= 0; li_12--) {
            lda_152[li_12] = (lda_152[li_12 + 1]) * ld_124 + lda_144[li_12] * ld_116;
            lda_156[li_12] = (lda_156[li_12 + 1]) * ld_124 + lda_148[li_12] * ld_116;
         }
         for (li_12 = li_132 - li_88 - li_92 - li_96; li_12 >= 0; li_12--) lda_160[li_12] = 100.0 * (lda_152[li_12] / (lda_156[li_12] / 2.0));
         ld_116 = 2.0 / (li_96 + 1);
         ld_124 = 1 - ld_116;
         ld_100 = (lda_160[li_88 - li_92]) * ld_116;
         for (li_12 = li_132 - li_88 - li_92 - 1; li_12 >= 0; li_12--) {
            ld_108 = ld_100;
            ld_100 = ld_100 * ld_124 + lda_160[li_12] * ld_116;
         }
         gia_268[l_index_16] = lda_160[0];
         gia_272[l_index_16] = ld_100;
         gia_276[l_index_16] = lda_160[1];
         gia_280[l_index_16] = ld_108;
         gia_284[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 8, 3, 3, MODE_SMMA, 0, MODE_MAIN, 0);
         gia_288[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 16, 3, 3, MODE_SMMA, 0, MODE_MAIN, 0);
         gia_292[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 34, 3, 3, MODE_SMMA, 0, MODE_MAIN, 0);
         gia_296[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 8, 3, 3, MODE_SMMA, 0, MODE_MAIN, 1);
         gia_300[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 16, 3, 3, MODE_SMMA, 0, MODE_MAIN, 1);
         gia_304[l_index_16] = iStochastic(gsa_392[g_index_356], gia_312[l_index_16], 34, 3, 3, MODE_SMMA, 0, MODE_MAIN, 1);
      }
      for (l_index_16 = 0; l_index_16 < g_arr_size_352; l_index_16++) {
         l_name_40 = gs_oufm_316 + " " + gs_324 + " " + gsa_396[g_index_356];
         if (gia_284[0] < 20 && gia_288[0] < 20 && gia_292[0] < 20 && (gia_284[1] < 20 && gia_288[1] < 20 && gia_292[1] < 20) && (gia_284[2] < 20 && gia_288[2] < 20 && gia_292[2] < 20) &&
            (gia_268[0] < -50 && gia_272[0] < -50) && (gia_268[1] < -50 && gia_272[1] < -50) && (gia_268[2] < -50 && gia_272[2] < -50)) {
            if (li_28) {
               if (TMGreenExt(0) && TMGreen(1) && !TMRed(2)) {
                  ObjectSetText(l_name_40, "Check Long", FontSize - 1, "Arial Bold", Green);
                  callAlert(HalfPikeAlertsOn, l_name_40 + " - Potential BUY/LONG", g_index_356, 0);
               } else ObjectSetText(l_name_40, "Check Long", FontSize - 1, "Arial", LawnGreen);
            } else {
               ObjectSetText(l_name_40, "Hold", FontSize - 1, "Arial", Yellow);
               gba_256[g_index_356][0] = 0;
            }
         } else {
            if (gia_284[0] > 80 && gia_288[0] > 80 && gia_292[0] > 80 && (gia_284[1] > 80 && gia_288[1] > 80 && gia_292[1] > 80) && (gia_284[2] > 80 && gia_288[2] > 80 && gia_292[2] > 80) &&
               (gia_268[0] > 50 && gia_272[0] > 50) && (gia_268[1] > 50 && gia_272[1] > 50) && (gia_268[2] > 50 && gia_272[2] > 50)) {
               if (li_28) {
                  if (TMRedExt(0) && TMRed(1) && !TMGreen(2)) {
                     ObjectSetText(l_name_40, "Check Short", FontSize - 1, "Arial Bold", Red);
                     callAlert(HalfPikeAlertsOn, l_name_40 + " - Potential SELL/SHORT", g_index_356, 0);
                  } else ObjectSetText(l_name_40, "Check Short", FontSize - 1, "Arial", Tomato);
               } else {
                  ObjectSetText(l_name_40, "Hold", FontSize - 1, "Arial", Yellow);
                  gba_256[g_index_356][0] = 0;
               }
            } else {
               ObjectSetText(l_name_40, "Hold", FontSize - 1, "Arial", Yellow);
               gba_256[g_index_356][0] = 0;
            }
         }
         l_name_40 = gs_oufm_316 + " " + gs_st_alert_332 + " " + gsa_396[g_index_356];
         if (gia_284[2] < 20 && gia_288[2] < 20 && gia_292[2] < 20 && (gia_284[3] < 20 && gia_288[3] < 20 && gia_292[3] < 20) && (gia_284[4] < 20 && gia_288[4] < 20 && gia_292[4] < 20) &&
            (gia_268[2] < -40 && gia_272[2] < -40) && (gia_268[3] < -40 && gia_272[3] < -40) && (gia_268[4] < -40 && gia_272[4] < -40)) {
            if (li_28) {
               if (TMGreenExt(2) && TMGreen(3) && !TMRed(4)) {
                  ObjectSetText(l_name_40, "Check Long", FontSize - 1, "Arial Bold", Green);
                  callAlert(ChannelHopAlertsOn, l_name_40 + " - Potential BUY/LONG", g_index_356, 0);
               } else ObjectSetText(l_name_40, "Check Long", FontSize - 1, "Arial", LawnGreen);
            } else {
               ObjectSetText(l_name_40, "Hold", FontSize - 1, "Arial", Yellow);
               gba_256[g_index_356][1] = 0;
            }
         } else {
            if (gia_284[2] > 80 && gia_288[2] > 80 && gia_292[2] > 80 && (gia_284[3] > 80 && gia_288[3] > 80 && gia_292[3] > 80) && (gia_284[4] > 80 && gia_288[4] > 80 && gia_292[4] > 80) &&
               (gia_268[2] > 40 && gia_272[2] > 40) && (gia_268[3] > 40 && gia_272[3] > 40) && (gia_268[4] > 40 && gia_272[4] > 40)) {
               if (li_28) {
                  if (TMRedExt(2) && TMRed(3) && !TMGreen(4)) {
                     ObjectSetText(l_name_40, "Check Short", FontSize - 1, "Arial Bold", Red);
                     callAlert(Chan

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

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

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

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

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

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

Стоимость полного кода
2 961,10₽ ≈ $36.19