初学者的问题 MQL5 MT5 MetaTrader 5 - 页 916 1...909910911912913914915916917918919920921922923...1503 新评论 Alexandr Saprykin 2018.09.01 11:50 #9151 Zorian43: 大家晚上好!我不知道我是否写在正确的主题里,如果我写错了,请原谅。当我在安卓系统上安装Metatrader 5 时,自动创建了一个模拟账户,每次我启动应用程序时都会连接到该账户。当我想连接另一个账户时,这次是来自我的经纪人,我找不到模拟账户的密码。我按了 "重置密码",之后我就无法连接到模拟账户。有什么办法可以恢复对模拟账户的访问吗? 不,开一个新的模拟账户。 rel18 2018.09.01 13:35 #9152 你好! 请告诉我为什么CAccountInfo::MarginCheck()方法可以在测试器中返回所需的保证金为零?它只在为ORDER_TYPE_BUY_LIMIT 限价买入订单调用时返回0。 工具 Si-9.18 - 来自 MICEX 的美元期货。 在测试项目中,测试器中的下一个调用给出的不是零,而是90--一个很小的数值,这看起来相当不靠谱。 ENUM_ORDER_TYPE orderType = NULL; uint orderVolume = 1; double orderPrice = gvTick.last; double marginRequired = 0; orderType = ORDER_TYPE_BUY_LIMIT; marginRequired = gnCAccountInfo.MarginCheck( gsIns, orderType, orderVolume, orderPrice); Print(" Требуемая маржа ", marginRequired); 日志输出: 2018.09.01 13:38:56.040 2018.06.13 12:10:00 所需保证金 90.0 Vladimir Karputov 2018.09.01 15:38 #9153 rel18:你好! 请告诉我为什么CAccountInfo::MarginCheck()方法可以在测试器中返回所需的保证金为零?它只在为限价买单ORDER_TYPE_BUY_LIMIT 调用时返回0。 工具 Si-9.18 - 来自 MICEX 的美元期货。 在测试项目中,测试器中的下一个调用给出的不是零,而是90--一个很小的数值,这看起来相当不靠谱。 我怀疑是因为只有 订单_类型_购买市场购买订单销量市场卖出订单 rel18 2018.09.02 09:51 #9154 Vladimir Karputov:我怀疑这是因为只有 订单_类型_购买市场购买订单销量市场卖出订单下面是同一例子的测试器中买入限价单的结果。90的利润率是非常小的。 真的是这样吗? 而在这里,我们在测试器中的保证金为零。 所有的历史测试都是用一个真实的账户进行的。 Aliaksei Karalkou 2018.09.02 10:34 #9155 指示器停止工作,帮助编译谢谢你。 附加的文件: VP-Range-v6.mq5 44 kb VP-v6.mq5 42 kb Sergey Savinkin 2018.09.02 10:35 #9156 rel18:下面是同一例子的测试器中限价买入订单的结果。90的利润率是非常小的,是这样的吗? 也许是模拟账户的问题?在同一经纪商的真实账户上试一试。 Sergey Savinkin 2018.09.02 10:37 #9157 Aliaksei Karalkou:指标停止工作,帮助编译 谢谢。由于1861年的版本有一个 内置的iBarShift函数,它不能作为一个自定义函数使用。请重新命名该功能。 Tango_X 2018.09.02 10:56 #9158 你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。 在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?我们可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢! //+------------------------------------------------------------------+ //| Преобразует строку в таймфрейм | //+------------------------------------------------------------------+ ENUM_TIMEFRAMES StringToTimeframe(string timeframe) { ENUM_TIMEFRAMES tfr=Period(); switch(timeframe) { case "M1" : tfr=PERIOD_M5; break; case "M2" : tfr=PERIOD_M6; break; case "M3" : tfr=PERIOD_M5; break; } //--- return(tfr); } Vitaly Muzichenko 2018.09.02 11:12 #9159 Tango_X:你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。 在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?你可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢! 使用if()结构 Artyom Trishkin 2018.09.02 11:24 #9160 Tango_X:你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。 在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?你可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢! //+------------------------------------------------------------------+ //| Преобразует строку в таймфрейм | //+------------------------------------------------------------------+ ENUM_TIMEFRAMES StringToTimeframe(string timeframe) { return ( timeframe == "M1" ? PERIOD_M1 : timeframe == "M2" ? PERIOD_M2 : timeframe == "M3" ? PERIOD_M3 : timeframe == "M4" ? PERIOD_M4 : timeframe == "M5" ? PERIOD_M5 : timeframe == "M6" ? PERIOD_M6 : timeframe == "M10" ? PERIOD_M10 : timeframe == "M12" ? PERIOD_M12 : timeframe == "M15" ? PERIOD_M15 : timeframe == "M20" ? PERIOD_M20 : timeframe == "M30" ? PERIOD_M30 : timeframe == "H1" ? PERIOD_H1 : timeframe == "H2" ? PERIOD_H2 : timeframe == "H3" ? PERIOD_H3 : timeframe == "H4" ? PERIOD_H4 : timeframe == "H6" ? PERIOD_H6 : timeframe == "H8" ? PERIOD_H8 : timeframe == "H12" ? PERIOD_H12 : timeframe == "D1" ? PERIOD_D1 : timeframe == "W1" ? PERIOD_W1 : timeframe == "MN1" ? PERIOD_MN1 : PERIOD_CURRENT ); } //+------------------------------------------------------------------+ 1...909910911912913914915916917918919920921922923...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
大家晚上好!我不知道我是否写在正确的主题里,如果我写错了,请原谅。当我在安卓系统上安装Metatrader 5 时,自动创建了一个模拟账户,每次我启动应用程序时都会连接到该账户。当我想连接另一个账户时,这次是来自我的经纪人,我找不到模拟账户的密码。我按了 "重置密码",之后我就无法连接到模拟账户。有什么办法可以恢复对模拟账户的访问吗?
你好!
请告诉我为什么CAccountInfo::MarginCheck()方法可以在测试器中返回所需的保证金为零?它只在为ORDER_TYPE_BUY_LIMIT 限价买入订单调用时返回0。
工具 Si-9.18 - 来自 MICEX 的美元期货。
在测试项目中,测试器中的下一个调用给出的不是零,而是90--一个很小的数值,这看起来相当不靠谱。
你好!
请告诉我为什么CAccountInfo::MarginCheck()方法可以在测试器中返回所需的保证金为零?它只在为限价买单ORDER_TYPE_BUY_LIMIT 调用时返回0。
工具 Si-9.18 - 来自 MICEX 的美元期货。
在测试项目中,测试器中的下一个调用给出的不是零,而是90--一个很小的数值,这看起来相当不靠谱。
我怀疑是因为只有
订单_类型_购买
市场购买订单
销量
市场卖出订单
我怀疑这是因为只有
订单_类型_购买
市场购买订单
销量
市场卖出订单
下面是同一例子的测试器中买入限价单的结果。90的利润率是非常小的。 真的是这样吗?
而在这里,我们在测试器中的保证金为零。

所有的历史测试都是用一个真实的账户进行的。指示器停止工作,帮助编译
谢谢你。
下面是同一例子的测试器中限价买入订单的结果。90的利润率是非常小的,是这样的吗?
也许是模拟账户的问题?在同一经纪商的真实账户上试一试。
指标停止工作,帮助编译
谢谢。
由于1861年的版本有一个 内置的iBarShift函数,它不能作为一个自定义函数使用。请重新命名该功能。
你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。
在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?我们可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢!
你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。
在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?你可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢!
使用if()结构
你好!请帮助我完成这项任务。有一个格式为"PERIOD_M1""PERIOD_M2""PERIOD_M3"的字符串类型 的值,等等。我们需要用ENUM_TIMEFRAMES类型的值来替换这些值--分别是PERIOD_M1、PERIOD_M2、PERIOD_M3,等等。
在下面的例子中,一切都很好,但我们不能在switch 语句中使用一个字符串变量,我们应该怎么做?你可以直接使用if....else结构,但我认为有更优雅的方法。有什么建议吗?谢谢!