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