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

omegatrendea_v7.0_eurusd.mq4

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

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

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

О программе

OmegaTrend EA v7.0 — торговый советник для MetaTrader 4, работающий на валютном рынке. Советник использует пользовательский индикатор OmegaTrend_v7.0 для определения направления тренда и генерации торговых сигналов. Поддерживаются два независимых набора сигналов с раздельными параметрами лотировки, магическими номерами и управления рисками.

Советник предоставляет гибкие настройки управления позицией: фиксированный лот или автоматический расчёт на основе процента риска от свободного маржи. Доступен режим восстановления позиций при убытках. Открытые ордера управляются автоматически: модификация стоп-лосса и тейк-профита, частичное закрытие по достижении определённого уровня прибыли.

Встроены фильтры для ограничения торговли по времени (часы, день недели), направлению свинг-тренда и уровню спреда. Поддерживается автоматическое определение часового пояса с учётом летнего времени, а также ручная настройка смещения GMT. Советник совместим с демо и реальными счетами и учитывает требования регуляторных правил NFA при управлении позициями.

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

НастройкаОписание
NFA_Rules Правила NFA — Включает или отключает соблюдение правил NFA, ограничивающих количество одновременно открытых позиций в одну сторону.
Max_Spread Максимальный спред — Максимально допустимый спред в пунктах для входа в сделку.
Max_Slippage Максимальное проскальзывание — Максимально допустимое проскальзывание при исполнении ордера в пунктах.
AutoGMT_Offset Автоопределение GMT — Автоматическое определение смещения GMT на основе системного времени.
ManualGMT_Offset Ручное смещение GMT — Ручное смещение GMT в часах, используется при отключённом автоматическом определении.
DST_Usage Использование летнего времени — Учитывает переход на летнее время при расчёте текущего часа для фильтрации сделок.
X Разделитель настроек — Текстовый разделитель группы настроек индикатора в интерфейсе.
Indicator_TimeFrame Таймфрейм индикатора — Таймфрейм, на котором рассчитывается индикатор OmegaTrend_v7.0 для получения сигналов.
Action_TimeFrame Таймфрейм действия — Таймфрейм, используемый для ограничения частоты входа в сделки.
Volatility_Period Период волатильности — Период расчёта волатильности, используемый индикатором OmegaTrend_v7.0.
Smooth_Factor Коэффициент сглаживания — Коэффициент сглаживания, применяемый индикатором OmegaTrend_v7.0.
Max_Width_Pips Максимальная ширина в пунктах — Максимальная допустимая ширина канала индикатора в пунктах.
Min_Follow_Pips Минимальное следование в пунктах — Минимальное расстояние в пунктах для подтверждения продолжения тренда.
TrendLine_Level Уровень линии тренда — Множитель уровня линии тренда индикатора OmegaTrend_v7.0.
PivotLine_Level Уровень линии пивота — Множитель уровня линии пивота индикатора OmegaTrend_v7.0.
Bar_Acceleration Ускорение по бару — Коэффициент ускорения, используемый индикатором OmegaTrend_v7.0.
Profit_Acceleration Ускорение прибыли — Параметр ускорения расчёта прибыли в индикаторе OmegaTrend_v7.0.
Y Разделитель настроек сигнала 1 — Текстовый разделитель группы настроек первого сигнала в интерфейсе.
Signal_1 Сигнал 1 — Включение, направление и режим работы первого торгового сигнала.
RecoveryMode_1 Режим восстановления 1 — Включает режим восстановления позиции для первого сигнала при убытках.
Fixed_Lots_1 Фиксированный лот 1 — Фиксированный размер лота для первого сигнала.
AutoMM_1 Автоматический лот 1 — Процент риска от свободного маржи для автоматического расчёта лота первого сигнала.
AutoMM_Max_1 Максимальный лот 1 — Максимально допустимый размер лота при автоматическом расчёте для первого сигнала.
Magic_1 Магический номер 1 — Уникальный идентификатор ордеров, открытых первым сигналом.
Signal_1_TakeProfit Тейк-профит сигнала 1 — Уровень фиксации прибыли в пунктах для первого сигнала; ноль означает автоматический расчёт.
Signal_1_StopLoss Стоп-лосс сигнала 1 — Уровень стоп-лосса в пунктах для первого сигнала; ноль означает автоматический расчёт.
Signal_1_StrongPips Усиление сигнала 1 в пунктах — Дополнительное усиление сигнала первого направления в пунктах.
Hour_Filtering Фильтрация по часам — Включает или отключает ограничение торговли по часам суток.
TradeHour1 Час торговли 1 — Первый разрешённый час для торговли (по GMT с учётом смещения).
TradeHour2 Час торговли 2 — Второй разрешённый час для торговли.
TradeHour3 Час торговли 3 — Третий разрешённый час для торговли.
TradeHour4 Час торговли 4 — Четвёртый разрешённый час для торговли.
TradeHour5 Час торговли 5 — Пятый разрешённый час для торговли.
TradeHour6 Час торговли 6 — Шестой разрешённый час для торговли.
TradeHour7 Час торговли 7 — Седьмой разрешённый час для торговли.
TradeHour8 Час торговли 8 — Восьмой разрешённый час для торговли.
TradeHour9 Час торговли 9 — Девятый разрешённый час для торговли.
Swing_Filtering Фильтрация свинга — Включает фильтрацию сделок по направлению свинг-тренда.
Swing_MA_Period Период MA свинга — Период скользящей средней, используемой для определения направления свинг-тренда.
Swing_Impulse Импульс свинга — Порог импульса свинга в пунктах для подтверждения направления тренда.
NoTradeDay День без торговли — Номер дня недели, в который торговля полностью запрещена.
Z Разделитель настроек сигнала 2 — Текстовый разделитель группы настроек второго сигнала в интерфейсе.
Signal_2 Сигнал 2 — Включение, направление и режим работы второго торгового сигнала.
RecoveryMode_2 Режим восстановления 2 — Включает режим восстановления позиции для второго сигнала при убытках.
Fixed_Lots_2 Фиксированный лот 2 — Фиксированный размер лота для второго сигнала.
AutoMM_2 Автоматический лот 2 — Процент риска от свободного маржи для автоматического расчёта лота второго сигнала.
AutoMM_Max_2 Максимальный лот 2 — Максимально допустимый размер лота при автоматическом расчёте для второго сигнала.
Magic_2 Магический номер 2 — Уникальный идентификатор ордеров, открытых вторым сигналом.
TargetFactor Коэффициент цели — Коэффициент для расчёта целевого уровня прибыли второго сигнала.
Signal_2_TakeProfit Тейк-профит сигнала 2 — Уровень фиксации прибыли в пунктах для второго сигнала; ноль означает автоматический расчёт.
Signal_2_StopLoss Стоп-лосс сигнала 2 — Уровень стоп-лосса в пунктах для второго сигнала; ноль означает автоматический расчёт.
Signal_2_Exit_Profit Выходная прибыль сигнала 2 — Минимальный уровень прибыли в пунктах для частичного закрытия позиции второго сигнала.
MinStop Минимальный стоп — Минимально допустимый уровень стоп-лосса в пунктах для защиты сделок.
IgnoreSmallStopTrades Игнорировать мелкие стопы — Включает или отключает фильтрацию сделок со слишком маленьким стоп-лоссом.
Получить полный код

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

