首页 > EA > EA编程

【外汇EA编程学习】EURO BLASTER Turbo 修改版

小明学外汇EA编程 2019-09-09 13:55:45 交流微信号:FX263cn 外汇EA   外汇编程

里面的止损1500点完全可以调整为150点,还有止赢也可以大,总的来说这是非常优秀的智能交易程序,分批下单是值得我们学习的一个模式。经过调试后还是可以重新此版本是经过我改动的,不会影响其赚钱的效果!

 

//------------------------------------------------------------------

#property copyright "外汇联盟 www.FXunion.com QQ群144033"

#property link      ""

 

extern string EA_Name = "EURO-BLASTER Turbo";

extern string Creator = "";
extern int Password = 0;
extern bool EB = TRUE;
extern int MagicNo = 475543;
extern bool TurboTrading = TRUE;
extern bool Aggressive = FALSE;
extern int Magic_No = 1146236;
extern string ln1 = "-----------------------------";
extern string Part1 = "Time Management";
extern string ln2 = "-----------------------------";
extern bool Use_Time_Mgmt = FALSE;
extern bool Trade_On_Monday = TRUE;
extern bool Trade_On_Tuesday = TRUE;
extern bool Trade_On_Wednesday = TRUE;
extern bool Trade_On_Thursday = TRUE;
extern bool Trade_On_Friday = TRUE;
extern string Part1_1 = ">> Start-End Time 1 <<";
extern int TradeStartHour = 0;
extern int TradeStartMinutes = 0;
extern int TradeEndHour = 12;
extern int TradeEndMinutes = 0;
extern string Part1_2 = ">> Start-End Time 2 <<";
extern int TradeStartHour2 = 12;
extern int TradeStartMinutes2 = 0;
extern int TradeEndHour2 = 24;
extern int TradeEndMinutes2 = 0;
extern string ln3 = "------------------------------";
extern string Part2 = "Trading Management";
extern string ln4 = "------------------------------";
extern bool NFA_Rules = FALSE;
extern bool MM = TRUE;
extern double RiskPercent = 5.0;
extern double LotSize = 0.1;
extern double Max_Lot_Size = 100.0;
extern int MaxOrder = 4;
extern double StopTime = 0.0;
extern double TakeProfit = 25.0;
extern double Min_Auto_TP = 10.0;
extern double StopLoss = 1500.0;
extern string ln5 = "------------------------------";
extern double TrailingStop = 0.0;
extern bool TrailingProfit = FALSE;
extern int TrailingPips = 2;
extern bool Profit_Protection = FALSE;
extern double Percent_Over_Balance = 2.0;
extern bool BreakEven = FALSE;
extern int BreakEvenPips = 10;
extern bool HedgeAllowed = TRUE;
extern int Slippage = 3;
extern string ln6 = "------------------------------";
extern int Turbo_Bars_Period = 100;
extern int Turbo_Detection_Period = 20;
extern int Bars_Period_Screen = 288;
extern string End = "*** Good Luck ***";
int g_period_384 = 10;int    Count32 = 0; double PipValue=1;double DDBuffer=0; string 文本 = "我的图标";

int gi_388 = 20;
double gd_unused_392 = 5.0;
double gd_unused_400 = 10.0;
double gd_unused_408 = 22.0;
double gd_unused_416 = 20.0;
int gi_424 = 11;
double gd_unused_428 = 26.0;
double gd_unused_436 = 13.0;
double gd_unused_444 = 15.0;
double gd_unused_452 = 10.0;
double gd_460;
double g_minlot_468;
double g_lotstep_476;
double gd_484;
double g_point_508;
int g_slippage_516;
int g_stoplevel_520;
int gi_524;
int gi_528 = 0;
int gi_532 = 0;
bool li_40;
int li_44;
int li_48;
int l_icustom_52;
int l_icustom_56;

int init() {
   if (Point == 0.00001) g_point_508 = 0.0001;
   else {
      if (Point == 0.001) g_point_508 = 0.01;
      else g_point_508 = Point;
   }
   return (0);
}

int deinit() {
   return (0);
}

int Crossed(double ad_0, double ad_8) {
   if (ad_0 > ad_8) gi_532 = 1;
   if (ad_0 < ad_8) gi_532 = 2;
   if (gi_532 != gi_528) {
      gi_528 = gi_532;
      return (gi_528);
   }
   return (0);
}

double Predict() {
   double l_ima_4;
   double l_ima_28;
   double l_ima_36;
   double l_istddev_132;
   double ld_44 = 0;
   double ld_52 = 0;
   double ld_68 = 0;
   double ld_76 = 0;
   double ld_unused_84 = 0;
   double ld_unused_92 = 0;
   double ld_100 = 0;
   double ld_108 = 0;
   double ld_116 = 0;
   double ld_124 = 0;
   double ld_140 = 0;
   double ld_unused_60 = 0;
   double ld_156 = 0;
   double ld_164 = 0;
   double ld_180 = 0;
   double ld_20 = 0;
   double l_ima_12 = iMA(NULL, 0, g_period_384, 0, MODE_SMA, PRICE_CLOSE, 0);
   for (int li_0 = 1; li_0 <= g_period_384; li_0++) {
      l_ima_4 = iMA(NULL, 0, g_period_384, 0, MODE_SMA, PRICE_CLOSE, li_0);
      l_ima_28 = iMA(NULL, 0, g_period_384, 0, MODE_SMA, PRICE_HIGH, li_0);
      l_ima_36 = iMA(NULL, 0, g_period_384, 0, MODE_SMA, PRICE_LOW, li_0);
      l_istddev_132 = iStdDev(NULL, 0, g_period_384, 0, MODE_SMA, PRICE_CLOSE, li_0);
      ld_44 += (High[li_0] + Low[li_0]) / 2.0;
      ld_52 += Close[li_0];
      ld_68 += ld_44 - ld_52;
      ld_76 += l_ima_4;
      ld_124 += l_istddev_132;
      ld_156 += Close[li_0] - Open[li_0] - (Close[li_0 - 1] - (Open[li_0 - 1]));
      ld_20 = ld_20 + (l_ima_28 - l_ima_4) + (l_ima_36 - l_ima_4);
   }
   ld_100 = ld_44 / g_period_384;
   ld_108 = ld_52 / g_period_384;
   ld_116 = ld_76 / g_period_384;
   ld_140 = ld_124 / g_period_384;
   ld_180 = ld_68 / g_period_384;
   ld_164 = ld_156 / g_period_384;
   if (ld_180 > 0.0 && l_ima_12 > ld_116 && ld_164 > 0.0 && Open[0] < l_ima_12 + ld_140 && Open[0] > l_ima_12) return (1);
   if (ld_180 < 0.0 && l_ima_12 < ld_116 && ld_164 < 0.0 && Open[0] > l_ima_12 - ld_140 && Open[0] < l_ima_12) return (2);
}

double Predict2() {
   double ld_28 = 0;
   double ld_36 = 0;
   double ld_44 = 0;
   double ld_52 = 0;
   double ld_60 = 0;
   double ld_76 = 0;
   double ld_100 = 0;
   double ld_116 = 0;
   double ld_132 = 0;
   double l_istddev_84 = 0;
   double ld_148 = 0;
   double ld_156 = 0;
   double ld_164 = 0;
   l_istddev_84 = iStdDev(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_istddev_92 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_ima_4 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_ima_12 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 1);
   double l_ima_20 = iMA(NULL, PERIOD_M30, 10, 0, MODE_SMA, PRICE_CLOSE, 2);
   for (int li_0 = 1; li_0 <= gi_388; li_0++) {
      ld_28 += Close[li_0];
      ld_36 += High[li_0] - Low[li_0];
      ld_44 += Close[li_0] - Open[li_0];
      if (li_0 <= 10) {
         ld_148 += Close[li_0];
         ld_156 += High[li_0] - Low[li_0];
         ld_164 += Close[li_0] - Open[li_0];
      }
   }
   ld_52 = ld_28 / gi_388;
   ld_60 = ld_36 / gi_388;
   ld_76 = ld_44 / gi_388;
   double ld_172 = ld_148 / 10.0;
   double ld_180 = ld_156 / 10.0;
   double ld_188 = ld_164 / 10.0;
   ld_132 = (Open[0] - ld_172) / l_istddev_84;
   double ld_140 = (Open[0] - ld_52) / l_istddev_92;
   ld_100 = ld_172 + 0.308 * ld_180;
   double ld_108 = ld_52 + 0.18 * ld_60;
   ld_116 = ld_172 - 0.308 * ld_180;
   double ld_124 = ld_52 - 0.18 * ld_60;
   if ((l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 2.0 * g_point_508 && ld_188 > 0.0 && ld_164 > 0.0 && Open[0] > ld_116 && Open[0] <= ld_172 + ld_132 * ld_188 && ld_132 < 0.0 &&
      High[1] - Low[1] < 1.777 * ld_180) || (l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 2.0 * g_point_508 && ld_76 > 0.0 && ld_44 > 0.0 && Open[0] > ld_124 && Open[0] <= ld_52 + ld_132 * ld_76 && ld_140 < 0.0 && High[1] - Low[1] < 1.586 * ld_180)) return (1);
   if ((l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 2.0 * g_point_508 && ld_188 < 0.0 && ld_164 < 0.0 && Open[0] < ld_100 && Open[0] >= ld_172 + ld_132 * ld_188 && ld_132 > 0.0 &&
      High[1] - Low[1] < 1.777 * ld_180) || (l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 2.0 * g_point_508 && ld_76 < 0.0 && ld_44 < 0.0 && Open[0] < ld_108 && Open[0] >= ld_52 + ld_132 * ld_76 && ld_140 > 0.0 && High[1] - Low[1] < 1.586 * ld_180)) return (2);
   if (l_ima_4 - l_ima_20 > l_ima_12 - l_ima_20 + 2.0 * g_point_508 && ld_76 > 0.0 && ld_44 > 0.0 && Open[0] > ld_124 && Open[0] <= ld_52 + ld_132 * ld_76 && ld_140 < 0.0 &&
      High[1] - Low[1] > 1.586 * ld_180) return (3);
   if (l_ima_4 - l_ima_20 < l_ima_12 - l_ima_20 - 2.0 * g_point_508 && ld_76 < 0.0 && ld_44 < 0.0 && Open[0] < ld_108 && Open[0] >= ld_52 + ld_132 * ld_76 && ld_140 > 0.0 &&
      High[1] - Low[1] > 1.586 * ld_180) return (4);
}

