Diese Strategie wird
Die Strategie berechnet zunächst eine kurzfristige und eine langfristige lineare Regressionslinie. Die kurzfristige lineare Regression hat einen Zeitraum von 100 Tagen, und die langfristige hat einen Zeitraum von 150 Tagen. Wenn die kurzfristige Regressionslinie über die langfristige Linie kreuzt, wird ein Kaufsignal generiert. Wenn die kurzfristige Linie unter die langfristige Linie kreuzt, wird ein Verkaufssignal generiert.
Lineare Regressionslinien können die langfristige Trendrichtung der Preise widerspiegeln. Die kurzfristige Linie mit einer kleineren Periode ist empfindlicher auf Preisänderungen und kann kurzfristige Umkehrzeiten erfassen. Die langfristige Linie mit einer größeren Periode repräsentiert den langfristigen Gleichgewichtstrend der Preise. Wenn die beiden Linien kreuzen, zeigt sie an, dass sich die kurzfristigen und langfristigen Trends umkehren, so dass Handelssignale generiert werden können.
Der Vorteil dieser Strategie besteht darin, den klassischen technischen Analyseansatz des gleitenden Durchschnitts-Crossovers zu nutzen, mit der Hinzufügung einer linearen Regressionsanalyse, die Preisumkehrungen sowohl in langfristigen als auch in kurzfristigen Zeitdimensionen identifizieren kann.
Um einige falsche Signale auszufiltern, beinhaltet diese Strategie zeitbedingte Limits, wobei Trades nur in angegebenen Datumsbereichen ausgeführt werden. Dies kann unwirksame Trades bis zu einem gewissen Grad reduzieren. Aber die Zeitfenster-Einstellungen sind subjektiv und erfordern eine Optimierung des Backtestings.
Die doppelte gleitende Durchschnitts-Crossover-Strategie kombiniert mehrere analytische Techniken und kann komplexe Handelschancen erfassen.
/*backtest start: 2022-09-12 00:00:00 end: 2023-09-12 00:00:00 period: 2d basePeriod: 1d exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=3 strategy(title="Linear Regression Curve CrossOver Strategy", shorttitle="LRC Crossover", overlay=true) src = close len1 = input(defval=100, minval=1, title="Length") offset = 0 outfast = linreg(src, len1, offset) plot(outfast,color=blue) len2 = input(defval=150, minval=1, title="Length") outslow = linreg(src, len2, offset) plot(outslow,color=red) yearfrom = input(2018) yearuntil =input(2019) monthfrom =input(1) monthuntil =input(12) dayfrom=input(1) dayuntil=input(31) if ( crossover(outfast,outslow)) strategy.entry("BUY", strategy.long, stop=close, oca_name="TREND", comment="BUY") else strategy.cancel(id="BUY") if ( crossover(outslow,outfast) ) strategy.entry("SELL", strategy.short,stop=close, oca_name="TREND", comment="SELL") else strategy.cancel(id="SELL")