2015.03.2720:24:56.568 (GAZR-6.15,M1) OnCalculate: Не скопированы тийминги по символу - GAZR-9.152015.03.2720:25:34.092 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:25:34.100 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:25:34.326 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:25:34.326 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:34:40.098 (SILV-6.15,H1) OnCalculate: Не получены бары по символу - SILV-9.152015.03.2720:34:40.126 (SILV-6.15,H1) OnCalculate: Не получены бары по символу - SILV-9.152015.03.2720:37:21.475 (RTS-9.15,H1) OnCalculate: Не получены бары по символу - RTS-12.152015.03.2720:37:21.491 (RTS-9.15,H1) OnCalculate: Не получены бары по символу - RTS-12.152015.03.2720:37:41.563 (RTS-9.15,H1) OnCalculate: Не получены бары по символу - RTS-12.152015.03.2720:40:41.051 (SILV-6.15,H1) OnCalculate: Не получены бары по символу - SILV-9.152015.03.2720:40:56.579 (RTS-9.15,H1) OnCalculate: Не получены бары по символу - RTS-12.152015.03.2720:40:56.595 (RTS-9.15,H1) OnCalculate: Не получены бары по символу - RTS-12.152015.03.2720:40:58.886 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:40:58.896 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.152015.03.2720:40:59.436 (SILV-6.15,H1) OnCalculate: Не получены бары по символу - SILV-9.152015.03.2720:41:00.892 (VTBR-6.15,H1) OnCalculate: Не получены бары по символу - VTBR-9.15
你也是我们的 "读者"...问题。
为什么要 在数据准备好的情况下 建立时间序列 ( CopyTime(symbol,period,first_date+PeriodSeconds(period),1,times))?
他们还没有准备好。它们可能在磁盘上。甚至有可能它们与服务器的历史记录同步(如果图表是开放的或其他程序最近请求它们)。
但这并不意味着职能部门就会相信它。你需要从磁盘上查询数据,在内存中建立一个缓存,只有这样, 你才能知道历史是存在的,而且是从这个日期开始的。
但是,无论是我的这个答案,还是开发者的反复回答,还是工作代码,还是文档,都无法帮助你。这个函数没有按照你的想法工作,这里有一个故障。
更仔细地阅读文件,而不是有选择地阅读。历史数据在磁盘上的存在对终端来说不一定意味着 "绝对存在"。在这种情况下(当从指标访问时),这些函数只对内存中的时间序列缓存起作用。这意味着执行同步内存访问,如果那里没有准备好的时间序列,将不返回日期SERIES_FIRSTDATE (数组中的第一个元素)。但当然,该请求启动了准备工作,将时间序列加载到内存中。
SERIES_TERMINAL_FIRSTDATE 请求与数据库初始化和与服务器同步有关,所以第一次调用无论如何不会立即工作。
原则上,使用SERIES_SERVER_FIRSTDATE 检查获得所需历史记录的能力。当然,你可以指望历史请求的X次迭代,但如果终端确认在 SERIES_SERVER_FIRSTDATE 中存在历史 ,那么时间序列数据的可用性只是一个时间问题(m1基地与服务器的同步和时间序列的生成)。
我明白了,但告诉我,为什么不能按照我上面描述的方式来做呢?
它不会以任何方式影响信息处理的速度。
如果有任何关于仪器的信息--记录其首次出现的日期,并将其存储在内存中--8个字节!
你甚至可以不存储它,但当你做SymbolSelect()时,你把它放到内存中。
当我们用SeriesInfoInteger (SERIES_TERMINAL_FIRSTDATE)函数处理它时,我们得到了。
A -1 - 无数据
Б.0 - 没有数据,但尚未准备好
В.第一次提供信息的日期
然后,一切都会变得清晰和透明。
-1 - 进入服务器
0 - 等待下一次迭代,以检查和/或建立时间序列
> 0 建立时间序列
从你的参考资料中,我了解到你几乎是这样做的,结果不是。
显然,一个程序员开始写,另一个人完成了
你的实施对FOREX来说是好的,但对FORTS来说是非常不方便的。
对于FORTS来说,报价可能在很长一段时间内不会出现,时间序列是从平台上下载的。
而你必须再次重复整个过程,而且你必须到服务器 上去!
你的实施对FOREX来说是好的,但对FORTS来说是非常不方便的。
在FORTS上,报价可能在很长一段时间内不会出现,时间序列从paiachi上卸下来。
而你必须重复整个获取数据的过程,并在服务器 上登录!
米卡拉斯,我仍然对你有信心。你一定会读到这里所说的所有内容。
FORTS 请帮助。
多币种指标 并不那么简单。
首先,检查仪器的可用性。
然后打开所有使用的工具的图表(一个不可见的图表对象就够了),这样历史记录就会正常加载。
然后才尝试用CheckLoadHistory加载历史。
但这可能也不够。
顺便说一句,我也不喜欢多货币分析和指标构建的这种情况。如何实施。
这是一个手鼓舞,在你开始计算什么之前,你需要做一堆检查...我没有在任何其他平台上看到这一点。从用户的角度来看,那里的一切都更简单。
许多人,甚至那些学习过MT4编程的人都害怕MT5编程的复杂性,这已经不是秘密了。
如果我是开发者,我会努力使我们的生活更轻松。将所有这些手鼓组合成一个命令,如
GatData(RTS,1000)
和终端解决这个任务,进行检查,如果有必要,打开图表,交换历史,更新,等等。
而在其执行后,我有实际的数据可以使用。
Z.I.我记得有一句格言:"家庭主妇的终端"......
米卡拉斯,我仍然对你有信心。你一定会读到这里所说的一切。
康帕斯特!
(任何进一步的事情 - 无意冒犯!)
你觉得我在获取坦桑雷的信息的模式上有什么不好的地方?
因为它不是来自你!?
我正试图 "打通 "开发人员,以使我们所有人 都能更轻松地工作。
"生活",但总有像你这样的人是最聪明的!
因此,它将是这样的!
顺便说一下,我也不喜欢这种多货币分析和指标构建的情况。如何实施。
这是一个手鼓舞,在你开始计算什么之前,你需要做一堆检查...我没有在任何其他平台上看到这一点。从用户的角度来看,那里的一切都更简单。
许多人,甚至那些学习过MT4编程的人都害怕MT5编程的复杂性,这已经不是秘密了。
如果我是开发者,我会努力使我们的生活更轻松。将所有这些手鼓组合成一个命令,如
GatData(RTS,1000)
和终端解决这个任务,进行检查,如果有必要,打开图表,交换历史,更新,等等。
而在其执行后,我有实际的数据可以使用。
请记住这个座右铭:"家庭主妇的终端"...
你好!
一个普遍而简单的方法会使人们无法编写出高效的程序。你不能让一个DyData函数拥有所有的检查 - 它将是一个拖累,在95%的情况下对用户来说是不必要的。
在指标的情况下--它以其图表数据尽可能快地工作。它就是为此目的而设计的。如果我们让它 "为任何情况做好准备",一个简单的MA会像一个复杂的怪物一样放慢速度。
我不是在为开发商辩护,决不是。我也不喜欢很多东西。
但我想做的是建设性的工作,我明白我不知道终端的所有内幕。
米卡拉斯在某些方面是对的--闭门造车(不看书),不断地喊着 "不舒服!",讨论就会变得流行,并被开发者看到。而且他们也做了一些事情(他们已经在他的提示中修复了一些错误)。
所以,我可能只是白白的抱怨了 )
康帕斯特!
(除此以外的任何事情,都没有冒犯的意思!)
你觉得我在tamserials上获取信息的模式有什么不好的地方?
因为这不是你给的!!!?
我正试图 "打通 "开发人员,以使我们所有人 都能更轻松地工作。
"生活",但总有像你这样的人是最聪明的!
因此,它将是这样的!
我已经得到了它。
任务只是写一个指标。而事实证明,我们必须改进语言。
如果是那样的话,我不会给出任何建议)。
我已经得到了它。
只是,任务被提出来了--写一个指标。但事实证明,有必要改进语言。
如果是那样的话,我不会给出任何建议)。
安德烈!
你花了更多的时间在这里写你的帖子。
你可以在这段时间为 "我的 "索赔(为FORTS)写一个指标。
而你自己也看到了我说的那些 "拐杖"!
安德烈!
你花了更多时间在这里发帖。
在这段时间里,你可以为 "我 "的牢骚写一个指标(为FORTS)。
而且你已经亲眼看到了我所说的那些 "拐杖"!
我写了,这就是为什么我知道我在说什么。
你现在也会得到你的指标,如果目标是得到一个指标,而不是解决语言问题。
我写过,这就是为什么我知道我在说什么。
你现在也会得到你的指标,如果目的是为了得到指标,而不是为了解决语言问题。
我写了一个指标,但不可能使用它。
我无法使用它!无论我怎么尝试,我到处都有问题。
我有OrderSendAsync() - 没有跟踪机制,虽然有ORDER_ID
有一个全局变量--当我关闭终端时,它自动复位...
在订单执行中存在 "难以理解的 "延迟--完成了一半,下一个就会出现。
对江湖术士的指责....
以此类推...
我提出这些问题是因为这些问题和错误确实存在。
(我不是在编造它们!)
我在BUREAU上交易是为了真正的钱,而不是为了搞笑
因此,对我和所有从事交易的人来说,交易功能是永恒的。
存档,交易功能是FREQUENT。
MT5的架构是超级的,我非常喜欢它,但所有的东西都必须正常工作,而且要有足够的时间。
对数据的访问应该是快速和容易的。
И...我们今天就到此为止吧。