Смотри, как бесплатно скачать роботов
Ищи нас в Telegram!
Ставь лайки и следи за новостями
Интересный скрипт?
Поставь на него ссылку - пусть другие тоже оценят
Понравился скрипт?
Оцени его работу в терминале MetaTrader 5
Библиотеки

Price_Compare - библиотека для MetaTrader 5

Просмотров:
2541
Рейтинг:
(27)
Опубликован:
2016.08.25 17:21
\MQL5\Scripts\ \MQL5\Include\
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу

Эта небольшая кроссплатформенная библиотека позволяет очень удобно и быстро сравнивать double-значения "цены".

Например, для выставления SellLimit иногда бывает полезно проверить, что цена открытия не ниже текущей Bid-цены.

// if (NormalizeDouble(OpenPrice, Digits()) >= NormalizeDouble(Bid, Digits())) // чаще всего использовали этот прием
if (CP(OpenPrice) >= Bid) // теперь можно иначе
  OrderSend...;

Мало того, что это гораздо нагляднее и лаконичнее, чем стандартного вида проверка. Но еще и скорость выполнения выше в разы! Такое рациональное использование вычислительных ресурсов иногда дает заметное ускорение в тестере/оптимизаторе.

Также есть возможность задавать точность при сравнении double-значений. Например

if ((CP(Lots, 0.01) >= MinLot) && ((CP(Lots, 0.01) <= MaxLot))) // сравнение с точностью до второго знака после запятой
  OrderSend...;

Аналогично происходит работа со всем операторами сравнения (==, !=, >=, <=, >, <).

В библиотеке имеется более быстрый вариант реализации NormalizeDouble. Для ускорения выполнения стандартной функции достаточно в начале прописать

// Почти в четыре раза быстрее соответствующей стандартной функции (build 1395)
#define NormalizeDouble PRICE_COMPARE::MyNormalizeDouble

В качестве примера приложен скрипт, который показывает результаты сравнения и вариантов нормализации для различных значений цены

RVIDiff RVIDiff

Сглаженная разность между основной и сигнальной линиями осциллятора RVI в виде цветной гистограммы.

Exp_wlxBW5Zone Exp_wlxBW5Zone

Торговая система, построенная на сигналах индикатора wlxBW5Zone.

StochasticDiff StochasticDiff

Сглаженная разность между основной и сигнальной линиями Стохастического осциллятора в виде цветной гистограммы.

XTrendlessOS_HTF XTrendlessOS_HTF

Индикатор XTrendlessOS с возможностью изменения таймфрейма индикатора во входных параметрах.