Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
Fractial Period & Shift for SMA, EMA, SSMA, LWMA - индикатор для MetaTrader 4
- Просмотров:
- 7073
- Рейтинг:
- Опубликован:
- 2010.04.26 08:17
- Обновлен:
- 2014.04.21 14:54
- Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Ничем не отличается по полям параметров, методам сглаживания и типов цены от стандартной iMA, но позволяет использовать нецелые период и сдвиг.
double iCustom( string symbol, // символьное имя инструмента (NULL- текущий) int timeframe, // тайм-фрейм (0- текущий) "iFMA", // имя этого индикатора double period, // период MA; м.б.дробным (>1) и в виде коэфф-та (<1) double ma_shift, // сдвиг MA; м.б. дробным (>0) int ma_method, // метод усреднения: // 0- SMA (простая), // 1- EMA (экспоненциальная), // 2- SSMA (сглаженная), // 3- LWMA (линейно-взвешенная) int applied_price, // тип сглаживаемых данных: // 0- Close, 1- Open, 2- High, 3- Low, // 4- Middle=(High+Low)/2 (средняя), // 5- Typical=(High+Low+Close)/3 (типичная), // 6- Weighted=High+Low+2*Close)/4 (взвешенная), // 7- Volume (объем) 0, // mode - номер буфера индикатора (0) int shift // сдвиг )
Как видите, все то же самое. Отличается лишь тип полей period и ma_shift (double вместо int) и добавлен модификатор для поля applied_price - 7 (Объем).
Кроме того, добавлена возможность вместо периода вводить коэффициент (>0...<1), что позволяет полностью соответствовать возможностям EMA. Например, изначально MACD по ДиНаполи используют коэффициенты для быстрой и медленной EMA, которые весьма приблизительно пересчитаны в периоды в МТ из-за их целого типа. Параметры MACD ДиНаполи: быстрая EMA - коэфф. 0.213 - период 8.39, медленная - 0.108 - 17.52; тогда как в МТ задаются периоды 8 и 17 соответственно.
Если ввести коэфф-т при другом методе усреднения, то он будет пересчитан в период. А так как период м.б. в этом индикаторе нецелым, то MA будет посчитана адекватно в любом случае - целый или нецелый период получится из пересчета. Так что абсолютно неважно, введете вы в поле MAperiod, скажем, коэффициент 0.1 или период 19 - результат один.
На картинке изображены SSMA(3) - красный, SSMA(3.6) - зеленый, SSMA(2.33) - синий.
Обратите внимание, что для SSMA(3) вместо периода 3 введен коэффициент 0.5, который был благополучно пересчитан в период и отображен в окне данных. Это, разумеется, сделано в качестве примера использования коэффициентов в др., отличных от EMA типов MA. Можно (и логичней) для SSMA было ввести 3 с тем же результатом.
Кстати, SSMA - сглаженная скользящая средняя (по др. еще называется "сглаживание Уайлдера" - Wilder's smoothing) абсолютно безболезненно м.б. заменена обыкновенной EMA, период которой высчитывается как 2*Период SSMA -1. Т.е. SSMA(12) будет в точности совпадать с EMA(23) на достаточной истории (> 4-х периодов). Можете убедиться.)))
===
))) Знаете, отчего веселюсь? Просто представил себе любителей подгонок в оптимизаторе - вот им раздолье! Теперь шаг МАшек можно делать хоть 10^(-10) !!! Во стейты будут! Ждем-с...
Стохастик Синтии Кейс
3c_JMA_Multi_Osc(AM)_HistМультииндикатор, сглаживаемый по методу Jurik.
Индикатор движение цены относительно одной выбранной временной точки.
ind_iCustom_TFSРисует пользовательские индикаторы по данным других символов и таймфреймов