Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 951

 
borilunad:

Тогда она будет не нормализована и может вызвать ошибку! А почему Вас не устраивает более точная нормализованная цена?

Не знаю, выглядела как ошибка :)) Но если она более точна, тогда, конечно, лучше пользоваться этой, более точной ценой. Спасибо, помогли!
 
Есть функция WindowIsVisible(), показывающая состояние подокна - видимое или нет.
Как можно сделать подокно индикатора невидимым, желательно из кода? (если это вообще возможно)
 
void OnStart()
  {
string s = "";
double p = 0;
         p = Point;
         p = NormalizeDouble(p, Digits);
         s = DoubleToString (p);
         Alert(s);  
  }

 

Хотел сделать так, чтобы Алерт показывал нормализованную стоимость пункта. Но вот возвращает 0.00001000, вроде должен бы нормализоваться, после функции NormalizeDouble?

 
JoinDoe:

 

Хотел сделать так, чтобы Алерт показывал нормализованную стоимость пункта. Но вот возвращает 0.00001000, вроде должен бы нормализоваться, после функции NormalizeDouble?

DoubleToStr() поможет
 
Vinin:
DoubleToStr() поможет
Спасибо, помогло! А что делать, если нужно при помощи Point-а сделать математические операции? При выводе его Алертом выводится 16-ричная цифра 1е-005.0. После нормализации - 0.00001000. Для отображения нужно перевести в строковый вид, но со строкой же не сделаешь арифметические операции. Как бы сделать так, чтобы отсечь лишние 3 нуля в конце, и при этом иметь возможность совершения математических операций?
 
JoinDoe:
Спасибо, помогло! А что делать, если нужно при помощи Point-а сделать математические операции? При выводе его Алертом выводится 16-ричная цифра 1е-005.0. После нормализации - 0.00001000. Для отображения нужно перевести в строковый вид, но со строкой же не сделаешь арифметические операции. Как бы сделать так, чтобы отсечь лишние 3 нуля в конце, и при этом иметь возможность совершения математических операций?

И чем Вас мешают лишние нули?

Хранение и отображение чисел - немного разные вещи 

 
JoinDoe:
Спасибо, помогло! А что делать, если нужно при помощи Point-а сделать математические операции? При выводе его Алертом выводится 16-ричная цифра 1е-005.0. После нормализации - 0.00001000. Для отображения нужно перевести в строковый вид, но со строкой же не сделаешь арифметические операции. Как бы сделать так, чтобы отсечь лишние 3 нуля в конце, и при этом иметь возможность совершения математических операций?
Да ничего с ним делать не нужно. Используйте как есть. 1e-005 - это экспоненциальная форма записи. Само число не меняется от того в каком виде вы его отображаете.
 
В коде есть индикаторный буфер при помощи которого на графике рисуется некоторая линия.
По прошествии N-баров необходимость в этой линии отпадает, но индикатор продолжает потреблять память.

Возник вопрос - если просто обнулить значения буфера для баров, выходящих за пределы {0-N} -
приведет ли это к высвобождению памяти?

 
atztek:
В коде есть индикаторный буфер при помощи которого на графике рисуется некоторая линия.
По прошествии N-баров необходимость в этой линии отпадает, но индикатор продолжает потреблять память.

Возник вопрос - если просто обнулить значения буфера для баров, выходящих за пределы {0-N} -
приведет ли это к высвобождению памяти?

Нет
 
Vinin:
Нет
Правильно ли я понимаю, единственный способ избежать перерасхода памяти индикаторными буферами -
изначально выделить для них некоторый диапазон (например от 0 до 2000) и не превышать его?