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

超级刷单王EA



外汇智能交易系统超级刷单王EA,设计独特,曾经的商业版EA,仓位控制欠妥,小资金极容易爆仓网上不少汉化破解版,好像未发现完美破解版。这次抽时间将源码进行整理汉化,交易策略没有任何改变,爱好的可以多研究下。

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

//+------------------------------------------------------------------+
//|                                                   超级刷单王.mq4 |
//|                                     Copyright 2016, QQ:125808047 |
//+------------------------------------------------------------------+
#property copyright "www.125808047.com"
#property link      "http://www.125808047.com/"

extern string HeadLine = " www.125808047.com";
double gd_92 = 1.0;
extern int Profit = 35;
extern int gi_104 = 13;
double gd_108 = 1.0;
extern int gi_116 = 13;
extern int range = 10;
extern int Prosadka = 700;
extern int Povtor = 1;
int g_timeframe_140 = PERIOD_M1;
int g_timeframe_144 = PERIOD_M1;
bool gi_148 = FALSE;
int g_timeframe_152 = PERIOD_M15;
bool gi_156 = FALSE;
extern bool Extremal = TRUE;
extern bool Lentyaj = FALSE;
extern double LotSize = 0.01;
extern double LotExponent = 1.8;
extern int LotStep = 15000;
extern bool InformationOnChart = TRUE;
extern int MagicNumber = 123456789;
int g_datetime_228 = 0;
int g_datetime_232 = 0;
int gi_236 = 0;
int g_ticket_240;
int gi_244;
bool gi_248;
bool gi_252;
double g_lots_256;
double g_lots_264;
double g_lots_272;
double g_lots_280;
string g_comment_288;
string gs_296;

int init() {
   gi_236 = LotDecimal();
   if (Extremal) gi_156 = FALSE;
   if (Extremal) gs_296 = "sjbwy";
   if (Lentyaj) gs_296 = "lqbz";
   if (Extremal == Lentyaj) gs_296 = "mayisi";
   return (0);
}

int deinit() {
   return (0);
}

