Преобразование данных

Группа функций, обеспечивающих преобразование данных из одного формата в данные другого формата.

Особо следует отметить функцию 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);