我想请教论坛里的EA大神们,这个EA代码能帮我翻译下工作原理吗,谢谢了 新评论 xd345206971 2020.01.15 02:33 #property copyright "" #property link "" extern int MinPrfofit = 1; extern int MaxLoss = 10; extern int Delta = 3; extern int BB_Period = 1; extern int BB_Deviation = 2; extern bool FixLotMM = FALSE; extern double FixLotSize = 0.1; extern double RiskPercent = 10.0; extern int Slippage = 2; extern string Comm = "Mathematical_Analysis"; bool gi_unused_128 = TRUE; int g_magic_132; int gi_unused_136; double g_stoplevel_140; double g_spread_148; double g_maxlot_156; double g_minlot_164; double g_lotstep_172; double g_lots_180; double gd_188; double setpoint() { double l_point_0; if (Digits == 3) l_point_0 = 0.01; else { if (Digits == 5) l_point_0 = 0.0001; else l_point_0 = Point; } return (l_point_0); } int init() { gi_unused_136 = 3; g_magic_132 = StringGetChar(Symbol(), 0) + 77704 + StringGetChar(Symbol(), 1) * 2 + 3 * StringGetChar(Symbol(), 3) + StringGetChar(Symbol(), 4) << 2 + 10000 * Period(); g_stoplevel_140 = MarketInfo(Symbol(), MODE_STOPLEVEL); g_spread_148 = MarketInfo(Symbol(), MODE_SPREAD); g_maxlot_156 = MarketInfo(Symbol(), MODE_MAXLOT); g_minlot_164 = MarketInfo(Symbol(), MODE_MINLOT); g_lotstep_172 = MarketInfo(Symbol(), MODE_LOTSTEP); HideTestIndicators(TRUE); return (0); } int start() { string ls_unused_0; double l_price_8; double l_price_16; double ld_24; bool li_32; bool li_36; Comment(""); if (FixLotMM) g_lots_180 = FixLotSize; else g_lots_180 = AccountFreeMargin() / 1000.0 * (RiskPercent / 100.0); if (g_lots_180 < g_minlot_164) g_lots_180 = g_minlot_164; else { if (g_lots_180 > g_maxlot_156) g_lots_180 = g_maxlot_156; else { for (gd_188 = g_minlot_164; gd_188 <= g_lots_180; gd_188 += g_lotstep_172) { } g_lots_180 = gd_188 - g_lotstep_172; } } if (g_lots_180 > 2300.0) g_lots_180 = NormalizeDouble(g_lots_180, 0); for (int l_pos_40 = OrdersTotal() - 1; l_pos_40 >= 0; l_pos_40--) { OrderSelect(l_pos_40, SELECT_BY_POS); if (OrderSymbol() != Symbol() || OrderMagicNumber() != g_magic_132) continue; if (OrderType() == OP_BUY) { ld_24 = Bid - OrderOpenPrice(); if ((MinPrfofit > 0 && ld_24 >= MinPrfofit * setpoint()) || (MaxLoss > 0 && ld_24 <= (-1 * MaxLoss) * setpoint())) { OrderClose(OrderTicket(), OrderLots(), Bid, Slippage, Purple); return (0); } } if (OrderType() == OP_SELL) { ld_24 = OrderOpenPrice() - Ask; if ((MinPrfofit > 0 && ld_24 >= MinPrfofit * setpoint()) || (MaxLoss > 0 && ld_24 <= (-1 * MaxLoss) * setpoint())) { OrderClose(OrderTicket(), OrderLots(), Ask, Slippage, Red); return (0); } } return (0); } double l_ibands_44 = iBands(Symbol(), 0, BB_Period, BB_Deviation, 0, PRICE_OPEN, MODE_UPPER, 0); double l_ibands_52 = iBands(Symbol(), 0, BB_Period, BB_Deviation, 0, PRICE_OPEN, MODE_LOWER, 0); if (Close[0] > l_ibands_44 + Delta * setpoint()) li_36 = TRUE; else li_36 = FALSE; if (Close[0] < l_ibands_52 - Delta * setpoint()) li_32 = TRUE; else li_32 = FALSE; if (li_32) { if (MaxLoss == 0) l_price_8 = 0; else l_price_8 = Ask - (MaxLoss + g_stoplevel_140) * setpoint(); if (MinPrfofit == 0) l_price_16 = 0; else l_price_16 = Ask + (MinPrfofit + g_stoplevel_140 + g_spread_148) * setpoint(); OrderSend(Symbol(), OP_BUY, g_lots_180, Ask, Slippage, l_price_8, l_price_16, Comm, g_magic_132, 16711680); } if (li_36) { if (MaxLoss == 0) l_price_8 = 0; else l_price_8 = Bid + (MaxLoss + g_stoplevel_140) * setpoint(); if (MinPrfofit == 0) l_price_16 = 0; else l_price_16 = Bid - (MinPrfofit + g_stoplevel_140 + g_spread_148) * setpoint(); OrderSend(Symbol(), OP_SELL, g_lots_180, Bid, Slippage, l_price_8, l_price_16, Comm, g_magic_132, 255); } return (0); } 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录