Diese Strategie basiert auf dem Prinzip der mittleren Reversion und verwendet die Abweichung der Preise vom gleitenden Durchschnitt, um Handelsentscheidungen zu treffen. Sie geht kurz, wenn der Preis über das obere Band abweicht, und lang, wenn er unter das untere Band abweicht. Die Position wird geschlossen, wenn der Preis zum gleitenden Durchschnitt zurückkehrt. Die Kernannahme dieser Strategie ist, dass die Preise immer auf das mittlere Niveau zurückkehren.
Die Mittelumkehrstrategie ist eine quantitative Handelsstrategie, die auf statistischen Prinzipien basiert und Handelsentscheidungen trifft, indem sie obere und untere Bands um den Mittelpreis herum konstruiert. Die Strategie hat eine einfache Logik und eine klare Ausführung, aber die Auswahl der Instrumente und die Optimierung der Parameter sollten beachtet werden. In der praktischen Anwendung müssen auch Faktoren wie Trend, Handelskosten und Risikokontrolle berücksichtigt werden, um die Robustheit und Rentabilität der Strategie zu verbessern. Im Allgemeinen ist die Mittelumkehrstrategie eine gemeinsame und tiefgreifende Studie im Bereich des quantitativen Handels wert.
/*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")