Этот индикатор является урезанной (без MTF/shift) версией моего индикатора. Взято без надлежащего подтверждения.
| Код индикатора | Мой код |
|---|---|
for(int i=limit; i>=0 && !IsStopped(); i--) { double Ew=0, Ewx=0; for(int j=i; j<=i+period; j++) { double Ed=0; for(int n=i; n<=i+period; n++) Ed+=fabs(BufferMA[j]-BufferMA[n]); double w=(period-1)/fmax(Ed,Point()); Ew+=w; Ewx+=w*BufferMA[j]; } BufferIDWMA[i]=(Ew!=0 ? Ewx/Ew : EMPTY_VALUE); | for(iBar = Bars - 1 - counted_bars; iBar >= 0; iBar--){ // ссылка //en.wikipedia.org/wiki/Distance-weighted_estimator // W[i] = (n-1)/E[j=1..n]|x[i]-x[j]| // ave[i] = E[i=1..n](W[i]X[i]) / E[i=1..n]W[i] double Ewx=0, Ew=0; int iLimit = iBar + MA_Period; for(int iWeight = iBar; iWeight < iLimit; iWeight++){ double Ed = 0.; for(int iDist = iBar; iDist < iLimit; iDist++){ Ed += MathAbs(prices[iWeight] - prices[iDist]); } double w = (MA_Period - 1) / MathMax(Ed, Point); Ew += w; Ewx += w * prices[iWeight]; } MAs[iBar] = Ewx / Ew; |
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
IDWMA:
Индикатор IDWMA (Inverse Distance Weighted Moving Average) - скользящая средняя, нечувствительная к смене таймфрейма, но более эффективная на старших периодах графика.
Алгоритм расчета МА таков, что линия индикатора "старается" держаться подальше от среднего значения цены изначально с последующим приближением к цене. Inverse Distance Weighted Moving Average немного плавнее, чем SMA, и напоминает EMA с таким же периодом.
Автор: Scriptor