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

Forex Earth Robot

forex-earth-robot.mq4

Похожие материалы по тегам

#1.mtf_collider_h4_close_13_v18bar.mq4MQL4 / MetaTrader 4 · 1 общих теговea robofibo source v.11.2.mq4MQL4 / MetaTrader 4 · 1 общих теговsma crossover scalper ea for mt4.mq4MQL4 / MetaTrader 4 · 1 общих теговr15 pivot points expert advisor by @fundedmillionairess.mq4MQL4 / MetaTrader 4 · 1 общих теговnewstrader.mq5MQL5 / MetaTrader 5 · 1 общих теговmm3.0_flip_codepro_v3.1_with_cooldown@lifeindreamsworld.mq5MQL5 / MetaTrader 5 · 1 общих тегов
Вы автор или правообладатель?

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

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

О программе

«Forex Earth Robot» — торговый советник для MetaTrader 4, автоматизирующий открытие и управление ордерами на валютном рынке. Программа поддерживает несколько логик входа в сделку с фильтрами по ADX, таймфрейму, спреду и времени, а также позволяет задавать различные сценарии выхода из позиций.

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

Параметры настройки охватывают лот, магический номер, стоп-лосс, тейк-профит, ограничения по количеству сделок и ширине спреда. Советник работает на уровне текущего графика и использует стандартные торговые API MetaTrader 4 для выполнения операций.

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

НастройкаОписание
magic Магический номер — Магический номер для идентификации ордеров советника.
moneymanagement Управление капиталом — Группа настроек управления денежными средствами.
lots Размер лота — Фиксированный размер лота.
mm Управление капиталом — Включение или выключение управления денежными средствами.
risk Риск — Процент риска для расчёта размера лота.
minlot Минимальный лот — Минимально допустимый размер лота.
maxlot Максимальный лот — Максимально допустимый размер лота.
lotdigits Знаки лота — Количество знаков после запятой для округления лота.
ordersmanagement Управление ордерами — Группа настроек управления ордерами.
ecn Режим ECN — Переключатель режима ECN для ордеров.
oppositeclose Закрытие противоположных — Автоматическое закрытие противоположных позиций.
reversesignals Разворот сигналов — Разрешение разворота сигнала при наличии противоположной позиции.
maxtrades Максимум сделок — Максимальное количество одновременных сделок.
tradesperbar Сделок на бар — Максимальное количество сделок на бар.
hidesl Скрыть стоп-лосс — Скрытие стоп-лосса при открытии ордера.
hidetp Скрыть тейк-профит — Скрытие тейк-профита при открытии ордера.
stoploss Стоп-лосс — Фиксированное значение стоп-лосса в пунктах.
takeprofit Тейк-профит — Фиксированное значение тейк-профита в пунктах.
trailingstart Начало трейлинга — Начальное значение прибыли для активации трейлинг-стопа в пунктах.
trailingstop Трейлинг-стоп — Значение трейлинг-стопа в пунктах.
trailingstep Шаг трейлинга — Шаг трейлинг-стопа в пунктах.
breakevengain Безубыточный профит — Процент прибыли для активации безубыточного управления.
breakeven Безубыточный стоп — Уровень безубыточной фиксации в пунктах.
maxspread Максимальный спред — Максимально допустимый спред в пунктах.
adordersmanagement Расширенное управление ордерами — Группа расширенных настроек управления ордерами.
firstticks Первые тики — Переключатель ожидания первых тиков на новом баре.
ticks Тики — Минимальный объём тиков для фильтра первых тиков.
changedirection Смена направления — Разрешение смены направления текущей позиции.
onesideatatime Одна сторона за раз — Разрешение только одной стороны позиции за раз.
stop Стоп-лосс/Тейк-профит — Фиксированное значение стоп-лосса и тейк-профита.
trailing Трейлинг-стоп — Величина трейлинг-стопа в пунктах.
entrylogics Логика входа — Группа настроек логик входа в сделку.
lastxbars Бары для входа — Количество последних баров для анализа входного сигнала.
ybarsago Бары назад для входа — Количество баров назад для анализа входного сигнала.
adxfilter Фильтр ADX — Включение и выбор таймфрейма фильтра ADX.
adxtf Таймфрейм ADX — Таймфрейм, на котором рассчитывается фильтр ADX.
adxperiod Период ADX — Период расчёта индикатора ADX.
adxlevel Уровень ADX — Пороговое значение ADX для фильтрации сигналов.
exitrule Правило выхода — Включение или выключение правила выхода из позиции.
exitlastxbars Бары для выхода — Количество последних баров для проверки условия выхода.
exitybarsago Бары назад для выхода — Количество баров назад для проверки условия выхода.
shift Смещение бара — Смещение бара для анализа ценовых данных.
timefilter Временной фильтр — Группа настроек временной фильтрации.
usetimefilter Использовать временной фильтр — Включение или выключение временной фильтрации.
summergmtshift Летнее GMT смещение — Смещение летнего GMT для временной фильтрации.
wintergmtshift Зимнее GMT смещение — Смещение зимнего GMT для временной фильтрации.
mondayfilter Фильтр понедельника — Включение фильтра понедельника.
mondayhour Час понедельника — Час фильтра понедельника.
mondayminute Минута понедельника — Минута фильтра понедельника.
weekfilter Недельный фильтр — Включение недельной торговой фильтрации.
starthour Начальный час — Начальный час торговой фильтрации.
startminute Начальная минута — Начальная минута торговой фильтрации.
endhour Конечный час — Конечный час торговой фильтрации.
endminute Конечная минута — Конечная минута торговой фильтрации.
tradesunday Торговля в воскресенье — Разрешение торговли в воскресенье.
fridayfilter Фильтр пятницы — Включение фильтра пятницы.
fridayhour Час пятницы — Час фильтра пятницы.
fridayminute Минута пятницы — Минута фильтра пятницы.
testhour Час тестирования — Час для тестирования стратегии.
Получить полный код

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

#import "stdlib.ex4"
   string ErrorDescription(int a0); // DA69CBAFF4D38B87377667EEC549DE5A
#import