double Predict1() {
   double ld_4 = 0;
   double ld_12 = 0;
   double ld_20 = 0;
   double ld_unused_28 = 0;
   double ld_36 = 0;
   double ld_44 = 0;
   double ld_52 = 0;
   double ld_ret_68 = 0;
   double l_ima_76 = iMA(NULL, 0, 20, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_istddev_84 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0);
   for (int li_0 = 1; li_0 <= Turbo_Detection_Period; li_0++) {
      ld_4 = ld_4 + Close[li_0] - l_ima_76;
      ld_12 += (Close[li_0] - l_ima_76) * (Close[li_0 - 1] - l_ima_76);
      ld_20 += (Close[li_0] - l_ima_76) * (Close[li_0] - l_ima_76);
   }
   if (ld_20 == 0.0) ld_20 = 0.0001;
   ld_36 = ld_12 / ld_20;
   ld_44 = MathSqrt((2.0 * ld_36 * ld_36 + 1.0) / Turbo_Detection_Period);
   ld_52 = ld_36 / ld_44;
   double ld_60 = 2;
   if (ld_52 < ld_60 && ld_52 > (-ld_60)) ld_ret_68 = 1;
   else {
      if (Open[0] > l_ima_76 && ld_4 > 0.0) ld_ret_68 = 2;
      if (Open[0] < l_ima_76 && ld_4 < 0.0) ld_ret_68 = 3;
   }
   return (ld_ret_68);
}

int chk(int ai_0, int ai_4) {
   string ls_8 = "2009.31.10";
   string ls_16 = "2009.31.12";
   string ls_24 = "2010.28.02";
   string ls_32 = "2010.30.04";
   int l_str2time_40 = StrToTime(ls_8);
   int l_str2time_44 = StrToTime(ls_16);
   int l_str2time_48 = StrToTime(ls_24);
   int l_str2time_52 = StrToTime(ls_32);
   int li_56 = 0;
  
   return (1);
}

double LotsOptimized() {
   if (!MM) return (LotSize);
   double l_marginrequired_0 = MarketInfo(Symbol(), MODE_MARGINREQUIRED);
   if (Max_Lot_Size > 0.0 && Max_Lot_Size < gd_460) gd_460 = Max_Lot_Size;
   if (RiskPercent > 100.0) RiskPercent = 100;
   double ld_ret_8 = AccountFreeMargin() * RiskPercent / (100000 / l_marginrequired_0);
   if (g_lotstep_476 < 0.1) ld_ret_8 = NormalizeDouble(MathFloor(ld_ret_8 / gd_484) * g_lotstep_476, 2);
   else ld_ret_8 = NormalizeDouble(MathFloor(ld_ret_8 / gd_484) * g_lotstep_476, 1);
   if (ld_ret_8 < g_minlot_468) ld_ret_8 = g_minlot_468;
   if (ld_ret_8 > gd_460) ld_ret_8 = gd_460;
   return (ld_ret_8);
}

int isTradeTime() {
   int l_str2time_4;
   int l_str2time_8;
   int l_str2time_12;
   int l_str2time_16;
   int l_datetime_0 = TimeCurrent();
   if (Use_Time_Mgmt) {
      l_str2time_4 = StrToTime(TradeStartHour + ":" + TradeStartMinutes);
      l_str2time_8 = StrToTime(TradeEndHour + ":" + TradeEndMinutes);
      l_str2time_12 = StrToTime(TradeStartHour2 + ":" + TradeStartMinutes2);
      l_str2time_16 = StrToTime(TradeEndHour2 + ":" + TradeEndMinutes2);
      if (l_str2time_4 < l_str2time_8 && (l_datetime_0 >= l_str2time_4 && l_datetime_0 <= l_str2time_8)) return (1);
      if (l_str2time_12 > l_str2time_4 && l_str2time_12 >= l_str2time_8 && l_datetime_0 >= l_str2time_8)
         if (l_str2time_12 < l_str2time_16 && (l_datetime_0 >= l_str2time_12 && l_datetime_0 <= l_str2time_16)) return (1);
   }
   return (0);
}

int Trade(int ai_0, int ai_4, int ai_8) {
   int l_ticket_52;
   double ld_12 = StopLoss;
   double l_price_20 = 0;
   double l_price_28 = 0;
   double l_istddev_36 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_istddev_44 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 1);
   int l_slippage_56 = Slippage;
   if (ai_0 == 1) {
      if (ai_8 == 1 && li_40 == FALSE) l_ticket_52 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, l_slippage_56, 0, 0, "Euro-Blaster Turbo", MagicNo, 0, Green);
      if (ai_8 == 2 && li_40 == FALSE) l_ticket_52 = OrderSend(Symbol(), OP_BUY, LotsOptimized(), Ask, l_slippage_56, 0, 0, "Euro-Blaster Turbo", Magic_No, 0, Green);
      if (l_ticket_52 > 0) {
         if (OrderSelect(l_ticket_52, SELECT_BY_TICKET, MODE_TRADES)) Print("BUY order opened : ", OrderOpenPrice());
         if (!NFA_Rules) {
            if (ld_12 > 0.0) l_price_20 = Ask - StopLoss * g_point_508;
            if (ld_12 <= 0.0) l_price_20 = 0;
            if (TakeProfit > 0.0 && ai_4 == 1) l_price_28 = Ask + TakeProfit * g_point_508;
            if (Min_Auto_TP > 0.0 && ai_4 == 2) l_price_28 = Ask + (l_istddev_36 + l_istddev_44) / 2.0 + Min_Auto_TP * g_point_508;
            if (Min_Auto_TP > 0.0 && ai_4 == 3) l_price_28 = Ask + Min_Auto_TP * g_point_508;
            if (l_price_20 > 0.0 || l_price_28 > 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_20, l_price_28, 0, CLR_NONE);
         }
      } else Print("Error opening BUY order : ", GetLastError());
   } else {
      if (ai_0 == 2) {
         if (ai_8 == 1 && li_40 == FALSE) l_ticket_52 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, l_slippage_56, 0, 0, "Euro-Blaster Turbo", MagicNo, 0, Red);
         if (ai_8 == 2 && li_40 == FALSE) l_ticket_52 = OrderSend(Symbol(), OP_SELL, LotsOptimized(), Bid, l_slippage_56, 0, 0, "Euro-Blaster Turbo", Magic_No, 0, Red);
         if (l_ticket_52 > 0) {
            if (OrderSelect(l_ticket_52, SELECT_BY_TICKET, MODE_TRADES)) Print("SELL order opened : ", OrderOpenPrice());
            if (!NFA_Rules) {
               if (ld_12 > 0.0) l_price_20 = Bid + StopLoss * g_point_508;
               if (ld_12 <= 0.0) l_price_20 = 0;
               if (TakeProfit > 0.0 && ai_4 == 1) l_price_28 = Bid - TakeProfit * g_point_508;
               if (Min_Auto_TP > 0.0 && ai_4 == 2) l_price_28 = Bid - (l_istddev_36 + l_istddev_44) / 2.0 - Min_Auto_TP * g_point_508;
               if (Min_Auto_TP > 0.0 && ai_4 == 3) l_price_28 = Bid - Min_Auto_TP * g_point_508;
               if (l_price_20 > 0.0 || l_price_28 > 0.0) OrderModify(OrderTicket(), OrderOpenPrice(), l_price_20, l_price_28, 0, CLR_NONE);
            }
         } else Print("Error opening SELL order : ", GetLastError());
      } else {
      }
   }
   return (0);
}

