
Die Strategie basiert auf einem beweglichen Durchschnitt, um ein Handelssignal zu erzeugen. Die Umschlaglinie wird durch den Prozentsatz des beweglichen Durchschnitts berechnet. Wenn ein früherer Höchststand überschritten wird, wird ein Verkaufssignal erzeugt; Wenn ein früherer Tiefstand untergeht, wird ein Kaufsignal erzeugt.
Die Strategie verwendet den displaced exponential moving average (EMA) als Kernindikator, der nach einer bestimmten Periode um einen Prozentfaktor erweitert wird, um einen Auf- und Abzug zu bilden. Dies bildet ein vollständiges Moving Average Moving Average System. Insbesondere besteht das System aus:
Die Parameter Percent above und Percent below steuern jeweils die prozentualen Abstände zwischen den oberen und unteren Gleisen und den beweglichen Mittelwerten des Kernindex. Die Parameter Displacement werden verwendet, um die periodische Verlagerung zwischen den oberen und unteren Gleisen und den beweglichen Mittelwerten des Kernindex zu steuern.
Auf diese Weise können wir durch Anpassung der oben genannten Parameter eine geeignete Handelszone bilden. Wenn der Preis die Zone durchbricht, wird ein Handelssignal erzeugt.
Es ist zu beachten, dass die Strategie auch eine Reverse-Parameter bietet, bei der die Signalrichtung, wenn sie auf “true” gesetzt ist, die entgegengesetzte ist.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch einige Risiken, darunter:
Um gegen diese Risiken vorzugehen, können wir Optimierungen in folgenden Bereichen vornehmen:
Es gibt noch viel Optimierungsmöglichkeiten für diese Strategie, und zwar in folgenden Bereichen:
Durch diese Optimierungen können die Stabilität, Anpassungsfähigkeit und Effektivität der Strategien weiter verbessert werden.
Die Moving-Average-Strategie nutzt einfache Index-Moving-Average-Systeme und parametrische Bereiche, um klare Handelsregeln zu bilden, die leicht zu interpretieren und umzusetzen sind. Sie ist eine typische Trendverfolgungsstrategie. Durch die Anpassung und Optimierung der Parameter kann die Strategie bessere Wirkung erzielen.
/*backtest
start: 2024-01-25 00:00:00
end: 2024-02-01 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
////////////////////////////////////////////////////////////
// Copyright by HPotter v1.0 14/08/2020
// Moving Average Displaced Envelope. These envelopes are calculated
// by multiplying percentage factors with their displaced expotential
// moving average (EMA) core.
// How To Trade Using:
// Adjust the envelopes percentage factors to control the quantity and
// quality of the signals. If a previous high goes above the envelope
// a sell signal is generated. Conversely, if the previous low goes below
// the envelope a buy signal is given.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Moving Average Displaced Envelope Backtest", shorttitle="MA DE", overlay = true)
Price = input(title="Source", type=input.source, defval=close)
Period =input(defval=9, minval=1)
perAb = input(title = "Percent above", defval=.5, minval=0.01, step = 0.1)
perBl = input(title = "Percent below", defval=.5, minval=0.01, step = 0.1)
disp = input(title = "Displacement", defval=13, minval=1)
reverse = input(false, title="Trade reverse")
pos = 0
sEMA = ema(Price, Period)
top = sEMA[disp] * ((100 + perAb)/100)
bott = sEMA[disp]* ((100 - perBl)/100)
pos := iff(close < bott , 1,
iff(close > top, -1, pos[1]))
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)
if (possig == 0)
strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )