Erweiterte Einstiegsbedingungsstrategie basierend auf gleitendem Durchschnitt, Unterstützungswiderstand und Volumen


Erstellungsdatum: 2024-06-14 15:40:46 zuletzt geändert: 2024-06-14 15:40:46
Kopie: 9 Klicks: 550
1
konzentrieren Sie sich auf
1617
Anhänger

Erweiterte Einstiegsbedingungsstrategie basierend auf gleitendem Durchschnitt, Unterstützungswiderstand und Volumen

Überblick

Die Strategie kombiniert die drei technischen Indikatoren eines einfachen Moving Averages (SMA), eines unterstützenden Widerstands und einer Erhöhung des Handelsvolumens, um eine umfassende Handelsstrategie zu erstellen. Die Hauptidee der Strategie besteht darin, bei einem Preisbruch über die SMA-Mittellinie, einem unterstützenden Widerstand und einer erhöhten Handelsmenge zu handeln, während die Stop-Loss-Bedingungen zur Risikokontrolle festgelegt werden.

Strategieprinzip

  1. Berechnung der SMA-Mittellinie, der Unterstützungs- und der Widerstandsposition für die angegebene Periode.
  2. Der aktuelle Umsatz hat sich im Vergleich zum Vorjahr erhöht.
  3. Mehrköpfige Einstiegsbedingungen: Der aktuelle Schlusskurs ist größer als der Schlusskurs der vorherigen Periode und größer als die SMA-Mittellinie und die Unterstützung, während der Preis von der Resistance entfernt ist und mit dem Handelsvolumen zunimmt.
  4. Leerlauf-Eintrittsbedingungen: Der aktuelle Schlusskurs ist kleiner als der Schlusskurs der vorherigen Periode und kleiner als die SMA-Mittellinie und -Unterstützung, während der Preis von der Resistance entfernt ist und mit dem Handelsvolumen zunimmt.
  5. Stop-Loss-Bedingungen: Mehrköpfige Stop-Loss-Preise multipliziert mit dem Einstiegspreis (<= 1- Stop-Loss-Prozentsatz) und Leerköpfige Stop-Loss-Preise multipliziert mit dem Einstiegspreis (<= 1 + Stop-Loss-Prozentsatz).

Analyse der Stärken

  1. In Kombination mit mehreren technischen Indikatoren erhöht sich die Zuverlässigkeit und Stabilität der Strategie.
  2. Der Preis wird die SMA-Mittellinie und die Resistenzstütze durchbrechen, um die Trendchancen besser zu erfassen.
  3. Die Einführung von Volumenindikatoren, die sicherstellen, dass Preisbruche mit ausreichender Marktbeteiligung einhergehen, erhöht die Effektivität der Signale.
  4. Die Einrichtung von Stop-Loss-Bedingungen, die das Handelsrisiko effektiv kontrollieren.

Risikoanalyse

  1. Die Berechnung der Resistenzstütze basiert auf historischen Daten und kann bei starken Marktschwankungen an Effektivität verlieren.
  2. Die Handelsvolumenindikatoren können abnormal schwanken, was zu falschen Signalen führt.
  3. Die Einstellung von Stop-Loss-Bedingungen kann den Verlust in extremen Marktsituationen nicht vollständig verhindern.

Optimierungsrichtung

  1. Erwägen Sie die Einführung anderer technischer Indikatoren, wie der Relative Strength Index (RSI) oder der Moving Average Convergence Spread (MACD), um die Zuverlässigkeit des Handelssignals weiter zu überprüfen.
  2. Optimierung der Berechnungsmethoden für die Unterstützung von Widerstandspunkten, z. B. durch ein dynamischeres Verfahren zur Anpassung an unterschiedliche Marktbedingungen.
  3. Die Handelsvolumen-Indikatoren werden glatter gehandhabt, um die Auswirkungen von außergewöhnlichen Schwankungen auf die Strategie zu verringern.
  4. Einstellungen zur Optimierung der Stop-Loss-Bedingungen, wie beispielsweise die Verwendung von mobilen Stop-Loss-Bedingungen oder die dynamische Anpassung des Stop-Loss-Prozentsatzes an die Marktschwankungen.

Zusammenfassen

Die Strategie ist in der Lage, Trendchancen zu ergreifen und gleichzeitig das Handelsrisiko zu kontrollieren. Die Strategie hat jedoch auch eine gewisse Einschränkung. Die Strategie kann in Zukunft verbessert werden, um ihre Stabilität und Profitabilität zu verbessern, indem andere technische Indikatoren eingeführt werden, die Berechnung der Resistenz der Unterstützung optimiert wird, die Handelsmengen-Indikatoren geglättet werden und die Bedingungen für die Stop-Loss-Optimierung verbessert werden.

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

//@version=4
strategy("Advanced Entry Conditions with Support/Resistance, SMA, and Volume", overlay=true)

// Inputs
length = input(20, title="SMA Length")
stopLossPerc = input(1, title="Stop Loss Percentage", type=input.float) / 100
leftBars = input(15, title="Left Bars")
rightBars = input(15, title="Right Bars")
distanceThresh = input(1, title="Distance Threshold from Support/Resistance", type=input.float) / 100

// Calculations
smaValue = sma(close, length)
highUsePivot = fixnan(pivothigh(leftBars, rightBars)[1])
lowUsePivot = fixnan(pivotlow(leftBars, rightBars)[1])

// Volume Calculation
volumeIncrease = volume > volume[1]

// Entry Conditions
longEntryCondition = close[0] > close[1] and close[1] > smaValue and close[0] > smaValue and close[0] > lowUsePivot and close[1] > lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease
shortEntryCondition = close[0] < close[1] and close[1] < smaValue and close[0] < smaValue and close[0] < lowUsePivot and close[1] < lowUsePivot and abs(close[0] - highUsePivot) > distanceThresh and volumeIncrease

// Calculate stop loss levels
longStopLoss = close * (1 - stopLossPerc)
shortStopLoss = close * (1 + stopLossPerc)

// Strategy Logic
strategy.entry("Long", strategy.long, when=longEntryCondition)
strategy.exit("Exit Long", "Long", stop=longStopLoss)

strategy.entry("Short", strategy.short, when=shortEntryCondition)
strategy.exit("Exit Short", "Short", stop=shortStopLoss)

// Plotting
plot(smaValue, color=color.blue, title="SMA")
plot(highUsePivot, color=color.red, linewidth=2, title="Resistance")
plot(lowUsePivot, color=color.green, linewidth=2, title="Support")

plotshape(series=longEntryCondition, location=location.belowbar, color=color.green, style=shape.labelup, title="Long Entry")
plotshape(series=shortEntryCondition, location=location.abovebar, color=color.red, style=shape.labeldown, title="Short Entry")

// Background Color
bgcolor(longEntryCondition ? color.new(color.green, 90) : shortEntryCondition ? color.new(color.red, 90) : na)