string RTRs_76 = "Forex Earth Robot";
extern int magic = 1234;
bool RTRi_88 = FALSE;
bool RTRi_92 = TRUE;
bool RTRi_unused_96 = FALSE;
bool RTRi_100 = FALSE;
bool RTRi_104 = FALSE;
bool RTRi_108 = FALSE;
bool RTRi_112 = FALSE;
bool RTRi_116 = FALSE;
bool RTRi_120 = FALSE;
bool RTRi_124 = FALSE;
bool RTRi_128 = FALSE;
bool RTRi_132 = FALSE;
extern string moneymanagement = "Money Management";
extern double lots = 0.1;
extern bool mm = FALSE;
extern double risk = 1.0;
extern double minlot = 0.01;
extern double maxlot = 50.0;
extern int lotdigits = 2;
bool RTRi_184 = FALSE;
double RTRd_188 = 2.0;
bool RTRi_196 = FALSE;
int RTRi_200 = 0;
double RTRd_204 = 2.0;
double RTRd_212 = 0.0;
bool RTRi_220 = FALSE;
int RTRi_224 = 0;
bool RTRi_228 = FALSE;
int RTRi_232 = 0;
double RTRd_236 = 1.0;
double RTRd_244 = 1.0;
int RTRi_252 = 500;
string RTRs_unused_256 = "Profit Management";
bool RTRi_264 = FALSE;
double RTRd_268 = 0.1;
double RTRd_276 = 100.0;
bool RTRi_284 = FALSE;
double RTRd_288 = 10.0;
double RTRd_296 = 10000.0;
bool RTRi_304 = FALSE;
double RTRd_308 = 5.0;
double RTRd_316 = 10000.0;
bool RTRi_324 = FALSE;
double RTRd_328 = 1.0;
double RTRd_336 = 0.5;
bool RTRi_344 = FALSE;
double RTRd_348 = 75.0;
double RTRd_356 = 20.0;
bool RTRi_364 = FALSE;
double RTRd_368 = 10.0;
double RTRd_376 = 5.0;
extern string ordersmanagement = "Order Management";
extern bool ecn = FALSE;
bool RTRi_396 = TRUE;
bool RTRi_400 = FALSE;
bool RTRi_404 = FALSE;
bool RTRi_408 = FALSE;
int RTRi_412 = 20;
bool RTRi_416 = FALSE;
bool RTRi_420 = FALSE;
extern bool oppositeclose = TRUE;
bool RTRi_428 = FALSE;
int RTRi_432 = 0;
extern bool reversesignals = FALSE;
extern int maxtrades = 500;
extern int tradesperbar = 1;
bool RTRi_448 = FALSE;
int RTRi_452 = 1;
extern bool hidesl = FALSE;
extern bool hidetp = FALSE;
extern double stoploss = 0.0;
extern double takeprofit = 0.0;
bool RTRi_480 = FALSE;
bool RTRi_484 = FALSE;
double RTRd_488 = 5.0;
double RTRd_496 = 50.0;
double RTRd_504 = 20.0;
double RTRd_512 = 25.0;
int RTRi_520 = 0;
extern double trailingstart = 0.0;
extern double trailingstop = 0.0;
double RTRd_540 = 0.0;
extern double trailingstep = 1.0;
extern double breakevengain = 0.0;
extern double breakeven = 0.0;
int RTRi_572 = 1440;
double RTRd_576 = 0.0;
extern double maxspread = 0.0;
extern string adordersmanagement = "Advanced Order Management";
extern bool firstticks = FALSE;
extern int ticks = 4;
bool RTRi_608 = FALSE;
extern bool changedirection = FALSE;
extern bool onesideatatime = FALSE;
extern double stop = 0.0;
extern double trailing = 0.0;
bool RTRi_636 = FALSE;
bool RTRi_640 = FALSE;
int RTRi_644 = 0;
double RTRd_648 = 20.0;
double RTRd_656 = 1.0;
bool RTRi_664 = FALSE;
bool RTRi_668 = TRUE;
int RTRi_672 = 0;
int RTRi_676 = 0;
bool RTRi_680 = FALSE;
int RTRi_684 = 4;
int RTRi_688 = 60;
bool RTRi_692 = FALSE;
int RTRi_696 = 2;
bool RTRi_700 = FALSE;
int RTR_timeframe_704 = 0;
int RTRi_708 = 10;
bool RTRi_712 = FALSE;
int RTR_timeframe_716 = 0;
int RTRi_720 = 10;
extern string entrylogics = "Entry Logics";
extern int lastxbars = 32;
extern int ybarsago = 20;
int RTRi_740 = 0;
extern string adxfilter = "0:NONE,1:M1,2:M5,3:M15,...,9:MN";
extern int adxtf = 5;
extern int adxperiod = 14;
extern int adxlevel = 20;
extern bool exitrule = TRUE;
extern int exitlastxbars = 32;
extern int exitybarsago = 20;
extern int shift = 1;
extern string timefilter = "Time Filter";
extern bool usetimefilter = FALSE;
extern int summergmtshift = 0;
extern int wintergmtshift = 0;
extern bool mondayfilter = FALSE;
extern int mondayhour = 12;
extern int mondayminute = 0;
extern bool weekfilter = FALSE;
extern int starthour = 7;
extern int startminute = 0;
extern int endhour = 21;
extern int endminute = 0;
extern bool tradesunday = TRUE;
extern bool fridayfilter = FALSE;
extern int fridayhour = 12;
extern int fridayminute = 0;
extern int testhour = 24;
bool RTRi_852 = FALSE;
int RTRi_856 = 1;
int RTRi_860 = 4;
int RTRi_864 = 12;
int RTRi_868 = 18;
bool RTRi_872 = FALSE;
int RTRi_876 = 3;
int RTRi_880 = 10;
bool RTRi_884 = FALSE;
int RTRi_888 = 21;
string RTRs_unused_892 = "News Filter";
bool RTRi_900 = FALSE;
int RTRi_904 = 30;
int RTRi_908 = 30;
bool RTRi_912 = FALSE;
bool RTRi_916 = FALSE;
bool RTRi_920 = FALSE;
string RTRs_unused_924 = "Time Outs and Targets";
bool RTRi_932 = FALSE;
int RTRi_936 = 30;
int RTRi_940 = 7;
int RTRi_944 = 70;
int RTRi_948 = 5;
int RTRi_952 = 95;
int RTRi_956 = 4;
int RTRi_960 = 120;
int RTRi_964 = 2;
int RTRi_968 = 150;
int RTRi_972 = -5;
int RTRi_976 = 180;
int RTRi_980 = -8;
int RTRi_984 = 210;
int RTRi_988 = -15;
bool RTRi_unused_992 = FALSE;
bool RTRi_996 = TRUE;
bool RTRi_1000 = TRUE;
bool RTRi_1004 = TRUE;
bool RTRi_1008 = FALSE;
bool RTRi_1012 = FALSE;
bool RTRi_1016 = TRUE;
bool RTRi_1020 = TRUE;
bool RTRi_1024 = TRUE;
bool RTRi_1028 = TRUE;
bool RTRi_1032 = TRUE;
bool RTRi_1036 = TRUE;
int RTR_count_1040;
int RTR_pos_1048;
int RTRi_1052 = 100;
int RTRi_1060;
int RTRi_1064;
int RTRi_1068;
int RTRi_1072;
bool RTRi_1080 = FALSE;
int RTRi_1084;
int RTRi_1092;
int RTRi_1100;
int RTRi_1104;
int RTRi_1108;
int RTR_count_1112;
int RTRi_1116;
int RTRi_1120;
int RTRi_1124;
int RTRi_1128;
int RTRi_1132 = 0;
int RTRi_1136 = 0;
int RTR_datetime_1144;
int RTR_datetime_1148;
int RTR_file_1152;
int RTR_str2time_1156;
bool RTRi_1160 = FALSE;
int RTRi_1164 = 0;
bool RTRi_1168 = FALSE;
int RTRi_1172 = 0;
int RTRi_unused_1176;
int RTRi_unused_1180;
double RTR_price_1192;
double RTR_price_1200;
double RTRd_1208;
double RTRd_1216;
double RTRd_1240;
double RTRd_1248;
double RTRd_1256;
double RTRda_1264[14];
double RTRda_1268[14];
double RTRd_1280;
double RTRda_1304[20];
double RTR_order_open_price_1308;
double RTR_order_open_price_1316;
double RTRd_1340;
double RTRd_1364 = 0.0;
double RTRd_1372;
double RTR_open_1380 = 0.0;
double RTRd_1388;
double RTRd_1396;
double RTRd_1404;
double RTRd_1412;
double RTRd_1420;
double RTRd_1428;
double RTRd_1436;
double RTRd_1444 = 0.0;
double RTRd_1452 = 0.0;
double RTRd_1460;
double RTRd_1468;
string RTRs_1476;
string RTRs_1484;
string RTRs_1492;
string RTRs_1500;
string RTRs_1508;
string RTRs_1516;
string RTRs_1524;
string RTRs_1532;
string RTRs_1540;
string RTRs_1548;
string RTRs_1556;
string RTRs_1564;
string RTRs_1572;
string RTRs_1580;
string RTRs_1588;
string RTRs_1596;
string RTRs_1604;
string RTRs_unused_1612 = "";
string RTRs_unused_1620 = "";
string RTRs_unused_1628 = "";
string RTRs_unused_1636 = "";
string RTRs_1644;
string RTRs_1652;
string RTRs_1660 = "";
string RTRs_1668 = "";
string RTRs_1676 = "";
string RTRs_1684 = "";
string RTRs_1692 = "";
string RTRs_1700 = "";
int RTR_str2time_1708;
int RTR_str2time_1712;
int RTR_str2time_1716;
int RTR_str2time_1720;
int RTR_datetime_1724;
int RTR_datetime_1732;
int RTRi_1740;
int RTRi_1744;
int RTRi_1748;
int RTRi_1752;
int RTRi_1756;
int RTRi_1760;
int RTR_datetime_1764;
datetime RTR_time_1768;
datetime RTR_time_1772;
int RTR_datetime_1776;
int RTR_str2time_1780;
double RTR_digits_1784;
double RTRd_1792;
double RTRd_1800;
int RTR_minute_1808 = -1;

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

