我如何在MQL5中获得Open,Low,High,Close参数? - 页 8 1234567891011121314 新评论 Roman 2019.07.30 00:25 #71 Artyom Trishkin: 我不会确切地看 - 我没有时间。我以为有什么 "出格 "的东西--运行它,看看结果。但现在......。是的,而且该脚本不能立即工作,一直挂着,直到你强行关闭PKM的图标。而只有这样,那里的东西才会被印出来。一般来说--由于某种原因,使用宏的时候会有麻烦。 而我的帖子有主题虫子移动的意思? Igor Makanu 2019.07.30 00:27 #72 Artyom Trishkin: 我不会确切地看 - 我没有时间。我以为有什么 "出格 "的东西--运行它,看看结果。但现在......。是的,而且该脚本不能立即工作,一直挂着,直到你强行关闭PKM的图标。而只有这样,那里的东西才会被印出来。总而言之,宏是一个痛苦的问题。 啊,那只狗来了 你看到我的测试了吗? 还有罗曼。 有436秒的测试价值=7分钟! ;) ZS: 我告诉过你,淘气的手绊住了它!......脚本不 "开箱 "工作......)))) 罗马 人。 把我的帖子放在错误主题中是否有意义? 什么虫子?- 在Wine和Debian中写道,他们不能完全加载CPU核心,你的MT是什么操作系统? Artyom Trishkin 2019.07.30 00:31 #73 Igor Makanu: 啊,那只狗来了! 你看到我的测试了吗? 还有罗曼的。 有436秒的测试价值=7分钟! ;) ZS:我告诉你,淘气的手绊倒了它!......脚本不 "开箱 "工作......)))) 令人毛骨悚然 :) 我们应该多休息... Roman 2019.07.30 00:35 #74 Igor Makanu: 啊,那只狗来了! 你看到我的测试了吗? 还有罗曼的。 有436秒的测试价值=7分钟! ;) ZS: 我告诉过你,淘气的手偶然发现了它!......这个脚本并不是 "开箱即用 "的......)))) 什么虫子?- 好吧,在Wine和Debian中写道,他们不能完全加载CPU核心,你有MT的哪个操作系统? 当然是在Windows下的MT,但我怎么能说... 在 Debian 上的 VS Code 中,当我测试其他代码的负载时,所有核心都被加载,所以没有必要责怪 Debian。 葡萄酒可能是,或者说,MT没有对它进行优化。因此,它在Wine下是不完整的。 在Wine下有很多linux用户。 Artyom Trishkin 2019.07.30 16:01 #75 Igor Makanu: 啊,那只狗来了! 你看到我的测试了吗? 还有罗曼的。 有436秒的测试价值=7分钟! ;) ZS:我告诉你,淘气的手刺伤了它!......脚本不 "开箱 "工作......)))) 很好。没有调皮的手,第一次测试在5分钟内就结束了。其余的人在20分钟内没有完成。冷却器开始起飞,旁边的咖啡开始沸腾...。总之,被打倒了......。 Renat Akhtyamov 2019.07.30 17:10 #76 在功能速度上有什么定论--哪个更快? Artyom Trishkin 2019.07.30 17:21 #77 Renat Akhtyamov: 对这些功能的速度有什么评价--哪个更快? 看起来像CopyXXX(),但不是CopyRates()。当同时需要一个以上的数据时 - CopyRates() Igor Makanu 2019.07.30 17:49 #78 Artyom Trishkin: 很好。第一次测试已经在五分钟内通过,没有调皮的手。其余的甚至在20年内都没有完成。冷却器开始起飞,旁边的咖啡沸腾了......总之,被打倒了......。 嗯,我想你有不想构建成字节的位子......基本上没有更多的选择了!)))) 如果这个主题是在版主的注视下,就需要做些什么......我把宏的零件拆了。 Artem,它到底有没有用? #property script_show_inputs input ulong LoopCount=500000000; // Позволяет, как в MT4, работать с таймсериями: Open[Pos], High[Pos], Low[Pos], Close[Pos], Time[Pos], Volume[Pos]. // А так же задает привычные MT4-функции: iOpen, iHigh, iLow, iClose, iTime, iVolume. #define DEFINE_TIMESERIE(NAME,FUNC,T) \ class CLASS##NAME \ { \ public: \ static T Get(const string Symb,const int TimeFrame,const int iShift) \ { \ T tValue[]; \ \ return((Copy##FUNC((Symb == NULL) ? _Symbol : Symb, _Period, iShift, 1, tValue) > 0) ? tValue[0] : -1); \ } \ \ T operator[](const int iPos) const \ { \ return(CLASS##NAME::Get(_Symbol, _Period, iPos)); \ } \ }; \ \ CLASS##NAME NAME; \ \ T i##NAME(const string Symb,const int TimeFrame,const int iShift) \ { \ return(CLASS##NAME::Get(Symb, TimeFrame, iShift)); \ } //+------------------------------------------------------------------+ DEFINE_TIMESERIE(Volume,TickVolume,long) DEFINE_TIMESERIE(Time,Time,datetime) DEFINE_TIMESERIE(Open,Open,double) DEFINE_TIMESERIE(High,High,double) DEFINE_TIMESERIE(Low,Low,double) DEFINE_TIMESERIE(Close,Close,double) //+------------------------------------------------------------------+ void OnStart() { double c,buff[1]; MqlRates rates[1]; ulong i; //----- Print("Start test № 1..."); Sleep(125); srand(GetTickCount()); uint start=GetTickCount(); for(i=0;i<LoopCount && !_StopFlag;i++) CopyClose(_Symbol,_Period,rand(),1,buff); printf("CopyClose : loops=%u , ms=%u",i,GetTickCount()-start); //----- Print("Start test № 2..."); Sleep(125); srand(GetTickCount()); start=GetTickCount(); for(i=0;i<LoopCount && !_StopFlag;i++) c = iClose(NULL,0,rand()); printf("iClose : loops=%u , ms=%u",i,GetTickCount()-start); //----- Print("Start test № 3..."); Sleep(125); srand(GetTickCount()); start=GetTickCount(); for(i=0;i<LoopCount && !_StopFlag;i++) c = Close[rand()]; printf("Close[i] : loops=%u , ms=%u",i,GetTickCount()-start); //----- Print("Start test № 4..."); Sleep(125); srand(GetTickCount()); start=GetTickCount(); for(i=0;i<LoopCount && !_StopFlag;i++) CopyRates(_Symbol,_Period,rand(),1,rates); printf("CopyRates : loops=%u , ms=%u",i,GetTickCount()-start); Print("End script"); } //+------------------------------------------------------------------+ 2019.07.30 19:42:16.639 tst_iXXX_Copy (EURUSD,H1) 开始测试#1... 2019.07.30 19:42:40.199 tst_iXXX_Copy (EURUSD,H1) CopyClose : loops=500000000 , ms=23422 2019.07.30 19:42:40.199 tst_iXXX_Copy (EURUSD,H1) 开始测试#2... 2019.07.30 19:43:26.953 tst_iXXX_Copy (EURUSD,H1) iClose: loops=500000000 , ms=46609 2019.07.30 19:43:26.953 tst_iXXX_Copy (EURUSD,H1) 开始测试#3... 2019.07.30 19:44:12.274 tst_iXXX_Copy (EURUSD,H1) Close[i] : loops=500000000 , ms=45156 2019.07.30 19:44:12.274 tst_iXXX_Copy (EURUSD,H1) 开始测试 #4... 2019.07.30 19:44:42.080 tst_iXXX_Copy (EURUSD,H1) CopyRates : loops=500000000 , ms=29656 2019.07.30 19:44:42.080 tst_iXXX_Copy (EURUSD,H1) 结束脚本 附加的文件: tst_iXXX_Copy.mq5 10 kb How do I get 错误、漏洞、问题 Errors, bugs, questions Igor Makanu 2019.07.30 17:53 #79 Renat Akhtyamov: 对这些功能的速度有什么评价--哪一个更快? 他们的工作是一样的,我认为实验是为了实验......。这是最后一次5亿次的测试调用,是的,你可以看到区别,唯一剩下的就是要弄清楚一分钟有多少个刻度(~60),一小时有多少个刻度(~3600),一天有多少个刻度(~86400),以及这23秒将运行5亿次调用...。 5 787天=23秒的利润?如果我们在每个tick 上使用最快的函数,)))))。 我认为,使用方便的东西,不要听任何人的。 Renat Akhtyamov 2019.07.30 18:02 #80 Igor Makanu: 他们的工作是一样的,我认为实验是为了实验......。这是最后一次5亿次的测试调用,是的,你可以看到区别,唯一剩下的就是要弄清楚一分钟有多少个刻度(~60),一小时有多少个刻度(~3600),一天有多少个刻度(~86400),以及这23秒将运行5亿次调用...。 5 787天=23秒的利润?如果我们在每个tick 上使用最快的函数,)))))。 我认为,使用方便的东西,不要听任何人的。 我已经习惯了4件,更紧凑,更容易阅读。 我不能抱怨速度和功能,它是可以的。 ;) 1234567891011121314 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
我不会确切地看 - 我没有时间。我以为有什么 "出格 "的东西--运行它,看看结果。但现在......。是的,而且该脚本不能立即工作,一直挂着,直到你强行关闭PKM的图标。而只有这样,那里的东西才会被印出来。一般来说--由于某种原因,使用宏的时候会有麻烦。
而我的帖子有主题虫子移动的意思?
我不会确切地看 - 我没有时间。我以为有什么 "出格 "的东西--运行它,看看结果。但现在......。是的,而且该脚本不能立即工作,一直挂着,直到你强行关闭PKM的图标。而只有这样,那里的东西才会被印出来。总而言之,宏是一个痛苦的问题。
啊,那只狗来了
你看到我的测试了吗? 还有罗曼。
有436秒的测试价值=7分钟!
;)
ZS: 我告诉过你,淘气的手绊住了它!......脚本不 "开箱 "工作......))))
把我的帖子放在错误主题中是否有意义?
什么虫子?- 在Wine和Debian中写道,他们不能完全加载CPU核心,你的MT是什么操作系统?
啊,那只狗来了!
你看到我的测试了吗? 还有罗曼的。
有436秒的测试价值=7分钟!
;)
ZS:我告诉你,淘气的手绊倒了它!......脚本不 "开箱 "工作......))))
令人毛骨悚然 :)
我们应该多休息...
啊,那只狗来了!
你看到我的测试了吗? 还有罗曼的。
有436秒的测试价值=7分钟!
;)
ZS: 我告诉过你,淘气的手偶然发现了它!......这个脚本并不是 "开箱即用 "的......))))
什么虫子?- 好吧,在Wine和Debian中写道,他们不能完全加载CPU核心,你有MT的哪个操作系统?
当然是在Windows下的MT,但我怎么能说...
在 Debian 上的 VS Code 中,当我测试其他代码的负载时,所有核心都被加载,所以没有必要责怪 Debian。
葡萄酒可能是,或者说,MT没有对它进行优化。因此,它在Wine下是不完整的。
在Wine下有很多linux用户。
啊,那只狗来了!
你看到我的测试了吗? 还有罗曼的。
有436秒的测试价值=7分钟!
;)
ZS:我告诉你,淘气的手刺伤了它!......脚本不 "开箱 "工作......))))
对这些功能的速度有什么评价--哪个更快?
看起来像CopyXXX(),但不是CopyRates()。当同时需要一个以上的数据时 - CopyRates()
很好。第一次测试已经在五分钟内通过,没有调皮的手。其余的甚至在20年内都没有完成。冷却器开始起飞,旁边的咖啡沸腾了......总之,被打倒了......。
嗯,我想你有不想构建成字节的位子......基本上没有更多的选择了!))))
如果这个主题是在版主的注视下,就需要做些什么......我把宏的零件拆了。
Artem,它到底有没有用?
2019.07.30 19:42:16.639 tst_iXXX_Copy (EURUSD,H1) 开始测试#1...
2019.07.30 19:42:40.199 tst_iXXX_Copy (EURUSD,H1) CopyClose : loops=500000000 , ms=23422
2019.07.30 19:42:40.199 tst_iXXX_Copy (EURUSD,H1) 开始测试#2...
2019.07.30 19:43:26.953 tst_iXXX_Copy (EURUSD,H1) iClose: loops=500000000 , ms=46609
2019.07.30 19:43:26.953 tst_iXXX_Copy (EURUSD,H1) 开始测试#3...
2019.07.30 19:44:12.274 tst_iXXX_Copy (EURUSD,H1) Close[i] : loops=500000000 , ms=45156
2019.07.30 19:44:12.274 tst_iXXX_Copy (EURUSD,H1) 开始测试 #4...
2019.07.30 19:44:42.080 tst_iXXX_Copy (EURUSD,H1) CopyRates : loops=500000000 , ms=29656
2019.07.30 19:44:42.080 tst_iXXX_Copy (EURUSD,H1) 结束脚本
对这些功能的速度有什么评价--哪一个更快?
他们的工作是一样的,我认为实验是为了实验......。这是最后一次5亿次的测试调用,是的,你可以看到区别,唯一剩下的就是要弄清楚一分钟有多少个刻度(~60),一小时有多少个刻度(~3600),一天有多少个刻度(~86400),以及这23秒将运行5亿次调用...。
5 787天=23秒的利润?如果我们在每个tick 上使用最快的函数,)))))。
我认为,使用方便的东西,不要听任何人的。
他们的工作是一样的,我认为实验是为了实验......。这是最后一次5亿次的测试调用,是的,你可以看到区别,唯一剩下的就是要弄清楚一分钟有多少个刻度(~60),一小时有多少个刻度(~3600),一天有多少个刻度(~86400),以及这23秒将运行5亿次调用...。
5 787天=23秒的利润?如果我们在每个tick 上使用最快的函数,)))))。
我认为,使用方便的东西,不要听任何人的。
我已经习惯了4件,更紧凑,更容易阅读。
我不能抱怨速度和功能,它是可以的。
;)