有您的持续关注
我们会做得更好

智能交易系统Forex_Envy_v2.0



Forex_Envy_v2.0一套成名的智能交易系统,官方原始售价不菲。策略采用多货币对冲模式,有官方配置文件,喜好的朋友可以模拟测试熟悉。Forex_Envy_v2.0官方配置文件点此下载

本网收集整理智能交易EA仅为MQL4编程爱好者提供语法及相关编程技巧的学习研究之用,智能交易存在极高的风险测试请用模拟盘,请勿用于实盘。Forex_Envy_v2.0MQL4源码如下:

//+------------------------------------------------------------------+
//|                                    Forex_Envy_v2.0_edu_nodll.mq4 |
//|                                     Copyright 2014, QQ:125808047 |
//+------------------------------------------------------------------+
#property copyright "www.125808047.com"
#property link      "http://www.125808047.com/"
/*
#import "forexenvy2.0.dll"
//   int fun0(double& a0[], double& a1[], int a2, int a3, double a4, double& a5[], double a6, int a7);
//   int fun1(string& a0[], int a1, double a2, string a3, int a4);
#import
*/
int gi_76;
string gs_80;
string gsa_92[4] = {"0000000000", "1111111111", "2222222222", "33333333333"};
extern string Register_Number = "";
extern string User = "";
extern string KEY = "";
extern string _________ = "Input a unique magic number for each chart";
extern int MagicNumber = 0;
extern double BaseLotSize = 0.01;
extern int ExecutionPoint = 0;
extern double BasketTakeProfit = 0.0;
extern int BasketStopLoss = 0;
extern double Multiplier = 1.0;
extern int MaximumBuyLevels = 0;
extern int MaximumSellLevels = 0;
extern int slippage = 3;
extern bool SupportECN = FALSE;
extern double BailOutPct = 100.0;
extern bool Chicken_Out = FALSE;
extern bool FreezeAfterTP = FALSE;
extern bool FreezeAfterTPScheduler = FALSE;
extern string __________ = "Freeze After TP Scheduler";
extern int SUN_StartHour = 0;
extern int SUN_StartMinute = 0;
extern int SUN_EndHour = 0;
extern int SUN_EndMinute = 0;
extern int MON_StartHour = 0;
extern int MON_StartMinute = 0;
extern int MON_EndHour = 0;
extern int MON_EndMinute = 0;
extern int TUE_StartHour = 0;
extern int TUE_StartMinute = 0;
extern int TUE_EndHour = 0;
extern int TUE_EndMinute = 0;
extern int WED_StartHour = 0;
extern int WED_StartMinute = 0;
extern int WED_EndHour = 0;
extern int WED_EndMinute = 0;
extern int THU_StartHour = 0;
extern int THU_StartMinute = 0;
extern int THU_EndHour = 0;
extern int THU_EndMinute = 0;
extern int FRI_StartHour = 0;
extern int FRI_StartMinute = 0;
extern int FRI_EndHour = 0;
extern int FRI_EndMinute = 0;
extern int SAT_StartHour = 0;
extern int SAT_StartMinute = 0;
extern int SAT_EndHour = 0;
extern int SAT_EndMinute = 0;
extern string EA_Name = "Forex Envy";
extern string ____________ = "";
extern string EnvyAugmenter = "";
extern string Level_1 = "";
extern double Multiplier_1 = 0.0;
extern double BasketTakeProfit_1 = 0.0;
extern string Level_2 = "";
extern double Multiplier_2 = 0.0;
extern double BasketTakeProfit_2 = 0.0;
extern string Level_3 = "";
extern double Multiplier_3 = 0.0;
extern double BasketTakeProfit_3 = 0.0;
extern string Level_4 = "";
extern double Multiplier_4 = 0.0;
extern double BasketTakeProfit_4 = 0.0;
extern string Level_5 = "";
extern double Multiplier_5 = 0.0;
extern double BasketTakeProfit_5 = 0.0;
extern string Level_6 = "";
extern double Multiplier_6 = 0.0;
extern double BasketTakeProfit_6 = 0.0;
extern string Level_7 = "";
extern double Multiplier_7 = 0.0;
extern double BasketTakeProfit_7 = 0.0;
extern string Level_8 = "";
extern double Multiplier_8 = 0.0;
extern double BasketTakeProfit_8 = 0.0;
extern string Level_9 = "";
extern double Multiplier_9 = 0.0;
extern double BasketTakeProfit_9 = 0.0;
extern string Level_10 = "";
extern double Multiplier_10 = 0.0;
extern double BasketTakeProfit_10 = 0.0;
extern string Level_11 = "";
extern double Multiplier_11 = 0.0;
extern double BasketTakeProfit_11 = 0.0;
extern string Level_12 = "";
extern double Multiplier_12 = 0.0;
extern double BasketTakeProfit_12 = 0.0;
extern string Level_13 = "";
extern double Multiplier_13 = 0.0;
extern double BasketTakeProfit_13 = 0.0;
extern string Level_14 = "";
extern double Multiplier_14 = 0.0;
extern double BasketTakeProfit_14 = 0.0;
extern string Level_15 = "";
extern double Multiplier_15 = 0.0;
extern double BasketTakeProfit_15 = 0.0;
extern string Level_16 = "";
extern double Multiplier_16 = 0.0;
extern double BasketTakeProfit_16 = 0.0;
extern string Level_17 = "";
extern double Multiplier_17 = 0.0;
extern double BasketTakeProfit_17 = 0.0;
extern string Level_18 = "";
extern double Multiplier_18 = 0.0;
extern double BasketTakeProfit_18 = 0.0;
extern string Level_19 = "";
extern double Multiplier_19 = 0.0;
extern double BasketTakeProfit_19 = 0.0;
extern string Level_20 = "";
extern double Multiplier_20 = 0.0;
extern double BasketTakeProfit_20 = 0.0;
extern string Level_21 = "";
extern double Multiplier_21 = 0.0;
extern double BasketTakeProfit_21 = 0.0;
extern string Level_22 = "";
extern double Multiplier_22 = 0.0;
extern double BasketTakeProfit_22 = 0.0;
extern string Level_23 = "";
extern double Multiplier_23 = 0.0;
extern double BasketTakeProfit_23 = 0.0;
extern string Level_24 = "";
extern double Multiplier_24 = 0.0;
extern double BasketTakeProfit_24 = 0.0;
extern string Level_25 = "";
extern double Multiplier_25 = 0.0;
extern double BasketTakeProfit_25 = 0.0;
double gd_944;
bool gi_952 = FALSE;
double gd_956;
double gd_964 = 0.0;
int gi_972 = 0;
int gi_976 = 0;
int gi_980 = 300;
int gi_984 = 5000;
int gi_988 = 0;
int gi_992 = 0;
double gd_996 = 100.0;
int gi_1004 = 600;
double gd_1008;
bool gi_1016;
int gi_1020 = 7;
int gi_1024 = 0;
int gi_1028 = MODE_LWMA;
int gi_1032 = PRICE_WEIGHTED;
double gd_1036 = 0.25;
double gd_1044 = 0.2;
double gd_1052 = 1.01;
int gi_1060 = 0;
int gi_1064;
double gd_1068;
int gi_1076;
bool gi_1080 = FALSE;
string gs_1084;
int gi_1100 = 0;
int gi_1104 = 1;
int gi_1108 = 3;
int gi_1112 = 250;
string gs_1116;
bool gi_1124;
bool gi_1128;
bool gi_1132;
bool gi_1136;
int gi_1140;
int gi_1144;
string gs__hedged_1148 = " hedged";
int gi_1156;
bool gi_1160 = FALSE;
string gs_1164 = "12345678901234567890123456789012345678901234567890ABCDEFGHIJKLMNOP";
double gda_1172[27];
double gda_1176[27];
double gda_1188[4];
int gi_1192;

void f0_15(string as_0) {
   if (gi_1156 >= 0) {
   }
}

void f0_9() {
   gd_944 = 0;
   int li_0 = OrdersHistoryTotal();
   for (int li_4 = 0; li_4 < li_0; li_4++) {
      bool cg = OrderSelect(li_4, SELECT_BY_POS, MODE_HISTORY);
      if (OrderMagicNumber() == MagicNumber) gd_944 += OrderProfit() + OrderSwap();
   }
}

int f0_5() {
   double ld_0 = MarketInfo(Symbol(), MODE_MINLOT);
   for (int li_8 = 0; ld_0 < 1.0; li_8++) ld_0 = 10.0 * ld_0;
   return (li_8);
}

double f0_2(double ad_0) {
   double ld_8;
   double ld_16 = AccountEquity() - gi_984;
   double ld_24 = gi_988;
   double ld_32 = gi_992;
   if (gi_988 == 0 || gi_992 == 0) ld_8 = ad_0;
   else {
      ld_24 = gi_984 * ld_24 / 100.0;
      Print("tmp=" + ld_16 + ",AccountEquity()=" + AccountEquity() + ",InitEquity=" + gi_984);
      ld_32 /= 100.0;
      if (ld_16 > 0.0) ld_16 = MathPow(ld_32 + 1.0, ld_16 / ld_24);
      else {
         if (ld_16 < 0.0) ld_16 = MathPow(1 - ld_32, MathAbs(ld_16 / ld_24));
         else ld_16 = 1;
      }
      ld_8 = NormalizeDouble(ad_0 * ld_16, f0_5());
      if (ld_8 < MarketInfo(Symbol(), MODE_MINLOT)) ld_8 = MarketInfo(Symbol(), MODE_MINLOT);
   }
   if (ld_8 < 0.0) Print("ERROR tmp=" + ld_16 + ",a=" + ld_24 + ",b=" + ld_32 + ",
AccountEquity()=" + AccountEquity());
   return (ld_8);
}

int deinit() {
   return (0);
}

int init() {
   if (Period() != PERIOD_M30) {
      Print("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
      Alert("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
   }
   gsa_92[0] = AccountNumber();
   gsa_92[1] = KEY;
   gsa_92[2] = User;
   gsa_92[3] = Register_Number;
   gi_76 = fun1(gsa_92, ArraySize(gsa_92), 0.1, gs_1164, IsDemo());
   gd_956 = Multiplier;
   if (Digits == 3) {
      gi_972 = 10.0 * ExecutionPoint;
      gi_976 = 10.0 * BasketStopLoss;
   } else {
      if (Digits == 5) {
         gi_972 = 10.0 * ExecutionPoint;
         gi_976 = 10.0 * BasketStopLoss;
      } else {
         gi_972 = ExecutionPoint;
         gi_976 = BasketStopLoss;
      }
   }
   gda_1172[0] = BasketTakeProfit_1;
   gda_1172[1] = BasketTakeProfit_2;
   gda_1172[2] = BasketTakeProfit_3;
   gda_1172[3] = BasketTakeProfit_4;
   gda_1172[4] = BasketTakeProfit_5;
   gda_1172[5] = BasketTakeProfit_6;
   gda_1172[6] = BasketTakeProfit_7;
   gda_1172[7] = BasketTakeProfit_8;
   gda_1172[8] = BasketTakeProfit_9;
   gda_1172[9] = BasketTakeProfit_10;
   gda_1172[10] = BasketTakeProfit_11;
   gda_1172[11] = BasketTakeProfit_12;
   gda_1172[12] = BasketTakeProfit_13;
   gda_1172[13] = BasketTakeProfit_14;
   gda_1172[14] = BasketTakeProfit_15;
   gda_1172[15] = BasketTakeProfit_16;
   gda_1172[16] = BasketTakeProfit_17;
   gda_1172[17] = BasketTakeProfit_18;
   gda_1172[18] = BasketTakeProfit_19;
   gda_1172[19] = BasketTakeProfit_20;
   gda_1172[20] = BasketTakeProfit_21;
   gda_1172[21] = BasketTakeProfit_22;
   gda_1172[22] = BasketTakeProfit_23;
   gda_1172[23] = BasketTakeProfit_24;
   gda_1172[24] = BasketTakeProfit_25;
   gda_1172[25] = BasketTakeProfit;
   gda_1172[26] = BasketTakeProfit_1;
   gda_1176[0] = Multiplier_1;
   gda_1176[1] = Multiplier_2;
   gda_1176[2] = Multiplier_3;
   gda_1176[3] = Multiplier_4;
   gda_1176[4] = Multiplier_5;
   gda_1176[5] = Multiplier_6;
   gda_1176[6] = Multiplier_7;
   gda_1176[7] = Multiplier_8;
   gda_1176[8] = Multiplier_9;
   gda_1176[9] = Multiplier_10;
   gda_1176[10] = Multiplier_11;
   gda_1176[11] = Multiplier_12;
   gda_1176[12] = Multiplier_13;
   gda_1176[13] = Multiplier_14;
   gda_1176[14] = Multiplier_15;
   gda_1176[15] = Multiplier_16;
   gda_1176[16] = Multiplier_17;
   gda_1176[17] = Multiplier_18;
   gda_1176[18] = Multiplier_19;
   gda_1176[19] = Multiplier_20;
   gda_1176[20] = Multiplier_21;
   gda_1176[21] = Multiplier_22;
   gda_1176[22] = Multiplier_23;
   gda_1176[23] = Multiplier_24;
   gda_1176[24] = Multiplier_25;
   gda_1176[25] = Multiplier;
   gda_1176[26] = Multiplier_1;
   int li_0 = fun0(gda_1172, gda_1176, Digits, 0, Point, gda_1188, 0, IsDemo());
   if (li_0 >= 0) {
      gd_964 = gda_1188[0];
      gd_1068 = gda_1188[1];
      gd_956 = gda_1188[2];
   }
   gi_1076 = MathRound((-MathLog(MarketInfo(Symbol(), MODE_LOTSTEP))) / 2.302585093);
   gi_1124 = FALSE;
   gi_1128 = FALSE;
   gi_1132 = FALSE;
   gi_1136 = FALSE;
   gi_1140 = -1;
   gi_1016 = FALSE;
   gi_1144 = -1;
   gs_1116 = "approved";
   if (gi_76 == 0) {
      Print("Your Register number: " + gs_1164 + ", please input valid KEY.");
      Alert("Your Register number: " + gs_1164);
   }
   return (0);
}

double f0_10(int ai_0) {
   for (int li_4 = OrdersTotal() - 1; li_4 >= 0; li_4--) {
      if (OrderSelect(li_4, SELECT_BY_POS)) {
         if (OrderMagicNumber() == MagicNumber) {
            if (StringFind(OrderComment(), gs__hedged_1148) == -1) {
               f0_15("GetLastLotSize " + ai_0 + ",OrderLots()=" + OrderLots());
               return (OrderLots());
            }
         }
      }
   }
   f0_15("GetLastLotSize " + ai_0 + " wasnt found");
   return (0);
}

double f0_3(int ai_0) {
   for (int li_4 = OrdersTotal() - 1; li_4 >= 0; li_4--) {
      if (OrderSelect(li_4, SELECT_BY_POS)) {
         if (OrderMagicNumber() == MagicNumber && OrderType() == OP_BUY) {
            if (StringFind(OrderComment(), gs__hedged_1148) == -1) {
               f0_15("GetLastLotSize " + ai_0 + ",OrderLots()=" + OrderLots());
               return (OrderLots());
            }
         }
      }
   }
   f0_15("GetLastLotSize " + ai_0 + " wasnt found");
   return (0);
}

double f0_6(int ai_0) {
   for (int li_4 = OrdersTotal() - 1; li_4 >= 0; li_4--) {
      if (OrderSelect(li_4, SELECT_BY_POS)) {
         if (OrderMagicNumber() == MagicNumber && OrderType() == OP_SELL) {
            if (StringFind(OrderComment(), gs__hedged_1148) == -1) {
               f0_15("GetLastLotSize " + ai_0 + ",OrderLots()=" + OrderLots());
               return (OrderLots());
            }
         }
      }
   }
   f0_15("GetLastLotSize " + ai_0 + " wasnt found");
   return (0);
}

int f0_11(bool ai_0 = FALSE) {
   int li_4;
   double ld_8;
   double ld_16 = 0;
   double ld_24 = 0;
   string ls_32 = "";
   bool li_40 = TRUE;
   if (TimeCurrent() - gi_1064 < 60) return (0);
   if (ai_0 && (!gi_1132)) return (0);
   if (!GlobalVariableCheck("PERMISSION")) {
      GlobalVariableSet("PERMISSION", TimeCurrent());
      if (!SupportECN) {
         if (ai_0) {
            if (OrderSelect(gi_1140, SELECT_BY_TICKET)) ld_24 = OrderTakeProfit() - MarketInfo(Symbol(), 
MODE_SPREAD) * Point;
         } else ld_16 = Ask + gd_964 * Point;
      }
      if (gi_1160 == FALSE) {
         if (ai_0) ld_8 = NormalizeDouble(f0_10(1) * gd_1052, 2);
         else ld_8 = f0_2(gd_1008);
      } else {
         if (f0_3(0) > 0.0) ld_8 = NormalizeDouble(f0_3(0) * gd_956, 2);
         else ld_8 = NormalizeDouble(BaseLotSize, 2);
      }
      if (BasketStopLoss > 0) ld_24 = Ask - gi_976 * Point;
      if (!SupportECN) {
         li_4 = OrderSend(Symbol(), OP_BUY, ld_8, NormalizeDouble(Ask, Digits), slippage, 
NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_16, Digits), EA_Name + ls_32,
            MagicNumber, 0, Green);
      } else {
         li_4 = OrderSend(Symbol(), OP_BUY, ld_8, NormalizeDouble(Ask, Digits), slippage, 0, 0, 
EA_Name + ls_32, MagicNumber, 0, Green);
         Sleep(1000);
         if (li_4 >= 0) bool cg = OrderModify(li_4, NormalizeDouble(OrderOpenPrice(), Digits), 
NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_16, Digits), 0, Black);
      }
      gi_1064 = TimeCurrent();
      if (li_4 != -1) {
         if (!ai_0) {
            gi_1140 = li_4;
            f0_15("BUY hedgedTicket=" + gi_1140);
         } else {
            f0_15("BUY Envy_ticket=" + li_4);
            gi_1144 = 0;
         }
      } else {
         f0_15("failed sell");
         li_40 = FALSE;
      }
   }
   GlobalVariableDel("PERMISSION");
   return (li_40);
}

int f0_12(bool ai_0 = FALSE) {
   int li_4;
   double ld_8;
   double ld_16 = 0;
   double ld_24 = 0;
   string ls_32 = "";
   bool li_40 = TRUE;
   if (TimeCurrent() - gi_1064 < 60) return (0);
   if (ai_0 && (!gi_1136)) return (0);
   if (!GlobalVariableCheck("PERMISSION")) {
      GlobalVariableSet("PERMISSION", TimeCurrent());
      if (!SupportECN) {
         if (ai_0) {
            if (OrderSelect(gi_1140, SELECT_BY_TICKET)) ld_24 = OrderTakeProfit() + MarketInfo(Symbol(), 
MODE_SPREAD) * Point;
         } else ld_16 = Bid - gd_964 * Point;
      }
      if (gi_1160 == FALSE) {
         if (ai_0) ld_8 = NormalizeDouble(f0_10(0) * gd_1052, 2);
         else ld_8 = f0_2(gd_1008);
      } else {
         if (f0_6(0) > 0.0) ld_8 = NormalizeDouble(f0_6(0) * gd_956, 2);
         else ld_8 = NormalizeDouble(BaseLotSize, 2);
      }
      if (BasketStopLoss > 0) ld_24 = Bid + gi_976 * Point;
      if (!SupportECN) {
         li_4 = OrderSend(Symbol(), OP_SELL, ld_8, NormalizeDouble(Bid, Digits), slippage, 
NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_16, Digits), EA_Name + ls_32,
            MagicNumber, 0, Pink);
      } else {
         li_4 = OrderSend(Symbol(), OP_SELL, ld_8, NormalizeDouble(Bid, Digits), slippage, 0, 0, 
EA_Name + ls_32, MagicNumber, 0, Pink);
         Sleep(1000);
         if (li_4 >= 0) bool cg = OrderModify(li_4, NormalizeDouble(OrderOpenPrice(), Digits), 
NormalizeDouble(ld_24, Digits), NormalizeDouble(ld_16, Digits), 0, Black);
      }
      gi_1064 = TimeCurrent();
      if (li_4 != -1) {
         if (!ai_0) {
            gi_1140 = li_4;
            f0_15("SELL hedgedTicket=" + gi_1140);
         } else {
            f0_15("SELL Envy_ticket=" + li_4);
            gi_1144 = 1;
         }
      } else {
         f0_15("failed sell");
         li_40 = FALSE;
      }
   }
   GlobalVariableDel("PERMISSION");
   return (li_40);
}

