Verstärkte Handelsstrategie für Kreuzwerte der gleitenden Durchschnittswerte Sakkoulas

Schriftsteller:ChaoZhang, Datum: 2024-02-21 15:14:19
Tags:

img

Übersicht

Diese Handelsstrategie kombiniert gleitende Durchschnittskonvergenzdivergenz (MACD), Relative Strength Index (RSI), einfachen gleitenden Durchschnitt (SMA), stochastischen Oszillator und Bollinger Bands, um Marktein- und Ausstiegspunkte zu identifizieren.

Strategie Logik

Es geht lang, wenn die MACD DIF-Linie über die DEA-Linie in die Bullish-Zone überschreitet; oder wenn der RSI unter 30 in das Überverkaufszone fällt; oder wenn die stochastischen %K- und %D-Linien unter 20 fallen, was einen Überverkaufstatus zeigt.

Im Gegenteil, es wird kurz, wenn die MACD-DIF-Linie unterhalb der DEA-Linie in die Bärenzone überschreitet; oder wenn der RSI über 70 in den Überkaufbereich steigt; oder wenn die stochastischen %K- und %D-Linien über 80 steigen, was auf einen Überkauf hinweist.

Der Stop-Loss wird auf der Grundlage des ATR multipliziert mit einem Koeffizienten festgelegt.

Analyse der Vorteile

Diese Strategie kombiniert mehrere Indikatoren, um den Marktstatus zu beurteilen, Fehler durch eine einzige Metrik zu vermeiden und die Genauigkeit zu verbessern.

Risikoanalyse

Technische Indikatoren werden aus historischen Daten berechnet und können zukünftige Preise nicht vorhersagen, was zu bestimmten Verzögerungen führt. Die Kombination mehrerer Indikatoren kann auch einige falsche Signale einführen. Darüber hinaus kann eine unsachgemäße Stop-Loss-Einstellung zu größeren Verlusten führen.

Um das Problem der Indikatorenverzögerung zu beheben, können die Parameter angepasst werden, um den Rechenzyklus zu verkürzen. Für falsche Signale können zusätzliche Hilfsindikatoren zur Bestätigung hinzugefügt werden. Auch sollte der Stop-Loss breiter und vernünftiger eingestellt werden.

Optimierungsrichtlinien

Die Strategie kann in folgenden Aspekten verbessert werden:

  1. Einbeziehung statistischer Modellindikatoren auf der Grundlage von Trend- und Korrelationsanalysen für den Einstieg;
  2. Hinzufügen eines maschinellen Lernmodells zur Beurteilung der Zuverlässigkeit von Indikatorsignalen;
  3. Optimieren Sie das Geldmanagement für eine automatisierte und intelligente Stop-Loss- und Take-Profit-Aktion.

Zusammenfassung

Diese Strategie kombiniert mehrere technische Indikatoren für eine verbesserte Genauigkeit und steuert das Risiko durch Stop-Loss und Take-Profit, wodurch sie zu einem zuverlässigen Trendfolgensystem wird.


/*backtest
start: 2024-01-21 00:00:00
end: 2024-02-20 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Enhanced Moving Average Crossover sakkoulas with ATR and SAR", overlay=true)

// Παράμετροι MACD
fastLength = input.int(16, title="Fast Length")
slowLength = input.int(6, title="Slow Length")
signalSmoothing = input.int(5, title="Signal Smoothing")

// Παράμετροι RSI
rsiLength = input.int(6, title="RSI Length")
upperBound = input.int(70, title="Upper Bound")
lowerBound = input.int(30, title="Lower Bound")

// Παράμετροι SMA
smaPeriod = input.int(10, title="SMA Period")

// Παράμετροι Stochastic
stoLength = input.int(5, title="Stochastic Length")
stoSmoothK = input.int(3, title="Stochastic %K Smoothing")
stoSmoothD = input.int(10, title="Stochastic %D Smoothing")

// Παράμετροι Bollinger Bands
bbLength = input.int(20, title="Bollinger Bands Length")
bbStdDev = input.float(1, title="Bollinger Bands StdDev")

// Παράμετροι ATR
atrLength = input.int(14, title="ATR Length")
atrMultiplier = input.float(1.5, title="ATR Multiplier for Stop Loss")

// Παράμετροι Parabolic SAR
sarAcceleration = input.float(0.02, title="SAR Acceleration")
sarMaximum = input.float(0.2, title="SAR Maximum")

// Διαχείριση κινδύνου
riskRewardRatio = input.float(2.0, title="Risk/Reward Ratio")

// Υπολογισμοί δεικτών
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
rsi = ta.rsi(close, rsiLength)
sma = ta.sma(close, smaPeriod)
atr = ta.atr(atrLength)

// Παράμετροι και κλήση του Parabolic SAR
sar = ta.sar(sarAcceleration, sarMaximum, 15) // Διορθωμένη κ
// Υπολογισμός Stop Loss με βάση το ATR
longStopLoss = close - atrMultiplier * atr 
shortStopLoss = close + atrMultiplier * atr

// Συνθήκες για είσοδο και έξοδο
longCondition = ta.crossover(macdLine, signalLine) and close > sar
shortCondition = ta.crossunder(macdLine, signalLine) and close < sar

// Εκτέλεση εντολών συναλλαγής με διαχείριση κινδύνου
if (longCondition)
    strategy.entry("Long Position", strategy.long)
    strategy.exit("Exit Long", "Long Position", stop=longStopLoss)
    
if (shortCondition)
    strategy.entry("Short Position", strategy.short)
    strategy.exit("Exit Short", "Short Position", stop=shortStopLoss)

// Συνθήκες για είσοδο και έξοδο
 
// Εμφάνιση βελών για σημεία εισόδου
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small, title="Long Entry")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small, title="Short Entry")


// Εμφάνιση δεικτών
plot(macdLine, color=color.blue, title="MACD Line")
plot(signalLine, color=color.red, title="Signal Line")
plot(sma, color=color.orange, title="SMA")
plot(series=sar, color=color.fuchsia, style=plot.style_circles, title="Parabolic SAR")
hline(upperBound, "Upper Bound", color=color.red)
hline(lowerBound, "Lower Bound", color=color.green)

Mehr