Good night . I'm just starting to get a good look at it. It seems to be a clear bug. I cite the code below, if I comment on one line (it is marked) it seems to work, what the problem is - I do not understand. I didn't find anything in the documentation on this subject.
You have not allocated the Raznica array. It is declared but it's not allocated memory, at the same time it is not an indicator buffer (the memory for the buffers is allocated automatically).
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
Good night . I've just started to look into it. It seems to be an obvious bug. I cite the code below, if I comment on one line below (it is marked) then it seems to work - what is the problem? The situation can be avoided by specifying an explicit size for the Raznica[] array. I did not find anything in the documentation on this subject.
There is no bug. You should specify the size for dynamic arrays using the
intArrayResize(
void array[], // массив, переданный по ссылкеint new_size, // новый размер массиваint reserve_size=0// резервное значение размера (избыточное)
);
The function can be applied only to dynamic arrays, but you should bear in mind that dynamic arrays assigned as indicator buffers by the SetIndexBuffer() function cannot be resized. For indicator buffers, all resizing operations are performed by the executing subsystem of the terminal.
I got it, thanks for the smart ass-whupping. Another question, if an array is resized, what happens to the data? And also changing indexing direction as in timeseries is possible only for dynamic array?
ivandurak: I got it, thanks for the smart ass-whupping. Another question, if the array is resized, what will happen to the data? And it is possible to change an indexing direction as in timeseries only at a dynamic array?
The data will remain in place, if you reduce and then restore, it is uncertain (the result is undefined).
By the way indexing direction changes only index reference, the array is distributed in the same direction.
That is, data cannot be shifted by re-partitioning the array.
XML error in "Table" Cause: Erroneous value. File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml Group: Cell Tag: Data Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table". Cause: Erroneous value File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml Group: Cell Tag: Data Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table". Cause: Erroneous value File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml Group: Cell Tag: Data Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table". Cause: Erroneous value File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml Group: Cell Tag: Data Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table". Cause: Erroneous value File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml Group: Cell Tag: Data Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
Good night . I'm just starting to get a good look at it. It seems to be a clear bug. I cite the code below, if I comment on one line (it is marked) it seems to work, what the problem is - I do not understand. I didn't find anything in the documentation on this subject.
You have not allocated the Raznica array. It is declared but it's not allocated memory, at the same time it is not an indicator buffer (the memory for the buffers is allocated automatically).
Here:
you tell the compiler that the arrays BaseMaBuffer and MaForMaBuffer are indicator buffers. The other arrays should be allocated through
ArrayResize()Good night . I've just started to look into it. It seems to be an obvious bug. I cite the code below, if I comment on one line below (it is marked) then it seems to work - what is the problem? The situation can be avoided by specifying an explicit size for the Raznica[] array. I did not find anything in the documentation on this subject.
There is no bug. You should specify the size for dynamic arrays using the
The function can be applied only to dynamic arrays, but you should bear in mind that dynamic arrays assigned as indicator buffers by the SetIndexBuffer() function cannot be resized. For indicator buffers, all resizing operations are performed by the executing subsystem of the terminal.
I got it, thanks for the smart ass-whupping. Another question, if the array is resized, what will happen to the data? And it is possible to change an indexing direction as in timeseries only at a dynamic array?
The data will remain in place, if you reduce and then restore, it is uncertain (the result is undefined).
By the way indexing direction changes only index reference, the array is distributed in the same direction.
That is, data cannot be shifted by re-partitioning the array.
This has already been reported, but the tester keeps resetting the user-defined initial deposit value by $10,000.
The available set of initial values is quite crooked. Would add at least $1000 to it.
build 523
Win XP
After optimisation, the results file cannot be opened,
Build 527 + Office 2007
The error log contains the following data
XML error in "Table"
Cause: Erroneous value.
File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml
Group: Cell
Tag: Data
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table".
Cause: Erroneous value
File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml
Group: Cell
Tag: Data
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table".
Cause: Erroneous value
File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml
Group: Cell
Tag: Data
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table".
Cause: Erroneous value
File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml
Group: Cell
Tag: Data
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
XML error in "Table".
Cause: Erroneous value
File: C:\Users\Dragon\Desktop\ReportOptimizer-957640.xml
Group: Cell
Tag: Data
Значение: 179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.0000
etc.
I think you are getting an empty value.
You can read
https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants
EMPTY_VALUE
Empty value in indicator buffer
DBL_MAX
DBL_MAX
Maximum value that can be represented by double type
1.7976931348623158e+308
Was it like this, or did something break... Anyway, it's allowed to freely access the protected method in non-descendants
I think you are getting an empty value.
You can read
https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants
EMPTY_VALUE
Empty value in indicator buffer
DBL_MAX
DBL_MAX
Maximum value that can be represented by double type
1.7976931348623158e+308