Auf Änderungsraten basierende Handelsstrategien


Erstellungsdatum: 2023-09-28 11:26:44 zuletzt geändert: 2023-09-28 11:26:44
Kopie: 1 Klicks: 642
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Diese Strategie hilft dem Händler, kurzfristige Preisbewegungen zu erfassen, indem er die Veränderungsrate über einen bestimmten Zeitraum berechnet.

Strategieprinzip

Die Strategie basiert auf folgenden Kennzahlen:

  1. Fast Simple Moving Average (default 14 Tage): Kurzfristige Trends, die bei der Preisbeurteilung verwendet werden
  2. Langsame einfache gleitende Durchschnittswerte (default 100 Tage): langfristige Trends zur Bestimmung der Preise
  3. Referenz-Simple Moving Average (default 30-Tage-Wert): verwendet, um die Kauf- und Verkaufstrends zu bestimmen
  4. Veränderungsrate: Die Schwankungen der Höchst- und Mindestpreise in den letzten Zeitabschnitten (die 12 Standard-K-Linien) werden berechnet, um die Schwankungen zu bestimmen

Regeln für den Kauf:

  1. Preise unter dem Referenz-Simple Moving Average
  2. Veränderungsrate höher als der eingestellte niedrige Veränderungsrate-Threshold ((Standard 2,3%)
  3. Schneller SMA-Anstieg und langsamer SMA-Abfall zeigen, dass sich die beiden Kurven kreuzen können

Die Regeln für den Verkauf:

  1. Preise über dem Referenz-Simple Moving Average
  2. Veränderungsrate höher als der eingestellte hohe Veränderungsrate-Threshold (Standard 4,7%)
  3. Die Preise stiegen um 3 K-Linien.
  4. Derzeit profitabel
  5. Fast SMA ist höher als Slow SMA

Die Auftragsgröße wird als Prozentsatz der Gesamtbeteiligung eingestellt (standardmäßig 96%), um einen Leverage-Effekt zu erzielen.

Strategische Stärkenanalyse

Diese Strategie hat folgende Vorteile:

  1. Die Verwendung von Wechselkursen zur Ermittlung von Schwankungen ermöglicht die Erfassung von kurzfristigen Chancen für schnelle Preiserhöhungen oder Preissenkungen, die zu höheren Erträgen führen.
  2. In Kombination mit schnellen SMA-Beschlüssen kann man die Zeit für einen niedrigen Kauf und einen hohen Verkauf genauer erfassen.
  3. Setzen Sie den Referenz-SMA als Richtungsguide und vermeiden Sie, dass Sie von den Kurzlinien der Preise getäuscht werden.
  4. Das Unternehmen nutzt Stop-Loss-Verfolgung, um Gewinne zu sichern und Risiken abzubauen.
  5. Die Größe des Auftrags bietet einen Hebelwirkung, der den Gewinn steigern kann.

Insgesamt nutzt die Strategie Instrumente wie Preisänderungsraten und SMA-Indikatoren, um in schwankenden Zeiten besser zu funktionieren.

Risikoanalyse

Die Strategie birgt auch folgende Risiken:

  1. Unkorrekt eingestellte Rate of Change- und SMA-Parameter können zu fehlerhaften oder falschen Handelssignalen führen. Die Parameter müssen für verschiedene Märkte angepasst werden.

  2. Die Auftragsgröße erhöht das Risiko. Es wird empfohlen, das Auftragsanteil in der Testphase zu optimieren.

  3. Verfolgung von Stop-Losses: Bei Erschütterungen kann ein vorzeitiger Stop-Loss eingesetzt werden.

  4. Strategie Transactionsstab kann leicht eingeschränkt werden. Sie sollte mit Trendbeurteilung und Stop-Loss-Management kombiniert werden.

  5. Die Strategie sollte in verschiedenen Märkten mehrmals in der Praxis überprüft werden.

Diese Risiken können durch Parameteroptimierung, Auftragsanpassung, Optimierung der Stop-Loss-Strategie und Praxisprüfung kontrolliert werden.

Richtung der Strategieoptimierung

Die Strategie kann auch in folgenden Bereichen optimiert werden:

  1. Hinzu kommen weitere technische Kennzahlen wie Schwankungsrate, Transaktionsmenge usw., um die Signalgenauigkeit zu verbessern.

  2. Optimierung der Anzahl der Transaktionen, um die Auswirkungen der transactionsstab-Marktlage zu reduzieren, indem die Transaktionsfrequenz reduziert wird.

  3. In Kombination mit einer Breakout-Strategie wird ein Breakout-Handelssignal in der Nähe von Schlüsselpreisen gesetzt.

  4. Automatische Optimierung der Parameter-Einstellungen mittels maschineller Lernmethoden.

  5. Die Strategie wird in mehreren Märkten und über mehrere Zeiträume getestet, um ihre Robustheit und Anpassungsfähigkeit zu verbessern.

  6. Berücksichtigen Sie die Merkmale verschiedener Arten wie Aktien, Devisen usw. und setzen Sie eine spezifische Kombination von Parametern.

  7. Strategie-Signal- und Risikokontrollmethoden werden immer wieder optimiert, basierend auf den Ergebnissen aus der Praxis.

Zusammenfassen

Die Strategie sucht nach Handelsmöglichkeiten bei kurzen Kursschwankungen anhand von Wechselkursen und SMA-Indikatoren. Sie hilft, schnelle Trends zu erfassen, muss aber auch auf Risikokontrolle achten. Die Strategie kann durch Parameteroptimierung, Auftragsanpassung, Verbesserung der Stop-Loss-Strategie und Labortestung kontinuierlich verbessert werden.

Strategiequellcode
/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// @version=4
// Author: Sonny Parlin (highschool dropout)
// Best if run on 5m timeframe
strategy(shorttitle="ROC+Strategy", title="Rate of Change Strategy",
                                      overlay=true,  currency=currency.USD,
                                      initial_capital=10000)

// Inputs and variables
ss = input(14, minval=10, maxval=50, title="SMA Fast (days)")
ff = input(100, minval=55, maxval=200, title="SMA Slow (days)")
ref = input(30, minval=20, maxval=50, title="SMA Reference (days)")
lowOffset = input(0.023, "ROC Low (%)", minval=0, step=0.01)
highOffset = input(0.047, "ROC High (%)", minval=0, step=0.01)
orderStake = input(0.96, "Order Stake (%)", minval=0, step=0.01)
lookback = input(12, "Lookback Candles", minval=1, step=1) 

// SMA
smaFast = sma(close, ss)
smaSlow = sma(close, ff)
smaRef = sma(close, ref)
ROC = (max(close[lookback],close) - min(close[lookback],close)) / max(close[lookback],close)

// Set up SMA plot but don't show by default
plot(smaFast, "smaFast", color=#00ff00, display = 0)
plot(smaSlow, "smaSlow", color=#ff0000, display = 0)
plot(smaRef, "smaRef", color=#ffffff, display = 0)

// The buy stratey:
// Guard that the low is under our SMA Reference line 
// Guard that the rate of change over the lookback period is greater than our 
// ROC lowOffset %, default is 0.023. (low < smaRef) and (ROC > lowOffset)
// SMA fast is on the rise and SMA slow is falling and they are very likely
// to cross. (rising(smaFast,1)) and (falling(smaSlow, 1)) 
enterLong = (low < smaRef) and (ROC > lowOffset) and (rising(smaFast,1)) and (falling(smaSlow,1)) 

// The sell Strategy:
// Guard that close is higher than our SMA reference line and that the rate of 
// change over the lookback period is greater than our highOffset %, default
// is 0.047. (close > smaRef) and (ROC > highOffset)
// Guard that close has risen by 3 candles in a row (rising(close,3)) 
// Guard that we currently have profit (strategy.openprofit > 0)
// Guard that SMA fast is higher than smaSlow (smaFast > smaSlow)
// If it keeps going up past our close position the trailing stoploss will kick in!
enterShort = (close > smaRef) and (ROC > highOffset) and (rising(close,3)) and (strategy.openprofit > 0) and (smaFast > smaSlow)

// Order size is based on total equity
// Example 1:
// startingEquity = 2000
// close = 47434.93
// orderStake = 0.45
// (2,000 × orderStake) / close = orderSize = 0.0189733599 = approx $900

// Example 2:
// startingEquity = 2000
// close = 1.272
// orderStake = 0.45
// (startingEquity × orderStake) / close = orderSize = 707.5471698113 = approx $900
orderSize = (strategy.equity * orderStake) / close

// Trailing Stoploss
// I'm using 2.62 as my default value, play with this for different results.
longTrailPerc = input(title="Trailing Stoploss (%)",
     type=input.float, minval=0.0, step=0.1, defval=3.62) * 0.01
     
longStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0

if (enterLong)
    strategy.entry("Open Long Position", strategy.long, orderSize, when=strategy.position_size <= 0)
    
if (enterShort)
    strategy.exit(id="Close Long Position", stop=longStopPrice)


//plot(strategy.equity)