Tracking-Strategie basierend auf wichtigen Preispunkten


Erstellungsdatum: 2023-09-21 15:24:53 zuletzt geändert: 2023-09-21 15:24:53
Kopie: 0 Klicks: 684
1
konzentrieren Sie sich auf
1617
Anhänger

Überblick

Die Strategie basiert auf der Idee, dass Stop-Loss- und Stop-Stop-Punkte oftmals auf ganzwertigen oder kritischen Preisniveaus gesetzt werden, die oft als Unterstützungs- und Widerstandspunkte dienen. Die Strategie identifiziert diese kritischen Preisniveaus und führt Kauf- oder Verkaufshandlungen durch, wenn der Preis nahe ist.

Strategieprinzip

Die Strategie beinhaltet vor allem folgende Regeln:

  1. Ein Kauf wird getätigt, wenn der Schlusskurs über dem Schlüsselpreis liegt und dieser in den letzten 10 K-Linien nicht berührt wurde.

  2. Anschließend wird das Climb Tracking verwendet, um die Bewegung zu verfolgen, bei der der Preis den kritischen Preis überschreitet. Der Climb ist 20 Punkte lang.

  3. Ein Verkauf ist das Gegenteil von einem Kauf, wenn der Schlusskurs unter dem Schlüsselpreis liegt und diesen nicht in den letzten 10 K-Linien berührt hat.

  4. Die Methoden zur Identifizierung von Schlüsselpriceniveaus sind:

    • Umrechnen Sie den Schlusskurs in eine ganze Zahl
    • Berechnung der Restzahl mit 50 ganzen Punkten (konfigurierbar)
    • Wenn der Überschuss größer als 25 ist, werden die 50 nächstgelegenen Integer als Schlüsselpreis verwendet.
    • Die Schlüsselpreise bleiben unverändert.

Die Strategie basiert auf der Theorie der Preispsychologie, dass die Integerpreise oder die Schlüsselstufen oft wichtige Positionen sind, um die sich mehrere Parteien bewerben, und somit als Handelssignale wirken. Die Kletterverfolgung kann jedoch Trends nach einem Preisbruch verfolgen.

Strategische Vorteile

Diese Strategie hat folgende Vorteile:

  1. Einfache, intuitive Handelssignale und Regeln für den Einstieg.
  2. Es ist eine allgemeine Regel, dass die Schlüsselpreise nicht von einer bestimmten Sorte abhängen.
  3. Der Stop-Loss-Tracker kann die Gewinne festlegen und den Trends folgen.

Strategisches Risiko

Die Strategie birgt auch folgende Risiken:

  1. Die wichtigsten Preispunkte sind nicht unbedingt starke Unterstützungs- oder Widerstandspunkte. Ein falscher Durchbruch kann zum Scheitern des Handels führen.
  2. Die festgelegte 10-K-Linien-Regel ist für verschiedene Sorten möglicherweise nicht geeignet.
  3. Die Verlustdämpfung sollte nicht zu weit verfolgt werden, da sie zu früh verursacht werden kann.

Entsprechende Lösungen:

  1. Die Schwächen der Schlüsselpreise werden durch weitere Indikatoren ermittelt.
  2. Optimierung der Parameter für verschiedene Sorten und Suche nach der optimalen Parameterkombination.
  3. Optimierung der Parameter zur Verfolgung von Stop-Losses, um sie näher am Markt zu bringen.

Richtung der Strategieoptimierung

Diese Strategie kann optimiert werden durch:

  1. Hinzufügen von weiteren Kriterien zur Beurteilung der Wichtigkeit von Schlüsselpreispunkten, um das Risiko von Falschbrüchen zu vermeiden.

  2. Optimierungsparameter, insbesondere Parameter wie Schrittlänge in Schlüsselpreisbereichen, K-Linien-Perioden usw. werden besser an die Eigenschaften der verschiedenen Sorten angepasst.

  3. Optimierung von Tracking-Stoppmechanismen, z. B. durch die Verwendung von dynamischen Tracking-Stopps anstelle von festen Kletterstopps.

  4. Hinzufügen von Machine-Learning-Algorithmen, die historische Daten nutzen, um die Stärke und Schwäche von Schlüsselpreisbereichen zu ermitteln, um die Signalqualität zu verbessern.

  5. Strategie, die sich auf mehrere Zeiträume erstreckt, wobei Trends in höheren Zeiträumen beurteilt und in niedrigeren Zeiträumen verfolgt werden.

Zusammenfassen

Die Strategie basiert auf einfachen und intuitiven Ideen zu Preis-Keypoints und nutzt allgemein verbreitete Handelsgewohnheiten, um Handelssignale zu erzeugen. Strategiechancen sind reichlich vorhanden, müssen jedoch weiter optimiert werden, um falsche Durchbrüche zu behandeln. Mittel wie Parameteroptimierung und Maschinelles Lernen können die Strategie-Stabilität verbessern.

Strategiequellcode
/*backtest
start: 2022-09-14 00:00:00
end: 2023-09-20 00:00:00
period: 2h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Strategy based on the idea that stop loss and take profit are often placed at full price levels or round numbers, whcih acts as resistance and supports levels
//Buy Rules:
//Actual price (close) is above round number.
//Round number level was not touched in previous ten bars (arbitrary value).
//Place a buy and follow the order with a trail step because price can bounce at round number (support) or can go through it.
//Sell Rules are the same of buy rules but inverted.
//
//Need improvement on conditions' logic and round numbers definitions


strategy("dP magnet", overlay=true, pyramiding=0,default_qty_type=strategy.percent_of_equity,default_qty_value=100,currency=currency.USD)

//Round Levels credit to RKchartest

roundLevel50 = input(500, 'Round Level 1, pips')
//roundLevel100 = input(1000, 'Round Level 2, pips')
deviation = input(1000, 'Max distance, pips', minval=0) 

rDelimeter = 1/syminfo.mintick

intRoundLevel = close[1] * rDelimeter

intRemainder = intRoundLevel % roundLevel50 
toRound = (intRemainder >= roundLevel50/2) ? roundLevel50 : 0
roundLevel = (intRoundLevel - intRemainder + toRound) / rDelimeter
plot(roundLevel, title='Round Level 1', color=black, style=line, transp=0, linewidth=1, trackprice=false)

//intRemainder2 = intRoundLevel % roundLevel100
//toRound2 = (intRemainder2 >= roundLevel100/2) ? roundLevel100 : 0
//roundLevel2 = (intRoundLevel - intRemainder2 + toRound2) / rDelimeter
//plot((abs(roundLevel2 - close) * rDelimeter < deviation) ? roundLevel2 : na, title='Round Level 2', color=black, style=circles, transp=0, linewidth=1, trackprice=true)

// end

//Start of strategy

distToFullNumber=(close-roundLevel) //can be positive or negative number

distPips=input(100,'Distance in pips to full level',minval=10) //user defined: this distance defines when to open an order at market price


TrailS=input(20,'Trail Step points',minval=10) //trail step that follows the order

longCondition = iff(distToFullNumber>0 and abs(distToFullNumber)<=distPips and lowest(low,10)>roundLevel,true,false)

if (longCondition)
    strategy.entry("LongMagnet", strategy.long)
    strategy.exit("ExitMagnet","LongMagnet",trail_points=TrailS)

shortCondition = iff(distToFullNumber<0 and abs(distToFullNumber)<=distPips and highest(high,10)<roundLevel,true,false)

if (shortCondition)
    strategy.entry("ShortMagnet", strategy.short)
    strategy.exit("Exit_Magnet","ShortMagnet",trail_points=TrailS)