Группа функций, обеспечивающих преобразование данных из одного формата в данные другого формата.
Особо следует отметить функцию NormalizeDouble(), которая обеспечивает требуемую точность представления цены. В торговых операциях нельзя использовать ненормализованные цены, чья точность превышает требуемую торговым сервером хотя бы на один знак
CharToStr
string CharToStr(int char_code)
Преобразование кода символа в односимвольную строку.
Параметры:
char_code — ASCII-код символа.
Пример:
string str="WORL"+CharToStr(44); // 44 - код для 'D' // результирующая строка будет WORLD
DoubleToStr
string DoubleToStr( double value, int digits)
Преобразование числового значения в текстовую строку, содержащую символьное представление числа в указанном формате точности.
Параметры:
value — Величина с плавающей точкой.
digits — Формат точности, число цифр после десятичной точки (0-8).
Пример:
string value=DoubleToStr(1.28473418, 5); // содержимое строки value - "1.28473"
NormalizeDouble
double NormalizeDouble( double value, int digits)
Округление числа с плавающей запятой до указанной точности.
Рассчитываемые значения StopLoss, TakeProfit, а также значения цены открытия отложенных ордеров должны быть нормализованы с точностью, значение которой хранится в предопределенной переменной Digits.
Параметры:
value — Величина с плавающей точкой.
digits — Формат точности, число цифр после десятичной точки (0-8).
Пример:
double var1=0.123456789; Print(DoubleToStr(NormalizeDouble(var1,5),8)); // вывод: 0.12346000
StrToDouble
double StrToDouble( string value)
Преобразование строки, содержащей символьное представление числа, в число типа double (формат двойной точности с плавающей точкой).
Параметры:
value — Строка, содержащая символьное представление числа.
Пример:
double var=StrToDouble("103.2812");
StrToInteger
int StrToInteger( string value)
Преобразование строки, содержащей символьное представление числа, в число типа int (целое).
Параметры:
value — Строка, содержащая число.
Пример:
int var1=StrToInteger("1024");
StrToTime
datetime StrToTime( string value)
Преобразование строки, содержащей время и/или дату в формате «yyyy.mm.dd [hh:mi]», в число типа datetime (количество секунд, прошедших с 01.01.1970).
Параметры:
value — Строка в формате «yyyy.mm.dd hh:mi».
Пример:
datetime var1,var2,var3; var1 = StrToTime("2017.8.12 17:35"); var2 = StrToTime("17:35"); // возврат текущей даты с указанным временем var3 = StrToTime("2003.8.12"); // возврат даты с полуночным временем "00:00"
TimeToStr
string TimeToStr( datetime value, int mode=TIME_DATE|TIME_MINUTES)
Преобразование значения, содержащего время в секундах, прошедшее с 01.01.1970, в строку формата «yyyy.mm.dd hh:mi».
Параметры:
value — Время в секундах от 00:00 1 января 1970.
mode — Дополнительный режим вывода данных. Может быть одним или комбинированным флагом:
TIME_DATE получает результат в форме «yyyy.mm.dd»,
TIME_MINUTES получает результат в форме «hh:mi»,
TIME_SECONDS получает результат в форме «hh:mi:ss».
Пример:
string var1 = TimeToStr(TimeCurrent(), TIME_DATE|TIME_SECONDS);