Помогите новичку, кто может.

 

Доброго всем здравия.

Тежело мне вникается в MQL, но пытаюсь разобраться. Не мог бы мне кто-нибудь помочь со следующим вопросом. Имеется индикатор, который высчитывает средней проход графика за определенное количество баров. То есть, находит разницу между средней максимальной и средней минимальной ценой за n-ое количество баров. Результат отображается в текстовой метке.

Вопрос: 1) Как сделать, чтобы результат отображался в пунктах? Потому что, у меня он отображает много не нужных нулей. 2)Также хотелось бы, чтобы скрипт одинаково работал с любыми инструментами, то есть вне зависимости от свойств цены( имеется ввиду числа до и после запятой).

Может структура программы составлена не правильно?


Надеюсь на помощь. Код индикатора внизу.


//======================================================+

extern int period = 7;
extern int font_size;
extern color Color;

//--------------------------------------------------------------------------------------------------

int start()
{
double maxAverage=0.0;
double minAverage=0.0;
double diff;


//--------------------------------------------------------------------------------------------------
for(int a=1;a<=period;a++)
{
maxAverage+=High[a];

minAverage+=Low[a];
}

maxAverage/=period;
minAverage/=period;


diff = (maxAverage - minAverage);

//-------------------------------------------------------------------------------------------------

ObjectCreate("Label", OBJ_LABEL, 0, 0, 0);
ObjectSetText("Label",""+diff+" / за "+period+" баров",font_size,"Arial",Color);
//-------------------------------------------------------------------------------------------------
return(0);
}
//-------------------------------------------------------------------------------------------------
int deinit()
{
ObjectDelete("Label");
return;
}
//+=====================================================+

 
Поделить на Point и преобразовать в строку, преобразуя в строку заодно убрать лишние нули. Функция DoubleToStr()
 
Integer:
Поделить на Point и преобразовать в строку, преобразуя в строку заодно убрать лишние нули. Функция DoubleToStr()

Спасибо за помощь. Значение в пунктах показывает правильно, вот только индикатор все равно отображает много лишних нулей. Если писать тот же код в скрипте, то скрипт все показывает правильно, а индикатор - нет. Может все дело в текстовой метке. А как еще можно отобразить значение?

 

Уважаемый Integer. Все работает. С вышеобозначенными вопросами я поторопился. Спасибо большое за помощь. Вопросов больше нет.

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