Скачать MetaTrader 5

Микро-вопрос по программированию MQL4!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
halk2009
94
halk2009  

Здравствуйте,

В журнал Эксперта уходит информация среди которой есть число. Подскажите как сделать так, что бы в журнале перед положительным числом был знак "+" ?

Viktor Mossekhin
14391
Viktor Mossekhin  
halk2009:

Здравствуйте,

В журнал Эксперта уходит информация среди которой есть число. Подскажите как сделать так, что бы в журнале перед положительным числом был знак "+" ?


   int s=7;
   Print(s>0?"+":"",s);
Slava
Модератор
6942
Slava  

Используйте функцию PrintFormat. Что-то типа

PrintFormat("число со знаком %+d",int_number);
halk2009
94
halk2009  

Не получается...

У меня сообщение выглядит так:

message = Symbol()+" TF:"+TF_in_String()+" Price SELL 1:"+DoubleToStr( (Bid - Price_Line)/Point,0)+" RSI:"+DoubleToStr(ExtRSIBuffer[0] - Price_RSI_Line, 2);


Так?:

Int sell1 =DoubleToStr( (Bid - Price_Line)/Point,0);

message = Symbol()+" TF:"+TF_in_String()+" Price SELL 1:"+Print(sell1>0?"+":"",sell1)+" RSI:"+DoubleToStr(ExtRSIBuffer[0] - Price_RSI_Line, 2);


по второму предложенному варианту, что то я не понял как это сделать...

Я чайник в программировании)) Напишите пожалуйста как нужно?!)

halk2009
94
halk2009  

Всё! Разобрался))

Вот так всё работает!:

Int sell1 =DoubleToStr( (Bid - Price_Line)/Point,0);

message = " Price SELL 1:"+(sell1>0?"+":"")+sell1;

Спасибо что подсказали!

Метод ТЫКА - очень крутой метод))

Vasyl Nosal
18967
Vasyl Nosal  
vicmos:
А можно поподробней логическую составляющую формулы?
halk2009
94
halk2009  
eevviill:
А можно поподробней логическую составляющую формулы?
есть линия уровня на графике, эта линия sell1, если выше неё, то значение положительное (типа ушли за уровень), если ниже - значение отрицательное (не дошли до уровня). Потом это сообщение уходит на телефон. Нужно было добавить знак "+" что бы сообщение соответствовало смыслу и читалось проще.
Vasyl Nosal
18967
Vasyl Nosal  
halk2009:
есть линия уровня на графике, эта линия sell1, если выше неё, то значение положительное (типа ушли за уровень), если ниже - значение отрицательное (не дошли до уровня). Потом это сообщение уходит на телефон. Нужно было добавить знак "+" что бы сообщение соответствовало смыслу и читалось проще.

Гы. Это я понял.

Я про

int s=7;
   Print(s>0?"+":"",s);
Alexey Viktorov
11595
Alexey Viktorov  

Это

s>0?"+":""
Если s больше 0 то печатается "+" иначе "" пустая строка.
андрей
16
андрей  
AlexeyVik:

Это

Если s больше 0 то печатается "+" иначе "" пустая строка.
если не ошибаюсь это древний си,давно хочу поинтересоваться всё забываю что по идее быстрей if(...) или такой вид представления как вы предложили?
Alexey Viktorov
11595
Alexey Viktorov  
Я не предлагал. Я только расшифровал тому кто не умеет читать документацию. А по скорости не знаю.
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий