Multi-Timeframe-Strategie für stochastische Oszillatoren und Trendbestätigungs-Handelssystem

STOCH MTF HH/LL SL/TP KDJ
Erstellungsdatum: 2025-02-19 10:53:25 zuletzt geändert: 2025-02-19 10:53:25
Kopie: 5 Klicks: 413
1
konzentrieren Sie sich auf
1617
Anhänger

Multi-Timeframe-Strategie für stochastische Oszillatoren und Trendbestätigungs-Handelssystem

Überblick

Die Strategie ist ein Handelssystem, das auf einem mehrfachen Zeitrahmenrandom-Stochastic-Indikator basiert, kombiniert mit Trendbestätigung und Analyse der Preisform. Die Strategie verwendet drei Zeitzyklen von 15, 30 und 60 Minuten, um Handelschancen durch Kreuzsignale von Random-Indikatoren sowie die Formbestätigung von höheren Höhen (Higher High) und niedrigeren Tiefen (Lower Low) zu identifizieren. Die Strategie verwendet gleichzeitig eine feste Prozentsatz-Stopp- und Gewinn-Einstellung, um Risiken zu kontrollieren und Gewinne zu sichern.

Strategieprinzip

Die Kernlogik der Strategie umfasst die folgenden Schlüsselelemente:

  1. Marktbewegungen mit drei Zufallsindikatoren in verschiedenen Zeiträumen (15 Minuten, 30 Minuten und 60 Minuten)
  2. Auf der Hauptteilzeitperiode (15 Minuten) bestätigt ein Kaufsignal, wenn die K-Linie die D-Linie durchbricht und sich in der Überverkaufszone befindet, kombiniert mit einer höheren Tiefpunktform
  3. Wenn die K-Linie unter der D-Linie fällt und sich in der Überkaufzone befindet, wird ein Verkaufssignal in Kombination mit einer niedrigeren Hochform bestätigt
  4. Risiken und Gewinne pro Handel mit einem Stop-Loss-Ziel von 3,7% und einem Gewinnziel von 1,8%

Strategische Vorteile

  1. Multi-Zeit-Perioden-Analysen bieten eine umfassendere Sicht auf die Märkte und helfen, falsche Signale besser zu filtern.
  2. In Verbindung mit der Analyse von Preisformationen erhöht sich die Zuverlässigkeit von Handelssignalen
  3. Festgelegte Risikomanagement-Parameter machen die Ergebnisse stabiler und steuerbarer
  4. Strategie für ein volatiles Marktumfeld
  5. Automatisierte Ein- und Ausstiegssignale reduzieren den emotionalen Einfluss subjektiver Urteile

Strategisches Risiko

  1. In volatilen Märkten können häufig Fehlsignale auftreten
  2. Fixed Stop-Loss- und Take-Profit-Einstellungen sind möglicherweise nicht für alle Marktbedingungen geeignet
  3. Mehrzeitsignale können Verzögerungen verursachen
  4. In schnelllebigen Märkten kann ein Stop-Stop-Satz zu früh Gewinne sichern
  5. Die Vermögensverwaltung muss größer sein, um den Stop-Loss von 3,7% zu bewältigen.

Richtung der Strategieoptimierung

  1. Es kann in Betracht gezogen werden, die Stop-Loss- und Gewinnziele an die dynamische Marktfluktuation anzupassen.
  2. Erhöhung der Transaktionszahlen als zusätzliches Bestätigungssignal
  3. Die Einführung eines Trendstärkenindikators zur Verbesserung der Performance in den turbulenten Markten
  4. Optimierung der Gewichte zwischen mehreren Zeiträumen
  5. Erwägen Sie die Einbeziehung von Market Sentiment Indicators zur Verbesserung der Genauigkeit der Signale

Zusammenfassen

Es ist ein vollständiges Handelssystem, das mehrere Zeitzyklenanalyse und Trendbestätigung kombiniert. Durch die Kombination von Zufallsindikatoren und Preisformationen ist es möglich, die Wendepunkte des Marktes besser zu erfassen. Die festgelegten Risikomanagementparameter sind zwar einfach, gewährleisten jedoch die Konsistenz des Handels.

