Я хочу отображать текст при увеличении или уменьшении масштаба диаграммы. Я знаю, что есть 5 уровней Zoom. Я хочу, чтобы текст выглядел меньше и пропорционально, когда его масштаб равен 0, а остальное следует.
И у меня есть два разных текста бок о бок. Вот почему у меня проблемы.
Установите нужный Вам размер при одном из масштабов, а при изменении масштаба пропорционально изменяйте размер.
А можно еще проще: для каждого из пяти масштабов определить нужный размер, записать эти размеры в массив и подставлять для каждого из масштабов.
Я хочу знать, как получить размер текста, нарисованного на терминале, в единицах свечей.
Я знаю функцию 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);
}
Даа??? И что-это никто до такого не додумался? Может потому, что речь не о высоте, а о ширине??? С вашими-то знаниями…………………
Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.
Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.
Ай спасибо. Вот до этого трудно додуматься с моими знаниями. А я-то думаю что это похоже так на флаги… а оно и есть флаги. И никаких массивов не надо.
Я хочу отображать текст при увеличении или уменьшении масштаба диаграммы. Я знаю, что есть 5 уровней Zoom. Я хочу, чтобы текст выглядел меньше и пропорционально, когда его масштаб равен 0, а остальное следует.
И у меня есть два разных текста бок о бок. Вот почему у меня проблемы.
Установите нужный Вам размер при одном из масштабов, а при изменении масштаба пропорционально изменяйте размер.
А можно еще проще: для каждого из пяти масштабов определить нужный размер, записать эти размеры в массив и подставлять для каждого из масштабов.
Я хочу знать, как получить размер текста, нарисованного на терминале, в единицах свечей.
Я знаю функцию TextGetSize (). Но это дает результат в пикселях.
Пожалуйста, предложите мне, что я могу сделать
Hi!
Вот это поможет
Hi!
Вот это поможет
Даа??? И что-это никто до такого не додумался? Может потому, что речь не о высоте, а о ширине??? С вашими-то знаниями…………………
Даа??? И что-это никто до такого не додумался? Может потому, что речь не о высоте, а о ширине??? С вашими-то знаниями…………………
Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.
Если нужно количество пикселей приходящихся на одну свечу, то это уже давно измерено. Кратно 2. При самом мелком масштабе - 1 пиксель на свечу (2 в степени 0), следующий - 2 пикселя (2 в 1-ой), потом - 4 и т. д. Самый крупный масштаб - 2 в 5-ой степени, т. е. 32 пикселя на свечу. Справедливо для обоих терминалов.
Ай спасибо. Вот до этого трудно додуматься с моими знаниями. А я-то думаю что это похоже так на флаги… а оно и есть флаги. И никаких массивов не надо.