Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
//--------------------------------------if (ArrayGetAsSeries(time)!=true)
ArraySetAsSeries(time,true);
if (ArrayGetAsSeries(open)!=true)
ArraySetAsSeries(open,true);
if (ArrayGetAsSeries(high)!=true)
ArraySetAsSeries(high,true);
if (ArrayGetAsSeries(low)!=true)
ArraySetAsSeries(low,true);
if (ArrayGetAsSeries(close)!=true)
ArraySetAsSeries(close,true);
//--------------------------------------
你们太慢了 :)瀑布不是假的,但一切都很好。你找错地方了。))))有一个正确的功能。
我想弄清楚为什么ArrayIsSeries(High)总是假的。
这个函数的帮助说(https://www.mql5.com/ru/docs/array/arrayisseries)
返回值
如果被检查的数组是一个时间序列数组,返回真,否则返回假。作为参数传递给OnCalculate() 的数组应该检查数组元素被ArrayGetAsSeries() 访问的顺序。
你声明的数组不是一个时间序列,在任何情况下都不能成为一个时间序列。时间序列是运行时间定义的数组,例如,在OnCalculate() 函数中。
这个函数的帮助说(https://www.mql5.com/ru/docs/array/arrayisseries)
你声明的数组不是一个时间序列,在任何情况下都不能成为一个时间序列。时间序列是运行时预定义的数组,例如在OnCalculate() 函数中。
ArrayGetAsSeries不能按预期工作。
时间序列是运行时预定义的数组,例如在OnCalculate() 中。
这一点在帮助中写明了什么。
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
这一点在帮助中写明了什么。
运行这样一个指标,你就会看到自己的情况。
ArrayGetAsSeries 函数只是改变了索引方向,但并没有把数组变成一个时间序列。你想用这个函数得到什么?
这个函数检查的是 方向,而不是变化。
1) 没有初始化
2) 有了初始化
3) 上面的代码,只是用ArrayGetAsSeries 函数获得数组的索引方向
在服务台,我弄错了功能名称,只是运行这样一个指标,你就会看到自己的情况。
这是可以理解的。我的问题不是关于错误,一切都按帮助中写的那样工作。
Примечание
Для проверки массива на принадлежность к таймсерии следует применять функцию ArrayIsSeries(). Массивы ценовых данных, переданных в качестве входных параметров в функцию OnCalculate(), не обязательно имеют направление индексации как у таймсерий. Нужное направление индексации можно установить функцией ArraySetAsSeries().
这个问题的出现是因为帮助中强调的颜色和黑体与你所说的不一致。
罗什。
时间序列是运行时预定义的数组,例如在OnCalculate() 中。
这就是为什么我在OnCalculate()中这样做。
这个函数的帮助说(https://www.mql5.com/ru/docs/array/arrayisseries)
你声明的数组不是一个时间序列,在任何情况下都不能成为一个时间序列。时间序列是预定义的数组,例如在OnCalculate() 函数中。
该检查在指标中也不起作用。
另外,prev_calculated 不再起作用了,它始终是0。
是的,我认为有了这些功能,他们已经把自己整理好了。
但作为一个愿望,这样我就不会忘记--在编辑器中,当提示输入三个或多少个字符后,当你点击向上站在列表的第一行是不会从列表中删除。只是以前已经像在工作室一样,我想如果不以工作室的方式做,很多人会 "恼火"。IMHO。