Логарифмируем ценовые ряды

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Логарифмируем ценовые ряды

Сообщение Haos » 19 июн 2019, 14:39

Рассмотрим процедуру логарифмирования ценовых рядов. Например, нам нужно прологарифмировать цены закрытия валютной пары EURUSD на заданном количестве свечей (баров).
Нам понадобится массив данных типа double. В нем будут храниться рассчитанные логарифмы цен закрытия выбранной валютной пары.
Код: выделить все
double dblMLogY1[];

Напишем функцию для расчета десятичного логарифма цен закрытия выбранной валютной пары:
Код: выделить все
void f_SetMLog(double &Y[], string sy)
{
   // Функция рассчитывает десятичный логарифм от элементов массива
   for(int i = 0; i < ArraySize(Y); i++)
   {
      Y[i] = MathLog10(iClose(sy, 0, i));
   }
}

В функцию f_SetMLog() в качестве параметра по ссылке будем отправлять необходимый массив dblMLogY1. Также будем передавать символ нужно валютной пары в качестве параметра (в данном примере выбрана EURUSD).
Далее в теле функции идет цикл в котором от нулевого бара до заданного берутся значения цен закрытия и над ними выполняется операция логарифмирования: MathLog10().
Таким образом, на выходе из функции имеем заполненный логарифмами цен закрытия по заданному торговому инструменту массив с именем dblMLogY1.
Сам процесс вызова функции в коде выглядит так:
Код: выделить все
f_SetMLog(dblMLogY1, "EURUSD");

Далее массив с логарифмами цен закрытия может быть использован в коде программы для заданных целей. Например, можно в качестве индикатора отображать в отдельном окне логарифмы цен закрытия по заданному торговому инструменту.
Аватар пользователя
Haos
Специалист MQL
 
Сообщений: 24699
Зарегистрирован: 29 мар 2014, 16:07
Средств на руках: 193.70 Доллар
Группа: Главные модераторы
Благодарил (а): 3379 раз.
Поблагодарили: 8200 раз.

Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

cron