int start() {
   DrawStats();  DrawLogo();
   double l_price_36;
   bool li_416;
   bool li_420;
   bool li_428;
   bool li_432;
   bool li_436;
   bool li_440;
   bool li_444;
   bool li_448;
   bool li_452;
   bool li_456;
   bool li_460;
   bool li_464;
   int li_unused_540;
   int li_unused_544;
   bool li_548;
   bool li_552;
   double ld_556;
   double l_price_564;
  
   li_40 = FALSE; 
   HideTestIndicators(TRUE);
   int l_hour_16 = TimeHour(TimeCurrent());
   int l_count_20 = 0;
   int l_count_24 = 0;
   int li_unused_28 = 0;
   int l_count_32 = 0;
   gi_524 = Password;
   bool li_44 = chk(gi_524, 1000);
   int li_unused_424 = 0;
   double l_high_508 = High[iHighest(NULL, 0, MODE_HIGH, Turbo_Bars_Period, 0)];
   double l_low_516 = Low[iLowest(NULL, 0, MODE_LOW, Turbo_Bars_Period, 0)];
   double l_high_524 = High[iHighest(NULL, 0, MODE_HIGH, Bars_Period_Screen, 0)];
   double l_low_532 = Low[iLowest(NULL, 0, MODE_LOW, Bars_Period_Screen, 0)];
   double l_imacd_572 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
   double l_imacd_580 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1);
   double l_imacd_588 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);
   double l_imacd_596 = iMACD(NULL, 0, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1);
   double l_imacd_604 = iMACD(NULL, PERIOD_M30, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 0);
   double l_imacd_612 = iMACD(NULL, PERIOD_M30, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 1);
   double l_imacd_620 = iMACD(NULL, PERIOD_M30, 12, 26, 9, PRICE_CLOSE, MODE_MAIN, 2);
   double l_imacd_628 = iMACD(NULL, PERIOD_M30, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 0);
   double l_imacd_636 = iMACD(NULL, PERIOD_M30, 12, 26, 9, PRICE_CLOSE, MODE_SIGNAL, 1);
   double l_ima_56 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_HIGH, 0);
   double l_ima_128 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_HIGH, 1);
   double l_ima_48 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_LOW, 0);
   double l_ima_120 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_LOW, 1);
   double l_ima_64 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_ima_136 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 5);
   double l_ima_144 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 1);
   double l_ima_644 = iMA(NULL, 0, 22, 0, MODE_SMA, PRICE_CLOSE, 2);
   double l_ima_88 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_ima_96 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 1);
   double l_ima_104 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 2);
   double l_ima_152 = iMA(NULL, 0, 10, 0, MODE_EMA, PRICE_CLOSE, 1);
   double l_ima_112 = iMA(NULL, 0, 10, 0, MODE_SMA, PRICE_CLOSE, 5);
   double l_ima_72 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_ima_80 = iMA(NULL, 0, 5, 0, MODE_EMA, PRICE_CLOSE, 1);
   double l_ima_652 = iMA(NULL, PERIOD_M30, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_ima_660 = iMA(NULL, PERIOD_M30, 10, 0, MODE_EMA, PRICE_CLOSE, 1);
   double l_ima_668 = iMA(NULL, PERIOD_M30, 10, 0, MODE_EMA, PRICE_CLOSE, 2);
   double l_ima_676 = iMA(NULL, PERIOD_M30, 50, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_ima_684 = iMA(NULL, 0, 100, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_istddev_692 = iStdDev(NULL, 0, 100, 0, MODE_SMA, PRICE_CLOSE, 0);
   double l_istddev_208 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 0);
   double l_istddev_216 = iStdDev(NULL, 0, 20, 0, MODE_EMA, PRICE_CLOSE, 1);
   double l_iwpr_160 = iWPR(NULL, 0, 26, 0);
   double l_iwpr_168 = iWPR(NULL, 0, 26, 1);
   double l_iwpr_176 = iWPR(NULL, 0, 26, 2);
   double l_iwpr_184 = iWPR(NULL, 0, 114, 0);
   double l_iwpr_192 = iWPR(NULL, 0, 114, 1);
   double l_iwpr_200 = iWPR(NULL, 0, 114, 2);
   double l_idemarker_224 = iDeMarker(NULL, 0, 13, 0);
   double l_idemarker_232 = iDeMarker(NULL, 0, 13, 1);
   double l_idemarker_240 = iDeMarker(NULL, 0, 13, 2);
   double l_istochastic_248 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 0);
   double l_istochastic_256 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 1);
   double l_istochastic_264 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 0);
   double l_istochastic_272 = iStochastic(NULL, 0, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 1);
   if (l_istochastic_256 < l_istochastic_272 - 5.0 && l_istochastic_248 >= l_istochastic_264) li_428 = TRUE;
   if (l_istochastic_256 > l_istochastic_272 + 5.0 && l_istochastic_248 <= l_istochastic_264) li_432 = TRUE;
   if (l_istochastic_256 > l_istochastic_272 && l_istochastic_248 > l_istochastic_264) li_436 = TRUE;
   if (l_istochastic_256 < l_istochastic_272 && l_istochastic_248 < l_istochastic_264) li_440 = TRUE;
   double l_istochastic_700 = iStochastic(NULL, PERIOD_M1, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 0);
   double l_istochastic_708 = iStochastic(NULL, PERIOD_M1, 15, 6, 7, MODE_EMA, 0, MODE_MAIN, 1);
   double l_istochastic_716 = iStochastic(NULL, PERIOD_M1, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 0);
   double l_istochastic_724 = iStochastic(NULL, PERIOD_M1, 15, 6, 7, MODE_EMA, 0, MODE_SIGNAL, 1);
   if (l_istochastic_708 < l_istochastic_724 && l_istochastic_700 >= l_istochastic_716) li_unused_540 = 1;
   if (l_istochastic_708 > l_istochastic_724 && l_istochastic_700 <= l_istochastic_716) li_unused_544 = 1;
   if (l_istochastic_708 > l_istochastic_724 && l_istochastic_700 > l_istochastic_716) li_548 = TRUE;
   if (l_istochastic_708 < l_istochastic_724 && l_istochastic_700 < l_istochastic_716) li_552 = TRUE;
   double l_istochastic_384 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_MAIN, 0);
   double l_istochastic_392 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_MAIN, 1);
   double l_istochastic_400 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_SIGNAL, 0);
   double l_istochastic_408 = iStochastic(NULL, 0, 10, 5, 5, MODE_SMA, 0, MODE_SIGNAL, 1);
   if (l_istochastic_392 < l_istochastic_408 - 5.0 && l_istochastic_384 >= l_istochastic_400) li_444 = TRUE;
   if (l_istochastic_392 > l_istochastic_408 + 5.0 && l_istochastic_384 <= l_istochastic_400) li_448 = TRUE;
   if (l_istochastic_392 < l_istochastic_408 && l_istochastic_384 >= l_istochastic_400) li_452 = TRUE;
   if (l_istochastic_392 > l_istochastic_408 && l_istochastic_384 <= l_istochastic_400) li_456 = TRUE;
   if (l_istochastic_392 > l_istochastic_408 && l_istochastic_384 > l_istochastic_400) li_460 = TRUE;
   if (l_istochastic_392 < l_istochastic_408 && l_istochastic_384 < l_istochastic_400) li_464 = TRUE;
   double l_irsi_280 = iRSI(NULL, 0, 14, PRICE_CLOSE, 0);
   double l_irsi_288 = iRSI(NULL, 0, 14, PRICE_CLOSE, 1);
   double l_irsi_304 = iRSI(NULL, 0, 14, PRICE_CLOSE, 2);
   double ld_unused_296 = 0;
   if (l_irsi_280 < 30.0) ld_unused_296 = 1;
   if (l_irsi_280 > 70.0) ld_unused_296 = 2;
   double l_ibands_352 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 1);
   double l_ibands_360 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_LOWER, 2);
   double l_ibands_368 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 1);
   double l_ibands_376 = iBands(NULL, 0, 20, 2, 0, PRICE_CLOSE, MODE_UPPER, 2);
   double l_iadx_312 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MAIN, 0);
   double l_iadx_732 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MAIN, 1);
   double l_iadx_320 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_PLUSDI, 0);
   double l_iadx_336 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_PLUSDI, 1);
   double l_iadx_328 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MINUSDI, 0);
   double l_iadx_344 = iADX(NULL, 0, 14, PRICE_HIGH, MODE_MINUSDI, 1);
   if (l_iadx_320 > l_iadx_328) li_420 = TRUE;
   if (l_iadx_328 > l_iadx_320) li_416 = TRUE;
   if (l_iadx_312 < 30.0) {
      li_416 = FALSE;
      li_420 = FALSE;
   }
   bool li_740 = FALSE;
   bool li_744 = FALSE;
   int li_748 = Crossed(l_ima_80, l_ima_144);
   g_slippage_516 = Slippage;
   if (BreakEvenPips > TrailingStop && TrailingStop > 0.0) BreakEvenPips = TrailingStop;
   double ld_752 = StopLoss;
   if (NFA_Rules) HedgeAllowed = FALSE;
   if (!li_44) return (0);
   g_stoplevel_520 = MarketInfo(Symbol(), MODE_STOPLEVEL);
   gd_460 = MarketInfo(Symbol(), MODE_MAXLOT);
   g_minlot_468 = MarketInfo(Symbol(), MODE_MINLOT);
   g_lotstep_476 = MarketInfo(Symbol(), MODE_LOTSTEP);
   gd_484 = MarketInfo(Symbol(), MODE_MARGINREQUIRED) * g_lotstep_476;
   if (Use_Time_Mgmt) {
      if (DayOfWeek() == 1 && !Trade_On_Monday) return (0);
      if (DayOfWeek() == 2 && !Trade_On_Tuesday) return (0);
      if (DayOfWeek() == 3 && !Trade_On_Wednesday) return (0);
      if (DayOfWeek() == 4 && !Trade_On_Thursday) return (0);
      if (DayOfWeek() == 5 && !Trade_On_Friday) return (0);
      if (!isTradeTime()) return (0);
   }
   int l_ord_total_8 = OrdersTotal();
   if (Bars < 100) {
      Print("bars less than 100");
      return (0);
   }
   if (AccountFreeMargin() < 100.0 * LotsOptimized()) {
      Print("We have not enough money. Free Margin = ", AccountFreeMargin());
      return (0);
   }
   if (l_ord_total_8 > 0) {
      for (int l_pos_760 = 0; l_pos_760 < l_ord_total_8; l_pos_760++) {
         OrderSelect(l_pos_760, SELECT_BY_POS);
         if (OrderType() <= OP_SELL && OrderSymbol() == Symbol()) {
            if (OrderMagicNumber() == MagicNo) l_count_32++;
            if (OrderMagicNumber() == Magic_No) l_count_24++;
         } else l_count_20++;
         if (OrderType() == OP_BUY && !HedgeAllowed) li_740 = TRUE;
         if (OrderType() == OP_SELL && !HedgeAllowed) li_744 = TRUE;
      }
   }
   if (l_count_32 < MaxOrder && EB) {
      if (l_count_32 > 0)
         if (TimeCurrent() - OrderOpenTime() < 60.0 * StopTime) return (0);
      if (li_744 == FALSE) {
         if (li_436 == TRUE) {
            if (l_ima_72 > l_ima_80 && l_ima_64 > l_ima_144 + 1.7 * g_point_508 && Open[0] < l_ima_64 + l_istddev_208 && (l_istochastic_384 > l_istochastic_392 && l_istochastic_400 > l_istochastic_408) ||
               (l_istochastic_248 > l_istochastic_256 && l_istochastic_264 > l_istochastic_272) && l_iwpr_160 < -15.0 && l_iwpr_160 > l_iwpr_168 + 3.0 && l_ima_88 > l_ima_64 && Open[0] > l_ima_72) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_iwpr_184 > l_iwpr_192 && l_iwpr_184 > -15.0 && l_iwpr_192 > -15.0 && l_iwpr_160 > l_iwpr_168 + 25.0 && l_iwpr_160 < -15.0 && l_iwpr_168 < l_iwpr_176 && l_istddev_208 > l_istddev_216 &&
               l_idemarker_224 > l_idemarker_232 && l_ima_88 > l_ima_112 && l_ima_72 > l_ima_80 && l_iadx_312 > 25.0 && Open[0] < Close[0] && Open[0] > Close[1]) {
               Trade(1, 1, 1);
               return (0);
            }
            if (Close[1] < l_ima_64 - 3.0 * l_istddev_216 && l_iwpr_160 > l_iwpr_168 + 5.0 && l_iwpr_160 < -75.0 && li_436 && (l_istochastic_248 >= 20.0 && l_istddev_208 > l_istddev_216) ||
               l_iwpr_168 < l_iwpr_176) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_ima_56 > l_ima_88 && l_ima_56 > l_ima_128 && l_ima_128 < l_ima_88 && Open[0] > Close[1] && l_ima_64 > l_ima_136 + 2.0 * g_point_508 && Open[1] < Close[1] && l_iwpr_160 > l_iwpr_168 +
               7.0 && l_idemarker_224 > l_idemarker_232 && l_iadx_320 > l_iadx_328) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_imacd_572 > l_imacd_580 && l_imacd_572 < (-2.5 * g_point_508) && l_imacd_572 > l_imacd_588 && l_imacd_580 < l_imacd_596 && l_iwpr_160 > l_iwpr_168 && li_420 &&
               l_ima_152 > l_ima_96 && l_imacd_604 > l_imacd_612 && Close[1] < Open[0] && Close[1] > Open[1] && l_istddev_208 > l_istddev_216) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_iwpr_160 >= -75.0 && l_iwpr_160 > l_iwpr_168 + 9.0 && l_iwpr_168 < l_iwpr_176 - 5.0 && Open[2] < Close[2] && Open[1] > Close[2] && Open[1] < Close[1] && l_istochastic_248 < 70.0 &&
               l_ima_88 > l_ima_96 + 1.0 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 && l_ima_152 > l_ima_96) {
               Trade(1, 1, 1);
               return (0);
            }
            if (li_748 == 1 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 12.0 && l_iadx_312 > 25.0 && l_iadx_320 > l_iadx_336 || l_ima_152 > l_ima_96 && l_ima_64 >= l_ima_144 &&
               l_ima_80 < l_ima_112) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_ima_72 > l_ima_80 && l_ima_88 > l_ima_96 && l_ima_64 > l_ima_144 && l_ima_64 > l_ima_136 + 5.0 * g_point_508 && l_ima_88 - l_ima_96 > l_ima_64 - l_ima_144 &&
               l_ima_72 - l_ima_64 > l_ima_80 - l_ima_144 && l_iwpr_160 < -15.0 && l_iwpr_160 > l_iwpr_168 + 15.0 && l_ima_72 > l_ima_88 && l_ima_88 > l_ima_64 && Open[0] > l_ima_72) {
               Trade(1, 1, 1);
               return (0);
            }
            if (Close[1] > l_ima_96 && Open[1] < l_ima_96 && l_ima_152 > l_ima_96 && l_iadx_312 > 30.0 && l_iadx_320 > 25.0 && l_ima_64 > l_ima_136 + 3.0 * g_point_508 && l_istochastic_248 < 75.0 &&
               l_iwpr_160 > l_iwpr_168 + 18.0 && l_iwpr_168 > l_iwpr_176 + 7.0) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_iadx_320 > l_iadx_336 && l_iadx_336 < l_iadx_344 && l_iadx_320 >= l_iadx_328 && l_iadx_312 >= 35.0 && l_iadx_320 > 30.0 && l_iwpr_160 > l_iwpr_168 + 15.0) {
               Trade(1, 1, 1);
               return (0);
            }
         }
         if (li_428 == TRUE) {
            if (l_imacd_572 > l_imacd_580 && l_imacd_572 > l_imacd_588 && l_ima_152 > l_ima_96 && li_420 && l_iwpr_160 > l_iwpr_168 + 7.0 && Open[0] > l_ima_72 && l_istochastic_248 > l_istochastic_256 &&
               l_istochastic_264 > l_istochastic_272 + 1.0) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_imacd_572 > l_imacd_580 && l_imacd_572 > l_imacd_588 && Open[0] > Close[1] && l_ima_88 < l_ima_96 && l_iwpr_160 > l_iwpr_168 + 9.0 && li_420 && l_ima_152 > l_ima_96) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_istochastic_248 < 30.0 && Open[1] > l_ima_120 && Close[1] > l_ima_112 && Open[0] > l_ima_56 && l_ima_88 < l_ima_112 && l_ima_88 < l_ima_96 && l_iwpr_160 > l_iwpr_168 +
               5.0) {
               Trade(1, 1, 1);
               return (0);
            }
            if (Open[1] > l_ima_120 && Open[0] > l_ima_56 && Open[0] < Close[1] && l_iwpr_160 > l_iwpr_168 + 7.0 && l_idemarker_224 > l_idemarker_232 + 0.08 && l_istddev_208 > l_istddev_216) {
               Trade(1, 1, 1);
               return (0);
            }
         }
         if (Open[0] > Close[1]) {
            if (Close[4] < Close[3] && Close[3] > Close[2] && Close[2] > Close[1] && High[1] - Close[1] < Open[1] - Low[1] && l_ima_88 > l_ima_112 + 5.0 * g_point_508 && l_iwpr_160 > l_iwpr_168 +
               9.0 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 && l_imacd_572 > l_imacd_580 && l_iwpr_168 > l_iwpr_176) {
               Trade(1, 1, 1);
               return (0);
            }
            if (Close[2] < l_ibands_360 && Close[1] > l_ibands_352 && l_istddev_208 > l_istddev_216 && Open[1] < l_ibands_352 && li_460 && l_iwpr_160 > l_iwpr_168 + 9.0 && l_idemarker_224 > l_idemarker_232 &&
               l_ima_152 > l_ima_96 && l_ima_88 < l_ima_64) {
               Trade(1, 1, 1);
               return (0);
            }
            if (Close[3] > l_ima_112 && Open[2] > l_ima_96 && Open[1] < Close[1] && Open[1] > Close[2] && Close[1] > l_ima_64 + 2.2 * l_istddev_216 && li_436 && l_iwpr_160 > l_iwpr_168 +
               7.0 && l_iwpr_160 < -20.0 && l_idemarker_224 > l_idemarker_232) {
               Trade(1, 1, 1);
               return (0);
            }
            if (l_ima_96 < l_ima_104 - 0.9 * g_point_508 && l_ima_88 > l_ima_96 + 1.0 * g_point_508 && l_ima_88 > l_ima_104 + 0.9 * g_point_508 && l_ima_96 < l_ima_144 && li_436 &&
               l_ima_64 > l_ima_136) {
               Trade(1, 1, 1);
               return (0);
            }
         }
         if (l_ima_152 > l_ima_96) {
            if (l_irsi_288 < l_irsi_304 && l_irsi_280 > l_irsi_288 + 5.0 && l_irsi_288 < 30.0 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0) {
               Trade(1, 1, 1);
               return (0);
            }
            if (li_444 && Open[1] > l_ima_120 && Open[0] > l_ima_56 && Open[1] < Close[1] && l_ima_64 > l_ima_144 + 1.5 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 &&
               l_iwpr_160 > l_iwpr_168 + 9.0) {
               Trade(1, 1, 1);
               return (0);
            }
            if ((li_452 && l_istochastic_392 < 25.0) || (li_444 && l_istochastic_392 < 30.0) && l_ima_64 > l_ima_144 + 1.5 * g_point_508) {
               Trade(1, 1, 1);
               return (0);
            }
         }
         if (Open[1] < Close[1] && Close[2] < l_ima_64 && Close[1] > l_ima_64 && Open[1] > l_ima_72 && Open[0] > l_ima_56 && l_ima_64 > l_ima_136 + 5.0 * g_point_508 && l_iwpr_160 < -5.0 &&
            l_iwpr_160 > l_iwpr_168 + 7.0 && l_idemarker_224 > l_idemarker_232 && l_idemarker_232 > l_idemarker_240) {
            Trade(1, 1, 1);
            return (0);
         }
         if (li_444 && l_imacd_572 > l_imacd_580 && l_imacd_572 < 0.0 && l_imacd_572 > l_imacd_588 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 7.0 &&
            l_istochastic_384 > l_istochastic_392 && l_istochastic_400 > l_istochastic_408 + 1.0) {
            Trade(1, 1, 1);
            return (0);
         }
         if (l_ima_144 - l_ima_684 < l_ima_64 - l_ima_684 && l_ima_64 < (l_high_508 + l_low_516) / 2.0 - 2.0 * l_istddev_692 && l_ima_64 - l_ima_684 > l_istddev_208 && li_460) {
            Trade(1, 1, 1);
            return (0);
         }
         if (Predict() == 1.0 && (l_istochastic_248 < 40.0 && Open[1] < l_ima_120 && l_ima_64 > l_ima_112 && Open[0] > Close[1] && li_436) || (l_istochastic_392 < 40.0 && l_ima_64 > l_ima_144 &&
            l_ima_152 > l_ima_96 && li_436) || (Open[2] > l_ima_96 && Open[1] < Close[1] && Open[0] > Close[1] && li_436 && l_iwpr_160 > l_iwpr_168 + 7.0 && l_istochastic_248 < 45.0 && l_idemarker_224 > l_idemarker_232 + 0.05) ||
            ((l_iwpr_160 > l_iwpr_168 && li_460) || (l_iwpr_160 > l_iwpr_168 && li_436) && l_istochastic_392 < 40.0 && l_idemarker_224 > l_idemarker_232 + 0.05 && l_ima_96 < l_ima_144) ||
            ((l_iwpr_160 > l_iwpr_168 + 9.0 && l_istochastic_384 < 40.0 && li_460) || (l_iwpr_160 > l_iwpr_168 + 7.0 && l_istochastic_248 < 50.0 && li_436) && l_ima_96 > l_ima_144 &&
            l_ima_64 > l_ima_144 && l_idemarker_224 > l_idemarker_232 + 0.03) || (l_istochastic_248 < 50.0 && li_436 && l_ima_96 > l_ima_104 && l_ima_88 > l_ima_64 && l_ima_72 > l_ima_80 + 1.5 * g_point_508)) {
            Trade(1, 3, 1);
            return (0);
         }
         if (Predict2() == 1.0 && li_436 && l_istochastic_248 < 50.0 && l_iwpr_160 > l_iwpr_168 + 5.0 && ((Open[1] > l_ima_120 && l_ima_88 < l_ima_112) || Open[2] < Close[2] &&
            l_idemarker_224 > l_idemarker_232 + 0.05 && Open[0] > Close[1] && Open[1] > Close[1]) || (l_ima_64 < l_ima_96 && l_ima_72 > l_ima_80 + 1.0 * g_point_508 && Open[0] > Close[1])) {
            Trade(1, 2, 1);
            return (0);
         }
         if (Predict2() == 3.0 && Open[0] > Close[1] && Open[1] < Close[1] && l_iwpr_160 > l_iwpr_168 && li_436) {
            Trade(1, 2, 1);
            return (0);
         }
      }
      if (li_740 == FALSE) {
         if (li_440 == TRUE) {
            if (l_ima_72 < l_ima_80 && l_ima_64 < l_ima_144 - 1.5 * g_point_508 && Open[0] > l_ima_64 - l_istddev_208 && (l_istochastic_384 < l_istochastic_392 && l_istochastic_400 < l_istochastic_408) ||
               (l_istochastic_248 < l_istochastic_256 && l_istochastic_264 < l_istochastic_272) && l_iwpr_160 > -85.0 && l_iwpr_160 < l_iwpr_168 - 7.0 && l_ima_88 < l_ima_64 && Open[0] < l_ima_72) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_iwpr_184 < l_iwpr_192 && l_iwpr_184 < -80.0 && l_iwpr_192 < -80.0 && l_iwpr_160 < l_iwpr_168 - 25.0 && l_iwpr_160 > -85.0 && l_iwpr_168 > l_iwpr_176 && l_istddev_208 > l_istddev_216 &&
               l_idemarker_224 < l_idemarker_232 && l_ima_88 < l_ima_112 && li_440 && l_iadx_312 > 25.0 && Open[0] > Close[0] && Open[0] < Close[1]) {
               Trade(2, 1, 1);
               return (0);
            }
            if (Close[1] > l_ima_64 + 3.1 * l_istddev_216 && l_iwpr_160 < l_iwpr_168 - 3.0 && l_iwpr_160 > -25.0 && li_440 && (l_istochastic_248 <= 80.0 && l_istddev_208 > l_istddev_216) ||
               l_iwpr_168 > l_iwpr_176) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_ima_48 < l_ima_88 && l_ima_48 < l_ima_120 && l_ima_120 > l_ima_88 && Open[0] < Close[1] && l_ima_64 < l_ima_136 - 1.5 * g_point_508 && Open[1] > Close[1] && l_iwpr_160 < l_iwpr_168 - 7.0 &&
               l_idemarker_224 < l_idemarker_232 && l_iadx_328 > l_iadx_320) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_imacd_572 < l_imacd_580 && l_imacd_572 > 2.5 * g_point_508 && l_imacd_572 < l_imacd_588 && l_imacd_580 > l_imacd_596 && l_iwpr_160 < l_iwpr_168 && li_416 && l_ima_152 < l_ima_96 &&
               l_imacd_604 < l_imacd_612 && Close[1] > Open[0] && Close[1] < Open[1] && l_istddev_208 > l_istddev_216) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_iwpr_160 <= -25.0 && l_iwpr_160 < l_iwpr_168 - 9.0 && l_iwpr_168 > l_iwpr_176 + 5.0 && Open[2] > Close[2] && Open[1] < Close[2] && Open[1] > Close[1] && l_istochastic_248 > 35.0 &&
               l_ima_88 < l_ima_96 - 1.0 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0 && l_ima_152 < l_ima_96) {
               Trade(2, 1, 1);
               return (0);
            }
            if (li_748 == 2 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 12.0 && l_iadx_312 > 25.0 && l_iadx_328 > l_iadx_344 || l_ima_152 < l_ima_96 && l_ima_64 <= l_ima_144 &&
               l_ima_80 > l_ima_112 && l_istochastic_248 > 25.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_ima_72 < l_ima_80 && l_ima_88 < l_ima_96 && l_ima_64 < l_ima_144 && l_ima_64 < l_ima_136 - 5.0 * g_point_508 && l_ima_96 - l_ima_88 > l_ima_144 - l_ima_64 &&
               l_ima_64 - l_ima_72 > l_ima_144 - l_ima_80 && l_iwpr_160 > -85.0 && l_iwpr_160 < l_iwpr_168 - 15.0 && l_ima_72 < l_ima_88 && l_ima_88 < l_ima_64 && Open[0] < l_ima_72) {
               Trade(2, 1, 1);
               return (0);
            }
            if (Close[1] < l_ima_96 && Open[1] > l_ima_96 && l_ima_152 < l_ima_96 && l_iadx_312 > 30.0 && l_iadx_328 > 25.0 && l_ima_64 < l_ima_136 - 3.0 * g_point_508 && l_istochastic_248 > 25.0 &&
               l_iwpr_160 < l_iwpr_168 - 18.0 && l_iwpr_168 < l_iwpr_176 - 7.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_iadx_328 > l_iadx_344 && l_iadx_336 > l_iadx_344 && l_iadx_320 <= l_iadx_328 && l_iadx_312 >= 35.0 && l_iadx_328 > 30.0 && l_iwpr_160 < l_iwpr_168 - 15.0 && li_440) {
               Trade(2, 1, 1);
               return (0);
            }
         }
         if (li_432 == TRUE) {
            if (l_imacd_572 < l_imacd_580 && l_imacd_572 < l_imacd_588 && l_ima_152 < l_ima_96 && li_416 && l_iwpr_160 < l_iwpr_168 - 7.0 && Open[0] < l_ima_72 && l_istochastic_248 < l_istochastic_256 &&
               l_istochastic_264 < l_istochastic_272 - 1.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_imacd_572 < l_imacd_580 && l_imacd_572 < l_imacd_588 && Open[0] < Close[1] && l_ima_88 > l_ima_96 && l_iwpr_160 < l_iwpr_168 - 9.0 && li_416 && l_ima_152 < l_ima_96) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_istochastic_248 > 70.0 && Open[1] < l_ima_128 && Close[1] < l_ima_112 && Open[0] < l_ima_48 && l_ima_88 > l_ima_112 && l_ima_88 > l_ima_96 && l_iwpr_160 < l_iwpr_168 - 5.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if (Open[1] < l_ima_128 && Open[0] < l_ima_48 && Open[0] > Close[1] && l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 - 0.08 && l_istddev_208 > l_istddev_216) {
               Trade(2, 1, 1);
               return (0);
            }
         }
         if (Open[0] < Close[1]) {
            if (Close[4] > Close[3] && Close[3] < Close[2] && Close[2] < Close[1] && Close[1] - Low[1] < High[1] - Open[1] && l_ima_88 < l_ima_112 - 5.0 * g_point_508 && l_iwpr_160 < l_iwpr_168 - 9.0 &&
               l_iadx_312 > 25.0 && l_iadx_328 > 25.0 && l_iwpr_168 < l_iwpr_176) {
               Trade(2, 1, 1);
               return (0);
            }
            if (Close[2] > l_ibands_376 && Close[1] < l_ibands_368 && l_istddev_208 > l_istddev_216 && Open[1] > l_ibands_368 && li_464 && l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 - 0.05 &&
               l_ima_152 < l_ima_96 && l_ima_88 > l_ima_64) {
               Trade(2, 1, 1);
               return (0);
            }
            if (Close[3] < l_ima_112 && Open[2] < l_ima_96 && Open[1] > Close[1] && Open[1] < Close[2] && Close[1] < l_ima_64 - 2.2 * l_istddev_216 && li_440 && l_iwpr_160 < l_iwpr_168 - 7.0 &&
               l_iwpr_160 > -85.0 && l_idemarker_224 < l_idemarker_232) {
               Trade(2, 1, 1);
               return (0);
            }
            if (l_ima_96 > l_ima_104 + 0.9 * g_point_508 && l_ima_88 < l_ima_96 - 1.0 * g_point_508 && l_ima_88 < l_ima_104 - 0.9 * g_point_508 && l_ima_96 > l_ima_144 && li_440 &&
               l_ima_64 < l_ima_136) {
               Trade(2, 1, 1);
               return (0);
            }
         }
         if (l_ima_152 < l_ima_96) {
            if (l_irsi_288 > l_irsi_304 && l_irsi_280 < l_irsi_288 - 5.0 && l_irsi_288 > 70.0 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if (li_448 && Open[1] < l_ima_128 && Open[0] < l_ima_48 && Open[1] > Close[1] && l_ima_64 < l_ima_144 - 1.5 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0 &&
               l_iwpr_160 < l_iwpr_168 - 9.0) {
               Trade(2, 1, 1);
               return (0);
            }
            if ((li_456 && l_istochastic_392 > 75.0) || (li_448 && l_istochastic_392 > 70.0) && l_ima_64 < l_ima_144 - 1.5 * g_point_508) {
               Trade(2, 1, 1);
               return (0);
            }
         }
         if (Open[1] > Close[1] && Close[2] > l_ima_64 && Close[1] < l_ima_64 && Open[1] < l_ima_72 && Open[0] < l_ima_48 && l_ima_64 < l_ima_136 - 5.0 * g_point_508 && l_iwpr_160 > -95.0 &&
            l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 && l_idemarker_232 < l_idemarker_240) {
            Trade(2, 1, 1);
            return (0);
         }
         if (li_448 && l_imacd_572 < l_imacd_580 && l_imacd_572 > 0.0 && l_imacd_572 < l_imacd_588 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 7.0 &&
            l_istochastic_384 < l_istochastic_392 && l_istochastic_400 < l_istochastic_408 - 1.0) {
            Trade(2, 1, 1);
            return (0);
         }
         if (l_ima_144 - l_ima_684 > l_ima_64 - l_ima_684 && l_ima_64 > (l_high_508 + l_low_516) / 2.0 + 2.0 * l_istddev_692 && l_ima_684 - l_ima_64 > l_istddev_208 && li_464) {
            Trade(2, 1, 1);
            return (0);
         }
         if (Predict() == 2.0 && (l_istochastic_248 > 60.0 && Open[1] > l_ima_128 && l_ima_64 < l_ima_112 && Open[1] < Close[1] && Open[0] < Close[1] && li_440) || (l_istochastic_392 > 60.0 &&
            l_ima_64 < l_ima_144 && l_ima_152 < l_ima_96 && li_440) || (Open[2] < l_ima_96 && Open[1] > Close[1] && Open[0] < Close[1] && li_440 && l_iwpr_160 < l_iwpr_168 - 7.0 && l_istochastic_248 > 55.0 && l_idemarker_224 < l_idemarker_232 - 0.05) ||
            ((l_iwpr_160 < l_iwpr_168 && li_464) || (l_iwpr_160 < l_iwpr_168 - 7.0 && li_440) && l_istochastic_392 > 40.0 && l_idemarker_224 < l_idemarker_232 - 0.05 && l_ima_96 > l_ima_144) ||
            ((l_iwpr_160 < l_iwpr_168 - 9.0 && l_istochastic_384 > 60.0 && li_464) || (l_iwpr_160 < l_iwpr_168 - 7.0 && l_istochastic_248 > 40.0 && li_440) && l_ima_96 < l_ima_144 &&
            l_ima_64 < l_ima_144 && l_idemarker_224 < l_idemarker_232 - 0.05) || (l_istochastic_248 > 50.0 && li_440 && l_ima_96 < l_ima_104 && l_ima_88 < l_ima_96 && l_ima_72 < l_ima_80 - 1.5 * g_point_508)) {
            Trade(2, 3, 1);
            return (0);
         }
         if (Predict2() == 2.0 && li_440 && l_istochastic_248 > 50.0 && l_iwpr_160 < l_iwpr_168 - 5.0 && ((Open[1] < l_ima_128 && l_ima_88 > l_ima_112) || Open[2] > Close[2] &&
            Open[0] < Close[1] && Open[1] < Close[1] && l_idemarker_224 < l_idemarker_232 - 0.05) || (l_ima_64 > l_ima_96 && l_ima_72 < l_ima_80 - 1.0 * g_point_508)) {
            Trade(2, 2, 1);
            return (0);
         }
         if (Predict2() == 4.0 && Open[0] < Close[1] && Open[1] > Close[1] && l_iwpr_160 < l_iwpr_168 && li_440) {
            Trade(2, 2, 1);
            return (0);
         }
      }
   }
   if (TurboTrading && l_count_24 < MaxOrder) {
      if (l_count_24 > 0)
         if (TimeCurrent() - OrderOpenTime() < 60.0 * StopTime) return (0);
      if (li_744 == FALSE) {
         if ((Predict1() == 1.0 && l_imacd_572 > l_imacd_580 && l_ima_152 > l_ima_96 && Open[0] > Close[1] && (Open[0] < l_ima_64 - l_istddev_208 && l_istochastic_384 < 30.0 &&
            l_ima_72 > l_ima_80) || (l_istochastic_392 < 30.0 && l_ima_88 > l_ima_96 + 0.6 * g_point_508 && li_420)) || (Predict1() == 2.0 && Aggressive && (l_ima_96 < l_ima_104 && l_ima_88 > l_ima_96 && Open[1] < l_ima_96 && Open[0] > l_ima_88) ||
            li_444 && l_istochastic_384 < 50.0 && Open[0] > Close[1] && l_ima_88 < l_ima_64 && l_imacd_572 > l_imacd_580 && li_460)) {
            Trade(1, 2, 2);
            return (0);
         }
         if (((l_ima_64 < l_ima_144 && Open[0] < l_ima_64 && l_ima_88 > l_ima_64 && li_420 && l_idemarker_224 > l_idemarker_232 + 0.03) || (l_ima_80 < l_ima_144 - 1.8 * l_istddev_216 &&
            l_ima_72 > l_ima_80 + 1.1 * g_point_508 && Open[0] < l_ima_72 && l_istochastic_248 < 25.0) && Open[0] > Close[1] && l_imacd_604 > l_imacd_612 && l_imacd_572 > l_imacd_580 &&
            l_iwpr_160 > l_iwpr_168) || (Predict() == 1.0 || Predict2() == 1.0 || Predict2() == 3.0 && l_imacd_604 > l_imacd_612 && Open[0] < (l_high_508 + l_low_516) / 2.0 - 5.0 * g_point_508 && li_436 && l_imacd_572 > l_imacd_580 && l_istochastic_248 < 45.0 && l_iwpr_160 > -90.0 && l_iwpr_160 > l_iwpr_168 + 5.0) ||
            (Predict() == 1.0 && Open[0] > Close[1] && Open[1] < Close[1] && li_436 && l_istochastic_248 < 70.0 && l_imacd_572 > l_imacd_580 && li_548 && l_ima_88 > l_ima_96 &&
            l_iwpr_160 > l_iwpr_168 + 7.0 && l_idemarker_224 > l_idemarker_232 + 0.1) || (l_imacd_604 > l_imacd_612 && l_imacd_604 < (-2.0 * g_point_508) && l_imacd_604 > l_imacd_628 && l_imacd_612 < l_imacd_636 && l_ima_72 > l_ima_80 && li_548 && l_iwpr_160 > l_iwpr_168 + 5.0 && l_idemarker_224 > l_idemarker_232 + 0.03 && Close[1] < Open[1] && Open[0] > l_ima_652 && l_ima_652 < l_ima_676 && l_ima_652 > l_ima_660 && Open[0] > Close[1]) ||
            (Close[2] < Open[2] && Open[1] < Close[1] && Open[2] - Close[2] < Close[1] - Open[1] - 3.0 * g_point_508 && Open[0] > Close[1] && l_ima_72 > l_ima_80 && High[1] > High[2] &&
            l_imacd_572 > l_imacd_580 && l_imacd_572 < (-3.0 * g_point_508) && li_548 && Open[1] < l_ima_144 && Open[0] > l_ima_64 && l_iwpr_160 - l_iwpr_168 > l_iwpr_168 - l_iwpr_176 && l_iwpr_160 > l_iwpr_168 + 5.0 && l_idemarker_224 > l_idemarker_232 + 0.1) ||
            (l_ima_72 > l_ima_80 && l_ima_64 > l_ima_144 && Open[0] < l_ima_88 && (l_istochastic_384 > l_istochastic_392 + 1.0 && l_istochastic_400 > l_istochastic_408) || (l_istochastic_248 > l_istochastic_256 &&
            l_istochastic_264 > l_istochastic_272) && Close[1] > Open[1] && Close[1] < Open[0] && l_iwpr_160 < -15.0 && li_460 && li_548 && l_ima_88 > l_ima_64 && Open[0] > l_ima_64 &&
            l_imacd_572 > l_imacd_580) || (l_ima_72 > l_ima_80 && l_imacd_572 < (-1.5 * l_istddev_208) && li_548 && Close[1] < Open[0] && l_ima_88 > l_ima_96 && li_436 && l_imacd_604 > l_imacd_612 && l_imacd_572 > l_imacd_580) ||
            (l_iwpr_184 > l_iwpr_192 && l_iwpr_184 > -15.0 && l_iwpr_192 > -15.0 && l_iwpr_160 > l_iwpr_168 + 9.0 && l_iwpr_160 < -15.0 && l_iwpr_168 > l_iwpr_176 && l_imacd_572 > l_imacd_580 &&
            l_istddev_208 > l_istddev_216 && l_idemarker_224 > l_idemarker_232 + 0.05 && l_ima_64 > l_ima_136 && li_436 && l_iadx_312 > 30.0) || (li_428 && l_imacd_572 > l_imacd_580 && l_imacd_572 > l_imacd_588 && l_ima_152 > l_ima_96 && li_420 && l_iwpr_160 > l_iwpr_168 + 7.0 && l_istochastic_248 > l_istochastic_256 && l_istochastic_264 > l_istochastic_272 + 1.0) ||
            (l_imacd_572 > l_imacd_580 && l_imacd_572 < (-3.0 * g_point_508) && l_imacd_572 > l_imacd_588 && l_imacd_580 < l_imacd_596 && l_imacd_604 > l_imacd_612 && li_436 &&
            l_iwpr_160 > l_iwpr_168 && li_420 && l_ima_152 > l_ima_96 && Close[1] < Open[0] && Close[1] > Open[1] && l_istddev_208 > l_istddev_216) || (li_428 && l_imacd_572 > l_imacd_580 && l_imacd_572 > l_imacd_588 && Open[0] > Close[1] && l_ima_88 < l_ima_96 && l_iwpr_160 > l_iwpr_168 + 9.0 && li_420 && l_ima_152 > l_ima_96) ||
            (li_748 == 1 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 12.0 && l_iadx_312 > 25.0 && l_iadx_320 > l_iadx_336 || l_ima_152 > l_ima_96 && l_ima_64 >= l_ima_144 &&
            l_ima_80 < l_ima_112 && li_436) || (Close[4] < Close[3] && Close[3] > Close[2] && Close[2] > Close[1] && Open[0] > Close[1] && High[1] - Close[1] < Open[1] - Low[1] && l_iwpr_160 > l_iwpr_168 + 7.0 && l_imacd_572 > l_imacd_580 && l_iwpr_168 > l_iwpr_176 && l_istochastic_384 < 30.0 && l_idemarker_224 > l_idemarker_232 + 0.02) ||
            (Open[1] < Close[1] && Close[2] < l_ima_64 && Close[1] > l_ima_64 && Open[1] > l_ima_72 && Open[0] > l_ima_56 && l_ima_64 > l_ima_136 + 5.0 * g_point_508 && l_iwpr_160 < -5.0 &&
            l_iwpr_160 > l_iwpr_168 + 7.0 && l_idemarker_224 > l_idemarker_232 && l_idemarker_232 > l_idemarker_240) || (l_irsi_288 < l_irsi_304 && l_irsi_280 > l_irsi_288 + 5.0 && l_irsi_288 < 30.0 && l_ima_152 > l_ima_96 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0) ||
            (Close[1] > l_ima_96 && Open[1] < l_ima_96 && l_ima_152 > l_ima_96 && l_iadx_312 > 30.0 && l_iadx_320 > 25.0 && l_ima_64 > l_ima_136 + 3.0 * g_point_508 && li_436 &&
            l_iwpr_160 > l_iwpr_168 + 18.0 && l_iwpr_168 > l_iwpr_176 + 7.0) || (li_444 && Open[1] > l_ima_120 && Open[0] > l_ima_56 && Open[1] < Close[1] && l_ima_64 > l_ima_144 + 2.0 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 9.0 && l_ima_152 > l_ima_96) ||
            (li_444 && l_imacd_572 > l_imacd_580 && l_imacd_572 < 0.0 && l_imacd_572 > l_imacd_588 && l_iadx_312 > 25.0 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 7.0 &&
            l_istochastic_384 > l_istochastic_392 && l_istochastic_400 > l_istochastic_408 + 1.0) || (l_iadx_320 > l_iadx_336 && l_iadx_336 < l_iadx_344 && l_iadx_320 >= l_iadx_328 && l_iadx_312 >= 35.0 && l_iadx_320 > 25.0 && l_iwpr_160 > l_iwpr_168 + 15.0 && li_436) ||
            (l_ima_72 > l_ima_80 && l_ima_88 > l_ima_96 && l_ima_64 > l_ima_144 && l_ima_64 > l_ima_136 + 5.0 * g_point_508 && l_ima_88 - l_ima_96 > l_ima_64 - l_ima_144 && l_ima_72 - l_ima_64 > l_ima_80 - l_ima_144 &&
            li_436 && l_iwpr_160 < -15.0 && l_iwpr_160 > l_iwpr_168 + 15.0 && l_ima_72 > l_ima_88 && l_ima_88 > l_ima_64 && Open[0] > l_ima_72) || ((li_452 && l_istochastic_392 < 25.0) ||
            (li_444 && l_istochastic_392 < 30.0) && l_ima_64 > l_ima_144 + 2.0 * g_point_508 && l_ima_152 > l_ima_96) || (li_428 && Open[1] > l_ima_120 && Open[0] > l_ima_56 && Open[1] < Close[1] && Volume[0] > Volume[1] && l_iwpr_160 > l_iwpr_168 + 7.0 && l_idemarker_224 > l_idemarker_232 + 0.08 && l_istddev_208 > l_istddev_216) ||
            (Close[3] > l_ima_112 && Open[2] > l_ima_96 && Open[1] < Close[1] && Open[1] > Close[2] && Close[1] > l_ima_64 + 2.2 * l_istddev_216 && Open[0] > Close[1] && l_istddev_208 > l_istddev_216 &&
            li_436 && l_iwpr_160 > l_iwpr_168 + 7.0 && l_iwpr_160 < -20.0) || (l_ima_144 - l_ima_684 < l_ima_64 - l_ima_684 && l_ima_684 < (l_high_508 + l_low_516) / 2.0 - 2.0 * l_istddev_692 && l_ima_64 - l_ima_684 > l_istddev_692 && Open[0] > Close[1] && li_436 && l_istochastic_248 < 70.0)) {
            Trade(1, 3, 2);
            return (0);
         }
      }
      if (li_740 == FALSE) {
         if ((Predict1() == 1.0 && l_imacd_572 < l_imacd_580 && l_ima_152 < l_ima_96 && Open[0] < Close[1] && (Open[0] > l_ima_64 + l_istddev_208 && l_istochastic_384 > 75.0) ||
            (l_istochastic_384 > 70.0 && l_ima_88 < l_ima_96 - 0.6 * g_point_508 && li_416)) || (Predict1() == 3.0 && Aggressive && (l_ima_96 > l_ima_104 && l_ima_88 < l_ima_96 &&
            Open[1] > l_ima_96 && Open[0] < l_ima_88) || li_448 && l_istochastic_384 > 50.0 && Open[0] < Close[1] && l_ima_88 > l_ima_64 && l_imacd_572 < l_imacd_580 && li_464)) {
            Trade(2, 2, 2);
            return (0);
         }
         if (((l_ima_64 > l_ima_144 && Open[0] > l_ima_64 && l_ima_88 < l_ima_64 && li_416 && l_istochastic_248 > 50.0) || (l_ima_80 > l_ima_144 + 1.7 * l_istddev_216 && l_ima_72 < l_ima_80 - g_point_508 &&
            Open[0] > l_ima_72 && l_istochastic_248 > 75.0) && Open[0] < Close[1] && l_imacd_572 < l_imacd_580 && l_iwpr_160 < l_iwpr_168) || (Predict() == 2.0 || Predict2() == 2.0 ||
            Predict2() == 4.0 && l_imacd_604 < l_imacd_612 && Open[0] < Close[1] && Open[0] > (l_high_508 + l_low_516) / 2.0 + 5.0 * g_point_508 && li_440 && l_istochastic_248 > 55.0 && l_imacd_572 < l_imacd_580 && l_iwpr_160 < -20.0 && l_iwpr_160 < l_iwpr_168 - 7.0) ||
            (Predict() == 2.0 && Open[0] < Close[1] && Open[1] > Close[1] && li_440 && l_istochastic_248 > 30.0 && l_imacd_572 < l_imacd_580 && li_552 && l_ima_88 < l_ima_96 &&
            l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 - 0.1) || (l_imacd_604 < l_imacd_612 && l_imacd_604 > 2.0 * g_point_508 && l_imacd_604 < l_imacd_628 && l_imacd_612 > l_imacd_636 && l_ima_72 < l_ima_80 && li_552 && l_iwpr_160 < l_iwpr_168 - 5.0 && l_idemarker_224 < l_idemarker_232 - 0.03 && Close[1] > Open[1] && Open[0] < l_ima_652 && l_ima_652 > l_ima_676 && l_ima_652 < l_ima_660) ||
            (Close[2] > Open[2] && Open[1] > Close[1] && Close[2] - Open[2] < Open[1] - Close[1] - 3.0 * g_point_508 && Open[0] < Close[1] && l_ima_72 < l_ima_80 && Low[1] < Low[2] &&
            l_imacd_572 < l_imacd_580 && l_imacd_572 > 2.0 * g_point_508 && l_istochastic_248 > 60.0 && li_552 && Open[1] > l_ima_144 && Open[0] < l_ima_64 && l_iwpr_168 - l_iwpr_160 > l_iwpr_176 - l_iwpr_168 &&
            l_iwpr_160 < l_iwpr_168 - 5.0 && l_idemarker_224 < l_idemarker_232 - 0.1) || (l_ima_72 < l_ima_80 && l_ima_64 < l_ima_144 - g_point_508 / 2.0 && Open[0] > l_ima_88 && (l_istochastic_384 < l_istochastic_392 && l_istochastic_400 < l_istochastic_408) ||
            (l_istochastic_248 < l_istochastic_256 && l_istochastic_264 < l_istochastic_272) && Close[1] < Open[1] && Close[1] > Open[0] && l_iwpr_160 > -85.0 && li_464 && li_552 && l_ima_88 < l_ima_64 && Open[0] < l_ima_64 && l_imacd_572 < l_imacd_580) ||
            (l_ima_72 < l_ima_80 && l_imacd_572 > 1.5 * l_istddev_208 && li_552 && Close[1] > Open[0] && l_ima_88 < l_ima_96 && l_iwpr_160 > -85.0 && li_440 && l_imacd_604 < l_imacd_612 &&
            l_imacd_572 < l_imacd_580) || (l_iwpr_184 < l_iwpr_192 && l_iwpr_184 < -80.0 && l_iwpr_192 < -80.0 && l_iwpr_160 < l_iwpr_168 - 5.0 && l_iwpr_160 > -85.0 && l_iwpr_168 < l_iwpr_176 && l_istddev_208 > l_istddev_216 && l_idemarker_224 < l_idemarker_232 && l_ima_64 < l_ima_136 && li_440 && l_iadx_312 > 30.0 && l_imacd_572 < l_imacd_580) ||
            (li_432 && l_imacd_572 < l_imacd_580 && l_imacd_572 < l_imacd_588 && l_ima_152 < l_ima_96 && li_416 && l_iwpr_160 < l_iwpr_168 - 7.0 && l_istochastic_248 < l_istochastic_256 &&
            l_istochastic_264 < l_istochastic_272 - 1.0) || (l_imacd_572 < l_imacd_580 && l_imacd_572 > 3.0 * g_point_508 && l_imacd_572 < l_imacd_588 && l_imacd_580 > l_imacd_596 && li_440 && l_iwpr_160 < l_iwpr_168 && li_416 && l_ima_152 < l_ima_96 && Close[1] > Open[0] && Close[1] < Open[1] && l_istddev_208 > l_istddev_216) ||
            (li_432 && l_imacd_572 < l_imacd_580 && l_imacd_572 < l_imacd_588 && Open[0] < Close[1] && l_ima_88 > l_ima_96 && l_iwpr_160 < l_iwpr_168 - 9.0 && li_416 && l_ima_152 < l_ima_96) ||
            (li_748 == 2 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 12.0 && l_iadx_312 > 25.0 && l_iadx_328 > l_iadx_344 || l_ima_152 < l_ima_96 && l_ima_64 <= l_ima_144 &&
            l_ima_80 > l_ima_112 && li_440) || (Close[4] > Close[3] && Close[3] < Close[2] && Close[2] < Close[1] && Open[0] > Close[1] && Close[1] - Low[1] < High[1] - Open[1] && l_iwpr_160 < l_iwpr_168 - 5.0 && l_imacd_572 < l_imacd_580 && l_iwpr_168 < l_iwpr_176 && l_istochastic_384 > 72.0 && l_idemarker_232 < l_idemarker_240) ||
            (Open[1] > Close[1] && Close[2] > l_ima_64 && Close[1] < l_ima_64 && Open[1] < l_ima_72 && Open[0] < l_ima_48 && l_ima_64 < l_ima_136 - 5.0 * g_point_508 && l_iwpr_160 > -95.0 &&
            l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 && l_idemarker_232 < l_idemarker_240) || (l_irsi_288 > l_irsi_304 && l_irsi_280 < l_irsi_288 - 5.0 && l_irsi_288 > 70.0 && l_ima_152 < l_ima_96 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0) ||
            (Close[1] < l_ima_96 && Open[1] > l_ima_96 && l_ima_152 < l_ima_96 && l_iadx_312 > 30.0 && l_iadx_328 > 25.0 && l_ima_64 < l_ima_136 - 3.0 * g_point_508 && li_440 &&
            l_iwpr_160 < l_iwpr_168 - 18.0 && l_iwpr_168 < l_iwpr_176 - 7.0) || (li_448 && Open[1] < l_ima_128 && Open[0] < l_ima_48 && Open[1] > Close[1] && l_ima_64 < l_ima_144 - 2.0 * g_point_508 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 9.0 && l_ima_152 < l_ima_96) ||
            (li_448 && l_imacd_572 < l_imacd_580 && l_imacd_572 > 0.0 && l_imacd_572 < l_imacd_588 && l_iadx_312 > 25.0 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 7.0 &&
            l_istochastic_384 < l_istochastic_392 && l_istochastic_400 < l_istochastic_408 - 1.0) || (l_iadx_328 > l_iadx_344 && l_iadx_336 > l_iadx_344 && l_iadx_320 <= l_iadx_328 && l_iadx_312 >= 35.0 && l_iadx_328 > 25.0 && l_iwpr_160 < l_iwpr_168 - 15.0 && li_440) ||
            (l_ima_72 < l_ima_80 && l_ima_88 < l_ima_96 && l_ima_64 < l_ima_144 && l_ima_64 < l_ima_136 - 5.0 * g_point_508 && l_ima_96 - l_ima_88 > l_ima_144 - l_ima_64 && l_ima_64 - l_ima_72 > l_ima_144 - l_ima_80 &&
            li_440 && l_iwpr_160 > -85.0 && l_iwpr_160 < l_iwpr_168 - 15.0 && l_ima_72 < l_ima_88 && l_ima_88 < l_ima_64 && Open[0] < l_ima_72) || ((li_456 && l_istochastic_392 > 75.0) ||
            (li_448 && l_istochastic_392 > 705.0) && l_ima_64 < l_ima_144 - 2.0 * g_point_508 && l_ima_152 < l_ima_96) || (li_432 && Open[1] < l_ima_128 && Open[0] < l_ima_48 && Open[1] > Close[1] && Volume[0] > Volume[1] && l_iwpr_160 < l_iwpr_168 - 7.0 && l_idemarker_224 < l_idemarker_232 - 0.08 && l_istddev_208 > l_istddev_216) ||
            (Close[3] < l_ima_112 && Open[2] < l_ima_96 && Open[1] > Close[1] && Open[1] < Close[2] && Close[1] < l_ima_64 - 2.2 * l_istddev_216 && Open[0] < Close[1] && l_istddev_208 > l_istddev_216 &&
            li_440 && l_iwpr_160 < l_iwpr_168 - 7.0 && l_iwpr_160 > -85.0) || (l_ima_144 - l_ima_684 > l_ima_64 - l_ima_684 && l_ima_684 > (l_high_508 + l_low_516) / 2.0 + 2.0 * l_istddev_692 && l_ima_684 - l_ima_64 > l_istddev_208 && Open[0] < Close[1] && li_440 && l_istochastic_248 > 25.0)) {
            Trade(2, 3, 2);
            return (0);
         }
      }
   }
   for (int l_pos_0 = 0; l_pos_0 < l_count_32 + l_count_24; l_pos_0++) {
      if (OrderSelect(l_pos_0, SELECT_BY_POS, MODE_TRADES) == TRUE) {
         if (OrderType() <= OP_SELL && OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNo || OrderMagicNumber() == Magic_No) {
            l_price_564 = OrderStopLoss();
            ld_556 = AccountBalance() * (Percent_Over_Balance / 100.0);
            if (OrderType() == OP_BUY) {
               if (AccountFreeMargin() <= 0.0 || (Profit_Protection && AccountProfit() >= ld_556) || (OrderMagicNumber() == Magic_No && Bid - OrderOpenPrice() > 5.0 * g_point_508 &&
                  l_imacd_572 < l_imacd_580)) {
                  RefreshRates();
                  OrderClose(OrderTicket(), OrderLots(), Bid, g_slippage_516, Violet);
                  return (0);
               }
               if (NFA_Rules && (ld_752 > 0.0 && OrderOpenPrice() - Bid >= StopLoss * g_point_508) || Bid - OrderOpenPrice() >= TakeProfit * g_point_508 || (OrderMagicNumber() == Magic_No &&
                  Bid - OrderOpenPrice() >= Min_Auto_TP * g_point_508 && l_imacd_572 < l_imacd_580)) {
                  RefreshRates();
                  OrderClose(OrderTicket(), OrderLots(), Bid, g_slippage_516, Violet);
                  return (0);
               }
               if (BreakEven) {
                  if (Bid > OrderOpenPrice() + BreakEvenPips * g_point_508 && OrderStopLoss() < OrderOpenPrice()) {
                     RefreshRates();
                     l_price_564 = Bid - 3.0 * (g_point_508 * BreakEvenPips);
                     OrderModify(OrderTicket(), OrderOpenPrice(), l_price_564, OrderTakeProfit(), 0, CLR_NONE);
                     return (0);
                  }
               }
               if (!(!NFA_Rules && TrailingStop > 0.0)) continue;
               if (Bid - OrderOpenPrice() <= g_point_508 * TrailingStop) continue;
               if (l_price_564 >= Bid - g_point_508 * TrailingStop) continue;
               RefreshRates();
               l_price_564 = Bid - g_point_508 * TrailingStop;
               l_price_36 = OrderTakeProfit();
               if (l_istochastic_248 < 50.0 && li_436 && l_imacd_572 > l_imacd_580) l_price_36 = OrderTakeProfit() + TrailingPips * g_point_508;
               OrderModify(OrderTicket(), OrderOpenPrice(), l_price_564, l_price_36, 0, Blue);
               return (0);
            }
            if (AccountFreeMargin() <= 0.0 || (Profit_Protection && AccountProfit() >= ld_556) || (OrderMagicNumber() == Magic_No && OrderOpenPrice() - Ask > 5.0 * g_point_508 &&
               l_imacd_572 > l_imacd_580)) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, g_slippage_516, Violet);
               return (0);
            }
            if (NFA_Rules && (ld_752 > 0.0 && Ask - OrderOpenPrice() >= StopLoss * g_point_508) || OrderOpenPrice() - Ask >= TakeProfit * g_point_508 || (OrderMagicNumber() == Magic_No &&
               OrderOpenPrice() - Ask >= Min_Auto_TP * g_point_508 && l_imacd_572 > l_imacd_580)) {
               RefreshRates();
               OrderClose(OrderTicket(), OrderLots(), Ask, g_slippage_516, Violet);
               return (0);
            }
            if (BreakEven) {
               if (Ask < OrderOpenPrice() - BreakEvenPips * g_point_508 && OrderStopLoss() > OrderOpenPrice()) {
                  RefreshRates();
                  l_price_564 = Ask + g_point_508 * BreakEvenPips;
                  OrderModify(OrderTicket(), OrderOpenPrice(), l_price_564, OrderTakeProfit(), 0, CLR_NONE);
                  return (0);
               }
            }
            if (!NFA_Rules && TrailingStop > 0.0) {
               if (OrderOpenPrice() - Ask > g_point_508 * TrailingStop) {
                  if (l_price_564 > Ask + g_point_508 * TrailingStop || l_price_564 == 0.0) {
                     RefreshRates();
                     l_price_564 = Ask + g_point_508 * TrailingStop;
                     l_price_36 = OrderTakeProfit();
                     if (l_istochastic_248 > 50.0 && li_440 && l_imacd_572 < l_imacd_580) l_price_36 = OrderTakeProfit() - TrailingPips * g_point_508;
                     OrderModify(OrderTicket(), OrderOpenPrice(), l_price_564, l_price_36, 0, Red);
                     return (0);
                  }
               }
            }
         }
      }
   }
   Comment("\n", "    EURO-BLASTER Turbo - Copyright ?2009, Forex Spiritual Team",
      "\n", "    =======================================",
      "\n", "     Broker Time       :                ", TimeToStr(TimeCurrent()),
      "\n",
      "\n", "     Highest Price in ", Bars_Period_Screen, " Bars Period :  ", l_high_524,
      "\n", "     Lowest Price in ", Bars_Period_Screen, " Bars Period  :  ", l_low_532,
      "\n", "     Current Price ->  Bid :  ", Bid, "   Ask :  ", Ask,
      "\n",
      "\n", "     Minimum Stop Level : ", g_stoplevel_520,
      "\n", "     Lot Step                  : ", g_lotstep_476,
      "\n",
      "\n", "     Balance                : ", AccountBalance(),
      "\n", "     Equity                 : ", AccountEquity(),
      "\n", "     Orders Total         : ", OrdersTotal(),
      "\n", "     Total Profit/Loss    : ", AccountProfit(),
      "\n",
      "\n", "     Orders Lot Size       : ", OrderLots(),
      "\n", "     Next Lot Size         : ", LotsOptimized(),
   "\n");
   return (0);
}
void DrawStats()
{
string text[11];
    text[1]= "金钱黑洞升级版";
    text[2]= "行情波动次数: " + Count32 + "  点差: " + DoubleToStr(MarketInfo(Symbol(), MODE_SPREAD)/PipValue, 2);
    text[3]= "--------------------------------------------";
    text[4]= "今日盈利: "+ DoubleToStr(GetProfitForDay(0), 2);
    text[5]= "昨日盈利: " + DoubleToStr(GetProfitForDay(1), 2);
    text[6]= "前日盈利: " + DoubleToStr(GetProfitForDay(2), 2);
    text[7]= "帐户余额: " + DoubleToStr(AccountBalance(), 2);  
    text[8]= "资金最大回撤: " + DoubleToStr(DrawDown(), 2);
    text[9]= "已使用保证金: " + DoubleToStr(AccountMargin(), 2); 
    text[10]= "可使用保证金: " + DoubleToStr(AccountFreeMargin(), 2);
    text[11]= "-------------------------------------------";
Count32++;   int i=1;   int k=20;
    while (i<=11)
    {
       string ChartInfo = DoubleToStr(i, 0);
       ObjectCreate(ChartInfo, OBJ_LABEL, 0, 0, 0);//创建文本OBJ_LABEL类型的后面全为0
       ObjectSetText(ChartInfo, text[i],12, "Arial", Gold);//改变所创建文本的属性,包括文字,大小,字体,颜色,
       ObjectSet(ChartInfo, OBJPROP_CORNER, 1); //对所创建文本设置固定角落, 
       ObjectSet(ChartInfo, OBJPROP_XDISTANCE, 10); //对所创建文本设定对x轴的间隔
       ObjectSet(ChartInfo, OBJPROP_YDISTANCE, k); //对所创建文本设定对y轴的间隔
       i++;       k=k+20;
    }
}
//-----------创建图标-------------------------------------------------------
void DrawLogo() {
   string l_name_0 = 文本 + "L_1";
   if (ObjectFind(l_name_0) == -1)
   {
      ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_0, OBJPROP_CORNER, 0);
      ObjectSet(l_name_0, OBJPROP_XDISTANCE, 390);//与x轴390
      ObjectSet(l_name_0, OBJPROP_YDISTANCE, 10);//与Y轴10
   }
   ObjectSetText(l_name_0, "M o n e y M a k e r--2", 28, "Arial", DarkTurquoise);//forex
   l_name_0 = 文本 + "L_2";
   if (ObjectFind(l_name_0) == -1)
   {
      ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_0, OBJPROP_CORNER, 0);
      ObjectSet(l_name_0, OBJPROP_XDISTANCE, 445);
      ObjectSet(l_name_0, OBJPROP_YDISTANCE, 50);
   }
   ObjectSetText(l_name_0, "Yao Ge Jin. Provide", 16, "Arial", Gold);//investor
   l_name_0 = 文本 + "L_3";
   if (ObjectFind(l_name_0) == -1) {
      ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_0, OBJPROP_CORNER, 0);
      ObjectSet(l_name_0, OBJPROP_XDISTANCE, 445);
      ObjectSet(l_name_0, OBJPROP_YDISTANCE, 75);
   }
   ObjectSetText(l_name_0, "welcome to use,good luck!", 12, "Arial", Gray);
   l_name_0 = 文本 + "L_4";
   if (ObjectFind(l_name_0) == -1)
   {
      ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_0, OBJPROP_CORNER, 0);
      ObjectSet(l_name_0, OBJPROP_XDISTANCE, 445);
      ObjectSet(l_name_0, OBJPROP_YDISTANCE, 57);
   }
   ObjectSetText(l_name_0, "____________________", 12, "Arial", Gray);
   l_name_0 = 文本 + "L_5";
   if (ObjectFind(l_name_0) == -1)
   {
      ObjectCreate(l_name_0, OBJ_LABEL, 0, 0, 0);
      ObjectSet(l_name_0, OBJPROP_CORNER, 0);
      ObjectSet(l_name_0, OBJPROP_XDISTANCE, 445);
      ObjectSet(l_name_0, OBJPROP_YDISTANCE, 76);
   }
   ObjectSetText(l_name_0, "____________________", 12, "Arial", Gray);
}
//---------------------计算每天盈利亏损的函数有助于了解交易的情况--------------------------------------------------------------
double GetProfitForDay(int 偏移)
{
   double 盈利 = 0;
   for (int l_pos_12 = 0; l_pos_12 < OrdersHistoryTotal(); l_pos_12++)
    {
      if (!(OrderSelect(l_pos_12, SELECT_BY_POS, MODE_HISTORY))) break;//如果有没历史订单就中断,如果有就进行下一步
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNo||Magic_No)
         if (OrderCloseTime() >= iTime(Symbol(), PERIOD_D1, 偏移) && OrderCloseTime() < iTime(Symbol(), PERIOD_D1, 偏移) + 86400)
         盈利 = 盈利 + OrderProfit() + OrderCommission() + OrderSwap();
   }
   return (盈利);
  
