初学者的问题 MQL5 MT5 MetaTrader 5 - 页 534 1...527528529530531532533534535536537538539540541...1503 新评论 Vladimir Karputov 2016.03.08 15:13 #5331 MikeZv:弗拉基米尔,感谢你对第一个问题的回答,我错过了这些功能。我把一个相同的指标放在MT4和MT5中(当然,代码是适应每个平台的)。 到零条为止,它们的数值是相同的,所以显然从一端......:) 而在MT4中,当禁用当前条形图的计算时,在当前条形图下没有任何东西被画出来,在MT5中,则是错误的数值。 关于交易、自动交易系统和策略测试的论坛 初学者的问题 Karputov Vladimir, 2016.03.08 15:13...为了调试,设置检查--在时间序列数组time[i] 中包含哪个值--这样你就能明白在哪一端开始计算条形图,在哪里有一个 "零 "条。 Vladimir Karputov 2016.03.08 15:31 #5332 MikeZv: 以及如何进行这样的检查?在MetaEditore中添加一个断点 并开始调试。当断点停止时,将时间[0]加入到观察中。 Mikhail Tkachev 2016.03.08 15:38 #5333 Karputov Vladimir:在MetaEditore中添加一个断点并开始调试。当断点停止时,将时间[0]加入到观察中。 我已经在代码中插入了输出结果MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 1971.01.04 00:00:00MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rate_total-1] = 2016.03.08 17:00:00在MT5代码中插入ArraySetAsSeries(time,true); 现在输出。MT5 2016.03.08 18:45:05.402 mvt_Vlt (EURUSD,H1) time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 2010.01.04 00:00:00 也做价格数组? 测试日志 - 算法交易, 交易机器人 自定义金融品种 - 高级用户选项 - Vladimir Karputov 2016.03.08 15:47 #5334 MikeZv: 我已经把输出放在代码中MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 1971.01.04 00:00MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rate_total-1] = 2016.03.08 17:00:00 我现在该怎么做?在两个版本的指标中都添加ArraySetAsSeries--为那些你用于计算的数组:high[]、low[],并暂时为time[]数组--它将帮助你了解 "零 "条在哪里。因此,两个版本中的 "零 "条将在图表的同一侧(右侧或左侧--取决于你在ArraySetAsSeries中的设置),并且你将得到指标的相同计算部分。补充:在我打字的时候,你已经摸索到了正确的方法:) Mikhail Tkachev 2016.03.08 15:54 #5335 Karputov Vladimir:补充:当我在打字的时候,你找到了正确的方法 :) 我找到了,但还是不能正确显示。:) 我把它粘贴到MT5的代码中。 ArraySetAsSeries(ExtCalcVlBuffer,true); ArraySetAsSeries(ExtMovingBuffer,true); ArraySetAsSeries(ExtStdDevBuffer,true); ArraySetAsSeries(time,true); ArraySetAsSeries(low,true); ArraySetAsSeries(high,true); 它要出来了。它只输出ExtCalcVlBuffer,但平均数和偏差不计... 而且它仍然在当前栏上输出,尽管它不应该。 Vladimir Karputov 2016.03.08 16:47 #5336 MikeZv:...它仍然显示在当前栏上,尽管它不应该。 为什么不呢? Mikhail Tkachev 2016.03.08 16:49 #5337 Karputov Vladimir: 为什么不呢? 我把它关掉了 i<rates_total-1 Vladimir Karputov 2016.03.08 16:52 #5338 MikeZv: 我把它关掉了 i<rates_total-1 为什么? Mikhail Tkachev 2016.03.08 16:54 #5339 Karputov Vladimir: 为什么? 而你不需要计较当前的,这只是浪费CPU时间,而且你就是不需要这个值。 Vladimir Karputov 2016.03.08 17:00 #5340 MikeZv: 你不需要使用当前值,它只会徒劳地加载处理器,你根本不需要这个值。所以,你需要马上说明这样的要求 :) 。情况如下:如果图表中存在一个条形图,它对应于指标缓冲区 中的一个单元。只要你不在这个单元格中写东西,这个单元格就会储存垃圾。 1...527528529530531532533534535536537538539540541...1503 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
弗拉基米尔,感谢你对第一个问题的回答,我错过了这些功能。
我把一个相同的指标放在MT4和MT5中(当然,代码是适应每个平台的)。
到零条为止,它们的数值是相同的,所以显然从一端......:)
而在MT4中,当禁用当前条形图的计算时,在当前条形图下没有任何东西被画出来,在MT5中,则是错误的数值。
关于交易、自动交易系统和策略测试的论坛
初学者的问题
Karputov Vladimir, 2016.03.08 15:13
...为了调试,设置检查--在时间序列数组time[i] 中包含哪个值--这样你就能明白在哪一端开始计算条形图,在哪里有一个 "零 "条。
以及如何进行这样的检查?
在MetaEditore中添加一个断点 并开始调试。当断点停止时,将时间[0]加入到观察中。
在MetaEditore中添加一个断点并开始调试。当断点停止时,将时间[0]加入到观察中。
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 1971.01.04 00:00:00
MT5 2016.03.08 18:36:23.565 mvt_Vlt (EURUSD,H1) time[0] = 2010.01.04 00:00:00 time[rate_total-1] = 2016.03.08 17:00:00
在MT5代码中插入ArraySetAsSeries(time,true);
现在输出。
MT5 2016.03.08 18:45:05.402 mvt_Vlt (EURUSD,H1) time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 2010.01.04 00:00:00
也做价格数组?
我已经把输出放在代码中
MT4 2016.03.08 18:37:04.710 mvt_Vlt EURUSD,H1: time[0] = 2016.03.08 17:00:00 time[rate_total-1] = 1971.01.04 00:00
我现在该怎么做?
在两个版本的指标中都添加ArraySetAsSeries--为那些你用于计算的数组:high[]、low[],并暂时为time[]数组--它将帮助你了解 "零 "条在哪里。因此,两个版本中的 "零 "条将在图表的同一侧(右侧或左侧--取决于你在ArraySetAsSeries中的设置),并且你将得到指标的相同计算部分。
补充:在我打字的时候,你已经摸索到了正确的方法:)
补充:当我在打字的时候,你找到了正确的方法 :)
我把它粘贴到MT5的代码中。
它要出来了。
它只输出ExtCalcVlBuffer,但平均数和偏差不计...
而且它仍然在当前栏上输出,尽管它不应该。
...
它仍然显示在当前栏上,尽管它不应该。
为什么不呢?
我把它关掉了 i<rates_total-1
为什么?
你不需要使用当前值,它只会徒劳地加载处理器,你根本不需要这个值。
所以,你需要马上说明这样的要求 :) 。
情况如下:如果图表中存在一个条形图,它对应于指标缓冲区 中的一个单元。只要你不在这个单元格中写东西,这个单元格就会储存垃圾。