#import "Kernel32.dll"
   void GetSystemTime(int& a0[]);
#import

extern bool NFA_Rules = FALSE;
extern int Max_Spread = 5;
extern int Max_Slippage = 2;
extern bool AutoGMT_Offset = TRUE;
extern int ManualGMT_Offset = 2;
extern bool DST_Usage = TRUE;
extern string X = "====== Omega Trend Settings =======";
extern int Indicator_TimeFrame = 60;
extern int Action_TimeFrame = 5;
extern int Volatility_Period = 27;
extern int Smooth_Factor = 0;
extern int Max_Width_Pips = 115;
extern int Min_Follow_Pips = 5;
extern double TrendLine_Level = 3.2;
extern double PivotLine_Level = 0.93;
extern double Bar_Acceleration = 1.25;
extern int Profit_Acceleration = 0;
extern string Y = "====== Signal 1 Settings =======";
bool gi_168 = FALSE;
extern int Signal_1 = 1;
extern bool RecoveryMode_1 = FALSE;
extern double Fixed_Lots_1 = 0.1;
extern double AutoMM_1 = 0.0;
extern double AutoMM_Max_1 = 10.0;
extern int Magic_1 = 10101;
extern int Signal_1_TakeProfit = 310;
extern int Signal_1_StopLoss = 0;
extern int Signal_1_StrongPips = 0;
bool gi_220 = TRUE;
extern bool Hour_Filtering = TRUE;
extern int TradeHour1 = 21;
extern int TradeHour2 = 19;
extern int TradeHour3 = 13;
extern int TradeHour4 = 9;
extern int TradeHour5 = 12;
extern int TradeHour6 = 4;
extern int TradeHour7 = 8;
extern int TradeHour8 = 14;
extern int TradeHour9 = 10;
extern bool Swing_Filtering = TRUE;
extern int Swing_MA_Period = 50;
int gi_272 = 1;
extern int Swing_Impulse = -60;
extern int NoTradeDay = 0;
extern string Z = "====== Signal 2 Settings =======";
bool gi_292 = FALSE;
extern int Signal_2 = 1;
extern bool RecoveryMode_2 = FALSE;
extern double Fixed_Lots_2 = 0.1;
extern double AutoMM_2 = 0.0;
extern double AutoMM_Max_2 = 10.0;
extern int Magic_2 = 20202;
extern double TargetFactor = 0.35;
extern int Signal_2_TakeProfit = 0;
extern int Signal_2_StopLoss = 0;
extern int Signal_2_Exit_Profit = 29;
extern int MinStop = 45;
extern bool IgnoreSmallStopTrades = TRUE;
int gi_360 = 3;
int gi_364 = 3;
int gi_368 = 50;
double gd_372 = 10.0;
double gd_380 = 1.05;
bool gi_388 = TRUE;
int gi_392 = 0;
double gd_396 = 0.01;
double gd_404 = 0.01;
double gd_412 = 0.01;
int gi_420 = 100000;
double gd_424 = 1000.0;
double gd_432 = 0.0001;
double gd_440 = 0.1;
int gi_448 = 2;
int gi_452 = 0;
double gd_456 = 0.0;
int gi_464 = 0;
int gi_468 = 0;
int gi_472 = 0;
int gi_476 = 0;
int gi_480 = 0;
int gi_484 = 0;
double gd_488 = 1.0;

