PDA

Zobacz pełną wersję : Pomóż kodować EMA dla Volume



LaimeRG
12-17-2014 13:31, 13:31
Drodzy użytkownicy:

Próbuję kod wskaźnika, który pokazuje MA i EMA w słupach objętości. Udało mi się z powodzeniem zakodować SMA, ale z EMA, mam problemy i nie mogę awansować. Wykryłem również przepełnienie stosów. W każdym razie poniżej jest mój kod i nie sądzę, że mam go w ogóle dobrze. Dowolne doświadczenie może pomóc?

Wstawiony kod double EMA_Volume (int, rozmiar int) {if (i == MA_Period 2) return MA_Volume (i, size); podwójny mnożnik = (2(rozmiar 1)); return (Volume # 91; i # 93; - EMA_Volume (i 1,10) * mnożnik EMA_Volume (i 1,10)); } double MA_Volume (int i, int size) {double suma = 0; dla (int j = i; jlt; i size; j ) {suma = suma Volume # 91; j # 93 ;; } if ((sumarozmiar) == 0) {Alert (Coś jest nie tak z objętością paska nº =, i,, GetLastError ()); return 50;} else return (NormalizeDouble ((Volume # 91; i # 93;NormalizeDouble (sumarozmiar, 2)) * 100,2)); }

sm
12-23-2021 06:16, 06:16
Dlaczego nie używasz iMAOnArray (...)?

LaimeRG
12-23-2021 07:37, 07:37
Nie znam tej funkcji, sprawdzę, co robi. Ale jestem bardziej zainteresowany tym, w jaki sposób oblicza się EMA, nie sądzę, że moje obliczenia są dobre.

sm
12-23-2021 08:58, 08:58
Nie znam tej funkcji, sprawdzę, co robi. Ale jestem bardziej zainteresowany tym, w jaki sposób oblicza się EMA, nie sądzę, że moje obliczenia są dobre.
Funkcja iMAOnArray (...) wykonuje średnią zdefiniowanej tablicy (np. Obliczenie objętości). Może to być jakakolwiek zwykła metoda MA.