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.
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.
Diese Strategie kombiniert mehrere Indikatoren, um den Marktstatus zu beurteilen, Fehler durch eine einzige Metrik zu vermeiden und die Genauigkeit zu verbessern.
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.
Die Strategie kann in folgenden Aspekten verbessert werden:
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)