forex combo 1.46 edu.mq4
Похожие материалы по тегам
Сообщите нам, если считаете, что материал размещён без разрешения.
Сообщить о материале
Обращение по товару «forex combo 1.46 edu.mq4» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
О программе
Forex Combo — торговый советник для платформы MetaTrader 4, реализующий три самостоятельные торговые системы: скальпинг, пробой и разворот. Каждая система работает независимо с собственными параметрами входа и выхода из сделок, магическими номерами и настройками управления рисками. Советник анализирует ценовые данные на нескольких таймфреймах, используя скользящие средние, осциллятор Williams %R, индикатор средней истинного диапазона (ATR) и полосы Боллинджера для формирования торговых сигналов.
Советник поддерживает ручное управление размером лота через фиксированные значения или процентное соотношение от свободного маржи с возможностью агрессивного режима увеличения лота после убыточных сделок. Трейл-стоп реализован через отслеживание ATR с заданными минимальными и максимальными ограничениями по расстоянию. Часовые фильтры ограничивают время работы отдельных систем, а автоматическое определение смещения GMT позволяет корректно учитывать часовой пояс брокера.
Перед открытием каждого ордера проверяется текущий спред относительно допустимого максимума и достаточность свободного маржи. Стоп-лосс и тейк-профит корректируются в соответствии с минимальным уровнем стоп-лосса брокера. При работе с ECN-брокерами ордера отправляются без указания стоп-лосса и тейк-профита в момент открытия. Все ордера помечаются соответствующими магическими номерами и комментариями для идентификации системы.
Настройки программы
| Настройка | Описание |
|---|---|
| Use_FXCOMBO_Scalping | Включение системы скальпинга — Переключатель активации торговой системы скальпинга |
| Use_FXCOMBO_Breakout | Включение системы пробоя — Переключатель активации торговой системы пробоя |
| Use_FXCOMBO_Reversal | Включение системы разворота — Переключатель активации торговой системы разворота |
| Use_ECN_Broker | Режим ECN-брокера — Переключатель режима работы с ECN-брокером, при котором ордера отправляются без стоп-лосса и тейк-профита |
| CommentSys1 | Комментарий системы 1 — Текстовый комментарий, добавляемый к ордерам системы скальпинга |
| CommentSys2 | Комментарий системы 2 — Текстовый комментарий, добавляемый к ордерам системы пробоя |
| CommentSys3 | Комментарий системы 3 — Текстовый комментарий, добавляемый к ордерам системы разворота |
| Magic1 | Магический номер системы 1 — Уникальный магический номер для идентификации ордеров системы скальпинга |
| Magic2 | Магический номер системы 2 — Уникальный магический номер для идентификации ордеров системы пробоя |
| Magic3 | Магический номер системы 3 — Уникальный магический номер для идентификации ордеров системы разворота |
| MaxSPREAD | Максимальный спред — Максимальный допустимый спред в пунктах, при превышении которого советник не открывает сделки |
| Slippage | Проскальзывание — Допустимое проскальзывание в пунктах при открытии ордеров |
| AutoGMT_Offset | Автоопределение GMT — Автоматическое определение смещения GMT на основе системного времени |
| GMT_Offset_TestMode | Смещение GMT для тестов — Фиксированное смещение GMT, используемое в тестовом режиме |
| UseAgresiveMM | Агрессивное управление рисками — Переключатель активации агрессивного режима увеличения лота после убыточных сделок |
| MMSys1 | Группа параметров MM системы 1 — Название группы настроек управления рисками для системы скальпинга |
| LotsSys1 | Лот системы 1 — Базовый размер лота для системы скальпинга |
| TradeMMSys1 | Риск MM системы 1 — Начальный процент риска от свободного маржи для расчёта лота системы скальпинга |
| LossFactorSys1 | Множитель убытков системы 1 — Множитель увеличения лота после серии убыточных сделок системы скальпинга |
| MMSys2 | Группа параметров MM системы 2 — Название группы настроек управления рисками для системы пробоя |
| LotsSys2 | Лот системы 2 — Базовый размер лота для системы пробоя |
| TradeMMSys2 | Риск MM системы 2 — Начальный процент риска от свободного маржи для расчёта лота системы пробоя |
| LossFactorSys2 | Множитель убытков системы 2 — Множитель увеличения лота после серии убыточных сделок системы пробоя |
| MMSys3 | Группа параметров MM системы 3 — Название группы настроек управления рисками для системы разворота |
| LotsSys3 | Лот системы 3 — Базовый размер лота для системы разворота |
| TradeMMSys3 | Риск MM системы 3 — Начальный процент риска от свободного маржи для расчёта лота системы разворота |
| LossFactorSys3 | Множитель убытков системы 3 — Множитель увеличения лота после серии убыточных сделок системы разворота |
| CommonMM | Группа общих параметров MM — Название группы общих настроек управления рисками |
| MMMax | Максимум MM — Максимальный размер лота в процентах от свободного маржи |
| MaximalLots | Максимальный лот — Абсолютный максимальный допустимый размер лота |
| Scalping | Группа параметров скальпинга — Название группы настроек системы скальпинга |
| StopLoss | Стоп-лосс скальпинг — Стоп-лосс в пунктах для системы скальпинга |
| TakeProfit | Тейк-профит скальпинг — Тейк-профит в пунктах для системы скальпинга |
| TREND_STR | Порог тренда скальпинг — Пороговое отклонение цены от скользящей средней для подтверждения тренда в системе скальпинга |
| OSC_open | Уровень осциллятора открытия — Значение осциллятора Williams %R для сигнала на открытие сделки в системе скальпинга |
| OSC_close | Уровень осциллятора закрытия — Значение осциллятора Williams %R для сигнала на закрытие сделки в системе скальпинга |
| Breakout | Группа параметров пробоя — Название группы настроек системы пробоя |
| TakeProfit_II | Тейк-профит пробой — Тейк-профит в пунктах для системы пробоя |
| StopLoss_II | Стоп-лосс пробой — Стоп-лосс в пунктах для системы пробоя |
| MaxPipsTrailing2 | Макс. трейл-стоп пробой — Максимальное расстояние трейл-стопа в пунктах для системы пробоя |
| MinPipsTrailing2 | Мин. трейл-стоп пробой — Минимальное расстояние трейл-стопа в пунктах для системы пробоя |
| Break | Порог закрытия пробой — Пороговое значение для закрытия сделки в системе пробоя |
| ATRTrailingFactor2 | Множитель ATR трейла пробой — Множитель ATR для расчёта трейл-стопа системы пробоя |
| Reversal | Группа параметров разворота — Название группы настроек системы разворота |
| BegHourSys_III | Начальный час разворота — Начальный час активности системы разворота |
| EndHourSys_III | Конечный час разворота — Конечный час активности системы разворота |
| TakeProfit_III | Тейк-профит разворот — Тейк-профит в пунктах для системы разворота |
| StopLoss_III | Стоп-лосс разворот — Стоп-лосс в пунктах для системы разворота |
| MaxPipsTrailing3 | Макс. трейл-стоп разворот — Максимальное расстояние трейл-стопа в пунктах для системы разворота |
| MinPipsTrailing3 | Мин. трейл-стоп разворот — Минимальное расстояние трейл-стопа в пунктах для системы разворота |
Поиск по коду файла
#import "Kernel32.dll"
void GetSystemTime(int& a0[]);
#import
int gi_76 = 2010;
int gi_80 = 11;
int gi_84 = 1;
extern bool Use_FXCOMBO_Scalping = TRUE;
extern bool Use_FXCOMBO_Breakout = TRUE;
extern bool Use_FXCOMBO_Reversal = TRUE;
extern bool Use_ECN_Broker = FALSE;
extern string CommentSys1 = "==== 1 ====";
extern string CommentSys2 = "==== 2 ====";
extern string CommentSys3 = "==== 3 ====";
extern int Magic1 = 111;
extern int Magic2 = 222;
extern int Magic3 = 333;
extern double MaxSPREAD = 4.0;
extern int Slippage = 2;
extern bool AutoGMT_Offset = TRUE;
extern int GMT_Offset_TestMode = 2;
extern bool UseAgresiveMM = FALSE;
extern string MMSys1 = "==== FXCOMBO Scalping MM Parameters ====";
extern double LotsSys1 = 0.1;
extern double TradeMMSys1 = 0.0;
extern double LossFactorSys1 = 2.0;
int gi_196 = 0;
int gi_200 = 2;
int gi_204 = 0;
extern string MMSys2 = "==== FXCOMBO Breakout MM Parameters ====";
extern double LotsSys2 = 0.1;
extern double TradeMMSys2 = 0.0;
extern double LossFactorSys2 = 2.0;
int gi_240 = 0;
int gi_244 = 2;
int gi_248 = 0;
extern string MMSys3 = "==== FXCOMBO Reversal MM Parameters ====";
extern double LotsSys3 = 0.1;
extern double TradeMMSys3 = 0.0;
extern double LossFactorSys3 = 2.0;
int gi_284 = 0;
int gi_288 = 2;
int gi_292 = 0;
extern string CommonMM = "==== Main MM Parameters ====";
extern double MMMax = 20.0;
extern double MaximalLots = 50.0;
extern string Scalping = "==== FXCOMBO Scalping System Parameters ====";
extern int StopLoss = 300;
extern int TakeProfit = 21;
int g_period_336 = 60;
extern int TREND_STR = 20;
int g_period_344 = 18;
extern int OSC_open = 10;
extern int OSC_close = 13;
int gi_356 = -5;
int gi_360 = 21;
int gi_unused_364 = 21;
int gi_368 = 6;
extern string Breakout = "==== FXCOMBO Breakout System Parameters ====";
extern int TakeProfit_II = 500;
extern int StopLoss_II = 30;
extern int MaxPipsTrailing2 = 180;
extern int MinPipsTrailing2 = 10;
extern int Break = 13;
int g_period_400 = 1;
int g_period_404 = 19;
double gd_408 = 1.4;
extern double ATRTrailingFactor2 = 4.7;
int gi_424 = 300;
int gi_428 = 270;
int gi_432 = 20;
int gi_436 = 0;
int gi_440 = 8;
int gi_444 = 7;
int gi_448 = 18;
int gi_452 = 17;
int gi_456 = 13;
int gi_460 = 14;
int gi_464 = 6;
int gi_468 = 9;
int gi_472 = 2;
int gi_476 = 3;
extern string Reversal = "==== FXCOMBO Reversal System Parameters ====";
extern int BegHourSys_III = 22;
extern int EndHourSys_III = 0;
extern double TakeProfit_III = 160.0;
extern int StopLoss_III = 70;
int gi_508 = 300;
extern int MaxPipsTrailing3 = 60;
extern int MinPipsTrailing3 = 20;
int g_period_520 = 60;
double gd_524 = 13.0;
int g_period_532 = 26;
int gi_536 = -3;
int gi_540 = 30;
bool gi_544 = TRUE;
string gs_548 = "";
double g_minlot_556 = 0.0;
double g_maxlot_564 = 0.0;
int g_leverage_572 = 0;
int g_lotsize_576 = 0;
int g_stoplevel_580 = 0;
int g_datetime_584 = 0;
int g_datetime_588 = 0;
int init() {
// код доступен только после оплаты
}
int deinit() {
Comment("");
return (0);
}
int start() {
// код доступен только после оплаты
}
double l_price_0;
double l_price_8;
double l_price_16;
color l_color_24;
bool l_bool_32;
bool l_bool_36;
double ld_40;
int li_48;
int l_ticket_296;
int l_ticket_300;
int l_ticket_304;
double l_price_312;
double l_price_320;
double l_price_328;
double l_price_336;
double ld_344;
double l_price_352;
double l_price_360;
double l_price_368;
double ld_376;
double l_price_384;
double l_lots_392;
string ls_400;
double l_lots_408;
double l_lots_416;
if (gi_544) {
gi_544 = FALSE;
g_minlot_556 = MarketInfo(Symbol(), MODE_MINLOT);
g_maxlot_564 = MarketInfo(Symbol(), MODE_MAXLOT);
g_leverage_572 = AccountLeverage();
g_lotsize_576 = MarketInfo(Symbol(), MODE_LOTSIZE);
g_stoplevel_580 = MarketInfo(Symbol(), MODE_STOPLEVEL);
}
/* if (Year() > gi_76 || (Month() > gi_80 && Year() == gi_76) || (Day() > gi_84 && Month() >= gi_80 && Year() == gi_76)) {
Comment("\n This version is out of date. Visit www.fxautomater.com and get your updated version!");
Alert("This version is out of date. Visit www.fxautomater.com and get your updated version!");
Sleep(30000);
return (0);
} */
if (!IsTesting() && IsDllsAllowed() == FALSE) {
Comment("Warning: Set Parameter **AllowDLL Imports** ON in menu Tools -> Options -> ExpertAdvisors.");
Print("Warning: Set Parameter **AllowDLL Imports** ON in menu Tools -> Options -> ExpertAdvisors.");
Alert("Warning: Set Parameter **AllowDLL Imports** ON in menu Tools -> Options -> ExpertAdvisors.");
Sleep(30000);
return (0);
}
if (Digits <= 3) ld_40 = 0.01;
else ld_40 = 0.0001;
if (Ask - Bid > MaxSPREAD * ld_40) {
Comment("\n SPREAD IS TOO HIGH ...");
Print("SPREAD IS TOO HIGH ...");
return (0);
}
if (!IsTesting() && AutoGMT_Offset == TRUE) li_48 = GMTOffset();
else li_48 = GMT_Offset_TestMode;
string ls_52 = "FX COMBO is running on your account.";
string ls_60 = "FX COMBO is set up for time zone GMT " + li_48;
string ls_68 = "Spread= " + DoubleToStr((Ask - Bid) / ld_40, 1) + " pips [in norm]";
string ls_76 = "Account Balance= " + DoubleToStr(AccountBalance(), 2);
string ls_84 = " ";
Comment("\n\n\n\n " + ls_52 + " \n " + ls_60 + " \n " + ls_68 + " \n " + ls_76 + " \n " + ls_84 + " " + gs_548);
ObjectCreate("klc", OBJ_LABEL, 0, 0, 0);
ObjectSetText("klc", " FOREX COMBO SYSTEM ", 9, "System", Red);
ObjectSet("klc", OBJPROP_CORNER, 0);
ObjectSet("klc", OBJPROP_XDISTANCE, 0);
ObjectSet("klc", OBJPROP_YDISTANCE, 22);
ObjectCreate("klc2", OBJ_LABEL, 0, 0, 0);
ObjectSetText("klc2", " by FXautomater ", 9, "System", Gray);
ObjectSet("klc2", OBJPROP_CORNER, 0);
ObjectSet("klc2", OBJPROP_XDISTANCE, 165);
ObjectSet("klc2", OBJPROP_YDISTANCE, 22);
ObjectCreate("klc3", OBJ_LABEL, 0, 0, 0);
ObjectSetText("klc3", " Copyright ? www.fxautomater.com ", 9, "System", Gray);
ObjectSet("klc3", OBJPROP_CORNER, 0);
ObjectSet("klc3", OBJPROP_XDISTANCE, 0);
ObjectSet("klc3", OBJPROP_YDISTANCE, 38);
if (gi_544) {
gi_544 = FALSE;
g_minlot_556 = MarketInfo(Symbol(), MODE_MINLOT);
g_maxlot_564 = MarketInfo(Symbol(), MODE_MAXLOT);
g_leverage_572 = AccountLeverage();
g_lotsize_576 = MarketInfo(Symbol(), MODE_LOTSIZE);
g_stoplevel_580 = MarketInfo(Symbol(), MODE_STOPLEVEL);
}
if (UseAgresiveMM != TRUE) {
LossFactorSys1 = 1;
LossFactorSys2 = 1;
LossFactorSys3 = 1;
}
HideTestIndicators(FALSE);
double l_iclose_92 = iClose(NULL, PERIOD_M15, 1);
double l_ima_100 = iMA(NULL, PERIOD_M15, g_period_336, 0, MODE_SMMA, PRICE_CLOSE, 1);
double l_iwpr_108 = iWPR(NULL, PERIOD_M15, g_period_344, 1);
double l_iatr_116 = iATR(NULL, PERIOD_H1, g_period_404, 1);
double l_ima_124 = iMA(NULL, PERIOD_H1, g_period_400, 0, MODE_EMA, PRICE_CLOSE, 1);
double ld_132 = l_ima_124 + l_iatr_116 * gd_408;
double ld_140 = l_ima_124 - l_iatr_116 * gd_408;
double l_iclose_148 = iClose(NULL, PERIOD_M5, 1);
double l_iatr_156 = iATR(NULL, PERIOD_M5, g_period_520, 1);
double l_ihigh_164 = iHigh(NULL, PERIOD_H1, 1);
double l_ilow_172 = iLow(NULL, PERIOD_H1, 1);
double l_ibands_180 = iBands(NULL, PERIOD_H1, g_period_532, 2, 0, PRICE_CLOSE, MODE_UPPER, 1);
double l_ibands_188 = iBands(NULL, PERIOD_H1, g_period_532, 2, 0, PRICE_CLOSE, MODE_LOWER, 1);
HideTestIndicators(FALSE);
if (TakeProfit < g_stoplevel_580 * ld_40) TakeProfit = g_stoplevel_580 * ld_40;
if (TakeProfit_II < g_stoplevel_580 * ld_40) TakeProfit_II = g_stoplevel_580 * ld_40;
if (StopLoss < g_stoplevel_580 * ld_40) StopLoss = g_stoplevel_580 * ld_40;
if (StopLoss_II < g_stoplevel_580 * ld_40) StopLoss_II = g_stoplevel_580 * ld_40;
if (TakeProfit_III < g_stoplevel_580 * ld_40) TakeProfit_III = g_stoplevel_580 * ld_40;
if (StopLoss_III < g_stoplevel_580 * ld_40) StopLoss_III = g_stoplevel_580 * ld_40;
int li_196 = gi_360 + li_48;
int li_200 = gi_360 + li_48;
int li_204 = BegHourSys_III + li_48;
int li_208 = EndHourSys_III + li_48;
if (li_196 > 23) li_196 -= 24;
if (li_196 < 0) li_196 += 24;
if (li_204 > 23) li_204 -= 24;
if (li_204 < 0) li_204 += 24;
if (li_200 > 23) li_200 -= 24;
if (li_200 < 0) li_200 += 24;
if (li_208 > 23) li_208 -= 24;
if (li_208 < 0) li_208 += 24;
int li_212 = gi_436 + li_48;
int li_216 = gi_440 + li_48;
int li_220 = gi_444 + li_48;
int li_224 = gi_448 + li_48;
int li_228 = gi_452 + li_48;
int li_232 = gi_456 + li_48;
int li_236 = gi_460 + li_48;
int li_240 = gi_464 + li_48;
int li_244 = gi_468 + li_48;
int li_248 = gi_472 + li_48;
int li_252 = gi_476 + li_48;
if (li_212 > 23) li_212 -= 24;
if (li_212 < 0) li_212 += 24;
if (li_216 > 23) li_216 -= 24;
if (li_216 < 0) li_216 += 24;
if (li_220 > 23) li_220 -= 24;
if (li_220 < 0) li_220 += 24;
if (li_224 > 23) li_224 -= 24;
if (li_224 < 0) li_224 += 24;
if (li_228 > 23) li_228 -= 24;
if (li_228 < 0) li_228 += 24;
if (li_232 > 23) li_232 -= 24;
if (li_232 < 0) li_232 += 24;
if (li_236 > 23) li_236 -= 24;
if (li_236 < 0) li_236 += 24;
if (li_240 > 23) li_240 -= 24;
if (li_240 < 0) li_240 += 24;
if (li_244 > 23) li_244 -= 24;
if (li_244 < 0) li_244 += 24;
if (li_248 > 23) li_248 -= 24;
if (li_248 < 0) li_248 += 24;
if (li_252 > 23) li_252 -= 24;
if (li_252 < 0) li_252 += 24;
Slippage = Slippage * ld_40;
int l_count_256 = 0;
int l_count_260 = 0;
int l_count_264 = 0;
int l_count_268 = 0;
int l_count_272 = 0;
int l_count_276 = 0;
int l_datetime_280 = g_datetime_584;
int li_284 = g_datetime_584 + gi_424;
int l_datetime_288 = g_datetime_588;
int li_292 = g_datetime_588 + gi_508;
for (int l_pos_308 = OrdersTotal() - 1; l_pos_308 >= 0; l_pos_308--) {
if (!OrderSelect(l_pos_308, SELECT_BY_POS, MODE_TRADES)) Print("Error in OrderSelect! Position:", l_pos_308);
else {
if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
if (OrderMagicNumber() == Magic1) {
if (OrderType() == OP_BUY) {
if (OrderStopLoss() == 0.0) {
l_price_312 = NormalizeDouble(Ask - StopLoss * ld_40, Digits);
l_price_320 = NormalizeDouble(Ask + TakeProfit * ld_40, Digits);
if (CheckStop(OrderType(), l_price_312) && CheckTarget(OrderType(), l_price_320)) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_312, l_price_320, 0, Green);
}
if (l_iwpr_108 > (-OSC_close) && Bid > l_iclose_92 + gi_356 * ld_40) {
RefreshRates();
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Slippage, Violet);
} else l_count_256++;
} else {
if (OrderStopLoss() == 0.0) {
l_price_312 = NormalizeDouble(Bid + StopLoss * ld_40, Digits);
l_price_320 = NormalizeDouble(Bid - TakeProfit * ld_40, Digits);
if (CheckStop(OrderType(), l_price_312) && CheckTarget(OrderType(), l_price_320)) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_312, l_price_320, 0, Green);
}
if (l_iwpr_108 < OSC_close + (-100) && Bid < l_iclose_92 - gi_356 * ld_40) {
RefreshRates();
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), Slippage, Violet);
} else l_count_260++;
}
}
if (OrderMagicNumber() == Magic2) {
if (OrderType() == OP_BUY) {
if (OrderStopLoss() == 0.0) {
l_price_328 = NormalizeDouble(Ask - StopLoss_II * ld_40, Digits);
l_price_336 = NormalizeDouble(Ask + TakeProfit_II * ld_40, Digits);
if (CheckStop(OrderType(), l_price_328) && CheckTarget(OrderType(), l_price_336)) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_328, l_price_336, 0, Green);
}
if (l_iclose_148 <= ld_140 - Break * ld_40) {
RefreshRates();
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Bid, Digits), Slippage, Violet);
} else l_count_264++;
if (TimeCurrent() >= li_284) {
ld_344 = l_iatr_116 * ATRTrailingFactor2;
if (ld_344 > MaxPipsTrailing2 * ld_40) ld_344 = MaxPipsTrailing2 * ld_40;
if (ld_344 < MinPipsTrailing2 * ld_40) ld_344 = MinPipsTrailing2 * ld_40;
if (Bid - OrderOpenPrice() > gi_428 * ld_40) ld_344 = gi_432 * ld_40;
l_price_352 = NormalizeDouble(Bid - ld_344, Digits);
if (Bid - OrderOpenPrice() > ld_344) {
if (OrderStopLoss() < l_price_352 && CheckStop(OrderType(), l_price_352)) {
l_bool_32 = OrderModify(OrderTicket(), OrderOpenPrice(), l_price_352, OrderTakeProfit(), 0, Blue);
if (l_bool_32) {
l_datetime_280 = TimeCurrent();
g_datetime_584 = l_datetime_280;
}
}
}
}
} else {
if (OrderStopLoss() == 0.0) {
l_price_328 = NormalizeDouble(Bid + StopLoss_II * ld_40, Digits);
l_price_336 = NormalizeDouble(Bid - TakeProfit_II * ld_40, Digits);
if (CheckStop(OrderType(), l_price_328) && CheckTarget(OrderType(), l_price_336)) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_328, l_price_336, 0, Green);
}
if (l_iclose_148 >= ld_132 + Break * ld_40) {
RefreshRates();
OrderClose(OrderTicket(), OrderLots(), NormalizeDouble(Ask, Digits), Slippage, Violet);
} else l_count_268++;
if (TimeCurrent() >= li_284) {
ld_344 = l_iatr_116 * ATRTrailingFactor2;
if (ld_344 > MaxPipsTrailing2 * ld_40) ld_344 = MaxPipsTrailing2 * ld_40;
if (ld_344 < MinPipsTrailing2 * ld_40) ld_344 = MinPipsTrailing2 * ld_40;
if (OrderOpenPrice() - Ask > gi_428 * ld_40) ld_344 = gi_432 * ld_40;
l_price_352 = NormalizeDouble(Ask + ld_344, Digits);
if (OrderOpenPrice() - Ask > ld_344) {
if (OrderStopLoss() > l_price_352 && CheckStop(OrderType(), l_price_352)) {
l_bool_32 = OrderModify(OrderTicket(), OrderOpenPrice(), l_price_352, OrderTakeProfit(), 0, Red);
if (l_bool_32) {
l_datetime_280 = TimeCurrent();
g_datetime_584 = l_datetime_280;
}
}
}
}
}
}
if (OrderMagicNumber() == Magic3) {
if (OrderType() == OP_BUY) {
if (OrderStopLoss() == 0.0) {
l_price_360 = NormalizeDouble(Ask - StopLoss_III * ld_40, Digits);
l_price_368 = NormalizeDouble(Ask + TakeProfit_III * ld_40, Digits);
if (CheckStop(OrderType(), l_price_360) && CheckTarget(OrderType(), l_price_368)) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_360, l_price_368, 0, Green);
}
if ((li_204 <= li_208 && TimeHour(TimeCurrent()) >= li_204 && TimeHour(TimeCurrent()) <= li_208) || (li_204 > li_208 && TimeHour(TimeCuПоказано первые 50% кода (символов: 22906)
Открыть по тарифу
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
Разовая покупка файла
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.