int f0_24(int xxxxi_0, int xxxxi_4) {
   double ihigh_8 = iHigh(NULL, f0_45(RTRi_740), iHighest(NULL, f0_45(RTRi_740), MODE_HIGH, lastxbars, xxxxi_4 + 1));
   double ilow_16 = iLow(NULL, f0_45(RTRi_740), iLowest(NULL, f0_45(RTRi_740), MODE_LOW, lastxbars, xxxxi_4 + 1));
   if (Close[xxxxi_4] < ilow_16 && iHighest(NULL, f0_45(RTRi_740), MODE_HIGH, lastxbars, xxxxi_4 + 1) >= ybarsago && f0_45(adxtf) == 0 || (f0_45(adxtf) > 0 && iADX(NULL,
      f0_45(adxtf), adxperiod, PRICE_CLOSE, MODE_PLUSDI, xxxxi_4) > adxlevel))
      if (xxxxi_0 == 0) return (1);
   if (Close[xxxxi_4] > ihigh_8 && iLowest(NULL, f0_45(RTRi_740), MODE_LOW, lastxbars, xxxxi_4 + 1) >= ybarsago && f0_45(adxtf) == 0 || (f0_45(adxtf) > 0 && iADX(NULL,
      f0_45(adxtf), adxperiod, PRICE_CLOSE, MODE_PLUSDI, xxxxi_4) > adxlevel))
      if (xxxxi_0 == 1) return (2);
   return (0);
}

int f0_35(int xxxxi_0, int xxxxi_4) {
   double ihigh_8 = iHigh(NULL, f0_45(RTRi_740), iHighest(NULL, f0_45(RTRi_740), MODE_HIGH, lastxbars, xxxxi_4 + 1));
   double ilow_16 = iLow(NULL, f0_45(RTRi_740), iLowest(NULL, f0_45(RTRi_740), MODE_LOW, lastxbars, xxxxi_4 + 1));
   if (Close[xxxxi_4] > ihigh_8 && iLowest(NULL, f0_45(RTRi_740), MODE_LOW, exitlastxbars, xxxxi_4 + 1) >= exitybarsago)
      if (xxxxi_0 == 0) return (1);
   if (Close[xxxxi_4] < ilow_16 && iHighest(NULL, f0_45(RTRi_740), MODE_HIGH, exitlastxbars, xxxxi_4 + 1) >= exitybarsago)
      if (xxxxi_0 == 1) return (2);
   return (0);
}

