MQL5中的初学者问题。专业人士不会路过。 - 页 2 12345678 新评论 Rashid Umarov 2011.11.11 15:46 #11 Figar0:在H4上,"所有刻度线 "模型的刻度线只比 "公开价格 "模型多14倍。 要么是我疯了,要么是两者之一...所以,"公开价格 "模式根本不存在?请看"MetaTrader 5中的测试基础知识"。仅公开价格 在 "仅开盘价 "的测试模式中,点子的生成是由 "1分钟OHLC "模式的相同算法进行的。唯一的区别是,在这种模式下,OnTick()函数只在测试期间的公开价格上运行。 例如,在 "仅开放价格 "模式下对欧元兑美元H1的专家顾问进行测试。这意味着点数的总量(检查点)将与 "1分钟OHLC "模式相同,但OnTick()处理程序仅 在开盘 一 小时时 被调用 。在其他(从专家顾问那里 "隐藏 "的)刻度上,进行正确测试所需的检查。 计算保证金要求。触发止损和止盈。触发未决订单。移除时间过期的未决订单。 如果没有未结头寸或挂单,就没有必要在这些检查隐藏的刻度线,而且速度的提高可以是显著的。这种模式 "仅开盘价 "适合于测试只在开盘时进行交易的策略,不使用挂单,也不使用止损单和止盈单。对于这类策略,所有必要的测试精度都得以保留。 [删除] 2011.11.11 16:15 #12 Rosh:请看这篇文章MetaTrader 5的基本测试。 很清楚为什么,不清楚怎么做?正如我马上说的--悲哀)我的例子中的MT5测试器比MT4测试器慢70倍。在我的MT4中,这里的一天将是10周?很酷,我决定加速)很好,我从小事做起,没有把所有的好东西转换成MT5进行测试) 请原谅我的讽刺,我明白MT5测试器比MT4有很多优势,但这是被速度所抵消的。 也许我们应该引入一个类似于MT4的 "开盘价 "的模式?让它不准确,让它用红色粗体字,并有很多警告,但让它比在MT4中更直接。例如,MT5中测试序列生成的准确性,对于专家顾问在没有TP和SL的情况下操作条形开口是绝对不必要的。 Mykola Demko 2011.11.11 18:06 #13 Figar0: 很清楚为什么,不清楚怎么做?就像我马上说的--悲哀)我的例子中的MT5测试仪比MT4测试仪慢70倍。在我的MT4中,这里的一天将是10周?很酷,我决定加速)很好,我从小事做起,没有把所有的好东西转换成MT5进行测试) 请原谅我的讽刺,我明白MT5测试器比MT4有很多优势,但这是被速度所抵消的。 也许我们应该引入一个类似于MT4的"开盘价"的模式?让它不准确,让它用红色粗体字,并有很多警告,但让它比在MT4中更直接。例如,MT5中测试序列生成的准确性,对于专家顾问在没有TP和SL的情况下操作条形开口是绝对不必要的。 如果你想要快速的开盘价,只需在代码中写一个过滤器,这样它就不会在没有新条形的条件下进行计算,生成ticks本身需要最少的时间,具体来说,任何TF上的3年历史(开盘价)需要7-15秒。 [删除] 2011.11.11 19:53 #14 Urain: 如果你想快速地按开盘价 计算,只需在代码中写一个过滤器,这样在一个新的条形图出现之前就不会有任何条件的计算,刻度线的生成本身需要最少的时间,特别是任何TF的3年历史(按开盘价)需要7-15秒。 什么样的过滤器?)我在Ontick()的开头有一个新条形的检查。但是,即使有这个过滤器,我在MT5中对可比的EA的优化也比MT4慢70!!倍,这不是一个笑料......也许我在这段代码中弄错了(新的条形检查),请看前面的代码页。 或者也许只是我的问题?也许我应该试着重新安装mt5,比如说? Mykola Demko 2011.11.11 20:24 #15 Figar0: 什么样的过滤器?)我的Ontick()以检查一个新柱子开始。但是,即使有了这个过滤器,MT5中可比的EA的优化也比MT4慢70!!!倍,这一点也不好笑......也许我在这段代码中弄错了(检查新条),请看前面的代码页。 或者也许只是我的问题?也许我应该试着重新安装mt5,比如说?在每个tick上创建一个变量,在每个tick上创建一个动态数组,调用复制函数,两个检查。为什么如此复杂?你声明一个全局变量 来存储前一个请求中的条数,并检查条数是否有变化,就这样。int prevbars; int OnInit() { prevbars=-100;// любое число которое не может вернуть Bars() // ... return(0); } void OnTick() { if(prevbars!=Bars(_Symbol,_Period)) { prevbars=Bars(_Symbol,_Period); // ... } }如果你需要更多的验证,那么把这个验证放在保护区内。 [删除] 2011.11.12 16:32 #16 Urain:在每个tick上创建一个变量,在每个tick上创建一个动态数组,调用复制函数,两个检查。为什么如此复杂?在全局范围内 声明一个变量,存储上一次请求的条数,并检查条数是否有变化,仅此而已。如果你想检查数据是否被加载,那么把这个检查放在保护区内。 谢谢你。但你真的认为这能从根本上改变现状吗?)检查了一下,是几分钱,也许只是在误差范围内......这都是关于MT4 2K和MT 1200K中 "按开盘价 "模型产生的点数的巨大差异,没有多核和云计算会有帮助。 甚至不知道这个模型是否有 "权利 "被称为按开盘价,从比例来看,它像是 "14个点数中的一个 "模型。我不知道MT4的 "开盘价 "模式有什么罪过,我不明白。肯定是有需求的,为什么不保留它的MT4形式呢? 我不知道为什么,对谁来说,这种测试的冗余是如此明显。我们是否需要使用测试器来从历史中提取利润?我认为主要的一点是,测试者的准确性不能转移到真正的账户。顺便问一下,谁知道把我最喜欢的复选框 "跳过无用的结果 "藏在哪里?我找不到它....它也失宠了吗?) TheXpert 2011.11.12 16:35 #17 Figar0: 它肯定是有需求的...现在和将来都是如此。 让我们等待历史文件,至少是分钟文件,被破解。 [删除] 2011.11.12 18:06 #18 TheXpert:...使用并将继续使用。 让我们等待历史文件,至少是分钟文件,被破解。 是的,我明白,我们会想办法解决的,我只是想避免出现这种情况...。 开发者似乎愿意做一个可用的和功能性的=>平台,受到交易者的欢迎=>平台,受到经纪公司的欢迎。但有时我认为他们只是没有从另一个角度看问题)。首先,断然否定了设置价差的能力(结果是,没有TakeMySpread你就不能在周末使用4),现在又推出了创新的云计算,代理商加快了工作速度,结果是慢了70倍......我不明白。 Anatoli Kazharski 2011.11.12 21:47 #19 开发者需要增加另一个选择的选项。也就是说,老的"开盘价"选项。这对许多想法来说是足够的。我在MT4的所有模式下都取得了相同的结果。如果在旧的变体中测试,该云就会变成超级云))。 Документация по MQL5: Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы www.mql5.com Стандартные константы, перечисления и структуры / Константы индикаторов / Ценовые константы - Документация по MQL5 Anatoli Kazharski 2011.11.12 22:41 #20 joo:我将添加同样的 "按开盘价"模式,但有一个选项可以选择一个子时间框架。假设你选择了测试时间框架H1,这意味着你可以选择M1、M2、M5、M10的价格运动模式 .....М30.那么在 "速度和准确度 "之间进行选择将非常灵活(如果他们不是点球手,大多数人将更喜欢 "速度")。 这是个很好的补充!同时,在测试器中的范围内的酒吧...但这是另一个故事。))。 12345678 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在H4上,"所有刻度线 "模型的刻度线只比 "公开价格 "模型多14倍。 要么是我疯了,要么是两者之一...所以,"公开价格 "模式根本不存在?
请看"MetaTrader 5中的测试基础知识"。
仅公开价格
在 "仅开盘价 "的测试模式中,点子的生成是由 "1分钟OHLC "模式的相同算法进行的。唯一的区别是,在这种模式下,OnTick()函数只在测试期间的公开价格上运行。
例如,在 "仅开放价格 "模式下对欧元兑美元H1的专家顾问进行测试。这意味着点数的总量(检查点)将与 "1分钟OHLC "模式相同,但OnTick()处理程序仅 在开盘 一 小时时 被调用 。在其他(从专家顾问那里 "隐藏 "的)刻度上,进行正确测试所需的检查。
如果没有未结头寸或挂单,就没有必要在这些检查隐藏的刻度线,而且速度的提高可以是显著的。这种模式 "仅开盘价 "适合于测试只在开盘时进行交易的策略,不使用挂单,也不使用止损单和止盈单。对于这类策略,所有必要的测试精度都得以保留。
请看这篇文章MetaTrader 5的基本测试。
很清楚为什么,不清楚怎么做?正如我马上说的--悲哀)我的例子中的MT5测试器比MT4测试器慢70倍。在我的MT4中,这里的一天将是10周?很酷,我决定加速)很好,我从小事做起,没有把所有的好东西转换成MT5进行测试)
请原谅我的讽刺,我明白MT5测试器比MT4有很多优势,但这是被速度所抵消的。
也许我们应该引入一个类似于MT4的 "开盘价 "的模式?让它不准确,让它用红色粗体字,并有很多警告,但让它比在MT4中更直接。例如,MT5中测试序列生成的准确性,对于专家顾问在没有TP和SL的情况下操作条形开口是绝对不必要的。
很清楚为什么,不清楚怎么做?就像我马上说的--悲哀)我的例子中的MT5测试仪比MT4测试仪慢70倍。在我的MT4中,这里的一天将是10周?很酷,我决定加速)很好,我从小事做起,没有把所有的好东西转换成MT5进行测试)
请原谅我的讽刺,我明白MT5测试器比MT4有很多优势,但这是被速度所抵消的。
也许我们应该引入一个类似于MT4的"开盘价"的模式?让它不准确,让它用红色粗体字,并有很多警告,但让它比在MT4中更直接。例如,MT5中测试序列生成的准确性,对于专家顾问在没有TP和SL的情况下操作条形开口是绝对不必要的。
如果你想快速地按开盘价 计算,只需在代码中写一个过滤器,这样在一个新的条形图出现之前就不会有任何条件的计算,刻度线的生成本身需要最少的时间,特别是任何TF的3年历史(按开盘价)需要7-15秒。
什么样的过滤器?)我的Ontick()以检查一个新柱子开始。但是,即使有了这个过滤器,MT5中可比的EA的优化也比MT4慢70!!!倍,这一点也不好笑......也许我在这段代码中弄错了(检查新条),请看前面的代码页。 或者也许只是我的问题?也许我应该试着重新安装mt5,比如说?
在每个tick上创建一个变量,在每个tick上创建一个动态数组,调用复制函数,两个检查。
为什么如此复杂?
你声明一个全局变量 来存储前一个请求中的条数,并检查条数是否有变化,就这样。
如果你需要更多的验证,那么把这个验证放在保护区内。
在每个tick上创建一个变量,在每个tick上创建一个动态数组,调用复制函数,两个检查。
为什么如此复杂?
在全局范围内 声明一个变量,存储上一次请求的条数,并检查条数是否有变化,仅此而已。
如果你想检查数据是否被加载,那么把这个检查放在保护区内。
谢谢你。但你真的认为这能从根本上改变现状吗?)检查了一下,是几分钱,也许只是在误差范围内......这都是关于MT4 2K和MT 1200K中 "按开盘价 "模型产生的点数的巨大差异,没有多核和云计算会有帮助。 甚至不知道这个模型是否有 "权利 "被称为按开盘价,从比例来看,它像是 "14个点数中的一个 "模型。我不知道MT4的 "开盘价 "模式有什么罪过,我不明白。肯定是有需求的,为什么不保留它的MT4形式呢?
我不知道为什么,对谁来说,这种测试的冗余是如此明显。我们是否需要使用测试器来从历史中提取利润?我认为主要的一点是,测试者的准确性不能转移到真正的账户。
顺便问一下,谁知道把我最喜欢的复选框 "跳过无用的结果 "藏在哪里?我找不到它....它也失宠了吗?)
它肯定是有需求的
...现在和将来都是如此。
让我们等待历史文件,至少是分钟文件,被破解。
...使用并将继续使用。
让我们等待历史文件,至少是分钟文件,被破解。
我将添加同样的 "按开盘价"模式,但有一个选项可以选择一个子时间框架。假设你选择了测试时间框架H1,这意味着你可以选择M1、M2、M5、M10的价格运动模式 .....М30.那么在 "速度和准确度 "之间进行选择将非常灵活(如果他们不是点球手,大多数人将更喜欢 "速度")。