mql5语言的特点、微妙之处以及技巧 - 页 80

 
维塔利-穆齐琴科

做了,没有显示任何废话。令人困惑的是,移位可能应该是-720

P.S.再次,我知道转变+2小时 - 写在网站上,但机器人不知道。

没有必要相信这些网站。实际班次为3小时。

需要的结果是:"查找当前 时间TimeServer()" 我没有弄清楚,也许我做错了什么。

// https://www.mql5.com/ru/docs/dateandtime/timetradeserver
datetime TimeTradeServer()
{
  return(TimeGMT() - TimeServerGMTOffset());
}
 
fxsaber:

你不需要相信那些网站。实际班次为3小时。

检查了4个终端,是正确的。


谢谢你的时间!

 

关于交易、自动交易系统和测试交易策略的论坛

讨论文章 "跨平台专家顾问:信号"

fxsaber, 2018.04.03 06:26

MQLInfoInteger(MQL_TESTER) || MQLInfoInteger(MQL_OPTIMIZATION) == MQLInfoInteger(MQL_TESTER)
 

关于交易、自动交易系统和策略测试的论坛

图书馆: 符号

fxsaber, 2018.04.06 08:20

如果你需要改变自定义符号的一些属性,在某些情况下,这需要在导入报价之前完成。

所以我强烈建议先设置所有的符号属性,然后才进行导入。

例如,如果你想设置SYMBOL_TRADE_TICK_VALUE 和SYMBOL_TRADE_TICK_SIZE,你应该在导入ticks/bars之前完成。

 
// Копирование всех баров без обращения к торговому серверу
CopyRates(Symb, PERIOD_M1, 0, (int)SeriesInfoInteger(Symb, PERIOD_M1, SERIES_BARS_COUNT), Rates);
 
fxsaber:

大数组很好,但请记住,大小确实很重要

 
尼古拉-森科

大阵列当然是件好事,但你必须牢记这一点

这与它没有关系。

 
fxsaber:

这与它没有关系。

谁知道呢...
毕竟,MqlRates的 一个元素重达60字节。

当然,如果你只用一个10000个元素的数组,也是可以的。

但是,如果你得到一堆由合成字符组成的这样的数组,并且每个数组的大小为100000,你将面临数组项目访问速度的急剧下降(超过一个数量级)。

盯着数组大小的优化不会有任何坏处,这也是一种好的风格。这就是全部。我只是说这是要记住的事情。

 
尼古拉-森科

你怎么知道...
一个MqlRates 元素的重量为60字节。

当然,如果你只用一个10000个元素的数组,也是可以的。

但是,如果你有一堆由合成字符组成的这样的数组,而且每个数组有100000个大小,那么预计操作速度会急剧下降(超过一个数量级)。

关注数组大小的优化也无妨,这也是一种好的风格。这就是全部。我只是说你应该牢记这一点。

那里的例子没有以任何方式提及数组大小。这件事不是为了从交易服务器调用历史请求,从而尽快获得终端中已经存在的条形图。

 
fxsaber:

这个例子没有以任何方式提到数组的大小。这是关于不调用交易服务器的历史请求,并相应地尽快获得已经在终端的条形图。

是的,我不知道那是怎么回事。

我刚刚看到你的这行代码,它可能会创建一个大于CPU缓存大小的数组。