void f0_62() {
   RTRi_1168 = FALSE;
   RTRi_1172 = 0;
   if (exitrule) {
      if (f0_35(0, shift) == 1) RTRi_1168 = TRUE;
      if (f0_35(1, shift) == 2) RTRi_1172 = 2;
   }
}

void f0_6() {
   if (RTRi_448) {
      RTR_count_1040 = 0;
      if (OrdersHistoryTotal() > 0) {
         for (RTR_pos_1048 = OrdersHistoryTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
            OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
            if (OrderSymbol() != Symbol() || OrderMagicNumber() != magic) continue;
            if (OrderOpenTime() < iTime(NULL, PERIOD_D1, 0)) break;
            RTR_count_1040++;
         }
      }
   }
   RTRi_1160 = FALSE;
   RTRi_1164 = 0;
   if (RTRi_1168 != TRUE && f0_24(0, shift) == 1 && RTRi_448 == FALSE || (RTRi_448 && RTR_count_1040 < RTRi_452) && RTRi_852 == FALSE || (RTRi_852 && (!Month() == RTRi_856 &&
      Day() <= RTRi_860) && (!Month() == RTRi_864 && Day() >= RTRi_868)) && IsTradeContextBusy() == FALSE) RTRi_1160 = TRUE;
   if (RTRi_1172 != 2 && f0_24(1, shift) == 2 && RTRi_448 == FALSE || (RTRi_448 && RTR_count_1040 < RTRi_452) && RTRi_852 == FALSE || (RTRi_852 && (!Month() == RTRi_856 &&
      Day() <= RTRi_860) && (!Month() == RTRi_864 && Day() >= RTRi_868)) && IsTradeContextBusy() == FALSE) RTRi_1164 = 2;
}

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

int f0_19(int xxxxi_0) {
   int count_4 = 0;
   if (OrdersTotal() > 0) {
      for (RTR_pos_1048 = OrdersTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic && OrderCloseTime() == 0) {
            if (OrderOpenTime() < iTime(NULL, 0, 0)) break;
            if (OrderType() == OP_BUY || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP && xxxxi_0 == 0)
               if (OrderOpenTime() >= iTime(NULL, 0, 0)) count_4++;
            if (OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP && xxxxi_0 == 1)
               if (OrderOpenTime() >= iTime(NULL, 0, 0)) count_4++;
         }
      }
   }
   if (OrdersHistoryTotal() > 0) {
      for (RTR_pos_1048 = OrdersHistoryTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
         if (OrderSymbol() != Symbol() || OrderMagicNumber() != magic) continue;
         if (OrderOpenTime() < iTime(NULL, 0, 0)) break;
         if (OrderType() == OP_BUY || OrderType() == OP_BUYLIMIT || OrderType() == OP_BUYSTOP && xxxxi_0 == 0)
            if (OrderOpenTime() >= iTime(NULL, 0, 0)) count_4++;
         if (OrderType() == OP_SELL || OrderType() == OP_SELLLIMIT || OrderType() == OP_SELLSTOP && xxxxi_0 == 1)
            if (OrderOpenTime() >= iTime(NULL, 0, 0)) count_4++;
      }
   }
   return (count_4);
}

void f0_9() {
   if (RTRi_132) {
      GlobalVariableSet("vGrafBalance", AccountBalance());
      GlobalVariableSet("vGrafEquity", AccountEquity());
   }
}

void f0_39() {
   if (RTRi_88) {
      if (RTR_datetime_1776 != iTime(NULL, PERIOD_D1, 0)) {
         MathSrand(TimeLocal());
         magic = MathRand();
         RTR_datetime_1776 = iTime(NULL, PERIOD_D1, 0);
      }
   }
}

void f0_4() {
   RTRd_1388 = AccountBalance();
   if (stop > 0.0) {
      stoploss = stop;
      takeprofit = stop;
   }
}

int f0_17() {
   if (firstticks)
      if (iVolume(NULL, 0, 0) > ticks) return (1);
   return (0);
}

void f0_27() {
   if (RTRi_608) RTR_open_1380 = Open[0];
}

int f0_47() {
   if (RTRi_608)
      if (RTR_open_1380 == Open[0]) return (1);
   return (0);
}

int f0_60() {
   if (Bars < 100) return (1);
   return (0);
}

void f0_40() {
   if (RTRi_1080 == TRUE) {
      RTRi_1060 = 0;
      RTRi_1064 = 0;
   }
   if (oppositeclose) {
      RTR_datetime_1144 = 0;
      RTR_datetime_1148 = 0;
   }
   RTR_order_open_price_1308 = 0;
   RTR_order_open_price_1316 = 0;
   if (OrdersTotal() > 0) {
      for (RTR_pos_1048 = 0; RTR_pos_1048 < OrdersTotal(); RTR_pos_1048++) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic && OrderCloseTime() == 0) {
            if (OrderType() == OP_BUY) {
               if (oppositeclose)
                  if (RTR_datetime_1144 == 0 || RTR_datetime_1144 > OrderOpenTime()) RTR_datetime_1144 = OrderOpenTime();
               RTR_datetime_1724 = OrderOpenTime();
               if (RTRi_636) RTR_order_open_price_1308 = OrderOpenPrice();
               if (RTRi_1080 == TRUE) RTRi_1060 = RTRi_1060 + OrderProfit();
            }
            if (OrderType() == OP_SELL) {
               if (oppositeclose)
                  if (RTR_datetime_1144 == 0 || RTR_datetime_1148 > OrderOpenTime()) RTR_datetime_1148 = OrderOpenTime();
               RTR_datetime_1732 = OrderOpenTime();
               if (RTRi_636) RTR_order_open_price_1316 = OrderOpenPrice();
               if (RTRi_1080 == TRUE) RTRi_1064 = RTRi_1064 + OrderProfit();
            }
         }
      }
   }
   if (RTRi_1080 == TRUE) RTRd_1280 = RTRi_1060 + RTRi_1064;
}

void f0_50() {
   RTRi_1008 = FALSE;
   RTRi_1012 = FALSE;
}

void f0_8() {
   RTRi_1024 = TRUE;
   RTRi_1028 = TRUE;
   if (onesideatatime) {
      if (f0_58(OP_SELL) > 0) {
         if (reversesignals) RTRi_1028 = FALSE;
         else RTRi_1024 = FALSE;
      }
      if (f0_58(OP_BUY) > 0) {
         if (reversesignals) RTRi_1024 = FALSE;
         else RTRi_1028 = FALSE;
      }
   }
   if (RTRi_1160 == TRUE && RTRi_1016 && RTRi_1024 && RTRi_996 && RTRi_1004 && RTRi_872 == FALSE || (RTRi_872 && Day() != RTRi_876 && Day() != RTRi_880)) {
      if (reversesignals) RTRi_1012 = TRUE;
      else RTRi_1008 = TRUE;
      if (changedirection) {
         RTRi_996 = FALSE;
         RTRi_1000 = TRUE;
      }
      if (RTRi_428) {
         if (reversesignals) RTRs_1540 = "SHORT";
         else RTRs_1540 = "LONG";
      }
   }
   if (RTRi_1164 == 2 && RTRi_1020 && RTRi_1028 && RTRi_1000 && RTRi_1004 && RTRi_872 == FALSE || (RTRi_872 && Day() != RTRi_876 && Day() != RTRi_880)) {
      if (reversesignals) RTRi_1008 = TRUE;
      else RTRi_1012 = TRUE;
      if (changedirection) {
         RTRi_996 = TRUE;
         RTRi_1000 = FALSE;
      }
      if (RTRi_428) {
         if (reversesignals) {
            RTRs_1540 = "LONG";
            return;
         }
         RTRs_1540 = "SHORT";
      }
   }
}

int f0_34(int xxxx_cmd_0, double xxxxd_4, double xxxxd_12, double xxxxd_20, double xxxxd_28, int xxxx_datetime_36, color xxxx_color_40) {
   int ticket_44 = 0;
   if (xxxxd_4 < minlot) xxxxd_4 = minlot;
   if (xxxxd_4 > maxlot) xxxxd_4 = maxlot;
   if (xxxx_cmd_0 == OP_BUY || xxxx_cmd_0 == OP_BUYSTOP || xxxx_cmd_0 == OP_BUYLIMIT) {
      if (hidesl == FALSE && xxxxd_20 > 0.0) RTR_price_1192 = xxxxd_12 - xxxxd_20 * RTRd_1792;
      else RTR_price_1192 = 0;
      if (hidetp == FALSE && xxxxd_28 > 0.0) RTR_price_1200 = xxxxd_12 + xxxxd_28 * RTRd_1792;
      else RTR_price_1200 = 0;
      if (ecn) {
         RTR_price_1192 = 0;
         RTR_price_1200 = 0;
      }
   }
   if (xxxx_cmd_0 == OP_SELL || xxxx_cmd_0 == OP_SELLSTOP || xxxx_cmd_0 == OP_SELLLIMIT) {
      if (hidesl == FALSE && xxxxd_20 > 0.0) RTR_price_1192 = xxxxd_12 + xxxxd_20 * RTRd_1792;
      else RTR_price_1192 = 0;
      if (hidetp == FALSE && xxxxd_28 > 0.0) RTR_price_1200 = xxxxd_12 - xxxxd_28 * RTRd_1792;
      else RTR_price_1200 = 0;
      if (ecn) {
         RTR_price_1192 = 0;
         RTR_price_1200 = 0;
      }
   }
   ticket_44 = OrderSend(Symbol(), xxxx_cmd_0, f0_46(xxxxd_4, lotdigits), f0_46(xxxxd_12, RTR_digits_1784), RTRd_576 * RTRd_1800, RTR_price_1192, RTR_price_1200, RTRs_76 +
      " " + DoubleToStr(magic, 0), magic, xxxx_datetime_36, xxxx_color_40);
   return (ticket_44);
}

void f0_0() {
   if (RTRi_700) {
      stoploss = (Ask - iLow(NULL, RTR_timeframe_704, iLowest(NULL, RTR_timeframe_704, MODE_LOW, RTRi_708, shift))) / RTRd_1792;
      if (stoploss < MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD)) stoploss = MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD);
   }
   if (RTRi_712) {
      takeprofit = (iHigh(NULL, RTR_timeframe_716, iHighest(NULL, RTR_timeframe_716, MODE_HIGH, RTRi_720, shift)) - Ask) / RTRd_1792;
      if (takeprofit < MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD)) takeprofit = MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD);
   }
   if (RTRi_420) {
      f0_2(OP_SELLSTOP);
      f0_2(OP_SELLLIMIT);
   }
   RTRi_1116 = 0;
   RTR_count_1112 = 0;
   RTRi_1124 = 0;
   if (RTRi_400 || RTRi_404)
      if (RTRi_572 > 0) RTRi_1124 = TimeCurrent() + 60 * RTRi_572 - 5;
   if (RTRi_396) {
      if (RTRi_1080 == FALSE) {
         while (RTRi_1116 <= 0 && RTR_count_1112 < RTRi_1052) {
            while (!IsTradeAllowed()) Sleep(5000);
            RefreshRates();
            RTRi_1116 = f0_34(OP_BUY, RTRd_1208, Ask, stoploss, takeprofit, RTRi_1124, Blue);
            if (RTRi_1116 < 0) {
               if (RTRi_92) Print("Error opening BUY order! ", ErrorDescription(GetLastError()));
               RTR_count_1112++;
            }
         }
      }
      if (RTRi_1080 == TRUE) {
         while (RTRi_1116 <= 0 && RTR_count_1112 < RTRi_1052) {
            while (!IsTradeAllowed()) Sleep(5000);
            RefreshRates();
            RTRi_1116 = f0_34(OP_BUY, RTRd_1208, Ask, stoploss, 0, RTRi_1124, Blue);
            if (RTRi_1116 < 0) {
               if (RTRi_92) Print("Error opening BUY order! ", ErrorDescription(GetLastError()));
               RTR_count_1112++;
            }
         }
      }
   }
   if (RTRi_400) {
      if (RTRi_1740 != Time[0]) {
         if (RTRi_416) f0_2(OP_BUYSTOP);
         RefreshRates();
         RTRi_1116 = f0_34(OP_BUYSTOP, RTRd_1208, Ask + RTRi_412 * RTRd_1792, stoploss, takeprofit, RTRi_1124, Blue);
         RTRi_1740 = Time[0];
      }
   }
   if (RTRi_404) {
      if (RTRi_1744 != Time[0]) {
         if (RTRi_416) f0_2(OP_BUYLIMIT);
         RefreshRates();
         RTRi_1116 = f0_34(OP_BUYLIMIT, RTRd_1208, Bid - RTRi_412 * RTRd_1792, stoploss, takeprofit, RTRi_1124, Blue);
         RTRi_1744 = Time[0];
      }
   }
   if (RTRi_664 && RTRi_1756 != Time[0]) {
      if (RTRi_668) f0_2(OP_BUYSTOP);
      RefreshRates();
      RTRi_1116 = f0_34(OP_SELLSTOP, RTRd_1208, Bid - stoploss * RTRd_1792, RTRi_672, RTRi_676, RTRi_1124, Red);
      RTRi_1756 = Time[0];
   }
   if (RTRi_396) {
      if (RTRi_1116 <= 0)
         if (RTRi_92) Print("Error Occured : " + ErrorDescription(GetLastError()));
   }
   if (RTR_time_1768 != Time[0]) {
      RefreshRates();
      if (RTRi_100) SendMail("[Long Trade]", "[" + Symbol() + "] " + DoubleToStr(Ask, RTR_digits_1784));
      if (RTRi_104) Alert(Symbol(), " Long Trade @  Hour ", Hour(), "  Minute ", Minute());
      if (RTRi_108) PlaySound("alert.wav");
      RTR_time_1768 = Time[0];
   }
}