//--------------------评估交易最大回撤的数据---------------------------------------------------------------------------------------------
double DrawDown()

   double DD = AccountBalance() - AccountEquity();
   if(DD > DDBuffer)     DDBuffer = DD;    return(DDBuffer);
}



全球外汇中文网Fx263.com  ,阅读更多请登录www.Fx263.com

【版权声明】

本文仅代表作者观点,不代表本站立场。Fx263.com对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证,且不构成任何投资建议,请读者仅作参考,并自行承担全部风险与责任。Fx263.com作为信息内容发布平台,页面展示内容的目的在于传播更多信息,不代表Fx263.com立场;本站会员及自媒体人所发的稿件所载明的信息与本网无关,如文章涉及版权,请联系本站处理。

【风险提示】

请通过正规渠道参与外汇保证金交易。目前通过网络平台提供、参与外汇保证金交易均属非法。请提高意识,谨防损失!外汇、贵金属和差价合约(OTC场外交易)是杠杆产品,存在较高的风险,可能会导致亏损您的投资本金,请理性投资。

 

Fx263.com - 全球财经中文网

官方交流微信号:FX263cn注明来意

重要声明 | 本站内容不适用于中国大陆地区访客。

Powered By Fx263.com - 版权所有

大中华地区全球财经中文网

本站内容仅供参考盈亏自负

FX263网 - 全球财经中文网