int GMTOffset() {
   int lia_0[4];
   int lia_4[43];
   string ls_unused_16;
   GetSystemTime(lia_0);
   int li_36 = lia_0[0] & 65535;
   int li_40 = lia_0[0] >> 16;
   int li_44 = lia_0[1] >> 16;
   int li_48 = lia_0[2] & 65535;
   int li_52 = lia_0[2] >> 16;
   int li_56 = lia_0[3] & 65535;
   string ls_8 = FormatDateTime(li_36, li_40, li_44, li_48, li_52, li_56);
   double ld_28 = TimeCurrent() - StrToTime(ls_8);
   return (MathRound(ld_28 / 3600.0));
}

string FormatDateTime(int ai_0, int ai_4, int ai_8, int ai_12, int ai_16, int ai_20) {
   string ls_24 = ai_4 + 100;
   ls_24 = StringSubstr(ls_24, 1);
   string ls_32 = ai_8 + 100;
   ls_32 = StringSubstr(ls_32, 1);
   string ls_40 = ai_12 + 100;
   ls_40 = StringSubstr(ls_40, 1);
   string ls_48 = ai_16 + 100;
   ls_48 = StringSubstr(ls_48, 1);
   string ls_56 = ai_20 + 100;
   ls_56 = StringSubstr(ls_56, 1);
   return (StringConcatenate(ai_0, ".", ls_24, ".", ls_32, " ", ls_40, ":", ls_48, ":", ls_56));
}

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

int deinit() {
   Comment("");
   if (ObjectFind("Omega") >= 0) ObjectDelete("Omega");
   if (ObjectFind("Omega1") >= 0) ObjectDelete("Omega1");
   if (ObjectFind("BKGR") >= 0) ObjectDelete("BKGR");
   if (ObjectFind("BKGR1") >= 0) ObjectDelete("BKGR1");
   if (ObjectFind("BKGR2") >= 0) ObjectDelete("BKGR2");
   if (ObjectFind("BKGR3") >= 0) ObjectDelete("BKGR3");
   return (0);
}