void f0_37() {
   if (RTRi_700) {
      stoploss = (iHigh(NULL, RTR_timeframe_704, iHighest(NULL, RTR_timeframe_704, MODE_HIGH, RTRi_708, shift)) - Bid) / RTRd_1792;
      if (stoploss < MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD)) stoploss = MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD);
   }
   if (RTRi_712) {
      takeprofit = (Bid - iLow(NULL, RTR_timeframe_716, iLowest(NULL, RTR_timeframe_716, MODE_LOW, RTRi_720, shift))) / RTRd_1792;
      if (takeprofit < MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD)) takeprofit = MarketInfo(Symbol(), MODE_STOPLEVEL) + MarketInfo(Symbol(), MODE_SPREAD);
   }
   if (RTRi_420) {
      f0_2(OP_BUYSTOP);
      f0_2(OP_BUYLIMIT);
   }
   RTRi_1116 = 0;
   RTR_count_1112 = 0;
   RTRi_1124 = 0;
   if (RTRi_400 || RTRi_404)
      if (RTRi_572 > 0) RTRi_1124 = TimeCurrent() + 60 * RTRi_572 - 5;
   if (RTRi_396) {
      if (RTRi_1080 == FALSE) {
         while (RTRi_1116 <= 0 && RTR_count_1112 < RTRi_1052) {
            while (!IsTradeAllowed()) Sleep(5000);
            RefreshRates();
            RTRi_1116 = f0_34(OP_SELL, RTRd_1216, Bid, stoploss, takeprofit, RTRi_1124, Red);
            if (RTRi_1116 < 0) {
               if (RTRi_92) Print("Error opening BUY order! ", ErrorDescription(GetLastError()));
               RTR_count_1112++;
            }
         }
      }
      if (RTRi_1080 == TRUE) {
         while (RTRi_1116 <= 0 && RTR_count_1112 < RTRi_1052) {
            while (!IsTradeAllowed()) Sleep(5000);
            RefreshRates();
            RTRi_1116 = f0_34(OP_SELL, RTRd_1216, Bid, stoploss, 0, RTRi_1124, Red);
            if (RTRi_1116 < 0) {
               if (RTRi_92) Print("Error opening BUY order! ", ErrorDescription(GetLastError()));
               RTR_count_1112++;
            }
         }
      }
   }
   if (RTRi_400) {
      if (RTRi_1748 != Time[0]) {
         if (RTRi_416) f0_2(OP_SELLSTOP);
         RefreshRates();
         RTRi_1116 = f0_34(OP_SELLSTOP, RTRd_1216, Bid - RTRi_412 * RTRd_1792, stoploss, takeprofit, RTRi_1124, Red);
         RTRi_1748 = Time[0];
      }
   }
   if (RTRi_404) {
      if (RTRi_1752 != Time[0]) {
         if (RTRi_416) f0_2(OP_SELLLIMIT);
         RefreshRates();
         RTRi_1116 = f0_34(OP_SELLLIMIT, RTRd_1216, Ask + RTRi_412 * RTRd_1792, stoploss, takeprofit, RTRi_1124, Red);
         RTRi_1752 = Time[0];
      }
   }
   if (RTRi_664 && RTRi_1760 != Time[0]) {
      if (RTRi_668) f0_2(OP_SELLSTOP);
      RefreshRates();
      RTRi_1116 = f0_34(OP_BUYSTOP, RTRd_1208, Ask + stoploss * RTRd_1792, RTRi_672, RTRi_676, RTRi_1124, Blue);
      RTRi_1760 = Time[0];
   }
   if (RTRi_396) {
      if (RTRi_1116 <= 0)
         if (RTRi_92) Print("Error Occured : " + ErrorDescription(GetLastError()));
   }
   if (RTR_time_1768 != Time[0]) {
      RefreshRates();
      if (RTRi_100) SendMail("[Short Trade]", "[" + Symbol() + "] " + DoubleToStr(Bid, RTR_digits_1784));
      if (RTRi_104) Alert(Symbol(), " Short Trade @  Hour ", Hour(), "  Minute ", Minute());
      if (RTRi_108) PlaySound("alert.wav");
      RTR_time_1768 = Time[0];
   }
}

void f0_56() {
   if (RTRi_1032 && RTRi_1036) {
      if (RTRi_1008 && (!RTRi_116) && f0_19(0) < tradesperbar) f0_0();
      if (RTRi_1012 && (!RTRi_112) && f0_19(1) < tradesperbar) f0_37();
   }
}

