错误、漏洞、问题 - 页 2733 1...272627272728272927302731273227332734273527362737273827392740...3184 新评论 Igor Makanu 2020.05.02 20:53 #27321 Geess: 只传递Uchar数组而不是字符串数组。这样做更简单。 例如,你可以这样转换。 它对MQL4和MQL5的工作方式是一样的。 你需要从dll返回值到MQL,在任何情况下,在MQL方面你需要准备一个缓冲区来接收数据。 总而言之,这是一个很长的解释,我已经做了一切,我只是想问几个问题。 谢谢你 Sergey Dzyublik 2020.05.04 11:58 #27322 MT5(build 2402)在命名空间中调用重载函数的优先级问题。 1) 当全局命名空间的函数被重载时。 2)当系统功能过载时。 void func(){ printf("1"); } namespace A{ void func(){ printf("2"); } bool OrderSend(const MqlTradeRequest &trader_request, MqlTradeResult &trade_result){ printf("2"); return true; } class B{ public: void test(){ func(); // PRINT: 1 Expected result: 2 MqlTradeRequest request; MqlTradeResult result; OrderSend(request, result); // Compile Error: 'OrderSend' - override system function. Expected result: 2 } }; }; void OnStart(){ A::B b; b.test(); } valera_nur 2020.05.04 12:27 #27323 日安! 我有一个狙击手专家顾问,它在MT4 Alpari的新版本中不工作,有什么办法可以解决吗?它甚至没有安装在图表上。它在1090版本上工作。 我已经注册了我的MT4,但它没有连接到互联网,它显示 "旧版本"。 [删除] 2020.05.05 03:44 #27324 valera_nur: 日安! 我有一个狙击手专家顾问,它在MT4 Alpari的新版本中不工作,有什么办法可以解决吗?它甚至没有安装在图表上。它在1090版本上工作。 但是MT4终端在1090版本上无法连接到互联网,它显示 "旧版本"。 如果你有专家顾问的源文件,请向自由职业者申请。他们会帮助你。 当然,最好的办法是直接与专家顾问的作者联系。 Igor Makanu 2020.05.05 19:03 #27325 我为MQL5编写了一个dll,在.Net上的WinForms窗口中创建了一个图形表。 我把代码移植到了MQL4的本地调用中 测量速度以评估表格中5列和5行的更新速度 for(int j = 0; j < 3; j++) { uint start = GetTickCount(); for(int i = 0; i < 100000; i++) { string s = (string)(i) + ";" + (string)(i + 1) + ";" + (string)(i + 2) + ";" + (string)(i + 3) + ";" + (string)(i + 4) + "\n" + (string)(i) + ";" + (string)(i + 1) + ";" + (string)(i + 2) + ";" + (string)(i + 3) + ";" + (string)(i + 4) + "\n" + (string)(i) + ";" + (string)(i + 1) + ";" + (string)(i + 2) + ";" + (string)(i + 3) + ";" + (string)(i + 4) + "\n" + (string)(i) + ";" + (string)(i + 1) + ";" + (string)(i + 2) + ";" + (string)(i + 3) + ";" + (string)(i + 4) + "\n" + (string)(i) + ";" + (string)(i + 1) + ";" + (string)(i + 2) + ";" + (string)(i + 3) + ";" + (string)(i + 4) + "\n"; TBL_FillAllTable(htbl, s); } uint time = GetTickCount() - start; PrintFormat("Цикл %d время = %d ms", j, time); } ..... void TBL_FillAllTable(int handle, string data, string ColSeparator = ";", string RowSeparator = "\n") { #ifdef __MQL4__ refreshalldata(handle,data,ColSeparator,RowSeparator); #endif #ifdef __MQL5__ SHARPTABLE::refreshalldata(handle, data,ColSeparator, RowSeparator); #endif } //+------------------------------------------------------------------+ MQL5。 2020.05.05 22:55:33.220 tbl_tst (EURUSD,H1) Cycle 0 time = 143563 ms 2020.05.05 22:57:55.370 tbl_tst (EURUSD,H1) Cycle 1 time = 142156 ms 2020.05.05 23:00:19.121 tbl_tst (EURUSD,H1) 周期2时间=143750 ms MQL4。 2020.05.05 22:51:25.359 tbl_tst EURUSD,H1: 周期2时间 = 66813 ms 2020.05.05 22:50:18.551 tbl_tst EURUSD,H1: Time Frame 1 = 69219 ms 2020.05.05 22:49:09.332 tbl_tst EURUSD,H1: Öècle 0 time = 67062 ms dll代码99%是相同的,我使用文章https://www.mql5.com/ru/articles/249 中的例子在MQL4下移植了它。 在我看来,这是个很大的区别。 附加的文件: tst_winforms.jpg 239 kb Errors, bugs, questions PREDICT time period ASCTrend system Renat Fatkhullin 2020.05.05 19:10 #27326 附上您的库代码+完整的MQL代码,以便您可以检查和100%重现。 Igor Makanu 2020.05.05 19:24 #27327 Renat Fatkhullin: 附上你的图书馆代码+完整的MQL代码,这样你就可以检查和100%重现了。 这里是测试脚本 原则上,我可以将项目 和VS发送给PM Igor Makanu 2020.05.05 19:47 #27328 上面的测试运行在。 2020.05.05 23:46:03.512 Terminal MetaTrader 5 x64 build 2402 started for MetaQuotes Software Corp. 2020.05.05 23:46:03.515 终端 Windows 10 build 18363, Intel Core i3 M 380 @ 2.53GHz, 0 / 2 Gb内存, 149 / 237 Gb磁盘, IE 11, UAC, GMT+4 我的笔记本电脑上仍然有终端 没有更新。 2020.05.05 23:37:15.336 终端 MetaTrader 5 - FXOpen x64build 2280 开始 (FXOpen Investments Inc.) 2020.05.05 23:37:15.338 终端 Windows 10 (build 18363) x64, IE 11, UAC, Intel Core i3 M 380 @ 2.53GHz, Memory: 1071 / 2804 Mb, Disk: 149 / 237 Gb, GMT+4 在我所附的旧构建代码上运行,得到了更好的测试时间。 2020.05.05 23:40:09.553 tbl_tst (EURUSD,H1) Cycle 0 time = 68938 ms 2020.05.05 23:41:17.911 tbl_tst (EURUSD,H1) Cycle 1 time = 68343 ms 2020.05.05 23:42:26.912 tbl_tst (EURUSD,H1) Cycle 2 time = 69000 ms Errors, bugs, questions Any questions from newcomers 新人对MQL4和MQL5的任何问题,对算法和代码的帮助和讨论 [删除] 2020.05.05 20:54 #27329 Igor Makanu: 上面的测试就是在这个基础上进行的。 我的笔记本电脑上仍有一个未更新的终端。 在旧版本上运行了我所附的代码,得到了一个更好的测试时间。 2020.05.05 23:40:09.553 tbl_tst (EURUSD,H1) Cycle 0 time = 68938 ms 2020.05.05 23:41:17.911 tbl_tst (EURUSD,H1) Cycle 1 time = 68343 ms 2020.05.05 23:42:26.912 tbl_tst (EURUSD,H1) Cycle 2 time = 69000 ms 我的2404的速度与MT4相同。 Igor Makanu 2020.05.05 21:04 #27330 Geess: 我在2404上的速度和MT4上的速度一样。 我隐约觉得MT5对电脑资源的要求越来越高,我明天会在我的电脑上检查,我的笔记本电脑很弱(() 是的,这里还有一件事,被新构建中的PC配置行所迷惑--在我的帖子上面,出于某种原因,新构建中写到了笔记本内存。 0 / 2Gb内存 启动条件相同,只有ME和一个终端在运行。 ZS: 但WinForm上的刷新率低于1ms ....不料;) 1...272627272728272927302731273227332734273527362737273827392740...3184 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
只传递Uchar数组而不是字符串数组。这样做更简单。
例如,你可以这样转换。
它对MQL4和MQL5的工作方式是一样的。
你需要从dll返回值到MQL,在任何情况下,在MQL方面你需要准备一个缓冲区来接收数据。
总而言之,这是一个很长的解释,我已经做了一切,我只是想问几个问题。
谢谢你
1) 当全局命名空间的函数被重载时。
2)当系统功能过载时。
日安!
我有一个狙击手专家顾问,它在MT4 Alpari的新版本中不工作,有什么办法可以解决吗?它甚至没有安装在图表上。它在1090版本上工作。
我已经注册了我的MT4,但它没有连接到互联网,它显示 "旧版本"。
日安!
我有一个狙击手专家顾问,它在MT4 Alpari的新版本中不工作,有什么办法可以解决吗?它甚至没有安装在图表上。它在1090版本上工作。
但是MT4终端在1090版本上无法连接到互联网,它显示 "旧版本"。
如果你有专家顾问的源文件,请向自由职业者申请。他们会帮助你。
当然,最好的办法是直接与专家顾问的作者联系。
我为MQL5编写了一个dll,在.Net上的WinForms窗口中创建了一个图形表。 我把代码移植到了MQL4的本地调用中
测量速度以评估表格中5列和5行的更新速度
MQL5。
2020.05.05 22:55:33.220 tbl_tst (EURUSD,H1) Cycle 0 time = 143563 ms
2020.05.05 22:57:55.370 tbl_tst (EURUSD,H1) Cycle 1 time = 142156 ms
2020.05.05 23:00:19.121 tbl_tst (EURUSD,H1) 周期2时间=143750 ms
MQL4。
2020.05.05 22:51:25.359 tbl_tst EURUSD,H1: 周期2时间 = 66813 ms
2020.05.05 22:50:18.551 tbl_tst EURUSD,H1: Time Frame 1 = 69219 ms
2020.05.05 22:49:09.332 tbl_tst EURUSD,H1: Öècle 0 time = 67062 ms
dll代码99%是相同的,我使用文章https://www.mql5.com/ru/articles/249 中的例子在MQL4下移植了它。
在我看来,这是个很大的区别。
附上你的图书馆代码+完整的MQL代码,这样你就可以检查和100%重现了。
这里是测试脚本
原则上,我可以将项目 和VS发送给PM
上面的测试运行在。
2020.05.05 23:46:03.512 Terminal MetaTrader 5 x64 build 2402 started for MetaQuotes Software Corp.
2020.05.05 23:46:03.515 终端 Windows 10 build 18363, Intel Core i3 M 380 @ 2.53GHz, 0 / 2 Gb内存, 149 / 237 Gb磁盘, IE 11, UAC, GMT+4
我的笔记本电脑上仍然有终端 没有更新。
2020.05.05 23:37:15.336 终端 MetaTrader 5 - FXOpen x64build 2280 开始 (FXOpen Investments Inc.)
2020.05.05 23:37:15.338 终端 Windows 10 (build 18363) x64, IE 11, UAC, Intel Core i3 M 380 @ 2.53GHz, Memory: 1071 / 2804 Mb, Disk: 149 / 237 Gb, GMT+4
在我所附的旧构建代码上运行,得到了更好的测试时间。
2020.05.05 23:40:09.553 tbl_tst (EURUSD,H1) Cycle 0 time = 68938 ms
2020.05.05 23:41:17.911 tbl_tst (EURUSD,H1) Cycle 1 time = 68343 ms
2020.05.05 23:42:26.912 tbl_tst (EURUSD,H1) Cycle 2 time = 69000 ms
上面的测试就是在这个基础上进行的。
我的笔记本电脑上仍有一个未更新的终端。
在旧版本上运行了我所附的代码,得到了一个更好的测试时间。
2020.05.05 23:40:09.553 tbl_tst (EURUSD,H1) Cycle 0 time = 68938 ms
2020.05.05 23:41:17.911 tbl_tst (EURUSD,H1) Cycle 1 time = 68343 ms
2020.05.05 23:42:26.912 tbl_tst (EURUSD,H1) Cycle 2 time = 69000 ms
我的2404的速度与MT4相同。
我在2404上的速度和MT4上的速度一样。
我隐约觉得MT5对电脑资源的要求越来越高,我明天会在我的电脑上检查,我的笔记本电脑很弱(()
是的,这里还有一件事,被新构建中的PC配置行所迷惑--在我的帖子上面,出于某种原因,新构建中写到了笔记本内存。
0 / 2Gb内存
启动条件相同,只有ME和一个终端在运行。
ZS: 但WinForm上的刷新率低于1ms ....不料;)