int start() {
   if (gi_236 == 0) gi_236 = LotDecimal();
   Information();
   if (Extremal != Lentyaj) {
      gi_248 = TRUE;
      gi_252 = TRUE;
   }
   if (g_datetime_228 != iTime(NULL, g_timeframe_140, 0)) {
      g_ticket_240 = 0;
      gi_244 = CountTrades("buy");
      if (gi_244 == 0 && gi_248 == TRUE) {
         g_comment_288 = "Martini " + Symbol() + " - Buy " + ((gi_244 + 1));
         g_lots_272 = NewLot("buy");
         while (g_ticket_240 < 1) {
            g_ticket_240 = OrderSend(Symbol(), OP_BUY, g_lots_272, Ask, 3, 0, 0, g_comment_288, MagicNumber, 0, Blue);
            if (g_ticket_240 < 1) {
               Sleep(1000 * (60 * Povtor));
            } else Rrrect("buy");
            RefreshRates();
         }
      }
      gi_244 = CountTrades("sell");
      if (gi_244 == 0 && gi_252 == TRUE) {
         g_comment_288 = "Martini " + Symbol() + " - Sell " + ((gi_244 + 1));
         g_lots_280 = NewLot("sell");
         while (g_ticket_240 < 1) {
            g_ticket_240 = OrderSend(Symbol(), OP_SELL, g_lots_280, Bid, 3, 0, 0, g_comment_288, MagicNumber, 0, Red);
            if (g_ticket_240 < 1) { Sleep(1000 * (60 * Povtor)); } else Rrrect("sell"); RefreshRates(); } } g_datetime_228 = iTime(NULL, g_timeframe_140, 0); } if (g_datetime_232 != iTime(NULL, g_timeframe_144, 0)) { g_ticket_240 = 0; gi_244 = CountTrades("buy"); if (gi_244 > 0 && NextOrder("buy")) {
         g_comment_288 = "Martini " + Symbol() + " - Buy " + ((gi_244 + 1));
         g_lots_256 = NextLot("buy");
         while (g_ticket_240 < 1) {
            g_ticket_240 = OrderSend(Symbol(), OP_BUY, g_lots_256, Ask, 3, 0, 0, g_comment_288, MagicNumber, 0, Blue);
            if (g_ticket_240 < 1) { Sleep(1000 * (60 * Povtor)); } else Rrrect("buy"); RefreshRates(); } } gi_244 = CountTrades("sell"); if (gi_244 > 0 && NextOrder("sell")) {
         g_comment_288 = "Martini " + Symbol() + " - Sell " + ((gi_244 + 1));
         g_lots_264 = NextLot("sell");
         while (g_ticket_240 < 1) {
            g_ticket_240 = OrderSend(Symbol(), OP_SELL, g_lots_264, Bid, 3, 0, 0, g_comment_288, MagicNumber, 0, Red);
            if (g_ticket_240 < 1) { Sleep(1000 * (60 * Povtor)); } else Rrrect("sell"); RefreshRates(); } } g_datetime_232 = iTime(NULL, g_timeframe_144, 0); } return (0); } void Rrrect(string as_0) { double l_price_8; double l_price_16 = AveragePrice(as_0); for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {
      bool cg = OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
         if (as_0 == "buy") {
            if (OrderType() == OP_BUY) {
               l_price_8 = l_price_16 + Profit * Point;
               if (OrderTakeProfit() != l_price_8) {
               cg = OrderModify(OrderTicket(), l_price_16, OrderStopLoss(), l_price_8, 0, Yellow);
               }
            }
         }
         if (as_0 == "sell") {
            if (OrderType() == OP_SELL) {
               l_price_8 = l_price_16 - Profit * Point;
               if (OrderTakeProfit() != l_price_8) {
               cg = OrderModify(OrderTicket(), l_price_16, OrderStopLoss(), l_price_8, 0, Yellow);
               }
            }
         }
      }
   }
}

double NewLot(string as_0) {
   double ld_ret_8;
   double l_minlot_16 = MarketInfo(Symbol(), MODE_MINLOT);
   if (as_0 == "buy") {
      if (gi_156) ld_ret_8 = LotSize;
      else ld_ret_8 = NormalizeDouble(LotSize * NormalizeDouble(AccountBalance() / LotStep, 0), gi_236);
   }
   if (as_0 == "sell") {
      if (gi_156) ld_ret_8 = LotSize;
      else ld_ret_8 = NormalizeDouble(LotSize * NormalizeDouble(AccountBalance() / LotStep, 0), gi_236);
   }
   if (ld_ret_8 < l_minlot_16) ld_ret_8 = l_minlot_16;
   return (ld_ret_8);
}

double NextLot(string as_0) {
   double ld_ret_8;
   if (Lentyaj) LotExponent = LotExponent();
   if (as_0 == "buy") ld_ret_8 = NormalizeDouble(FindLastOrder(as_0, "Lots") * LotExponent, gi_236);
   if (as_0 == "sell") ld_ret_8 = NormalizeDouble(FindLastOrder(as_0, "Lots") * LotExponent, gi_236);
   return (ld_ret_8);
}