int f0_66() {
   int count_0 = 0;
   if (OrdersTotal() > 0) {
      for (RTR_pos_1048 = OrdersTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_TRADES);
         count_0++;
      }
      return (count_0);
   }
   return (0);
}

int f0_58(int xxxx_cmd_0) {
   int count_4 = 0;
   if (OrdersTotal() > 0) {
      for (RTR_pos_1048 = OrdersTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderType() == xxxx_cmd_0 && OrderMagicNumber() == magic) count_4++;
      }
      return (count_4);
   }
   return (0);
}

int f0_16(int xxxxi_0) {
   int YYYYi_ret_4 = 0;
   if (xxxxi_0 == 0) YYYYi_ret_4 = f0_58(OP_BUY) + f0_58(OP_SELL);
   if (xxxxi_0 == 1) YYYYi_ret_4 = f0_58(OP_BUY) + f0_58(OP_SELL) + f0_58(OP_BUYSTOP) + f0_58(OP_SELLSTOP) + f0_58(OP_BUYLIMIT) + f0_58(OP_SELLLIMIT);
   return (YYYYi_ret_4);
}

int f0_15() {
   if (maxspread != 0.0)
      if (Ask - Bid > maxspread * RTRd_1792) return (1);
   if (maxtrades < 500)
      if (f0_16(0) >= maxtrades) return (1);
   return (0);
}

double f0_20(int xxxxi_0) {
   double order_profit_4 = 0;
   double order_lots_12 = 0;
   if (OrdersHistoryTotal() > 0) {
      for (RTR_pos_1048 = OrdersHistoryTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         if (order_profit_4 != 0.0) break;
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
         if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic && OrderType() == OP_BUY || OrderType() == OP_SELL) {
            order_profit_4 = OrderProfit();
            order_lots_12 = OrderLots();
         }
      }
   }
   if (xxxxi_0 == 0) return (order_lots_12);
   if (xxxxi_0 == 1) return (order_profit_4);
   return (0);
}

double f0_59(int xxxxi_0) {
   double YYYYd_ret_4 = 0;
   if (OrdersTotal() > 0) {
      for (RTR_pos_1048 = OrdersTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_TRADES);
         if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == magic) {
            if (xxxxi_0 == 0) YYYYd_ret_4 += (OrderClosePrice() - OrderOpenPrice()) / RTRd_1792;
            if (xxxxi_0 == 1) YYYYd_ret_4 += OrderProfit();
         }
         if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == magic) {
            if (xxxxi_0 == 0) YYYYd_ret_4 += (OrderOpenPrice() - OrderClosePrice()) / RTRd_1792;
            if (xxxxi_0 == 1) YYYYd_ret_4 += OrderProfit();
         }
      }
      return (YYYYd_ret_4);
   }
   return (0.0);
}

double f0_22(int xxxxi_0) {
   double YYYYd_ret_4 = 0;
   if (OrdersHistoryTotal() > 0) {
      for (RTR_pos_1048 = OrdersHistoryTotal() - 1; RTR_pos_1048 >= 0; RTR_pos_1048--) {
         OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
         if (OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == magic) {
            if (xxxxi_0 == 2 || xxxxi_0 == 3 && TimeDay(OrderOpenTime()) != TimeDay(Time[0])) break;
            if (xxxxi_0 == 4 || xxxxi_0 == 5 && TimeMonth(OrderOpenTime()) != TimeMonth(Time[0])) break;
            if (xxxxi_0 == 0) YYYYd_ret_4 += (OrderClosePrice() - OrderOpenPrice()) / RTRd_1792;
            if (xxxxi_0 == 1) YYYYd_ret_4 += OrderProfit();
            if (xxxxi_0 == 2 && TimeDay(OrderOpenTime()) == TimeDay(Time[0])) YYYYd_ret_4 += (OrderClosePrice() - OrderOpenPrice()) / RTRd_1792;
            if (xxxxi_0 == 3 && TimeDay(OrderOpenTime()) == TimeDay(Time[0])) YYYYd_ret_4 += OrderProfit();
            if (xxxxi_0 == 4 && TimeMonth(OrderOpenTime()) == TimeMonth(Time[0])) YYYYd_ret_4 += (OrderClosePrice() - OrderOpenPrice()) / RTRd_1792;
            if (xxxxi_0 == 5 && TimeMonth(OrderOpenTime()) == TimeMonth(Time[0])) YYYYd_ret_4 += OrderProfit();
         }
         if (OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == magic) {
            if (xxxxi_0 == 2 || xxxxi_0 == 3 && TimeDay(OrderOpenTime()) != TimeDay(Time[0])) break;
            if (xxxxi_0 == 4 || xxxxi_0 == 5 && TimeMonth(OrderOpenTime()) != TimeMonth(Time[0])) break;
            if (xxxxi_0 == 0) YYYYd_ret_4 += (OrderOpenPrice() - OrderClosePrice()) / RTRd_1792;
            if (xxxxi_0 == 1) YYYYd_ret_4 += OrderProfit();
            if (xxxxi_0 == 2 && TimeDay(OrderOpenTime()) == TimeDay(Time[0])) YYYYd_ret_4 += (OrderOpenPrice() - OrderClosePrice()) / RTRd_1792;
            if (xxxxi_0 == 3 && TimeDay(OrderOpenTime()) == TimeDay(Time[0])) YYYYd_ret_4 += OrderProfit();
            if (xxxxi_0 == 4 && TimeMonth(OrderOpenTime()) == TimeMonth(Time[0])) YYYYd_ret_4 += (OrderOpenPrice() - OrderClosePrice()) / RTRd_1792;
            if (xxxxi_0 == 5 && TimeMonth(OrderOpenTime()) == TimeMonth(Time[0])) YYYYd_ret_4 += OrderProfit();
         }
      }
      return (YYYYd_ret_4);
   }
   return (0.0);
}

int f0_32(int xxxxi_0) {
   int count_4 = 0;
   for (RTR_pos_1048 = OrdersHistoryTotal(); RTR_pos_1048 >= 0; RTR_pos_1048--) {
      OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic) {
         if (xxxxi_0 == 0) {
            if (OrderProfit() > 0.0) break;
            if (OrderProfit() < 0.0) count_4++;
         }
         if (xxxxi_0 == 1) {
            if (OrderProfit() < 0.0) break;
            if (OrderProfit() > 0.0) count_4++;
         }
      }
   }
   return (count_4);
}