void f0_14(int ai_0, int ai_4) {
   int li_8 = 0;
   double ld_12 = 0;
   double ld_20 = 0;
   double ld_28 = 0;
   double ld_36 = 0;
   int li_44 = -1;
   int li_48 = 0;
   int li_52 = 0;
   int li_56 = 0;
   for (li_52 = 0; li_52 < OrdersTotal(); li_52++) {
      if (OrderSelect(li_52, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderMagicNumber() == MagicNumber && OrderType() == OP_BUY) {
            li_56++;
            if (OrderOpenTime() > li_8) {
               li_8 = OrderOpenTime();
               ld_12 = OrderOpenPrice();
               li_44 = OrderType();
               li_48 = OrderTicket();
               ld_28 = OrderTakeProfit();
               ld_36 = OrderStopLoss();
            }
            if (OrderLots() > ld_20) ld_20 = OrderLots();
         }
      }
   }
   int li_60 = MathRound(MathLog(ld_20 / BaseLotSize) / MathLog(gd_956)) + 1.0;
   if (li_60 < 0) li_60 = 0;
   gd_1008 = NormalizeDouble(BaseLotSize * MathPow(gd_956, li_60), gi_1076);
   if (li_60 == 0 && f0_7() == 1) {
      if (FreezeAfterTP == FALSE && gi_952 == FALSE) f0_11();
      else
         if (ai_0 > 0) f0_11();
   } else {
      if (ld_12 - Ask > ExecutionPoint * gd_1068 && ld_12 > 0.0 && li_56 < MaximumBuyLevels) {
         if (!(f0_11())) return;
         return;
      }
   }
   for (li_52 = 0; li_52 < OrdersTotal(); li_52++) {
      bool cg = OrderSelect(li_52, SELECT_BY_POS, MODE_TRADES);
      if (OrderMagicNumber() != MagicNumber || OrderType() != OP_BUY || OrderStopLoss() == ld_36 || 
ld_36 == 0.0 || OrderTakeProfit() == ld_28 || ld_28 == 0.0) continue;
      cg = OrderModify(OrderTicket(), NormalizeDouble(OrderOpenPrice(), Digits), 
NormalizeDouble(ld_36, Digits), NormalizeDouble(ld_28, Digits), 0, Pink);
      Sleep(1000);
   }
}

