Die Aggregate Movement Indicator Strategie verwendet Aggregate Movement Indicators, um die Kapitalströme des Marktes zu beurteilen, um die Trendänderungen des Marktes zu erfassen. Die Strategie kombiniert schnelle und langsame Moving Averages, um eine Indikatorkurve zu bilden, die über die Kurve trends kauft und unter die Kurve trends verkauft, um die Markttrends zu verfolgen.
Die Strategie basiert auf dem Aggregat-Dynamik-Indikator, der den William-Indikator verbessert und den Eröffnungspreis durch den Durchschnitt der Höchst- und Tiefstpreise des Tages ersetzt, um das Problem der fehlenden Eröffnungspreise zu lösen. Die Formel des Indikators lautet:
Aggregat-Messlinie = Rapid-Aggregat-Mess-Index-Moving-Average - Slow-Aggregat-Mess-Index-Moving-Average
Die Formel zur Berechnung des Aggregat-Dynamik-Index lautet:
Aggregat-Dynamik-Index = (Schlusskurs - Eröffnungskurs) / (höchster Preis - niedrigerer Preis) * Umsatz
Aufgrund der fehlenden Eröffnungspreise wird hier verwendet:
Aggregat-Dynamik-Index = (Schlusskurs - (höchster Preis + niedrigerer Preis) / 2) / (höchster Preis - niedrigerer Preis) * Transaktionsvolumen
Der Indikator verwendet die Differenz zwischen einem schnellen und einem langsamen Moving Average als Aggregationstestlinie. Wenn der Schnellen eine langsame Linie durchläuft, ist dies ein Kaufsignal, wenn er eine langsame Linie durchläuft, ist dies ein Verkaufssignal.
Das sind die folgenden Maßnahmen:
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken:
Risiken können durch Optimierung von Parametern und in Kombination mit anderen Indikatoren kontrolliert werden.
Die Strategie kann in folgenden Bereichen optimiert werden:
Die Aggregat-Dynamik-Indikator-Strategie ist insgesamt stabiler und zuverlässiger, indem sie die Gewinne und Risiken durch Parameteranpassung ausgleicht. Die Hinzufügung von Filterbedingungen und Stop-Losses kann die Strategie-Stabilität weiter verbessern. Die Strategie eignet sich für die Verfolgung von Trendmärkten und kann durch kundenspezifische Optimierung zufriedenstellende Strategieergebnisse erzielen.
/*backtest
start: 2023-09-11 00:00:00
end: 2023-10-11 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 18/09/2017
// Indicator plots Money Flow Indicator (Chaikin). This indicator looks
// to improve on Larry William's Accumulation Distribution formula that
// compared the closing price with the opening price. In the early 1970's,
// opening prices for stocks stopped being transmitted by the exchanges.
// This made it difficult to calculate Williams' formula. The Chaikin
// Oscillator uses the average price of the bar calculated as follows
// (High + Low) /2 instead of the Open.
// The indicator subtracts a 10 period exponential moving average of the
// AccumDist function from a 3 period exponential moving average of the
// AccumDist function.
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Money Flow Indicator (Chaikin Oscillator)", shorttitle="MFI")
Fast = input(3, minval=1)
Slow = input(10, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=hline.style_dashed)
lenMax = max(Fast, Slow)
lenMin = min(Fast, Slow)
xDiv = (high - low) * volume
SumMax = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMax)
SumMin = sum(iff(xDiv > 0, (close - open) / (high - low) * volume , 0) , lenMin)
emaMax = ema(SumMax, lenMax)
emaMin = ema(SumMin, lenMin)
nRes = emaMax - emaMin
pos = iff(nRes > 0, 1,
iff(nRes < 0, -1, nz(pos[1], 0)))
possig = iff(reverse and pos == 1, -1,
iff(reverse and pos == -1, 1, pos))
if (possig == 1)
strategy.entry("Long", strategy.long)
if (possig == -1)
strategy.entry("Short", strategy.short)
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(nRes, color=blue, title="RMI")