文章 "MetaTrader 5 中进行测试的原理" - 页 2 12345 新评论 Alexander 2011.03.30 19:00 #11 Rosh: 改为 "由技术指标 或IndicatorCreate() 函数创建的所有指标..."。非常感谢,解决了这个问题。 Samuel Olowoyo 2011.07.29 19:30 #12 我读了这篇精彩的文章,发现似乎有一处打错了字。//+------------------------------------------------------------------+ //| 专家去初始化函数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- bool hidden=IndicatorRelease(handle_ind); if(hided) Print("IndicatorRelease() successfully completed"); else Print("IndicatorRelease() returned false. Error code ",GetLastError()); }我想,你想输入的是 "if(hidden) Print......" 而不是 "if(hided) Print...",这样代码看起来就像下面这样了//+------------------------------------------------------------------+ //| 专家去初始化函数| //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- bool hidden=IndicatorRelease(handle_ind); if(hidden) Print("IndicatorRelease() successfully completed"); else Print("IndicatorRelease() returned false. Error code ",GetLastError()); }感谢您的文章。山姆 [删除] 2011.08.13 14:29 #13 为什么在 "测试基础 "一文中只字未提从哪里开始测试? 我说的是测试手动策略,就像在 ForexTester 中一样--至少不设置/运行/修改订单,但有刻度线(至少只是柱状图)和查看指标的功能,并能进行实时制图,还能切换时间框架。 [删除] 2011.08.13 14:44 #14 当我使用先前保存的 tester.tpl 模板(2 个指标窗口)开始测试 ExpertMACD 智能 交易系统("内置")时,第一个窗口会将智能 交易系统的 MACD 指标与模板中的指标重叠。是这样设计的吗?我没有检查过其他智能交易系统。我今天更新了 MT 版本。 Renat Fatkhullin 2011.08.13 16:04 #15 VladMih:为什么在 "测试基础 "一文中只字未提从哪里开始测试? 我说的是像 ForexTester 这样的手动策略测试--至少不设置/运行/修改订单,但有刻度线(至少只有柱状图)和查看指标的功能,并能进行实时制图,还能切换时间框架。因为我们说的是测试自动交易系统。在模板中使用指标的解决方案只是暂时的,不久指标将在可视化过程中自动显示。 [删除] 2011.08.13 17:01 #16 Renat:因为我们说的是测试自动交易系统。在模板中使用指标的解决方案只是暂时的,很快指标就会在可视化过程中自动显示。1.我明白,但文章标题中没有,所以我才问。 在哪里可以读到 "关于手动系统测试的讨论"?哪里都没有?很抱歉,这就像 "不是程序员就不是交易员"(如果不说 "不是人 "的话)。这是 "党的政策 "吗?是这样的,还是为凡人计划的?比如,对于初学者...2.你不明白 - 它们会自动显示,但 EA 指示器会叠加在测试人员模板的指示器上。不过,如果是临时叠加,当然没什么好讨论的。 Yedelkin 2012.07.30 13:40 #17 Моделирование времени в тестере 测试期间,本地时间TimeLocal() 始终等于服务器时间 TimeTradeServer ( )。反过来,服务器时间也总是等于格林尼治标准时间 -TimeGMT()。因此,在测试过程中,所有这些函数都会产生相同的时间。 同时,在有关 MQ 模拟账户的论坛上,"MQ 服务器时间" == "欧洲平均时间" == GMT+1。 在我的笔记本电脑(674 版本)上离线运行脚本,显示 TimeTradeServer() == TimeGMT()。 得出 "MQ 服务器时间"== TimeGMT()而不是 GMT+1 的结论是否正确? Rashid Umarov 2012.07.30 13:58 #18 事物起起伏伏,不断变化。也许曾经是这样В то же время, на форуме в отношении демо-счетов MQ утверждалось, что "серверное время MQ" == "среднеевропейское время" == GMT+1.而现在是这样的TimeTradeServer()== TimeGMT() Yedelkin 2012.07.30 14:12 #19 感谢您的澄清!因此,对于模拟账户,"服务器时间 MQ" ==TimeGMT()。 Yedelkin 2012.09.09 14:39 #20 Расчет индикаторов при тестировании在实时模式下,指标值在每个刻度点上计算。测试器采用经济的指标计算模式--仅在启动智能交易系统执行前立即重新计算指标。这意味着指标值的重新计算是在调用 OnTick ()、OnTrade() 和 OnTimer()函数之前 进行的。 无论特定事件处理程序中是否有指标调用,其句柄由iCustom() 或IndicatorCreate () 函数创建的所有指标都将在调用 事件处理程序函数之前 重新计算。因此,在 "All ticks "模式下进行测试时,每次调用 OnTick() 之前 都会对指标进行计算。如果使用EventSetTimer() 函数在智能交易系统中启用了计时器,则会在每次调用 OnTimer() 处理程序之前重新计算指标。文章说,在调用三个函数(事件处理程序)之前,会重新计算指标值。我的 "智能交易系统 "中没有这些函数--它只与自定义事件一起工作。在测试器中,一切似乎都或多或少经过了计算。 出现了以下问题:挂在其他符号上的指标在什么时候重新计算?是否每次发送 NewTick事件时都会计算 ,即使 Expert Advisor 没有 OnTick() 函数?如果是这样,那么指标会随着另一个符号的跳动频率重新计算吗? 12345 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
改为 "由技术指标 或IndicatorCreate() 函数创建的所有指标..."。
非常感谢,解决了这个问题。
我读了这篇精彩的文章,发现似乎有一处打错了字。
我想,你想输入的是 "if(hidden) Print......" 而不是 "if(hided) Print...",这样代码看起来就像下面这样了
感谢您的文章。
山姆
为什么在 "测试基础 "一文中只字未提从哪里开始测试?
我说的是测试手动策略,就像在 ForexTester 中一样--至少不设置/运行/修改订单,但有刻度线(至少只是柱状图)和查看指标的功能,并能进行实时制图,还能切换时间框架。
当我使用先前保存的 tester.tpl 模板(2 个指标窗口)开始测试 ExpertMACD 智能 交易系统("内置")时,第一个窗口会将智能 交易系统的 MACD 指标与模板中的指标重叠。是这样设计的吗?
我没有检查过其他智能交易系统。我今天更新了 MT 版本。
为什么在 "测试基础 "一文中只字未提从哪里开始测试?
我说的是像 ForexTester 这样的手动策略测试--至少不设置/运行/修改订单,但有刻度线(至少只有柱状图)和查看指标的功能,并能进行实时制图,还能切换时间框架。
因为我们说的是测试自动交易系统。
在模板中使用指标的解决方案只是暂时的,不久指标将在可视化过程中自动显示。
因为我们说的是测试自动交易系统。
在模板中使用指标的解决方案只是暂时的,很快指标就会在可视化过程中自动显示。
1.我明白,但文章标题中没有,所以我才问。
在哪里可以读到 "关于手动系统测试的讨论"?哪里都没有?很抱歉,这就像 "不是程序员就不是交易员"(如果不说 "不是人 "的话)。这是 "党的政策 "吗?是这样的,还是为凡人计划的?比如,对于初学者...
2.你不明白 - 它们会自动显示,但 EA 指示器会叠加在测试人员模板的指示器上。
不过,如果是临时叠加,当然没什么好讨论的。
Моделирование времени в тестере
测试期间,本地时间TimeLocal() 始终等于服务器时间 TimeTradeServer ( )。反过来,服务器时间也总是等于格林尼治标准时间 -TimeGMT()。因此,在测试过程中,所有这些函数都会产生相同的时间。
同时,在有关 MQ 模拟账户的论坛上,"MQ 服务器时间" == "欧洲平均时间" == GMT+1。
在我的笔记本电脑(674 版本)上离线运行脚本,显示 TimeTradeServer() == TimeGMT()。 得出 "MQ 服务器时间"== TimeGMT()而不是 GMT+1 的结论是否正确?
事物起起伏伏,不断变化。也许曾经是这样
В то же время, на форуме в отношении демо-счетов MQ утверждалось, что "серверное время MQ" == "среднеевропейское время" == GMT+1.
而现在是这样的
TimeTradeServer()== TimeGMT()
感谢您的澄清!因此,对于模拟账户,"服务器时间 MQ" ==TimeGMT()。
Расчет индикаторов при тестировании
在实时模式下,指标值在每个刻度点上计算。测试器采用经济的指标计算模式--仅在启动智能交易系统执行前立即重新计算指标。这意味着指标值的重新计算是在调用 OnTick ()、OnTrade() 和 OnTimer()函数之前 进行的。
无论特定事件处理程序中是否有指标调用,其句柄由iCustom() 或IndicatorCreate () 函数创建的所有指标都将在调用 事件处理程序函数之前 重新计算。
因此,在 "All ticks "模式下进行测试时,每次调用 OnTick() 之前 都会对指标进行计算。如果使用EventSetTimer() 函数在智能交易系统中启用了计时器,则会在每次调用 OnTimer() 处理程序之前重新计算指标。
文章说,在调用三个函数(事件处理程序)之前,会重新计算指标值。我的 "智能交易系统 "中没有这些函数--它只与自定义事件一起工作。在测试器中,一切似乎都或多或少经过了计算。
出现了以下问题:挂在其他符号上的指标在什么时候重新计算?是否每次发送 NewTick事件时都会计算 ,即使 Expert Advisor 没有 OnTick() 函数?如果是这样,那么指标会随着另一个符号的跳动频率重新计算吗?