mql5语言的特点、微妙之处以及技巧 - 页 139 1...132133134135136137138139140141142143144145146...247 新评论 Alexey Navoykov 2019.07.09 16:20 #1381 fxsaber: 这个选项不起作用 纠正了代码,现在可以了。 fxsaber 2019.07.09 17:50 #1382 Alexey Navoykov: 纠正了代码,现在一切正常了。 你发布的东西有错误,因为它根本就没有编译。 Alexey Navoykov 2019.07.09 18:34 #1383 fxsaber: 你发布的东西有错误,因为它根本就没有编译。 是的,这是个错字,已改正。 fxsaber 2019.07.09 18:41 #1384 Alexey Navoykov: 是的,这是个错字,已改正。 谢谢你,这很有效。对业绩的影响还有待观察。 fxsaber 2019.07.09 19:27 #1385 对于那些使用动态资源的人(如Kanvas),我建议以这种方式加快阵列的数量 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 fxsaber, 2019.07.09 18:36 void FillArray1( int &Array[] ) { const int Size = ArraySize(Array); for (int i = 0; i < Size; i++) Array[i] = i; } #define ARRAY_SIZE 10000 void FillArray2( int &Array[] ) { int ArrayStatic[ARRAY_SIZE]; const int Size = ArraySize(Array); for (int i = 0; i < Size;) { const int Size2 = i + ARRAY_SIZE < Size ? ARRAY_SIZE : Size - i; for (int j = 0; j < Size2; j++) ArrayStatic[j] = i++; if (Size2) ArrayCopy(Array, ArrayStatic, i - Size2, 0, Size2); } } #define BENCH(A) \ { \ const ulong _StartTime = GetMicrosecondCount(); \ A; \ Print("Time[" + #A + "] = " + (string)(GetMicrosecondCount() - _StartTime)); \ } void OnStart() { int Array1[]; ArrayResize(Array1, 1 e7); int Array2[]; ArrayResize(Array2, 1 e7); BENCH(FillArray1(Array1)); BENCH(FillArray2(Array2)); } 加速几十个百分点。 关于交易、自动交易系统和交易策略测试的论坛 虫子,虫子,问题 fxsaber, 2019.07.09 19:40 Time[FillArray1(Array1)] = 39501 Time[FillArray2(Array2)] = 30304 运行的发布版本。启用优化功能。 根据经验找到最佳的静态阵列大小 #define ARRAY_SIZE 256 Konstantin 2019.07.10 04:33 #1386 fxsaber: 对于那些使用动态资源的人(如Kanvas),我建议用以下方式加快填充数组的速度 一个百分之几十的加速度。 我通过实验找到了静态阵列的最佳尺寸。 如果你把它和mql5的ArrayFill 相比,到底会不会有速度上的提升? Alexander Lasygin 2019.07.10 06:37 #1387 我没有读过整个主题,也许这个问题有答案,MT5对图形对象的表现无法理解,终端关闭一段时间后,对象仍然附着在一些不明显的点上。 你如何处理这个问题呢?在那些打开了图表窗口的情况下,这并不难做到。我个人在OnInit()中给OnDeinit添加了一个过渡,但如果窗口被标记为书签,就不能解决问题。也许有人会告诉我们,我们可以在哪里向MT5的创造者 "表达 "这些建议。 . Vladimir Karputov 2019.07.10 06:56 #1388 Alexander Lasygin: 我没有读过整个主题,也许这个问题有答案,MT5对图形对象的表现无法理解,终端关闭一段时间后,对象仍然附着在一些不明显的点上。 你如何处理这个问题呢?在那些打开了图表窗口的情况下,这并不难做到。我个人在OnInit()中给OnDeinit添加了一个过渡,但如果窗口被加了书签,就解决不了问题。也许有人会告诉我们,我们可以在哪里向MT5的创造者 "表达 "这些建议。 . 提供确切的数据来重现:例如,一个带有对象的图表模板。 我怀疑这些对象是由指示器绘制的,而正是指示器错误地跟踪了prev_calculated。 fxsaber 2019.07.10 21:33 #1389 Konstantin: 如果你把它和mql5的ArrayFill 相比,到底会不会有速度上的提升? 我不认为会有。 Konstantin 2019.07.11 02:29 #1390 fxsaber: 我不认为会这样。 那么,既然已经有了一个有效的功能,为什么还要重新发明自己的记事本呢? 1...132133134135136137138139140141142143144145146...247 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
这个选项不起作用
纠正了代码,现在一切正常了。
你发布的东西有错误,因为它根本就没有编译。
你发布的东西有错误,因为它根本就没有编译。
是的,这是个错字,已改正。
谢谢你,这很有效。对业绩的影响还有待观察。
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2019.07.09 18:36
关于交易、自动交易系统和交易策略测试的论坛
虫子,虫子,问题
fxsaber, 2019.07.09 19:40
运行的发布版本。启用优化功能。
根据经验找到最佳的静态阵列大小
对于那些使用动态资源的人(如Kanvas),我建议用以下方式加快填充数组的速度
我通过实验找到了静态阵列的最佳尺寸。
如果你把它和mql5的ArrayFill 相比,到底会不会有速度上的提升?
我没有读过整个主题,也许这个问题有答案,MT5对图形对象的表现无法理解,终端关闭一段时间后,对象仍然附着在一些不明显的点上。 你如何处理这个问题呢?在那些打开了图表窗口的情况下,这并不难做到。我个人在OnInit()中给OnDeinit添加了一个过渡,但如果窗口被标记为书签,就不能解决问题。也许有人会告诉我们,我们可以在哪里向MT5的创造者 "表达 "这些建议。
.
我没有读过整个主题,也许这个问题有答案,MT5对图形对象的表现无法理解,终端关闭一段时间后,对象仍然附着在一些不明显的点上。 你如何处理这个问题呢?在那些打开了图表窗口的情况下,这并不难做到。我个人在OnInit()中给OnDeinit添加了一个过渡,但如果窗口被加了书签,就解决不了问题。也许有人会告诉我们,我们可以在哪里向MT5的创造者 "表达 "这些建议。
.
提供确切的数据来重现:例如,一个带有对象的图表模板。
我怀疑这些对象是由指示器绘制的,而正是指示器错误地跟踪了prev_calculated。
如果你把它和mql5的ArrayFill 相比,到底会不会有速度上的提升?
我不认为会有。
我不认为会这样。
那么,既然已经有了一个有效的功能,为什么还要重新发明自己的记事本呢?