Dynamische Schwellenpreisänderungsstrategie für den Ausbruch

Schriftsteller:ChaoZhang, Datum: 2024-04-01 12:03:59
Tags:

img

Diese Strategie wird Dynamic Threshold Price Change Breakout Strategy genannt. Die Hauptidee dieser Strategie besteht darin, eine dynamische Schwelle festzulegen, und wenn die Preisänderungsrate diese Schwelle überschreitet, wird ein Kaufsignal generiert, und wenn die Preisänderungsrate unter dem negativen Wert dieser Schwelle liegt, wird ein Verkaufssignal generiert. Gleichzeitig setzt die Strategie auch einen Stop-Loss. Wenn der Preis unter den niedrigsten Preis der vorherigen 6 Kerzen fällt, wird die Position geschlossen.

Strategieprinzip

Der Kern dieser Strategie besteht darin, die Preisänderungsrate zu berechnen, die durch Dividieren des aktuellen Schlusskurses durch den vorherigen Schlusskurs und dann Subtrahieren von 1 erzielt wird. Dann wird die berechnete Preisänderungsrate mit der Schwellenwerteinput des Benutzers verglichen. Wenn die Preisänderungsrate größer oder gleich der Schwelle ist, wenn keine aktuelle Position oder eine Short-Position gehalten wird, wird ein Kaufsignal generiert; wenn die Preisänderungsrate kleiner oder gleich dem negativen Wert der Schwelle ist, wenn keine aktuelle Position oder eine Long-Position gehalten wird, wird ein Verkaufssignal generiert. Nach der Generierung eines Kaufsignals wird der niedrigste Preis der 6 Kerzen als Stop-Loss-Preis aufgezeichnet. Sobald der Preis unter den vorherigen Stop-Loss-Preis fällt, wird die Strategie die Long-Position schließen.

Strategische Vorteile

  1. Diese Strategie verwendet einen dynamischen Schwellenwert, der sich an verschiedene Marktumgebungen anpassen kann und ein gewisses Maß an Flexibilität aufweist.
  2. Die Strategielogik ist einfach und klar, leicht verständlich und umsetzbar.
  3. Ein Stop-Loss soll das Risiko bis zu einem gewissen Grad kontrollieren.
  4. Sie eignet sich für den Einsatz in aufstrebenden Märkten und kann den Aufwärtstrend wirksam erfassen.

Strategische Risiken

  1. Diese Strategie kann häufig in volatilen Märkten gehandelt werden, was zu erhöhten Transaktionskosten führt.
  2. Die Einstellung des Stop-Loss ist möglicherweise nicht flexibel genug und kann in einigen Fällen zu einem vorzeitigen Stop-Loss führen.
  3. Die Strategie berücksichtigt nur den Preisänderungsfaktor und berücksichtigt keine anderen Faktoren, die die Preisentwicklung beeinflussen können, wie Handelsvolumen und Marktstimmung.

Strategieoptimierungsrichtlinien

  1. Um die Zuverlässigkeit der Strategie zu verbessern, können weitere Indikatoren wie Handelsvolumen und Volatilität berücksichtigt werden.
  2. Die Stop-Loss-Einstellung kann optimiert werden, z. B. mit einem Trailing-Stop oder einem dynamischen Stop-Loss, um den Stop-Loss flexibler zu gestalten.
  3. Parameter können optimiert werden, z. B. die Größe des Schwellenwerts und der Berechnungszeitraum des Stop-Loss, um die optimale Parameterkombination zu finden.
  4. Das Positionsmanagement kann hinzugefügt werden, um Positionen dynamisch an die Marktbedingungen anzupassen, um das Risiko zu kontrollieren.

Zusammenfassung

Die Dynamic Threshold Price Change Breakout Strategy erzeugt Handelssignale, indem sie die Kursänderungsrate mit einer dynamischen Schwelle vergleicht, die für den Einsatz in aufstrebenden Märkten geeignet ist. Die Strategielogik ist einfach und klar, mit einem gewissen Maß an Flexibilität und Risikokontrolle. Diese Strategie hat jedoch auch einige Mängel, wie häufigen Handel in volatilen Märkten und unflexible Stop-Loss-Einstellungen. In Zukunft können wir die Optimierung der Strategie aus Aspekten wie die Einführung von mehr Indikatoren, die Optimierung von Stop-Loss-Einstellungen, die Optimierung von Parametern und das Hinzufügen von Positionsmanagement erwägen, um die Leistung der Strategie weiter zu verbessern.


/*backtest
start: 2023-04-01 00:00:00
end: 2024-03-31 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy("Price Change", shorttitle="Price Change", overlay=true)

change = input(00.1, title="Change", minval=0.0001, maxval=1, type=input.float)


// Calculate price change
priceChange = close / close[1] - 1

// Buy and Sell Signals
buyp = priceChange >= change
sellp = priceChange <= (change * -1)

// Initialize position and track the current position
var int position = na

// Strategy entry conditions
buy_condition = buyp and (na(position) or position == -1)
sell_condition = sellp and (na(position) or position == 1)

var float stop = na

if (buy_condition)
    strategy.entry("Long", strategy.long)
    stop := lowest(low, 6)
    position := 1
if (sell_condition or low < stop)
    strategy.close("Long")
    position := -1

// Plot Buy and Sell signals using plotshape
plotshape(series=buy_condition, title="Buy Signal", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(series=sell_condition, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)


Mehr