CopyTicksRange()在MQL5中不能正确工作。 - 页 6 1234567 新评论 RusPro 2021.09.20 10:59 #51 Alexey Viktorov #:在两年内,你可以理解,如果一个功能不能按照你想要的方式工作,而开发者知道这个问题却不去修复它,那就不叫错误......竖起大拇指,酷爱教育的程序员......... 因此,如果你在三年内不修复你所销售的指标中的错误,即使你知道它,它也不叫错误!这是不可能的。 很好的方法,应该很能激励公众购买你的手工艺品。 prostotrader 2021.09.20 14:52 #52 RusPro #:int_max = 2147483647 事实上,你已经立即抢走了一块INT_MAX* sizeof(double)的内存,然后像静态一样工作你可能已经写了double d[INT_MAX]; - 对你来说,它将与唯一的区别是ArraySize()函数的操作,而你将一次获得整个卷轴的内存。 你不应该从字面上理解所有的东西,这只是一个例子 尽可能多地 "吸纳 "你可能需要的东西! RusPro 2021.09.20 15:14 #53 prostotrader #:你不必按字面意思理解,这只是一个例子!"。你可能需要多少就 "抢 "多少! 我没有任何冒犯的意思,对不起。只是在这个例子中,已经抓住了最大的可能:)) fxsaber 2021.09.20 15:40 #54 RusPro #:以微秒为单位的结果。 我的表格中没有单元格显示出大于2的结果。 RusPro 2021.09.20 22:27 #55 fxsaber #:我还没有发现表格中的任何一个单元格显示出大于2的结果。 你改变了代码吗? 把OnCalculate()中的所有代码移到OnInit()中,这样它只运行一次。 我只是在输出中没有刻度,OnCalculate在启动时只被调用一次 fxsaber 2021.09.21 08:38 #56 RusPro #:将所有代码从OnCalculate()移到OnInit(),这样它就只运行一次 这就是它的作用。有趣的是,在OnCalculate中一切都变得很好。编译器似乎能很好地处理重复的工作。 对于CopyTicks,我不明白使用静态的目的。 RusPro 2021.09.22 10:11 #57 MetaQuotes #: 已纠正,今天将进入测试阶段。 今天是什么日子?) fxsaber 2021.09.22 10:29 #58 RusPro #:今天是什么日子?) 只更新terminal64.exe 到b3042。暂时不要更新MetaEditor64.exe。 MetaQuotes 2021.09.22 11:18 #59 RusPro #:今天是什么日子?) 测试版每天都在MetaQuotes-Demo上发布,但在通过帮助菜单检查时并不总是可用,因为我们优先考虑在我们的演示服务器上进行测试。 Sergei Patrushev 2022.03.13 09:00 #60 int m1,min1; datetime start,end; MqlTick arr_ticks[]; MqlDateTime now1; void OnTick() { TimeTradeServer(now1); if(min1 != now1.min) { if(m1==0){start=TimeTradeServer();} m1+=1; if(m1==4) { end = TimeTradeServer(); ZeroMemory(arr_ticks); int len1 = CopyTicksRange(_Symbol,arr_ticks,COPY_TICKS_INFO,start,end); Print(__FUNCTION__," start: ", start," end: ",end," len: ",len1); ArrayPrint(arr_ticks); m1=0; }//old 3 min min1 = now1.min; }//New Minute }//end OnTick CopyTicksRange() 的描述指出,该操作者以毫秒为单位计算时间。 我的想法是在一个数组中收集几分钟的Ticks,但由于某些原因,它是有效的。 1234567 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
在两年内,你可以理解,如果一个功能不能按照你想要的方式工作,而开发者知道这个问题却不去修复它,那就不叫错误......
竖起大拇指,酷爱教育的程序员.........
因此,如果你在三年内不修复你所销售的指标中的错误,即使你知道它,它也不叫错误!这是不可能的。
很好的方法,应该很能激励公众购买你的手工艺品。
int_max = 2147483647
事实上,你已经立即抢走了一块INT_MAX* sizeof(double)的内存,然后像静态一样工作
你可能已经写了
double d[INT_MAX]; - 对你来说,它将与
唯一的区别是ArraySize()函数的操作,而你将一次获得整个卷轴的内存。
你不应该从字面上理解所有的东西,这只是一个例子
尽可能多地 "吸纳 "你可能需要的东西!
你不必按字面意思理解,这只是一个例子!"。
你可能需要多少就 "抢 "多少!
我没有任何冒犯的意思,对不起。只是在这个例子中,已经抓住了最大的可能:))
以微秒为单位的结果。
我的表格中没有单元格显示出大于2的结果。
我还没有发现表格中的任何一个单元格显示出大于2的结果。
你改变了代码吗?
把OnCalculate()中的所有代码移到OnInit()中,这样它只运行一次。 我只是在输出中没有刻度,OnCalculate在启动时只被调用一次
将所有代码从OnCalculate()移到OnInit(),这样它就只运行一次
这就是它的作用。有趣的是,在OnCalculate中一切都变得很好。编译器似乎能很好地处理重复的工作。
对于CopyTicks,我不明白使用静态的目的。
已纠正,今天将进入测试阶段。
今天是什么日子?)
今天是什么日子?)
只更新terminal64.exe 到b3042。暂时不要更新MetaEditor64.exe。
今天是什么日子?)
测试版每天都在MetaQuotes-Demo上发布,但在通过帮助菜单检查时并不总是可用,因为我们优先考虑在我们的演示服务器上进行测试。
CopyTicksRange() 的描述指出,该操作者以毫秒为单位计算时间。
我的想法是在一个数组中收集几分钟的Ticks,但由于某些原因,它是有效的。