Range-Trading-Strategie basierend auf dem stochastischen Oszillator

ATR
Erstellungsdatum: 2024-06-17 14:52:10 zuletzt geändert: 2024-06-17 14:52:10
Kopie: 0 Klicks: 568
1
konzentrieren Sie sich auf
1617
Anhänger

Range-Trading-Strategie basierend auf dem stochastischen Oszillator

Überblick

Die Strategie nutzt den Stochastic Oscillator, um überkauft und überverkauft zu sein, und trifft auf die vordefinierten Risiko- und Rendite-Parameter, um einen Gewinn in einem schwankenden Handelsbereich zu erzielen. Die Strategie basiert hauptsächlich darauf, die niedrigsten Punkte in einem Handelsbereich zu kaufen und die höchsten Punkte in einem Handelsbereich zu verkaufen, während das Risiko streng kontrolliert wird.

Strategieprinzip

  1. Wenn der Zufallsschwankungsindikator über den Überverkaufsschnitt (20) fällt, wird eine Überposition eröffnet. Wenn der Zufallsschwankungsindikator über den Überkaufsschnitt (80) fällt, wird eine Leerposition eröffnet.
  2. Die Stop-Loss- und Stop-Stop-Levels sind auf das 2-fache der durchschnittlichen realen Bandbreite (ATR) festgelegt, wobei das Risiko pro Transaktion auf 1% des Kontogewinns kontrolliert wird.
  3. Um Übertriebenheit zu verhindern, wird eine Strategie vorgeschrieben, die mindestens 20 K-Linien zwischen den einzelnen Transaktionen trennt, um eine Abkühlzeit zu ermöglichen und Schwankungen zu vermeiden.

Strategische Vorteile

  1. Die Strategie ist in der Lage, Preisschwankungen innerhalb von flüchtigen Handelsbereichen zu erfassen, bei niedrigen Preisen zu kaufen und bei hohen Preisen zu verkaufen, um einen Gewinn zu erzielen.
  2. Die Strategie verwendet strenge Risikomanagement-Maßnahmen, einschließlich Stop-Loss- und Stop-Stops auf der Grundlage von ATR und einem festen Risiko von 1% pro Handel, um Rücktritte und Verluste pro Handel zu kontrollieren.
  3. Die Strategie vermeidet häufige Transaktionen und wird durch den Lärm der Märkte getäuscht.
  4. Die Strategie ist klar, leicht zu verstehen und umzusetzen und eignet sich für verschiedene Marktumgebungen.

Strategisches Risiko

  1. Der Erfolg der Strategie hängt in hohem Maße von der richtigen Identifizierung der Handelsbereiche ab, was zu einem verlustreichen Handel führen kann.
  2. Die Strategie kann eine Trend-Handelschance verpassen, wenn der Markt die Handelszone durchbricht und eine Tendenz bildet.
  3. Trotz der eingesetzten Risikomanagement-Maßnahmen ist es möglich, dass unter extremen Marktbedingungen Verluste entstehen, die über den Erwartungen liegen.
  4. Strategieparameter (wie Überkauf/Überverkauf, ATR-Multiplikator usw.) müssen für unterschiedliche Marktbedingungen optimiert werden, und unangemessene Parameter können zu einer schlechten Performance führen.

Richtung der Strategieoptimierung

  1. Berücksichtigen Sie die Verwendung von anderen technischen Indikatoren (z. B. MACD, RSI, etc.) zur Bestätigung von Handelssignalen und zur Verbesserung der Signalsicherheit.
  2. Einführung von dynamischen Stop-Loss- und Stop-Stop-Mechanismen, z. B. die Anpassung der Stop-Loss-Position, wenn sich der Preis in eine günstige Richtung bewegt, um eine höhere Rendite zu erzielen.
  3. Für die Identifizierung von Handelsplätzen kann die Verwendung von fortschrittlicheren Technologien wie Machine Learning-Algorithmen zur Verbesserung der Genauigkeit erforscht werden.
  4. In einem Trendmarkt kann man die Einführung eines Trendfilters in Betracht ziehen, um zu vermeiden, dass man in einem Trendmarkt handelt.

Zusammenfassen

Die Strategie versucht, überkaufende und überverkaufende Signale von zufälligen Indikatoren zu nutzen, um einen Handel innerhalb eines vorher festgelegten Handelsbereichs auszulösen. Die Strategie kontrolliert das Risiko durch strenge Risikomanagement und Handelsintervalle. Obwohl die Strategie einige Vorteile hat, hängt ihr Erfolg weitgehend von der richtigen Identifizierung der Handelsbereiche ab.

Strategiequellcode
/*backtest
start: 2023-06-11 00:00:00
end: 2024-06-16 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Range Trading with Stochastic", overlay=true)

// Input Parameters
overboughtLevel = input.int(80, title="Overbought Level", minval=1, maxval=100)
oversoldLevel = input.int(20, title="Oversold Level", minval=1, maxval=100)
stochLength = input.int(14, title="Stochastic Length", minval=1)
riskPerTrade = input.float(0.01, title="Risk per Trade (%)", minval=0.01, maxval=100, step=0.01)
barsBetweenTrades = input.int(20, title="Bars Between Trades", minval=1)

// Calculate Stochastic Oscillator
k = ta.sma(ta.stoch(close, high, low, stochLength), 3)
d = ta.sma(k, 3)

// Variables to Track Time Since Last Trade
var lastTradeBar = 0
barsSinceLastTrade = bar_index - lastTradeBar

// Risk Management
atr = ta.atr(14)
stopLoss = 2 * atr
takeProfit = 2 * atr
riskAmount = strategy.equity * riskPerTrade / 100
positionSize = 1

// Entry Conditions
longCondition = k < oversoldLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades
shortCondition = k > overboughtLevel and strategy.position_size == 0 and barsSinceLastTrade >= barsBetweenTrades

// Entry/Exit Orders
if longCondition
    strategy.entry("Long", strategy.long, qty=positionSize)
    strategy.exit("Long Exit", "Long", stop=close - stopLoss, limit=close + takeProfit)
    lastTradeBar := bar_index // Update last trade bar
if shortCondition
    strategy.entry("Short", strategy.short, qty=positionSize)
    strategy.exit("Short Exit", "Short", stop=close + stopLoss, limit=close - takeProfit)
    lastTradeBar := bar_index // Update last trade bar

// Plot Stochastic
plot(k, color=color.blue, title="%K")
plot(d, color=color.orange, title="%D")
hline(overboughtLevel, color=color.red, title="Overbought")
hline(oversoldLevel, color=color.green, title="Oversold")