int f0_7() {
   double ld_0 = iSAR(NULL, PERIOD_H1, gd_1036, gd_1044, 0);
   double ld_8 = iMA(NULL, PERIOD_H1, gi_1020, gi_1024, gi_1028, gi_1032, 0);
   if (ld_0 > ld_8) return (-1);
   if (ld_0 < ld_8) return (1);
   return (0);
}

void f0_13(int ai_0, int ai_4) {
   int li_8 = 0;
   double ld_12 = 0;
   double ld_20 = 0;
   double ld_28 = 0;
   double ld_36 = 0;
   int li_44 = -1;
   int li_48 = 0;
   int li_52 = 0;
   int li_56 = 0;
   for (li_52 = 0; li_52 < OrdersTotal(); li_52++) {
      if (OrderSelect(li_52, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderMagicNumber() == MagicNumber && OrderType() == OP_SELL) {
            li_56++;
            if (OrderOpenTime() > li_8) {
               li_8 = OrderOpenTime();
               ld_12 = OrderOpenPrice();
               li_44 = OrderType();
               li_48 = OrderTicket();
               ld_28 = OrderTakeProfit();
               ld_36 = OrderStopLoss();
            }
            if (OrderLots() > ld_20) ld_20 = OrderLots();
         }
      }
   }
   int li_60 = MathRound(MathLog(ld_20 / BaseLotSize) / MathLog(gd_956)) + 1.0;
   if (li_60 < 0) li_60 = 0;
   gd_1008 = NormalizeDouble(BaseLotSize * MathPow(gd_956, li_60), gi_1076);
   if (li_60 == 0 && f0_7() == -1) {
      if (FreezeAfterTP == FALSE && gi_952 == FALSE) f0_12();
      else
         if (ai_4 > 0) f0_12();
   } else {
      if (Bid - ld_12 > ExecutionPoint * gd_1068 && ld_12 > 0.0 && li_56 < MaximumSellLevels) {
         if (!(f0_12())) return;
         return;
      }
   }
   for (li_52 = 0; li_52 < OrdersTotal(); li_52++) {
      if (OrderSelect(li_52, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderMagicNumber() == MagicNumber && OrderType() == OP_SELL) {
            if (OrderTakeProfit() == ld_28 || OrderStopLoss() == ld_36 || ld_36 == 0.0 || 
ld_28 == 0.0) continue;
            bool cg = OrderModify(OrderTicket(), NormalizeDouble(OrderOpenPrice(), Digits), 
NormalizeDouble(ld_36, Digits), NormalizeDouble(ld_28, Digits), 0, Pink);
         }
      }
   }
}

