Во-первых, небольшой комментарий к моим предыдущим постам: сначала я, было, тоже "купился" на весовые коэффициенты валют. Результат - мой первый пост. Потом, подумав, понял, что при таком способе расчета индекса их применение бессмысленно. Результат - мой 2-й пост и, немного с опозданием, мои извинения ув.
akadex за первый.
Во-вторых: я пошел немного дальше - начал, понемногу, модифицировать индикатор dex_RSIndex.mq4, в итоге получился совсем другой код
.
Итак:
1. Убраны весовые коэффициенты (почему - см. предыдущий пост).
2. Проведена оптимизация алгоритма индикатора с целью уменьшения нагрузки на процессор (при исследовании исходного кода выяснилось, что он на каждом тике пересчитывает 1000(!) баров (с настройками по умолчанию). Теперь на тике пересчитывает два бара - нулевой и первый; начальный расчет ведется на всей доступной истории (удален параметр NumberBars).
3. Добавлено автоопределение пары (удалены параметры ShowCurrency и ShowCurrency1).
4. Добавлено первичное сглаживание цены (с целью уменьшить количество ложных сигналов) - по умолчанию вычисляется EMA с периодом 3 от цены (H+L+C+C)/4 (кому не надо - поставьте PeriodFirstEMA=1, PriceFirstEMA=0).
5.
Появилась идея: а почему бы не вычислять индексы остальных валют по аналогичной формуле через их кроссы, а не через базовый (долларовый) курс? Что и было сделано.
Теперь индекс GBP вычисляется как (GBPUSD*GBPCHF*GBPJPY/EURGBP)^0.2;
индекс EUR - как (EURUSD*EURGBP*EURCHF*EURJPY)^0.2;
индекс CHF - как (CHFJPY/USDCHF/EURCHF/GBPCHF)^0.2;
индекс JPY - как (1./USDJPY/EURJPY/GBPJPY/CHFJPY)^0.2.
6. Некоторые изменения алгоритма с целью оптимизации, обработки ошибок и удобства дальнейшего развития идеи.
Получилось - то, что получилось
(индикатор прилагаю, краткое описание внутри). Судить вам.
Может быть, кому-нибудь пригодится...
На мой взгляд, на больших таймфреймах (от H1 и выше) - разницы почти нет, на малых - наблюдается некоторая разница.