double LotExponent() {
   double ld_0 = 0;
   double ld_ret_8 = 1;
   while (ld_0 < AccountBalance()) {
      ld_ret_8 = (100.0 * ld_ret_8 + 1.0) / 100.0;
      ld_0 = 0;
      for (int li_16 = 0; li_16 <= 5; li_16++) ld_0 += 10.0 * (LotSize * MathPow(ld_ret_8, li_16) * (Prosadka - range * li_16));
      for (li_16 = 6; li_16 <= 9; li_16++) ld_0 += 10.0 * (LotSize * MathPow(ld_ret_8, li_16) * (Prosadka - Prosadka / 10));
      for (li_16 = 10; li_16 <= 11; li_16++) ld_0 += 10.0 * (LotSize * MathPow(ld_ret_8, li_16) * (Prosadka - Prosadka / 6)); ld_0 += 10.0 * (LotSize * MathPow(ld_ret_8, 12) * (Prosadka - Prosadka / 4)); } return (ld_ret_8); } int NextOrder(string as_0) { int li_8; bool li_ret_12 = FALSE; double l_iclose_16 = iClose(Symbol(), g_timeframe_152, 1); double l_iopen_24 = iOpen(Symbol(), g_timeframe_152, 1); if (as_0 == "buy") { li_8 = NormalizeDouble(range * MathPow(gd_92, CountTrades(as_0)), 0); if (CountTrades(as_0) == 7) li_8 = Prosadka / 10; if (CountTrades(as_0) == 8) li_8 = Prosadka / 10; if (CountTrades(as_0) == 9) li_8 = Prosadka / 10; if (CountTrades(as_0) == 10) li_8 = Prosadka / 10; if (CountTrades(as_0) == 11) li_8 = Prosadka / 6; if (CountTrades(as_0) == 12) li_8 = Prosadka / 6; if (CountTrades(as_0) == 13) li_8 = Prosadka / 4; if (FindLastOrder(as_0, "Price") - Ask >= li_8 * Point && CountTrades(as_0) < gi_104) {
         if (gi_148) {
            if (l_iopen_24 <= l_iclose_16) li_ret_12 = TRUE; else li_ret_12 = FALSE; } else li_ret_12 = TRUE; } } if (as_0 == "sell") { li_8 = NormalizeDouble(range * MathPow(gd_108, CountTrades(as_0)), 0); if (CountTrades(as_0) == 7) li_8 = Prosadka / 10; if (CountTrades(as_0) == 8) li_8 = Prosadka / 10; if (CountTrades(as_0) == 9) li_8 = Prosadka / 10; if (CountTrades(as_0) == 10) li_8 = Prosadka / 10; if (CountTrades(as_0) == 11) li_8 = Prosadka / 6; if (CountTrades(as_0) == 12) li_8 = Prosadka / 6; if (CountTrades(as_0) == 13) li_8 = Prosadka / 4; if (Bid - FindLastOrder(as_0, "Price") >= li_8 * Point && CountTrades(as_0) < gi_116) { if (gi_148) { if (l_iopen_24 >= l_iclose_16) li_ret_12 = TRUE;
            else li_ret_12 = FALSE;
         } else li_ret_12 = TRUE;
      }
   }
   return (li_ret_12);
}

double FindLastOrder(string as_0, string as_8) {
   double l_ord_open_price_16;
   double l_ord_lots_24;
   int l_ticket_32 = 0;
   for (int l_pos_36 = OrdersTotal() - 1; l_pos_36 >= 0; l_pos_36--) {
      bool cg = OrderSelect(l_pos_36, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
         if (as_0 == "buy") {
            if (OrderType() == OP_BUY) {
               if (OrderTicket() > l_ticket_32) {
                  l_ord_open_price_16 = OrderOpenPrice();
                  l_ord_lots_24 = OrderLots();
                  l_ticket_32 = OrderTicket();
               }
            }
         }
         if (as_0 == "sell") {
            if (OrderType() == OP_SELL) {
               if (OrderTicket() > l_ticket_32) {
                  l_ord_open_price_16 = OrderOpenPrice();
                  l_ord_lots_24 = OrderLots();
                  l_ticket_32 = OrderTicket();
               }
            }
         }
      }
   }
   if (as_8 == "Price") return (l_ord_open_price_16);
   if (as_8 == "Lots") return (l_ord_lots_24);
   return (0.0);
}

int CountTrades(string as_0) {
   int l_count_8 = 0;
   for (int l_pos_12 = OrdersTotal() - 1; l_pos_12 >= 0; l_pos_12--) {
      bool cg = OrderSelect(l_pos_12, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
         if (as_0 == "buy")
            if (OrderType() == OP_BUY) l_count_8++;
         if (as_0 == "sell")
            if (OrderType() == OP_SELL) l_count_8++;
      }
   }
   return (l_count_8);
}

double AveragePrice(string as_0) {
   double ld_8 = 0;
   double ld_16 = 0;
   for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {
      bool cg = OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
         if (as_0 == "buy") {
            if (OrderType() == OP_BUY) {
               ld_8 += OrderOpenPrice() * OrderLots();
               ld_16 += OrderLots();
            }
         }
         if (as_0 == "sell") {
            if (OrderType() == OP_SELL) {
               ld_8 += OrderOpenPrice() * OrderLots();
               ld_16 += OrderLots();
            }
         }
      }
   }
   ld_8 = NormalizeDouble(ld_8 / ld_16, Digits);
   return (ld_8);
}

void Information() {
   if (InformationOnChart) {
      Comment("" + "                              www.125808047.com " + "正规平台开户QQ125808047" 
         + "\n" 
         + "                              ------------------------------------------------" 
         + "\n" 
         + "                              公司: " + AccountCompany() + ".杠杆 1:" + DoubleToStr(AccountLeverage(), 0) 
         + "\n" 
         + "                              ------------------------------------------------" 
         + "\n" 
         + "                              多单订单数" + CountTrades("buy") 
         + "\n" 
         + "                              多单获利 " + DoubleToStr(Balance("buy", "Balance"), 2) 
         + "\n" 
         + "                              多单手数 " + DoubleToStr(Balance("buy", "Lot"), 2) 
         + "\n" 
         + "                              ------------------------------------------------" 
         + "\n" 
         + "                              空单订单数" + CountTrades("sell") 
         + "\n" 
         + "                              空单获利 " + DoubleToStr(Balance("sell", "Balance"), 2) 
         + "\n" 
         + "                              空单手数 " + DoubleToStr(Balance("sell", "Lot"), 2) 
         + "\n" 
         + "                              ------------------------------------------------" 
         + "\n" 
         + "                              总获利 " + DoubleToStr(Balance("buy", "Balance") + Balance("sell", "Balance"), 2) 
         + "\n" 
         + "                              ------------------------------------------------" 
         + "\n" 
         + "                                               交易信息" 
         + "\n" 
      + "                               ");
   }
}

double Balance(string as_0, string as_8) {
   double ld_ret_16 = 0;
   for (int l_pos_24 = OrdersTotal() - 1; l_pos_24 >= 0; l_pos_24--) {
      bool cg = OrderSelect(l_pos_24, SELECT_BY_POS, MODE_TRADES);
      if (OrderSymbol() != Symbol() || OrderMagicNumber() != MagicNumber) continue;
      if (OrderSymbol() == Symbol() && OrderMagicNumber() == MagicNumber) {
         if (as_0 == "buy") {
            if (OrderType() == OP_BUY) {
               if (as_8 == "Balance") ld_ret_16 = ld_ret_16 + OrderProfit() - OrderSwap() - OrderCommission();
               if (as_8 == "Lot") ld_ret_16 += OrderLots();
            }
         }
         if (as_0 == "sell") {
            if (OrderType() == OP_SELL) {
               if (as_8 == "Balance") ld_ret_16 = ld_ret_16 + OrderProfit() - OrderSwap() - OrderCommission();
               if (as_8 == "Lot") ld_ret_16 += OrderLots();
            }
         }
      }
   }
   return (ld_ret_16);
}

double LotDecimal() {
   double l_lotstep_0 = MarketInfo(Symbol(), MODE_LOTSTEP);
   int li_ret_8 = MathCeil(MathAbs(MathLog(l_lotstep_0) / MathLog(10)));
   return (li_ret_8);
}
如您喜欢此文章请点下面分享按钮↴峰汇在线 » 超级刷单王EA
上一篇:
下一篇:
分享到:更多 ()