文章 "MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误" - 页 2 12 新评论 Stanislav Korotky 2014.10.21 23:09 #11 tatankaska: 您好,在黄金策略测试器中测试您的专家顾问时,我总是收到开仓失败 - 无效止损 - 未开仓的提示。出了什么问题?它是为了避免此类错误而编写的吗? 恐怕我们需要一些代码才能帮助您。最有可能的是您的代码中确实存在这个错误。请检查您的止损点是否大于允许的最小距离,您是否偶然错置了买入和卖出止损点。还要确保您的经纪商允许在开仓时指定止损点 - 有些经纪商要求只在现有仓位上添加止损点(所谓的"市场执行")。 tatankaska 2014.10.22 21:05 #12 marketeer: 恐怕我们需要一些代码才能帮助您。最有可能的是您的代码中确实存在错误。请检查您的止损是否大于允许的最小距离,以及您是否在任何情况下错误地设置了买入和卖出止损。还要确保您的经纪商允许在开仓时指定止损点--有些经纪商要求只在现有仓位上添加止损点(即所谓的"市场执行")。您好,我只测试了文章 "如何避免在设置/修改交易级别时出错 "所附的专家顾问,没有任何变化(Positionpropertiesplus)。Instaforex 的 Instatrader 平台。该顾问的功能是这样编写的:如果我设置了错误的止损参数,它们就会被设置为允许的最低值。因此,通常情况下,我不会收到错误提示 - 外汇交易对就是如此。但在该平台的 GOLD 中,我每次尝试 positionpropertiesplus EA 用止损建仓时,都会收到错误提示:止损无效,策略测试器中没有建仓。这是否就是您提到的情况--instatrader 平台和经纪商的问题?在 GOLD 符号属性中写着即时执行。下面是上述 EA 计算止损的函数示例 - 我使用了上述文章所附的 EA,没有做任何更改,只是使用了黄金而不是外汇货币对://+------------------------------------------------------------------+ //| 计算止损值| //+------------------------------------------------------------------+ double CalculateStopLoss(ENUM_ORDER_TYPE order_type) { //--- 如果需要止损 if(StopLoss>0) { //--- 对于计算出的止损值 double sl=0.0; //--- 如果需要计算买入头寸的值 if(order_type==ORDER_TYPE_BUY) { // 计算电平 sl=NormalizeDouble(sym_ask-CorrectValueBySymbolDigits(StopLoss*sym_point),sym_digits); //--- 如果计算值低于止损水平的下限,则返回计算值 // 如果数值较高或相等,则返回调整后的数值 return(sl<sym_down_level ? sl : sym_down_level-sym_offset); } //--- 如果需要计算卖出头寸的价值 if(order_type==ORDER_TYPE_SELL) { //--- 计算电平 sl=NormalizeDouble(sym_bid+CorrectValueBySymbolDigits(StopLoss*sym_point),sym_digits); //--- 如果计算值高于止损水平的上限,则返回计算值 // 如果数值较低或相等,则返回调整后的数值 return(sl>sym_up_level ? sl : sym_up_level+sym_offset); } } //--- return(0.0); } Alain Verleyen 2014.10.25 12:36 #13 tatankaska:... 关于交易、自动交易系统和交易策略测试的论坛您好、 请在发布代码时使用SRC 按钮。谢谢。 这次,我为您编辑了它。 tatankaska 2014.10.28 21:18 #14 tatankaska:你好,我只测试了文章 "如何避免在设置/修改交易级别时出错 "所附的专家顾问,没有任何变化(Positionpropertiesplus)。Instaforex公司的Instatrader平台。该顾问的功能是这样编写的:如果我设置了错误的止损参数,它们就会被设置为允许的最低值。因此,通常情况下,我不会收到错误提示 - 外汇交易对就是如此。但在该平台的 GOLD 中,我每次尝试 positionpropertiesplus EA 用止损建仓时,都会收到错误提示:止损无效,策略测试器中没有建仓。这是否就是您提到的情况--instatrader 平台和经纪商的问题?在 GOLD 符号属性中写着即时执行。下面是上述 EA 中止损计算功能的示例 - 我使用了上述文章所附的 EA,没有做任何更改,只是使用了黄金而不是外汇货币对: 是的,就是这样。通过 Instatrader 中的黄金,只有在开仓后才能设置止损。开仓时没有止损,开仓后修改了止损,一切正常。谢谢你们。 tatankaska 2014.11.11 22:00 #15 关于所附 EA 中止损(SL/TP)的计算,只有在符号点 = 符号刻度的情况下才能正确计算。GOLD 的情况并非如此。在这种情况下(通过 GOLD),止损必须修正为有效的符号刻度,否则会出现错误提示 - 无效止损。 因此,GOLD 的错误提示不是市场执行 的结果。如果要使用 GOLD,EA 在计算 SL/TP 时需要稍作修正。 Nauris Zukas 2015.07.22 17:59 #16 如何平仓?如果智能交易系统中有平仓条件(信号),该如何操作? Anatoli Kazharski 2015.07.22 18:04 #17 Nauris: 如何平仓?如果在智能交易系统中有平仓条件(信号),该如何操作? 文章中使用了标准库中的CTrade 类。它有PositionClose 方法。您可以使用它。 apirakkamjan 2019.02.28 09:17 #18 我修改了代码//+------------------------------------------------------------------+ //| 设置信息面板| //|------------------------------------------------------------------+ void SetInfoPanel() { //--- 可视化或实时模式 if(ShowInfoPanel && (IsVisualMode() || IsRealtime())) { // SetInfoPanel() 函数的剩余代码 // ... } } 12 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
您好,在黄金策略测试器中测试您的专家顾问时,我总是收到开仓失败 - 无效止损 - 未开仓的提示。出了什么问题?它是为了避免此类错误而编写的吗?
恐怕我们需要一些代码才能帮助您。最有可能的是您的代码中确实存在错误。请检查您的止损是否大于允许的最小距离,以及您是否在任何情况下错误地设置了买入和卖出止损。还要确保您的经纪商允许在开仓时指定止损点--有些经纪商要求只在现有仓位上添加止损点(即所谓的"市场执行")。
您好,我只测试了文章 "如何避免在设置/修改交易级别时出错 "所附的专家顾问,没有任何变化(Positionpropertiesplus)。Instaforex 的 Instatrader 平台。该顾问的功能是这样编写的:如果我设置了错误的止损参数,它们就会被设置为允许的最低值。因此,通常情况下,我不会收到错误提示 - 外汇交易对就是如此。但在该平台的 GOLD 中,我每次尝试 positionpropertiesplus EA 用止损建仓时,都会收到错误提示:止损无效,策略测试器中没有建仓。这是否就是您提到的情况--instatrader 平台和经纪商的问题?在 GOLD 符号属性中写着即时执行。
下面是上述 EA 计算止损的函数示例 - 我使用了上述文章所附的 EA,没有做任何更改,只是使用了黄金而不是外汇货币对:
...
关于交易、自动交易系统和交易策略测试的论坛
您好、
请在发布代码时使用SRC 按钮。谢谢。
这次,我为您编辑了它。
你好,我只测试了文章 "如何避免在设置/修改交易级别时出错 "所附的专家顾问,没有任何变化(Positionpropertiesplus)。Instaforex公司的Instatrader平台。该顾问的功能是这样编写的:如果我设置了错误的止损参数,它们就会被设置为允许的最低值。因此,通常情况下,我不会收到错误提示 - 外汇交易对就是如此。但在该平台的 GOLD 中,我每次尝试 positionpropertiesplus EA 用止损建仓时,都会收到错误提示:止损无效,策略测试器中没有建仓。这是否就是您提到的情况--instatrader 平台和经纪商的问题?在 GOLD 符号属性中写着即时执行。
下面是上述 EA 中止损计算功能的示例 - 我使用了上述文章所附的 EA,没有做任何更改,只是使用了黄金而不是外汇货币对:
关于所附 EA 中止损(SL/TP)的计算,只有在符号点 = 符号刻度的情况下才能正确计算。GOLD 的情况并非如此。
在这种情况下(通过 GOLD),止损必须修正为有效的符号刻度,否则会出现错误提示 - 无效止损。
因此,GOLD 的错误提示不是市场执行 的结果。如果要使用 GOLD,EA 在计算 SL/TP 时需要稍作修正。
如何平仓?如果在智能交易系统中有平仓条件(信号),该如何操作?