
Die Strategie basiert auf dem Prinzip der Durchschnittsregration und nutzt die Situation, in der der Preis von einem beweglichen Durchschnitt abweicht, um Handelsentscheidungen zu treffen. Wenn der Preis von der Oberbahn aufwärts abweicht, macht er sich frei, wenn er von der Unterbahn abweicht, macht er sich frei, wenn der Preis zum beweglichen Durchschnitt zurückkehrt. Der Kern dieser Strategie ist die Annahme, dass der Preis immer zum Mittelwert zurückkehrt.
Eine Mean Return Strategie ist eine auf statistischen Prinzipien basierende, quantitative Handelsstrategie, die Handelsentscheidungen durch die Konstruktion von Preis-Mean-Wert-Strecken trifft. Die Strategie ist einfach in der Logik und wird eindeutig ausgeführt, wobei jedoch auf die Auswahl der Sorten und die Optimierung der Parameter geachtet wird. In der praktischen Anwendung müssen auch Faktoren wie Trend, Handelskosten und Risikokontrolle berücksichtigt werden, um die Robustheit und Profitabilität der Strategie zu verbessern.
/*backtest
start: 2024-05-01 00:00:00
end: 2024-05-31 23:59:59
period: 4h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Mean Regression Strategy", overlay=true)
// Define the lookback period for the moving average
length = input.int(20, title="Moving Average Length")
mult = input.float(1.5, title="Standard Deviation Multiplier")
// Calculate the moving average and standard deviation
ma = ta.sma(close, length)
dev = mult * ta.stdev(close, length)
// Calculate upper and lower bands
upper_band = ma + dev
lower_band = ma - dev
// Plot the moving average and bands
plot(ma, color=color.blue, linewidth=2, title="Moving Average")
plot(upper_band, color=color.red, linewidth=2, title="Upper Band")
plot(lower_band, color=color.green, linewidth=2, title="Lower Band")
// Entry conditions
long_condition = ta.crossover(close, lower_band)
short_condition = ta.crossunder(close, upper_band)
// Exit conditions
exit_long_condition = ta.crossunder(close, ma)
exit_short_condition = ta.crossover(close, ma)
// Strategy orders
if (long_condition)
strategy.entry("Long", strategy.long)
if (short_condition)
strategy.entry("Short", strategy.short)
if (exit_long_condition)
strategy.close("Long")
if (exit_short_condition)
strategy.close("Short")
// Plot signals on the chart
plotshape(series=long_condition, location=location.belowbar, color=color.green, style=shape.labelup, title="Buy Signal")
plotshape(series=short_condition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Sell Signal")