022:52:04.765 Custom indicator Test\test EURUSD.z,M1: loaded successfully
022:52:04.795 test EURUSD.z,M1: initialized
022:52:04.795 test EURUSD.z,M1: rates_total = 75183022:52:11.902 test EURUSD.z,M1: rates_total = 75184022:52:28.712 test EURUSD.z,M1: uninit reason 9022:52:28.712 test EURUSD.z,M1: OnDeinit сработал 75184022:52:28.832 Custom indicator test EURUSD.z,M1: removed
022:57:10.366 Custom indicator Test\test EURUSD.z,M1: loaded successfully
022:57:10.396 test EURUSD.z,M1: initialized
022:57:10.396 test EURUSD.z,M1: rates_total = 75184022:57:14.972 test EURUSD.z,M1: rates_total = 75185022:57:59.167 test EURUSD.z,M1: rates_total = 75190
// Локальное время наверное отстаёт от серверного на несколько секунд. На сервере было уже 58 минут.
022:58:34.237 test EURUSD.z,M1: uninit reason 1022:58:34.237 test EURUSD.z,M1: OnDeinit сработал 75190022:58:34.247 Custom indicator test EURUSD.z,M1: removed
开发人员,你在某处有一个错误。
请看关闭终端后的评论截图,1分钟后再打开它。
初始化元素的数量,并且缓冲区的第一、第二、第三和第四元素是空的。
指示器只对第0个缓冲区进行计数。那么,为什么是2支蜡烛?
开发人员,你在某处有一个错误。
请看关闭终端后的评论截图,1分钟后再打开它。
初始化元素的数量,并且缓冲区的第一、第二、第三和第四元素是空的。
指示器只对第0个缓冲区进行计数。那么,为什么是2支蜡烛?
因为当你分析一个新的小节时,你不检查小节的数量,而只限于检查时间。当你在操作过程中启动终端或中断与服务器的连接时,在缺失的(到完整的历史)条形图到达之前会出现一个勾。在这个刻度线上,一个新的蜡烛被创造出来,但是它和终端的历史记录之间有一个缺口(缺失的历史记录),这个历史记录将从服务器下载并插入到系统中,由于你不分析条数,你会认为在接下来的计算中没有新的条数,这时第二个蜡烛就出现了。打开一个新的酒吧后,它将消失。
在deinit中,终端关闭 时发生归零,这并不重要?
Vasily,运行一个测试指标,打印出条数。
这是它在日志中打印的内容。
也许这将告诉你问题来自哪里......
请向开发商询问一个简单的答案。
当终端关闭时,DeInit()函数是否在附于图表的程序中执行?
严格说来,不是。
OnDeinit被执行。DeInit只有在你从OnDeinit中明确调用它时才会被执行。
如果你指的是旧的deinit函数,还要记住,函数名是区分大小写的。也就是说,deInit是一个未知的函数,deinit是一个关于去初始化的标准入口点(如OnDeinit)。
在deinit中,归零是在终端关闭时进行的,这并不重要?
谁在乎呢?当你关闭终端时,这些缓冲区就不再需要了,因为当程序被卸载时,它们将立即被释放,这在OnDeinit之后立即发生。
试着只改变时间框架。OnDeinit会起作用,缓冲区会保留(因为在这种情况下程序没有被卸载),但没有人保证它们的内容来自 "过去的生活"
终于读到了文件!https://docs.mql4.com/ru/runtime/running 和https://docs.mql4.com/ru/runtime/event_fire#deinit
谁在乎呢?当终端关闭时,不再需要这些缓冲区,因为当程序被卸载时,它们将立即被释放,这在OnDeinit之后立即发生。
试着只改变时间框架。OnDeinit会起作用,缓冲区会保留(因为在这种情况下程序没有被卸载),但没有人保证它们的内容来自 "前世"。
终于读到了文件!https://docs.mql4.com/ru/runtime/running 和https://docs.mql4.com/ru/runtime/event_fire#deinit
那么在我的情况下,当图形被重新打开时,缓冲区被分叉了?
你没有缓冲区分叉的问题。
这就是你自己填充缓冲区的方式。第一次,当你画的时候;第二次,当你得到一部分数据的时候。两次都是用相同的Time[0]值操作。
你不是在进行缓冲区分割。
这就是你自己填补缓冲区的方法。第一次是在渲染时,第二次是在数据到达时。两次都是用相同的Time[0]值操作。
好的。
请纠正英语的帮助,就这样了。
另外,英文帮助说ArrayInitialize 没有返回任何东西。