int f0_8(string as_0) {
   int li_8;
   int li_12 = OrdersTotal();
   if (li_12 == 0) return (0);
   double ld_16 = 0;
   for (int li_24 = li_12 - 1; li_24 >= 0; li_24--) {
      if (OrderSelect(li_24, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol() == as_0 && OrderMagicNumber() == MagicNumber) {
            if (OrderType() == OP_BUY) {
               RefreshRates();
               li_8 = OrderClose(OrderTicket(), OrderLots(), Bid, slippage, Red);
               continue;
            }
            if (OrderType() == OP_SELL) {
               RefreshRates();
               li_8 = OrderClose(OrderTicket(), OrderLots(), Ask, slippage, Green);
            }
         }
      }
   }
   return (1);
}

int f0_4() {
   int li_0;
   int li_4;
   int li_8;
   int li_12;
   if (DayOfWeek() == 0) {
      li_0 = SUN_StartHour;
      li_4 = SUN_StartMinute;
      li_8 = SUN_EndHour;
      li_12 = SUN_EndMinute;
   }
   if (DayOfWeek() == 1) {
      li_0 = MON_StartHour;
      li_4 = MON_StartMinute;
      li_8 = MON_EndHour;
      li_12 = MON_EndMinute;
   }
   if (DayOfWeek() == 2) {
      li_0 = TUE_StartHour;
      li_4 = TUE_StartMinute;
      li_8 = TUE_EndHour;
      li_12 = TUE_EndMinute;
   }
   if (DayOfWeek() == 3) {
      li_0 = WED_StartHour;
      li_4 = WED_StartMinute;
      li_8 = WED_EndHour;
      li_12 = WED_EndMinute;
   }
   if (DayOfWeek() == 4) {
      li_0 = THU_StartHour;
      li_4 = THU_StartMinute;
      li_8 = THU_EndHour;
      li_12 = THU_EndMinute;
   }
   if (DayOfWeek() == 5) {
      li_0 = FRI_StartHour;
      li_4 = FRI_StartMinute;
      li_8 = FRI_EndHour;
      li_12 = FRI_EndMinute;
   }
   if (DayOfWeek() == 6) {
      li_0 = SAT_StartHour;
      li_4 = SAT_StartMinute;
      li_8 = SAT_EndHour;
      li_12 = SAT_EndMinute;
   }
   int li_16 = 60 * TimeHour(TimeCurrent()) + TimeMinute(TimeCurrent());
   int li_20 = 60 * li_0 + li_4;
   int li_24 = 60 * li_8 + li_12;
   if (li_20 == li_24) return (0);
   if (li_20 < li_24) {
      if (!(!(li_16 >= li_20 && li_16 < li_24))) return (1);
      return (0);
   }
   if (li_20 > li_24) {
      if (!(!(li_16 >= li_20 || li_16 < li_24))) return (1);
      return (0);
   }
   return (0);
}

