Добрый день.
Очередной “веселый” глюк с одной из базовых функций.
Загоняем в динамический массив значения индикатора. Подготавливаю к выводу в виде строки. На выходе почему-то получаю обнуление значений.
ArrayResize(ADX_DI_plusBuffer,cnt); CopyBuffer(ADX_handle, 1, start_time, cnt, ADX_DI_plusBuffer); double ttt=1.1234567890; string sss1,sss2,sss3; for(int i=0;i<cnt;i++) ="" {="" sss1="<span" class="functions">DoubleToString(ttt,6); sss2=DoubleToString(ADX_DI_plusBuffer[20],6); ttt=ADX_DI_plusBuffer[20]; sss3=DoubleToString(ttt,6); }</cnt;i++)>
Тут ничего сложного. Ресайз динамического массива, объявленного ранее, копирую данные индикатора.
Создаю переменную типа double и присваиваю ей какое-то добланутое значение. Создаю три переменные типа string.
sss1 – нормально получает результат преобразования переменной ttt в string.
ss2 – должно получить значение не нулевого элемента массива с числом, но получает нули.
sss3 – думаю, может, проблема в самом массиве.. Предварительно присваиваем переменной ttt значение элемента массива и потом делаю DoubleToString. Удивительно, но снова вижу нули.
И от, что вижу в дебагере
Самое удивительное, что если заносить в ячейку массива какое-то введенное значение в ручном режиме, то значение потом нормально конвертируется.