
Eine Reverse-Linear-Regression-Strategie ist eine Reverse-Handelstrategie, die auf Preisschwankungen basiert. Sie kombiniert eine lineare Regressionsanalyse mit einem AVERAGE TRUE RANGE-Indikator und setzt die Bedingungen für eine kontinuierliche Erhöhung der K-Linie oder eine kontinuierliche Abnahme der K-Linie, um die Reverse-Operation auszuführen, wenn die lineare Regressionsanalyse eine Preisumkehr beurteilt.
Die Strategie berechnet zunächst die Schräglage der linearen Regression. Wenn die lineare Regressionsschräglage größer als 0 ist, ist der Preis im Aufwärtstrend. Wenn sie kleiner als 0 ist, ist der Preis im Abwärtstrend.
Die Frequenz des Handels kann durch die Einstellung einer Reihe von K-Linien mit fortlaufender Aufwärts- und Abwärtsbewegung gesteuert werden. Wenn die Reihe von K-Linien mit fortlaufender Aufwärtsbewegung eine festgelegte Anzahl erreicht, wird ein Verkaufssignal mit einer linearen Regressionsschiefe von weniger als 0 erzeugt, um einen Umkehrhandel in der Nähe des Höchststands zu realisieren.
Die Strategie kombiniert Trend- und Reversal-Handel und ermöglicht die Durchführung von Reversal-Operationen in der Nähe von Schlüsselpunkten, um so den Vorteil von Preisanpassungen zu erlangen. Die lineare Regression-Analyse bietet die Möglichkeit, die Gesamttrend der Preise zu beurteilen, um zu vermeiden, dass die Reversal-Operation null oder zu viel ist, wenn der Preis weiterhin steigt oder fällt.
Im Gegensatz zu einer einfachen Umkehrstrategie kombiniert diese Strategie mehrere technische Indikatoren, die eine genauere Kontrolle über die Handelszeit ermöglichen und die Gefahr von falschen Durchbrüchen wirksam vermeiden und die Gewinnwahrscheinlichkeit erhöhen.
Die Strategie besteht hauptsächlich in der Gefahr, dass die Umkehrung fehlschlägt. Wenn der Preis nach dem Preisumkehrssignal weiterhin auf dem ursprünglichen Trend läuft, kann dies zu Verlusten führen. Darüber hinaus beeinflussen die linearen Regressionsanalysen und die Parameter-Einstellungen der ATR-Indikatoren auch die Erträge der Strategie.
Einzelverluste können durch Stop-Losses kontrolliert werden. Die Häufigkeit der Marktfluktuation kann vernünftigerweise bewertet werden, die Anzahl der K-Linien kann entsprechend angepasst werden, die Handelsfrequenz kann verringert werden. Die linearen Regressionszyklusparameter und die ATR-Parameter können optimiert werden, um die Merkmale der verschiedenen Sorten besser zu berücksichtigen.
Diese Strategie kann in folgenden Bereichen optimiert werden:
Hinzufügen von anderen technischen Indikatoren, die in Kombination mit verschiedenen Zeitzyklus-Indikatoren zur Erhöhung der Genauigkeit der Beurteilung beitragen. Zum Beispiel die Aufnahme von MACD, Bollinger Bands usw.
Die Erweiterung der Methode umfasst die Erweiterung der Methode durch die Erweiterung der Methode durch die Erweiterung der Methode durch die Erweiterung der Methode.
Einzug in Risikomanagementmechanismen, wie z. B. Fondsmanagement, Stop-Loss-Strategien usw., um das Handelsrisiko zu kontrollieren.
Optimierung des Portfolios, Kombination der Strategie mit anderen nicht relevanten Strategien, Verringerung des Gesamtrückzugs und Steigerung der Stabilität.
Um mehr Sorten zu erfassen und die Parameter-Einstellungen für verschiedene Sorten zu bewerten, wurde eine allgemeinere Strategie entwickelt.
Die Reverse-Linear-Return-Strategie, die mehrere technische Indikatoren integriert und bei der Ermittlung der Zeit der Preisumkehr rückwärts handelt, ist eine wirksame Reverse-Trading-Strategie. Die Strategie kann die Gewinnspanne durch die Optimierung der Parameter und die Stärkung des Risikomanagements weiter erweitern und hat großes Potenzial zur Verbesserung.
/*backtest
start: 2023-12-21 00:00:00
end: 2023-12-28 00:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
strategy("Reverse Up/Down Strategy", currency=currency.USD, initial_capital=1000, pyramiding=2, default_qty_type=strategy.percent_of_equity, default_qty_value=100,overlay=true)
//User Options
consecutiveBarsUp = input(title="Sell after how many bars up?", type=input.integer, minval=1, defval=1)
consecutiveBarsDown = input(title="Buy after how many bars down?", type=input.integer, minval=1, defval=1)
atrLength = input(title="ATR Length", type=input.integer, minval=1, defval=14)
atrMult = input(title="ATR Multiplier", type=input.float, minval=0.1, defval=2.33)
//ATR Channel
adjustedATR = sma(atr(atrLength),atrLength) * atrMult
longATR = low - adjustedATR
shortATR = high + adjustedATR
plot(shortATR, title="Short ATR", color=color.red)
plot(longATR, title="Long ATR", color=color.lime)
// This is the true linear regression slope rather than an approximation given by numerical differentiation
src = hlc3
len = input(defval=14, minval=1, title="Slope Length")
lrc = linreg(src, len, 0)
lrc1 = linreg(src, len,1)
lrs = (lrc-lrc1)
//Check if last candle was up or down
priceOpen = open
priceClose = close
longCondition = priceOpen > priceClose
shortCondition = priceOpen < priceClose
ups = 0.0
dns = 0.0
ups := shortCondition ? nz(ups[1]) + 1 : 0
dns := longCondition ? nz(dns[1]) + 1 : 0
if (shortCondition)
strategy.close("buy", qty_percent=100, comment="Close")
if (ups >= consecutiveBarsUp and lrs <= 0)
strategy.entry("sell", strategy.short, comment="Sell")
if (longCondition)
strategy.close("sell", qty_percent=100, comment="Close")
if (dns >= consecutiveBarsDown and lrs >= 0)
strategy.entry("buy", strategy.long, comment = "Buy")