Strategiequellcode
/*backtest
start: 2025-01-19 00:00:00
end: 2025-02-18 00:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Swing Fairas Oil", overlay=true)

// Pilih Timeframe Utama & 2 Timeframe Konfirmasi
tf_main = "15"
tf_mid = "30"
tf_high = "60"

// Parameter Stochastic
length = input(15, title="Stochastic Length")
k_smooth = input(4, title="K Smoothing")
d_smooth = input(5, title="D Smoothing")

// Overbought & Oversold Levels
overbought = input(85, title="Overbought Level")
oversold = input(15, title="Oversold Level")

// Stochastic pada Timeframe Utama
k1 = ta.sma(ta.stoch(close, high, low, length), k_smooth)
d1 = ta.sma(k1, d_smooth)

// Stochastic pada Timeframe Menengah
k2 = request.security(syminfo.tickerid, tf_mid, ta.sma(ta.stoch(close, high, low, length), k_smooth))
d2 = request.security(syminfo.tickerid, tf_mid, ta.sma(k2, d_smooth))

// Stochastic pada Timeframe Tinggi
k3 = request.security(syminfo.tickerid, tf_high, ta.sma(ta.stoch(close, high, low, length), k_smooth))
d3 = request.security(syminfo.tickerid, tf_high, ta.sma(k3, d_smooth))

// **Konfirmasi Higher High & Lower Low**
hh = ta.highest(high, 5)   // Highest High dalam 5 candle terakhir
ll = ta.lowest(low, 5)     // Lowest Low dalam 5 candle terakhir

// **Kondisi Buy**
confirm_buy = ta.crossover(k1, d1) and k1 < oversold  // Stochastic Bullish
higher_low = low > ta.lowest(low[1], 5)  // Higher Low terbentuk

longCondition = confirm_buy and higher_low

// **Kondisi Sell**
confirm_sell = ta.crossunder(k1, d1) and k1 > overbought  // Stochastic Bearish
lower_high = high < ta.highest(high[1], 5)  // Lower High terbentuk

shortCondition = confirm_sell and lower_high

// Stop Loss & Take Profit
sl = input(3.7, title="Stop Loss (%)") / 100
tp = input(1.8, title="Take Profit (%)") / 100

longStopLoss = close * (1 - sl)
longTakeProfit = close * (1 + tp)

shortStopLoss = close * (1 + sl)
shortTakeProfit = close * (1 - tp)

// Eksekusi Order
if longCondition
    strategy.entry("Buy", strategy.long)
    strategy.exit("Sell TP/SL", from_entry="Buy", stop=longStopLoss, limit=longTakeProfit)

if shortCondition
    strategy.entry("Sell", strategy.short)
    strategy.exit("Cover TP/SL", from_entry="Sell", stop=shortStopLoss, limit=shortTakeProfit)

// Label Buy & Sell
if longCondition
    label.new(bar_index, low, "BUY", color=color.green, textcolor=color.white, size=size.small, style=label.style_label_down)

if shortCondition
    label.new(bar_index, high, "SELL", color=color.red, textcolor=color.white, size=size.small, style=label.style_label_up)

// Label Stop Loss & Take Profit
if longCondition
    label.new(bar_index, longStopLoss, "SL: " + str.tostring(longStopLoss, "#.##"), color=color.red, textcolor=color.white, size=size.small, style=label.style_label_left)
    label.new(bar_index, longTakeProfit, "TP: " + str.tostring(longTakeProfit, "#.##"), color=color.green, textcolor=color.white, size=size.small, style=label.style_label_left)

if shortCondition
    label.new(bar_index, shortStopLoss, "SL: " + str.tostring(shortStopLoss, "#.##"), color=color.red, textcolor=color.white, size=size.small, style=label.style_label_left)
    label.new(bar_index, shortTakeProfit, "TP: " + str.tostring(shortTakeProfit, "#.##"), color=color.green, textcolor=color.white, size=size.small, style=label.style_label_left)