Как получить размер текста в свече? - страница 3

 
jaffer wilson:

Я хочу отображать текст при увеличении или уменьшении масштаба диаграммы. Я знаю, что есть 5 уровней Zoom. Я хочу, чтобы текст выглядел меньше и пропорционально, когда его масштаб равен 0, а остальное следует.

И у меня есть два разных текста бок о бок. Вот почему у меня проблемы.

Установите нужный Вам размер при одном из масштабов, а при изменении масштаба пропорционально изменяйте размер.

А можно еще проще: для каждого из пяти масштабов определить нужный размер, записать эти размеры в массив и подставлять для каждого из масштабов.

 
jaffer wilson:

Я хочу знать, как получить размер текста, нарисованного на терминале, в единицах свечей.

Я знаю функцию TextGetSize (). Но это дает результат в пикселях.

Пожалуйста, предложите мне, что я могу сделать

Hi! 

Вот это поможет 

//подсчитывает количество пунктов цены в одном пикселе
double GetPointsInPixel(long eChartId, int eWindow)
  {
   double eMin=EMPTY_VALUE;
   ChartGetDouble(eChartId,CHART_PRICE_MIN,eWindow,eMin);
   if(eMin==EMPTY_VALUE)
      return(0);
   double eMax=EMPTY_VALUE;
   ChartGetDouble(eChartId,CHART_PRICE_MAX,eWindow,eMax);
   if(eMax==EMPTY_VALUE)
      return(0);
   long ePixels=-1;
   ChartGetInteger(eChartId,CHART_HEIGHT_IN_PIXELS,eWindow,ePixels);
   if(ePixels<=0)
      return(0);
   return(double(eMax-eMin)/ePixels);
  }
  
 
Nikolai Karetnikov:

Hi! 

Вот это поможет 

Даа??? И что-это никто до такого не додумался? Может потому, что речь не о высоте, а о ширине??? С вашими-то знаниями…………………

 
Alexey Viktorov:

Даа??? И что-это никто до такого не додумался? Может потому, что речь не о высоте, а о ширине??? С вашими-то знаниями…………………

Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.

 
Ihor Herasko:

Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.

Ай спасибо. Вот до этого трудно додуматься с моими знаниями. А я-то думаю что это похоже так на флаги… а оно и есть флаги. И никаких массивов не надо.

Причина обращения: