Implementierung der DPO-Indikatoren in FMZ

Schriftsteller:Wechat deshunquant, Erstellt: 2021-09-28 10:49:11, Aktualisiert: 2021-09-28 11:50:39

1. Wie wird der DPO-Indikator verwendet?

Zuerst müssen Sie die Berechnungsformel für den DPO-Indikator kennen:

Ein einfacher gleitender Durchschnitt von 1, MA = N-Tage;

2, DPO = einfacher gleitender Durchschnitt zum Schlusskurs-MA (N/2+1);

3. MADPO = einfacher gleitender Durchschnitt des DPO am M-Tag;

Das bedeutet, dass N = 21 und M = 6 ist.

2. Die Verwendung von DPO-Anzeigen:

1, über der 0-Achse eine Über-Off-Linie gesetzt, sodass der Kurs kurzfristig hoch ist, sobald die DPO über die Über-Off-Linie schwankt.

2. Setzen Sie eine Überverkaufslinie unterhalb der 0-Achse, sodass der Kurs kurzfristig niedrig ist, sobald das DPO in die Überverkaufslinie schwankt.

3. Wenn der DPO-Indikator oberhalb des 0-Achses liegt, ist er in einem Mehrfachmarkt.

4. Wenn der DPO-Indikator unterhalb der 0-Achse liegt, ist er in einem leeren Markt. Wenn der DPO-Indikator von einem positiven Wert nach unten durch die 0-Achse geht, ist dies ein Verkaufssignal.


Mehr

Kleine TräumeIch weiß nicht. - Ich weiß. Berechnungsmethode: 1, Summe des N-Tag-Schlusskurses von MA plus N 2, DPO = Schlusskurs - (n / 2) + MA für den ersten Tag 3, MADPO = DPO, bewegt sich durchschnittlich für M Tage N ist 21, M ist 6. */ // Indikator-Algorithmen Funktion DPO ((r, n) { Var arrDpo = [] für (var i = 0 ; i < r.length ; i++) { Das ist nicht wahr. für (var j = 0 ; j < i ; j++) { currRecords.push ((r[j]) Wir sind hier. Var ma = TA.MA ((currRecords, (_N ((n / 2, 0) + 1)) Var dpo = NaN If (currRecords.length == 0 て!ma て ma.length == 0 て!ma [ma.length - 1]) { dpo = NaN } else { Var close = r[i].Schließen dpo = close - ma[ma.length - 1] Wir sind hier. ArrDpo.push ((dpo)) Wir sind hier. zurück arrDpo Wir sind hier. Funktion MADPO ((dpo, m) { return TA.MA ((dpo, m) Wir sind hier. // Beispiel mit Indikatoren Funktion main (() { Var r = exchange.GetRecords Var dpo = DPO (r, 21) Log ((_D(r[r.length - 1].Time), "dpo on last bar:", dpo[dpo.length - 1]) Log ((_D(r[r.length - 2].Time), "dpo on pre bar:", dpo[dpo.length - 2]) Das ist nicht wahr. war madpo = MADPO ((dpo, 6) Log ((_D(r[r.length - 1].Time), "madpo on last bar:", madpo [madpo.length - 1]) Log ((_D(r[r.length - 2].Time), "madpo on pre bar:", madpo [madpo.length - 2]) Wir sind hier. Ich weiß nicht. Ich habe dir eine Idee gegeben, keine Garantie, keine Überprüfung.