int start() {
      // код доступен только после оплаты
   }
   string ls_48;
   double ld_80;
   double ld_88;
   int li_168;
   string ls_0 = "";
   if (gi_388) {
      gi_388 = FALSE;
      gd_396 = MarketInfo(Symbol(), MODE_MINLOT);
      gd_404 = MarketInfo(Symbol(), MODE_MAXLOT);
      gi_420 = MarketInfo(Symbol(), MODE_LOTSIZE);
      gd_412 = MarketInfo(Symbol(), MODE_LOTSTEP);
      gd_424 = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
      if (Digits <= 3) gd_432 = 0.01;
      else gd_432 = 0.0001;
      if (Digits == 3 || Digits == 5) gd_440 = 0.1;
      else gd_440 = 1;
   }
   string ls_8 = Symbol() + "_" + DoubleToStr(Indicator_TimeFrame, 0) + "_" + DoubleToStr(MathMax(Magic_1, Magic_2), 0);
   if (IsTesting()) ls_8 = ls_8 + "_Test";
   if (gd_456 < Point || gi_452 < iTime(NULL, Indicator_TimeFrame, 1)) {
      gd_456 = MathMax(iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor, Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level,
         PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 0, 1), iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor,
         Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level, PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 1, 1));
      if (gd_456 < Point) {
         Comment("\nInitializing ...");
         return (0);
      }
      gi_452 = iTime(NULL, Indicator_TimeFrame, 1);
   }
   if (!IsTesting() && AutoGMT_Offset == TRUE) gi_448 = GMTOffset();
   else gi_448 = ManualGMT_Offset;
   gi_392 = MarketInfo(Symbol(), MODE_STOPLEVEL);
   double ld_16 = 1;
   double ld_24 = 0;
   if (StringSubstr(AccountCurrency(), 0, 3) == "JPY") {
      ld_24 = MarketInfo("USDJPY" + StringSubstr(Symbol(), 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = ld_24;
      else ld_16 = 82;
   }
   if (StringSubstr(AccountCurrency(), 0, 3) == "GBP") {
      ld_24 = MarketInfo("GBPUSD" + StringSubstr(Symbol(), 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = 1 / ld_24;
      else ld_16 = 0.625;
   }
   if (StringSubstr(AccountCurrency(), 0, 3) == "EUR") {
      ld_24 = MarketInfo("EURUSD" + StringSubstr(Symbol(), 6), MODE_BID);
      if (ld_24 > 0.1) ld_16 = 1 / ld_24;
      else ld_16 = 0.7751937984;
   }
   double ld_32 = Fixed_Lots_1;
   if (AutoMM_1 > 0.0 && (!RecoveryMode_1)) ld_32 = MathMax(gd_396, MathMin(gd_404, MathCeil(MathMin(AutoMM_Max_1, AutoMM_1) / ld_16 / 100.0 * AccountFreeMargin() / gd_412 / (gi_420 / 100)) * gd_412));
   if (AutoMM_1 > 0.0 && RecoveryMode_1) ld_32 = f0_0(AutoMM_1, AutoMM_Max_1);
   double ld_40 = Fixed_Lots_2;
   if (AutoMM_2 > 0.0 && (!RecoveryMode_2)) ld_40 = MathMax(gd_396, MathMin(gd_404, MathCeil(MathMin(AutoMM_Max_2, AutoMM_2) / ld_16 / 100.0 * AccountFreeMargin() / gd_412 / (gi_420 / 100)) * gd_412));
   if (AutoMM_2 > 0.0 && RecoveryMode_2) ld_40 = f0_0(AutoMM_2, AutoMM_Max_2);
   if ((!IsTesting()) || IsVisualMode()) {
      if (!IsTesting() || TimeCurrent() >= gi_464 + 1 || iVolume(NULL, PERIOD_M1, 0) <= 1.0) {
         gi_464 = TimeCurrent();
         ls_0 = ls_0 
            + "\n  " 
            + "\n  " 
            + "\n  " 
            + "\n  " 
            + "\n   Account Holder: " + AccountName() 
            + "\n  ------------------------------------------------" 
         + "\n   Acount Type: ";
         if (IsDemo()) ls_0 = ls_0 + " DEMO";
         else ls_0 = ls_0 + " REAL";
         ls_0 = ls_0 
         + "\n   Account Leverage: " + AccountLeverage();
         ls_0 = ls_0 
         + "\n   Account Currency: " + AccountCurrency();
         if (DST_Usage == TRUE) ls_48 = "YES";
         if (DST_Usage == FALSE) ls_48 = "NO";
         ls_0 = ls_0 
            + "\n  ------------------------------------------------" 
            + "\n   GMT : " + TimeToStr(TimeCurrent() - 3600 * gi_448, TIME_DATE|TIME_MINUTES|TIME_SECONDS) 
            + "\n   Broker : " + TimeToStr(TimeCurrent(), TIME_DATE|TIME_MINUTES|TIME_SECONDS) 
            + "\n   Broker GMT Offset: " + gi_448 
         + "\n   DST_Usage: " + ls_48;
         ls_0 = ls_0 
         + "\n  ------------------------------------------------";
         ls_0 = ls_0 
         + "\n   Ballance: " + DoubleToStr(AccountBalance(), 1);
         ls_0 = ls_0 
         + "\n   Free Margin: " + DoubleToStr(AccountFreeMargin(), 1);
         if (Signal_1 != 0) {
            ls_0 = ls_0 
            + "\n  ------------------------------------------------";
            if (Signal_1 > 0) {
               ls_0 = ls_0 
               + "\n   Signal 1 is Active!";
            } else {
               ls_0 = ls_0 
               + "\n   Signal 1 in Stealth Mode";
            }
            if (AutoMM_1 > 0.0) {
               ls_0 = ls_0 
                  + "\n   AutoMM - ENABLED" 
               + "\n   Risk = " + DoubleToStr(AutoMM_1, 1) + "%";
            }
            if (RecoveryMode_1) {
               ls_0 = ls_0 
               + "\n   Recovery Mode - ENABLED";
            } else {
               ls_0 = ls_0 
               + "\n   Recovery Mode - DISABLED";
            }
            ls_0 = ls_0 
            + "\n   Trading Lots = " + DoubleToStr(ld_32, 2);
            if (Signal_1_StopLoss > 0) {
               ls_0 = ls_0 
               + "\n   SL = " + Signal_1_StopLoss + " pips";
            } else {
               ls_0 = ls_0 
               + "\n   StopLoss = auto";
            }
            if (Signal_1_TakeProfit > 0) {
               ls_0 = ls_0 
               + "\n   TakeProfit = " + Signal_1_TakeProfit + " pips";
            } else {
               ls_0 = ls_0 
               + "\n   TakeProfit = auto";
            }
         }
         if (Signal_2 != 0) {
            ls_0 = ls_0 
            + "\n  ------------------------------------------------";
            if (Signal_2 > 0) {
               ls_0 = ls_0 
               + "\n   Signal 2 is Active!";
            } else {
               ls_0 = ls_0 
               + "\n   Signal 2 in Stealth Mode";
            }
            if (AutoMM_1 > 0.0) {
               ls_0 = ls_0 
                  + "\n   AutoMM - ENABLED" 
               + "\n   Risk = " + DoubleToStr(AutoMM_1, 1) + "%";
            }
            if (RecoveryMode_1) {
               ls_0 = ls_0 
               + "\n   Recovery Mode - ENABLED";
            } else {
               ls_0 = ls_0 
               + "\n   Recovery Mode - DISABLED";
            }
            ls_0 = ls_0 
            + "\n   Trading Lots = " + DoubleToStr(ld_40, 2);
            if (Signal_2_StopLoss > 0) {
               ls_0 = ls_0 
               + "\n   StopLoss = " + Signal_2_StopLoss + " pips";
            } else {
               ls_0 = ls_0 
               + "\n   StopLoss = auto";
            }
            if (Signal_2_TakeProfit > 0) {
               ls_0 = ls_0 
               + "\n   TakeProfit = " + Signal_2_TakeProfit + " pips";
            } else {
               ls_0 = ls_0 
               + "\n   TakeProfit = auto";
            }
         }
         ls_0 = ls_0 
            + "\n  ------------------------------------------------" 
         + "\n   Spread = " + DoubleToStr((Ask - Bid) / gd_432, 1) + " pips";
         if (Ask - Bid > Max_Spread * gd_432) ls_0 = ls_0 + " - TOO HIGH";
         else ls_0 = ls_0 + " ";
         ls_0 = ls_0 
         + "\n  ------------------------------------------------";
         Comment(ls_0);
         if (ObjectFind("BKGR") < 0) {
            ObjectCreate("BKGR", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("BKGR", "g", 36, "Webdings", Aqua);
            ObjectSet("BKGR", OBJPROP_CORNER, 0);
            ObjectSet("BKGR", OBJPROP_BACK, TRUE);
            ObjectSet("BKGR", OBJPROP_XDISTANCE, 5);
            ObjectSet("BKGR", OBJPROP_YDISTANCE, 15);
         }
         if (ObjectFind("BKGR1") < 0) {
            ObjectCreate("BKGR1", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("BKGR1", "g", 36, "Webdings", Aqua);
            ObjectSet("BKGR1", OBJPROP_CORNER, 0);
            ObjectSet("BKGR1", OBJPROP_BACK, TRUE);
            ObjectSet("BKGR1", OBJPROP_XDISTANCE, 43);
            ObjectSet("BKGR1", OBJPROP_YDISTANCE, 15);
         }
         if (ObjectFind("BKGR2") < 0) {
            ObjectCreate("BKGR2", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("BKGR2", "g", 36, "Webdings", Aqua);
            ObjectSet("BKGR2", OBJPROP_CORNER, 0);
            ObjectSet("BKGR2", OBJPROP_BACK, TRUE);
            ObjectSet("BKGR2", OBJPROP_XDISTANCE, 81);
            ObjectSet("BKGR2", OBJPROP_YDISTANCE, 15);
         }
         if (ObjectFind("BKGR3") < 0) {
            ObjectCreate("BKGR3", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("BKGR3", "g", 36, "Webdings", Aqua);
            ObjectSet("BKGR3", OBJPROP_CORNER, 0);
            ObjectSet("BKGR3", OBJPROP_BACK, TRUE);
            ObjectSet("BKGR3", OBJPROP_XDISTANCE, 119);
            ObjectSet("BKGR3", OBJPROP_YDISTANCE, 15);
         }
         if (ObjectFind("Omega") < 0) {
            ObjectCreate("Omega", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("Omega", "  OMEGA TREND EA ", 11, "Tahoma bold", Fuchsia);
            ObjectSet("Omega", OBJPROP_CORNER, 0);
            ObjectSet("Omega", OBJPROP_BACK, FALSE);
            ObjectSet("Omega", OBJPROP_XDISTANCE, 11);
            ObjectSet("Omega", OBJPROP_YDISTANCE, 24);
         }
         if (ObjectFind("Omega1") < 0) {
            ObjectCreate("Omega1", OBJ_LABEL, 0, 0, 0);
            ObjectSetText("Omega1", "www.omega-trend.com", 9, "Tahoma bold", DodgerBlue);
            ObjectSet("Omega1", OBJPROP_CORNER, 0);
            ObjectSet("Omega1", OBJPROP_BACK, FALSE);
            ObjectSet("Omega1", OBJPROP_XDISTANCE, 14);
            ObjectSet("Omega1", OBJPROP_YDISTANCE, 41);
         }
      }
   }
   if (Ask - Bid > Max_Spread * gd_432) return (0);
   if (!IsTradeAllowed()) return (0);
   if (Action_TimeFrame > 0 && iTime(NULL, Action_TimeFrame, 0) <= gi_468) return (0);
   if (Action_TimeFrame > 0) gi_468 = iTime(NULL, Action_TimeFrame, 0);
   int li_56 = 0;
   int li_60 = 0;
   int li_64 = 0;
   int li_68 = 0;
   int li_72 = 0;
   int li_76 = 0;
   double ld_104 = MathMax(iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor, Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level,
      PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 0, 0), iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor,
      Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level, PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 1, 0));
   double ld_112 = MathMax(iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor, Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level,
      PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 2, 0), iCustom(NULL, Indicator_TimeFrame, "OmegaTrend_v7.0", 0, 0, 0, Volatility_Period, Smooth_Factor,
      Max_Width_Pips, Min_Follow_Pips, ls_8, TrendLine_Level, PivotLine_Level, Bar_Acceleration, Profit_Acceleration, 999, 3, 0));
   bool li_120 = FALSE;
   bool li_124 = FALSE;
   bool li_128 = FALSE;
   bool li_132 = FALSE;
   bool li_136 = FALSE;
   bool li_140 = FALSE;
   bool li_144 = FALSE;
   bool li_148 = FALSE;
   if (ld_112 > Point && iTime(NULL, Indicator_TimeFrame, 1) - GlobalVariableGet(ls_8 + "_LastSignalTime") < 1.0) {
      if (Signal_1 != 0 && GlobalVariableGet(ls_8 + "_SignalType1") > 0.5 && Signal_1_StrongPips <= 0 || Bid > gd_456 + Signal_1_StrongPips * gd_432) {
         if (!gi_168) li_120 = TRUE;
         else li_128 = TRUE;
         if (gi_220 == TRUE && (!gi_168)) li_132 = TRUE;
         if (gi_220 == TRUE && gi_168) li_124 = TRUE;
      } else {
         if (Signal_1 != 0 && GlobalVariableGet(ls_8 + "_SignalType1") < -0.5 && Signal_1_StrongPips <= 0 || Bid < gd_456 - Signal_1_StrongPips * gd_432) {
            if (!gi_168) li_128 = TRUE;
            else li_120 = TRUE;
            if (gi_220

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

Что вы получите после оплаты

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

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

Стоимость полного кода
2 180₽