int start() {
   double ld_0;
   double ld_8;
   double ld_16;
   if (IsTesting()) {
      if (Period() != PERIOD_M30) {
         Print("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
         Alert("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
         return (0);
      }
   } else {
      if (Period() != PERIOD_M30) {
         Print("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
         Alert("ERROR -- Forex Envy should be attached to " + Symbol() + " 30 minute chart window");
         return (0);
      }
   }
   if (Chicken_Out == TRUE) {
      f0_8(Symbol());
      return (0);
   }
   if (FreezeAfterTPScheduler == TRUE) gi_952 = f0_4();
   gsa_92[0] = AccountNumber();
   gsa_92[1] = KEY;
   gsa_92[2] = User;
   gsa_92[3] = Register_Number;
   gi_76 = fun1(gsa_92, ArraySize(gsa_92), 0.2, gs_1164, IsDemo());
   if (gs_1116 != "approved" || gi_76 == 0) {
      Comment("Access denied!" + " Your Register number: " + gs_1164, 
      "\nPlease input valid KEY and User into the EA parameters or contact forexenvy.com for support");
      return (0);
   }
   int li_24 = 0;
   int li_28 = 0;
   for (int li_32 = 0; li_32 < OrdersTotal(); li_32++) {
      if (OrderSelect(li_32, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderMagicNumber() == MagicNumber) {
            if (StringFind(OrderComment(), gs__hedged_1148) == -1) {
               if (OrderType() == OP_BUY) {
                  li_24++;
                  continue;
               }
               if (OrderType() == OP_SELL) li_28++;
            }
         }
      }
   }
   if (li_24 >= gi_1060) {
      if (!gi_1136) {
         f0_15("Allow long hedge! trades=" + li_24 + ",TradesDeep=" + gi_1060);
         gi_1136 = TRUE;
      }
   }
   if (li_28 >= gi_1060) {
      if (!gi_1132) {
         f0_15("Allow short hedge! trades=" + li_28 + ",TradesDeep=" + gi_1060);
         gi_1132 = TRUE;
      }
   }
   bool li_36 = FALSE;
   if ((100 - BailOutPct) * AccountBalance() / 100.0 >= AccountEquity()) {
      f0_15("AccountBalance=" + AccountBalance() + ",AccountEquity=" + AccountEquity());
      gi_1016 = TRUE;
      li_36 = TRUE;
   }
   if ((gd_996 + 100.0) * AccountBalance() / 100.0 <= AccountEquity()) gi_1016 = TRUE;
   if (gi_1016) {
      for (int li_40 = OrdersTotal() - 1; li_40 >= 0; li_40--) {
         if (OrderSelect(li_40, SELECT_BY_POS)) {
            if (OrderMagicNumber() == MagicNumber) {
               f0_15("close #" + OrderTicket());
               if (!OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), MarketInfo(Symbol(), 
MODE_SPREAD), White)) {
                  f0_15("error");
                  return (0);
               }
            }
         }
      }
      gi_1016 = FALSE;
      if (li_36) {
         Sleep(1000 * gi_1004);
         li_36 = FALSE;
      }
      gi_1136 = FALSE;
      gi_1132 = FALSE;
   }
   if (SupportECN) {
      ld_0 = 0;
      if (OrderSelect(gi_1140, SELECT_BY_TICKET)) ld_0 = OrderTakeProfit();
      for (li_40 = 0; li_40 < OrdersTotal(); li_40++) {
         if (OrderSelect(li_40, SELECT_BY_POS)) {
            if (OrderMagicNumber() == MagicNumber) {
               if (OrderTakeProfit() == 0.0 && StringFind(OrderComment(), gs__hedged_1148) == -1) {
                  if (OrderType() == OP_BUY) {
                     if (li_24 > 0) {
                        gi_1192 = fun0(gda_1172, gda_1176, Digits, li_24 - 1, Point, gda_1188, li_24 - 1, 
IsDemo());
                        if (gi_1192 >= 0) {
                           gd_964 = gda_1188[0];
                           gd_1068 = gda_1188[1];
                           gd_956 = gda_1188[2];
                           if (gi_1192 == 0) gi_1160 = FALSE;
                           else gi_1160 = TRUE;
                        }
                     } else {
                        gi_1192 = fun0(gda_1172, gda_1176, Digits, li_24, Point, gda_1188, li_24, IsDemo());
                        if (gi_1192 >= 0) {
                           gd_964 = gda_1188[0];
                           gd_1068 = gda_1188[1];
                           gd_956 = gda_1188[2];
                           if (gi_1192 == 0) gi_1160 = FALSE;
                           else gi_1160 = TRUE;
                        }
                     }
                     bool cg =OrderModify(OrderTicket(), 0, NormalizeDouble(OrderStopLoss(), Digits), 
NormalizeDouble(OrderOpenPrice() + gd_964 * Point, Digits), 0, White);
                     continue;
                  }
                  if (OrderType() != OP_SELL) continue;
                  if (li_28 > 0) {
                     gi_1192 = fun0(gda_1172, gda_1176, Digits, li_28 - 1, Point, gda_1188, li_28 - 1, IsDemo());
                     if (gi_1192 >= 0) {
                        gd_964 = gda_1188[0];
                        gd_1068 = gda_1188[1];
                        gd_956 = gda_1188[2];
                        if (gi_1192 == 0) gi_1160 = FALSE;
                        else gi_1160 = TRUE;
                     }
                  } else {
                     gi_1192 = fun0(gda_1172, gda_1176, Digits, li_28, Point, gda_1188, li_28, IsDemo());
                     if (gi_1192 >= 0) {
                        gd_964 = gda_1188[0];
                        gd_1068 = gda_1188[1];
                        gd_956 = gda_1188[2];
                        if (gi_1192 == 0) gi_1160 = FALSE;
                        else gi_1160 = TRUE;
                     }
                  }
                  cg = OrderModify(OrderTicket(), 0, NormalizeDouble(OrderStopLoss(), Digits), 
NormalizeDouble(OrderOpenPrice() - gd_964 * Point, Digits), 0, White);
                  continue;
               }
               if (StringFind(OrderComment(), gs__hedged_1148) != -1 && gi_1144 == OrderType()) {
                  ld_8 = ld_0 - MarketInfo(Symbol(), MODE_SPREAD) * Point;
                  ld_16 = ld_0 + MarketInfo(Symbol(), MODE_SPREAD) * Point;
                  if (OrderStopLoss() == 0.0 || (OrderType() == OP_BUY && OrderStopLoss() != ld_8) || 
(OrderType() == OP_SELL && OrderStopLoss() != ld_16)) {
                     if (OrderType() == OP_BUY) {
                        cg = OrderModify(OrderTicket(), 0, NormalizeDouble(ld_8, Digits), 
NormalizeDouble(OrderTakeProfit(), Digits), 0, White);
                        continue;
                     }
                     if (OrderType() == OP_SELL) cg = OrderModify(OrderTicket(), 0, 
NormalizeDouble(ld_16, Digits), NormalizeDouble(OrderTakeProfit(), Digits), 0, White);
                  }
               }
            }
         }
      }
   }
   if (f0_0() != 0) {
      gi_1192 = fun0(gda_1172, gda_1176, Digits, li_24, Point, gda_1188, li_24, IsDemo());
      if (gi_1192 >= 0) {
         gd_964 = gda_1188[0];
         gd_1068 = gda_1188[1];
         gd_956 = gda_1188[2];
         if (gi_1192 == 0) gi_1160 = FALSE;
         else gi_1160 = TRUE;
      }
      f0_14(li_24, li_28);
      gi_1192 = fun0(gda_1172, gda_1176, Digits, li_28, Point, gda_1188, li_28, IsDemo());
      if (gi_1192 >= 0) {
         gd_964 = gda_1188[0];
         gd_1068 = gda_1188[1];
         gd_956 = gda_1188[2];
         if (gi_1192 == 0) gi_1160 = FALSE;
         else gi_1160 = TRUE;
      }
      f0_13(li_24, li_28);
      gi_1192 = fun0(gda_1172, gda_1176, Digits, 0, Point, gda_1188, 0, IsDemo());
      if (gi_1192 >= 0) {
         gd_964 = gda_1188[0];
         gd_1068 = gda_1188[1];
         gd_956 = gda_1188[2];
         if (gi_1192 == 0) gi_1160 = FALSE;
         else gi_1160 = TRUE;
      }
      if ((!FreezeAfterTP) && !gi_952) {
         if (gi_1128) {
            gi_1192 = fun0(gda_1172, gda_1176, Digits, li_24, Point, gda_1188, li_24, IsDemo());
            if (gi_1192 >= 0) {
               gd_964 = gda_1188[0];
               gd_1068 = gda_1188[1];
               gd_956 = gda_1188[2];
               if (gi_1192 == 0) gi_1160 = FALSE;
               else gi_1160 = TRUE;
            }
            if (f0_11(1)) gi_1128 = FALSE;
         }
         if (gi_1124) {
            gi_1192 = fun0(gda_1172, gda_1176, Digits, li_28, Point, gda_1188, li_28, IsDemo());
            if (gi_1192 >= 0) {
               gd_964 = gda_1188[0];
               gd_1068 = gda_1188[1];
               gd_956 = gda_1188[2];
               if (gi_1192 == 0) gi_1160 = FALSE;
               else gi_1160 = TRUE;
            }
            if (f0_12(1)) gi_1124 = FALSE;
         }
      }
      f0_16();
      return (0);
   }
   return (0);
}

void f0_16() {
   string ls_0 = DoubleToStr(f0_1(2), 2);
   if (!IsTesting()) f0_9();
   if (FreezeAfterTPScheduler == TRUE && f0_4() == 1) {
      Comment(" \nForex Envy v2.0", 
         "\nAccount Leverage  :  " + "1 : " + AccountLeverage(), 
         "\nAccount Type  :  " + AccountServer(), 
         "\nServer Time  :  " + TimeToStr(TimeCurrent(), TIME_SECONDS), 
         "\nAccount Equity  = ", AccountEquity(), 
         "\nFree Margin     = ", AccountFreeMargin(), 
         "\nDrawdown  :  ", ls_0, "%", 
         "\nTotal Profit/Loss = ", gd_944, 
         "\nFreezeAfterTPScheduler: ON", 
      "\n");
      return;
   }
   Comment(" \nForex Envy v2.0", 
      "\nAccount Leverage  :  " + "1 : " + AccountLeverage(), 
      "\nAccount Type  :  " + AccountServer(), 
      "\nServer Time  :  " + TimeToStr(TimeCurrent(), TIME_SECONDS), 
      "\nAccount Equity  = ", AccountEquity(), 
      "\nFree Margin     = ", AccountFreeMargin(), 
      "\nDrawdown  :  ", ls_0, "%", 
      "\nTotal Profit/Loss = ", gd_944, 
      "\nFreezeAfterTPScheduler: OFF", 
   "\n");
}

int f0_0() {
   return (1);
}

double f0_1(int ai_0) {
   double ld_4;
   if (ai_0 == 2) {
      ld_4 = (AccountEquity() / AccountBalance() - 1.0) / (-0.01);
      if (ld_4 <= 0.0) return (0);
      return (ld_4);
   }
   if (ai_0 == 1) {
      ld_4 = 100.0 * (AccountEquity() / AccountBalance() - 1.0);
      if (ld_4 <= 0.0) return (0);
      return (ld_4);
   }
   return (0.0);
}
///////////////////////////////////////////////////////////////////////
int fun0(double& a0[], double& a1[], int a2, int a3, double a4, double& a5[], double a6, int a7)
{
{
  int v8; // esi@1
  double v9; // st7@5
//  unsigned int v10; // edx@8
//  unsigned int v11; // eax@8
  double v12; // st7@36
  //double *v13; // eax@36
  double v14; // st7@183
  double v16; // [sp+8h] [bp-8h]@5

  v8 = 0;
  /*
  if ( v4656A0 != 200 || v465690 || a7 != v46569C && a7 + 2 != v46569C )
    return -1;
    */
  v9 = a0[25];
  v16 = a1[25];
  if ( a3 == 0 )
  {
    if ( a0[0] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[0];
    v16 = a1[25];
  }
  if ( a3 == 1 )
  {
    if ( a0[1] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[1];
    if ( a1[1] > 0.0 )
    {
      v16 = a1[1];
      v8 = 1;
      
    }
    /*
LABEL_8:
    v10 = *((_DWORD *)a1 + 50);
    v11 = *((_DWORD *)a1 + 51);
LABEL_9:
    v16 = __PAIR__(v11, v10);
    goto LABEL_10;
    */
  }
  if ( a3 == 2 )
  {
    if ( a0[2] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[2];
    if ( a1[2] > 0.0 )
    {
      v16 = a1[2];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 3 )
  {
    if ( a0[3] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[3];
    if ( a1[3] > 0.0 )
    {
      v16 = a1[3];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 4 )
  {
    if ( a0[4] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[4];
    if ( a1[4] > 0.0 )
    {
      v16 = a1[4];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 5 )
  {
    if ( a0[5] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[5];
    if ( a1[5] > 0.0 )
    {
      v16 = a1[5];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 6 )
  {
    if ( a0[6] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[6];
    if ( a1[6] > 0.0 )
    {
      v16 = a1[6];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 7 )
  {
    if ( a0[7] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[7];
    if ( a1[7] > 0.0 )
    {
      v16 = a1[7];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 8 )
  {
    if ( a0[8] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[8];
    if ( a1[8] > 0.0 )
    {
      v16 = a1[8];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 9 )
  {
    if ( a0[9] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[9];
    if ( a1[9] > 0.0 )
    {
      v16 = a1[9];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 10 )
  {
    if ( a0[10] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[10];
    if ( a1[10] > 0.0 )
    {
      v16 = a1[10];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 11 )
  {
    if ( a0[11] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[11];
    if ( a1[11] > 0.0 )
    {
      v16 = a1[11];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 12 )
  {
    if ( a0[12] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[12];
    if ( a1[12] > 0.0 )
    {
      v16 = a1[12];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 13 )
  {
    if ( a0[13] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[13];
    if ( a1[13] > 0.0 )
    {
      v16 = a1[13];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 14 )
  {
    if ( a0[14] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[14];
    if ( a1[14] > 0.0 )
    {
      v16 = a1[14];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 15 )
  {
    if ( a0[15] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[15];
    if ( a1[15] > 0.0 )
    {
      v16 = a1[15];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 16 )
  {
    if ( a0[16] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[16];
    if ( a1[16] > 0.0 )
    {
      v16 = a1[16];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 17 )
  {
    if ( a0[17] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[17];
    if ( a1[17] > 0.0 )
    {
      v16 = a1[17];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 18 )
  {
    if ( a0[18] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[18];
    if ( a1[18] > 0.0 )
    {
      v16 = a1[18];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 19 )
  {
    if ( a0[19] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[19];
    if ( a1[19] > 0.0 )
    {
      v16 = a1[19];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 20 )
  {
    if ( a0[20] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[20];
    if ( a1[20] > 0.0 )
    {
      v16 = a1[20];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 21 )
  {
    if ( a0[21] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[21];
    if ( a1[21] > 0.0 )
    {
      v16 = a1[21];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 22 )
  {
    if ( a0[22] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[22];
    if ( a1[22] > 0.0 )
    {
      v16 = a1[22];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 23 )
  {
    if ( a0[23] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[23];
    if ( a1[23] > 0.0 )
    {
      v16 = a1[23];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
  if ( a3 == 24 )
  {
    if ( a0[24] <= 0.0 )
      v9 = a0[25];
    else
      v9 = a0[24];
    if ( a1[24] > 0.0 )
    {
      v16 = a1[24];
      v8 = 1;
      
    }
    v16 = a1[25];
  }
//LABEL_10:
  if ( a1[1] > 0.0
    || a1[2] > 0.0
    || a1[3] > 0.0
    || a1[4] > 0.0
    || a1[5] > 0.0
    || a1[6] > 0.0
    || a1[7] > 0.0
    || a1[8] > 0.0
    || a1[9] > 0.0
    || a1[10] > 0.0
    || a1[11] > 0.0
    || a1[12] > 0.0
    || a1[13] > 0.0
    || a1[14] > 0.0
    || a1[15] > 0.0
    || a1[16] > 0.0
    || a1[17] > 0.0
    || a1[18] > 0.0
    || a1[19] > 0.0
    || a1[20] > 0.0
    || a1[21] > 0.0
    || a1[22] > 0.0
    || a1[23] > 0.0
    || a1[24] > 0.0 )
    v8 = 1;
  if ( a2 == 3 )
  {
    v12 = v9 * 10.0;
    //v13 = a5;
    a5[1] = 0.01;
    a5[0] = v12;
  }
  else
  {
    if ( a2 == 5 )
    {
      v14 = v9 * 10.0;
      //v13 = a5;
      a5[1] = 0.0001;
      a5[0] = v14;
    }
    else
    {
      //v13 = a5;
      a5[0] = v9;
      a5[1] = a4;
    }
  }
  a5[2] = v16;
  a5[3] = a6;
  return (v8 == 1);
}
}

   int fun1(string& a0[], int a1, double a2, string a3, int a4)
   {
      return (1);
   }


如您喜欢此文章请点下面分享按钮↴峰汇在线 » 智能交易系统Forex_Envy_v2.0
上一篇:
下一篇:
分享到:更多 ()