Общие функции печать ленты Forex

7 мая 2020 Автор: Forexguru

Распечатать.
Вносит сообщение в журнал эксперта. Параметры могут быть любого типа.

Распечатать.
Вносит сообщение в журнал эксперта. Параметры могут быть любого типа.

Общие функции печать ленты Forex


void Print (аргумент, // первое значение. // следующие значения);
[in] Любые значения, разделенные запятыми. Количество параметров не может превышать 64.
Массивы не могут быть переданы в функцию Print (). Массивы должны вводиться поэлементно.

Данные двойного типа отображаются с точностью до 16 цифр после десятичной точки и могут быть выведены либо в традиционном, либо в научном формате, в зависимости от того, какая запись будет более компактной. Данные типа float выводятся с 5 цифрами после десятичной точки. Чтобы вывести действительные числа с другой точностью или в предопределенном формате, используйте функцию PrintFormat ().
Данные типа bool выводятся в виде строк «истина» или «ложь». Даты показаны как ГГГГ.ММ.ДД ЧЧ: МИ: СС.

Чтобы показать данные в другом формате, используйте TimeToString (). Данные типа цвета возвращаются либо в виде строки R, G, B, либо в виде названия цвета, если этот цвет присутствует в наборе цветов..
Функция Print () не работает во время оптимизации в тестере стратегий.
void OnStart () // — Вывод DBL_MAX с использованием Print (), это эквивалентно PrintFormat (%%.

16G, DBL_MAX) Print ("—- как DBL_MAX выглядит ——"); Печать («Print (DBL_MAX) =», DBL_MAX); // — Теперь выведите номер DBL_MAX с помощью PrintFormat () PrintFormat ("PrintFormat (%%. 16G, DBL_MAX) =%. 16G", DBL_MAX); // — Вывод в журнал экспертов // Print (DBL_MAX) = 1.797693134862316e + 308 // PrintFormat (%.

16G, DBL_MAX) = 1.797693134862316E + 308 // — Посмотрите, как с плавающей точкой выводится float c = ( float) M_PI; // Мы должны явно привести к целевому типу Print ("c =", c, "Pi =", M_PI, "(float) M_PI =", (float) M_PI); // c = 3.14159 Pi = 3.141592653589793 (float) M_PI = 3.14159 // — Показать, что может случиться с арифметическими операциями с вещественными типами double a = 7, b = 200; Печать («—- Перед арифметическими операциями»); Print ("a =", a, "b =", b); Print ("Print (DoubleToString (b, 16)) =", DoubleToString (b, 16)); // — Разделим a на b (7/200) a = a / b; // — Теперь эмулируем восстановление значения в переменной b b = 7.0 / a; // Ожидается, что b = 7.0 / (7.0 / 200.0) => 7.0 / 7.0 * 200.0 = 200 — но это отличается // — Вывести вновь вычисленное значение b Print ("—— После арифметики операции "); Печать («Print (b) =», b); Print ("Print (DoubleToString (b, 16)) =", DoubleToString (b, 16)); // — Вывод в журнал экспертов // Print (b) = 200.0 // Print (DoubleToString (b, 16)) = 199.9999999999999716 (см., Что b больше не равен 200.0) // — Создать очень малое значение эпсилон = 1E-013 двойной эпсилон = 1e-13; Print ("—- создать очень маленькое значение"); Print ("epsilon =", epsilon); // Получить epsilon = 1E-013 // — Теперь вычтите эпсилон из b и снова выведите значение в журнал экспертов. B = b-epsilon; // — Используем два способа Print ("—- после вычитания epsilon из переменной b"); Печать («Print (b) =», b); Print ("Print (DoubleToString (b, 16)) =", DoubleToString (b, 16)); // — вывод в журнал Experts // Print (b) = 199.9999999999999 (теперь значение b после вычитания эпсилона нельзя округлить до 200) // Print (DoubleToString (b, 16)) = 199.9999999999998578 // (сейчас значение b после вычитания эпсилона не может быть округлено до 200)>

Похожие статьи

Оставить комментарий

XHTML: Разрешенные теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>