EA: Patterns_EA - 页 2 123 新评论 Artyom Trishkin 2018.02.22 17:53 #11 Morexod: 见模式条款。 第 5 项 = 3 个行业第 3 项 = 18 个交易p.5 + p.3 = 21 tr.但 p.2 = 200 tr 而不是 <= 21 tr。 Expert Advisor 适用于对冲账户。不可能在其中反转一个仓位。您必须关闭一个仓位并打开另一个仓位。 Morexod 2018.02.22 18:40 #12 Artyom Trishkin: Expert Advisor 适用于对冲账户。不可能反转一个仓位。您必须关闭一个仓位并打开另一个仓位。已优化。总是一个仓位(波段) - 市场上总是只有一个仓位 = 200 个订单任何头寸 - 任何头寸 = 185 个订单在 "任何头寸 "条件下,订单数量应多于 "市场中始终只有一个头寸 "条件下的订单数量 Artyom Trishkin 2018.02.22 19:28 #13 Morexod:优化正在进行中。始终一个仓位(波段)- 市场上始终只有一个仓位 = 200 个订单任何头寸 - 任何头寸 = 185 个订单任何头寸 "条件下的订单数量应多于 "市场中始终只有一个头寸 "条件下的订单数量。在 "任何头寸 - 任何头寸 "的情况下,会触发对账户最大允许总交易量的限制 - 因为它会不加区分地打开所有头寸。在某些情况下,账户允许的总交易量会出现溢出,这时就会停止开仓。 在只有一个仓位(波段)--"只有一个仓位"--的情况下,只有当初始设定的开仓量大于允许的最大值时,限制才会起作用。正如作者所承诺的那样,EA 会简单地将该手数调整为可能的手数。 也许您在可视模式下查看会更方便,而不是试图根据报告中的订单数量 过早下结论?;) Artyom Trishkin 2018.02.22 19:32 #14 fxsaber: 这就是代码的来源: int OnInit() { //--- 设置交易参数 if(!SetTradeParameters()) return INIT_FAILED;函数本身。可能导致你所暗示的情况的模式已被禁用。 //+------------------------------------------------------------------+ //| 设置交易参数| //+------------------------------------------------------------------+ bool SetTradeParameters() { //--- 设置符号 ResetLastError(); if(!symbol_info.Name(Symbol())) { Print(__FUNCTION__,": Error setting ",Symbol()," symbol: ",GetLastError()); return false; } //--- 获取价格 ResetLastError(); if(!symbol_info.RefreshRates()) { Print(__FUNCTION__,": Error obtaining ",symbol_info.Name()," data: ",GetLastError()); return false; } if(account_info.MarginMode()==ACCOUNT_MARGIN_MODE_RETAIL_NETTING) { Print(__FUNCTION__,": ",account_info.MarginModeDescription(),"-account. EA should work on a hedge account."); return false; } //--- 自动设置灌装类型 trade.SetTypeFilling(GetTypeFilling()); //--- 安装 Magik trade.SetExpertMagicNumber(InpMagic); //--- 滑动设置 trade.SetDeviationInPoints(InpDeviation); //--- 批量设置,修正输入值 lot=CorrectLots(InpVolume); //-- 关闭异步订单发送模式 trade.SetAsyncMode(false); //--- return true; } //+------------------------------------------------------------------+ 还是我误解了你的提示? fxsaber 2018.02.22 20:43 #15 Artyom Trishkin:这就是代码的来源:功能本身。可能导致你所建议的情况的模式已被禁用。还是我误解了你的提示?这种情况 与同步 模式有关。 kwlin_089 2018.03.03 18:24 #16 该模式在此 EA 中不起作用:InpModeOpened===OPENED_MODE_SWING Artyom Trishkin 2018.03.03 21:49 #17 kwlin_089: 该模式在此 EA 中不起作用:InpModeOpened===OPENED_MODE_SWING为什么? 我查看了代码,发现//+------------------------------------------------------------------+ //| 交易功能| //+------------------------------------------------------------------+ int Trade(const ENUM_PATTERN_TYPE &pattern_type,const int index) { ENUM_POSITION_TYPE type=patt.PositionPattern(pattern_type); int number=0,last_total=list_trade_patt.Total(); //--- 市场上始终只有一个仓位 买入或卖出 if(InpModeOpened==OPENED_MODE_SWING) { if(type==POSITION_TYPE_BUY && NumberSell()>0) CloseSell(); if(type==POSITION_TYPE_SELL && NumberBuy()>0) CloseBuy(); } //--- 只有一个买入位置 if(InpModeOpened==OPENED_MODE_BUY_ONE) { if(NumberBuy()>0) return WRONG_VALUE; if(type==POSITION_TYPE_SELL) return last_total; } //--- 任意数量 购买 if(InpModeOpened==OPENED_MODE_BUY_MANY) if(type==POSITION_TYPE_SELL) return last_total; //--- 只有一个卖出位置 if(InpModeOpened==OPENED_MODE_SELL_ONE) { if(NumberSell()>0) return WRONG_VALUE; if(type==POSITION_TYPE_BUY) return last_total; } //--- 卖出的任意数量 if(InpModeOpened==OPENED_MODE_SELL_MANY) if(type==POSITION_TYPE_BUY) return last_total; //--- 所有检查均已通过,或选择了任何菌落 чество любых позиций - открываем позицию if(to_logs) Print(__FUNCTION__,": To open ",(type==POSITION_TYPE_BUY ? "Buy" : "Sell")," position by pattern ",patt.DescriptPattern(pattern_type)); if(OpenPosition(pattern_type)) list_trade_patt.Delete(index); //--- 返回未结头寸的数量 return last_total-list_trade_patt.Total(); } //+------------------------------------------------------------------+ 如果是摇摆模式。如果有必要打开购买,并且有销售,则关闭销售。如果需要打开销售,但有购买,则关闭购买。如果所有检查都通过,则打开所需的仓位。还是我理解错了?请解释一下。 Алексей Тарабанов 2018.03.03 23:00 #18 Artyom Trishkin:为什么? 我正在看代码,我看到了:如果是摇摆模式。如果有必要打开购买且有销售,则关闭销售。如果需要开仓卖出,但有买入,则关闭买入。如果所有检查都通过,则打开所需的仓位。还是我理解错了?解释一下。Artem,据我所知,我们谈论的是 "消失 "头寸。在 mt4 中,这些是 SL 和 TP。我无法判断 mt5 的情况... Artyom Trishkin 2018.03.03 23:20 #19 Алексей Тарабанов:Artem,据我所知,我们谈论的是 "消失 "仓位。在 mt4 中,这些是 SL 和 TP。我无法判断 mt5....。 因此,在 MT5 中也是一样。如果买入 0.1,止损是卖出 0.1 的止损单。触发时不会有头寸。要反转仓位,您需要卖出 0.2 Алексей Тарабанов 2018.03.03 23:30 #20 Artyom Trishkin: 因此在 MT5 中也是一样。如果买入 0.1,止损就是卖出 0.1 的止损单。触发时不会有头寸。要反转仓位,您需要卖出 0.2。您知道得更清楚,但有时有人更喜欢检查。 123 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
见模式条款。
第 5 项 = 3 个行业
第 3 项 = 18 个交易
p.5 + p.3 = 21 tr.
但 p.2 = 200 tr 而不是 <= 21 tr。
Expert Advisor 适用于对冲账户。不可能反转一个仓位。您必须关闭一个仓位并打开另一个仓位。
已优化。
总是一个仓位(波段) - 市场上总是只有一个仓位 = 200 个订单
任何头寸 - 任何头寸 = 185 个订单
在 "任何头寸 "条件下,订单数量应多于 "市场中始终只有一个头寸 "条件下的订单数量
优化正在进行中。
始终一个仓位(波段)- 市场上始终只有一个仓位 = 200 个订单
任何头寸 - 任何头寸 = 185 个订单
任何头寸 "条件下的订单数量应多于 "市场中始终只有一个头寸 "条件下的订单数量。
在 "任何头寸 - 任何头寸 "的情况下,会触发对账户最大允许总交易量的限制 - 因为它会不加区分地打开所有头寸。在某些情况下,账户允许的总交易量会出现溢出,这时就会停止开仓。
在只有一个仓位(波段)--"只有一个仓位"--的情况下,只有当初始设定的开仓量大于允许的最大值时,限制才会起作用。正如作者所承诺的那样,EA 会简单地将该手数调整为可能的手数。
也许您在可视模式下查看会更方便,而不是试图根据报告中的订单数量 过早下结论?;)
这就是代码的来源:
函数本身。可能导致你所暗示的情况的模式已被禁用。
还是我误解了你的提示?
这就是代码的来源:
功能本身。可能导致你所建议的情况的模式已被禁用。
还是我误解了你的提示?
这种情况 与同步 模式有关。
该模式在此 EA 中不起作用:InpModeOpened===OPENED_MODE_SWING
为什么?
我查看了代码,发现
- 如果是摇摆模式。
- 如果有必要打开购买,并且有销售,则关闭销售。
- 如果需要打开销售,但有购买,则关闭购买。
- 如果所有检查都通过,则打开所需的仓位。
还是我理解错了?请解释一下。为什么?
我正在看代码,我看到了:
- 如果是摇摆模式。
- 如果有必要打开购买且有销售,则关闭销售。
- 如果需要开仓卖出,但有买入,则关闭买入。
- 如果所有检查都通过,则打开所需的仓位。
还是我理解错了?解释一下。Artem,据我所知,我们谈论的是 "消失 "头寸。在 mt4 中,这些是 SL 和 TP。我无法判断 mt5 的情况...
Artem,据我所知,我们谈论的是 "消失 "仓位。在 mt4 中,这些是 SL 和 TP。我无法判断 mt5....。
因此在 MT5 中也是一样。如果买入 0.1,止损就是卖出 0.1 的止损单。
您知道得更清楚,但有时有人更喜欢检查。