double f0_44(int xxxxi_0) {
   double YYYYd_ret_4 = 0;
   for (RTR_pos_1048 = OrdersHistoryTotal(); RTR_pos_1048 >= 0; RTR_pos_1048--) {
      OrderSelect(RTR_pos_1048, SELECT_BY_POS, MODE_HISTORY);
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == magic) {
         if (xxxxi_0 == 0) {
            if (OrderProfit() > 0.0) break;
            if (OrderProfit() < 0.0) YYYYd_ret_4 += OrderProfit();
         }
         if (xxxxi_0 == 1) {
            if (OrderProfit() < 0.0) break;
            if (OrderProfit() > 0.0) YYYYd_ret_4 += OrderProfit();
         }
      }
   }
   return (YYYYd_ret_4);
}

void f0_51() {
   RTRi_1016 = TRUE;
   RTRi_1020 = TRUE;
   if (RTRi_636) f0_25();
}

void f0_25() {
   if (f0_58(OP_BUY) > 0) {
      RTRi_1016 = FALSE;
      if ((RTRi_644 == 0 && Close[0] <= RTR_order_open_price_1308 - RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_BUY))) || (RTRi_644 == 1 && Close[0] >= RTR_order_open_price_1308 +
         RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_BUY))) || (RTRi_644 == 2 && Close[0] <= RTR_order_open_price_1308 - RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_BUY)) ||
         Close[0] >= RTR_order_open_price_1308 + RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_BUY))) && RTRi_640 == FALSE || (RTRi_640 && (reversesignals == FALSE && RTRi_1160 == TRUE) ||
         (reversesignals && RTRi_1164 == 2))) RTRi_1008 = TRUE;
   }
   if (f0_58(OP_SELL) > 0) {
      RTRi_1020 = FALSE;
      if ((RTRi_644 == 0 && Close[0] >= RTR_order_open_price_1316 + RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_SELL))) || (RTRi_644 == 1 && Close[0] <= RTR_order_open_price_1316 - RTRd_648 * RTRd_1792 * MathPow(RTRd_656,
         f0_58(OP_SELL))) || (RTRi_644 == 2 && Close[0] >= RTR_order_open_price_1316 + RTRd_648 * RTRd_1792 * MathPow(RTRd_656, f0_58(OP_SELL)) || Close[0] <= RTR_order_open_price_1316 - RTRd_648 * RTRd_1792 * MathPow(RTRd_656,
         f0_58(OP_SELL))) && RTRi_640 == FALSE || (RTRi_640 && (reversesignals == FALSE && RTRi_1164 == 2) || (reversesignals && RTRi_1160 == TRUE))) RTRi_1012 = TRUE;
   }
}

void f0_14() {
   RTRd_1208 = lots * MathPow(RTRd_204, f0_58(OP_BUY));
   RTRd_1216 = lots * MathPow(RTRd_204, f0_58(OP_SELL));
}

void f0_10() {
   if (mm)
      if (RTRi_196 == FALSE || (RTRi_196 && (!RTRi_636) && RTRd_1248 >= 0.0) || (RTRi_196 && RTRi_636) && RTRi_484 == FALSE || (RTRi_484 && f0_66() == 0)) lots = f0_49(risk);
   RTRd_1208 = lots;
   RTRd_1216 = lots;
}

void f0_48() {
   if (mm) {
      if (MarketInfo(Symbol(), MODE_MINLOT) >= 1.0) RTRi_1068 = 100000;
      if (MarketInfo(Symbol(), MODE_MINLOT) < 1.0) RTRi_1068 = 10000;
      if (MarketInfo(Symbol(), MODE_MINLOT) < 0.1) RTRi_1068 = 1000;
      if (RTRi_484) lots = f0_49(risk);
   }
}

double f0_49(double xxxxd_0) {
   double YYYYd_ret_8;
   if (stoploss > 0.0) YYYYd_ret_8 = AccountBalance() * (xxxxd_0 / 100.0) / (stoploss * RTRd_1792 / MarketInfo(Symbol(), MODE_TICKSIZE) * MarketInfo(Symbol(), MODE_TICKVALUE));
   else YYYYd_ret_8 = f0_46(AccountBalance() / RTRi_1068 / 100.0 * xxxxd_0, lotdigits);
   return (YYYYd_ret_8);
}

void f0_43() {
   if (RTRi_196) {
      if (!RTRi_636) f0_52();
      if (RTRi_636) f0_14();
   }
}

void f0_52() {
   RTRi_1080 = FALSE;
   RTRd_1372 = 0;
   RTRd_1364 = 0;
   RTRd_1240 = f0_20(0);
   RTRd_1248 = f0_20(1);
   RTRd_1256 = 0;
   if (RTRi_200 == 0) {
      if (RTRd_1248 < 0.0) {
         RTRd_1256 = RTRd_1240 * RTRd_204;
         if (RTRi_252 < 500) {
            RTRi_1132 = f0_32(0);
            if (RTRi_1132 >= RTRi_252) RTRd_1256 = lots;
         }
         if (RTRd_212 != 0.0) {
            RTRd_1372 = f0_44(0);
            RTRi_1080 = TRUE;
            RTRd_1364 = f0_46(RTRd_1372 / 100.0 * RTRd_212, 2);
         }
      } else RTRd_1256 = lots;
   }
   if (RTRi_200 == 1) {
      if (RTRd_1248 > 0.0) {
         RTRd_1256 = RTRd_1240 * RTRd_204;
         if (RTRi_252 < 500) {
            RTRi_1136 = f0_32(1);
            if (RTRi_1136 >= RTRi_252) RTRd_1256 = lots;
         }
      } else {
         RTRd_1256 = lots;
         if (RTRd_212 != 0.0) {
            RTRd_1372 = f0_44(0);
            RTRi_1080 = TRUE;
            RTRd_1364 = f0_46(RTRd_1372 / 10

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

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

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

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

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

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

Стоимость полного кода
4 922,30₽ ≈ $60.16