Schattenhandelsstrategie

Schriftsteller:ChaoZhang, Datum: 2023-11-03 16:03:59
Tags:

img

Übersicht

Die Schattenhandelsstrategie identifiziert K-Line mit langen unteren oder oberen Schatten, um potenzielle Marktumkehrmöglichkeiten zu bestimmen.

Strategie Logik

Die Kernlogik der Schattenhandelsstrategie besteht darin, lange obere und untere Schatten in K-Linien zu identifizieren.corpound bei den SchattenpinnaLundpinnaSWenn die Größe des Schattens um einen bestimmten Multiplikator größer ist als die Größe des Körpers, wird davon ausgegangen, dass Möglichkeiten zur Umkehrung bestehen können.

  1. Berechnen Sie die Körpergröße der K-Liniecorpo, der der absolute Wert der Differenz zwischen dem Eröffnungs- und dem Schlusskurs ist.
  2. Berechnung des oberen SchattenspinnaL, der der absolute Wert der Differenz zwischen dem höchsten Preis und dem Schlusskurs ist.
  3. Berechnen des unteren SchattenspinnaS, der der absolute Wert der Differenz zwischen dem niedrigsten Preis und dem Schlusskurs ist.
  4. Überprüfen Sie, ob der obere Schatten um einen Multiplikator größer ist als die Körpergröße.pinnaL > (corpo*size), wosizeist ein einstellbarer Parameter.
  5. Überprüfen Sie, ob der untere Schatten größer ist als die Körpergröße um einen Multiplikator, durchpinnaS > (corpo*size).
  6. Wenn die vorstehenden Bedingungen erfüllt sind, wird am Ende der K-Linie mit Schatten kurz (langer Oberschatten) oder lang (langer Unterschatten) geschaltet.

Darüber hinaus prüft die Strategie auch, ob der K-Linienbereichdimgrößer ist als der MindestwertminUm triviale K-Linien mit einem vernachlässigbaren Bereich auszufiltern, werden Stop Loss und Take Profit für den Ausgang verwendet.

Analyse der Vorteile

  • Verwendet das allgemeine Prinzip der Schattenumkehrung, das ein relativ zuverlässiges Handelssignal ist
  • Einfache und klare Strategie-Logik, intuitive Parameter-Einstellungen, leicht zu verstehen
  • Flexible Risikokontrolle durch Anpassung der Parameter an die Änderung der Eintrittshäufigkeit
  • Kann durch Kombination von Trend, Support/Widerstand usw. weiter optimiert werden.

Risiken und Lösungen

  • Es besteht eine Ausfallwahrscheinlichkeit bei Schattenumkehrung, kann das Risiko durch Anpassung der Parameter verringern
  • Notwendigkeit der Kombination mit Trendbeurteilung, um Gegentrendgeschäfte zu vermeiden
  • Parameter müssen für verschiedene Produkte optimiert werden, können von Produkt zu Produkt variieren
  • Kann andere Indikatoren kombinieren, um Einträge zu filtern, niedrigere Gewinnrate für höhere Rentabilität

Optimierungsrichtlinien

  • Optimierung der Parameter je Produkt zur Verbesserung der Stabilität
  • Hinzufügen von Trendbeurteilungen mit gleitenden Durchschnitten usw. um einen Gegentrend zu vermeiden
  • Hinzufügen von Kontrollen für die Überschreitung der jüngsten Höchst-/Tiefpunkte zur Verbesserung der Wirksamkeit
  • Optimieren Sie den Stop Loss und nehmen Sie Gewinn, um den Gewinn zu maximieren und den Verlust zu minimieren
  • Optimierung der Positionsgröße, kann zwischen verschiedenen Produkten variieren

Schlussfolgerung

Die Schattenhandelsstrategie ist eine einfache und praktische kurzfristige Handelsstrategie. Sie erzeugt Handelssignale unter Verwendung des allgemeinen Prinzips der Schattenumkehrungen. Die Strategielogik ist einfach und einfach zu implementieren und kann je nach Produktunterschieden angepasst und optimiert werden. Gleichzeitig birgt der Schattenhandel auch bestimmte Risiken. Er muss mit Trend und anderen Faktoren für die Filtration kombiniert werden, um falsche Trades zu reduzieren.


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-11 23:59:59
period: 10m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("Shadow Trading", overlay=true)

size = input(1,type=float)
pinnaL = abs(high - close) 
pinnaS = abs(low-close)
scarto = input(title="Tail Tollerance", type=float, defval=0.0018)
corpo = abs(close - open)
dim = abs(high-low)
min = input(0.001)
shortE = (open + dim)

longE = (open - dim)
barcolor(dim > min and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) ? navy : na)

longcond = (dim > min) and (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto)
minimo=low+scarto
massimo=high+scarto
barcolor( dim > min and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto) ? orange: na)
shortcond = (dim > min) and(close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
//plot(shortE)
//plot(longE)
//plot(open)
ss= shortcond ? close : na
ll=longcond ? close : na
offset= input(0.00000)

DayClose = 2
closup = barssince(change(strategy.opentrades)>0)  >= DayClose 

longCondition = (close > open) and (pinnaL > (corpo*size)) and (open-low<scarto) 

crossFlag = longcond ? 1 : 0
monthBegin = input(1,maxval = 12)
yearBegin = input(2013, maxval= 2015, minval=2000)

if(month(time)>monthBegin and year(time) >yearBegin)
    if (longcond)
        strategy.entry("short", strategy.short, stop = low - offset)   
//strategy.close("short", when = closup)
shortCondition = (close < open) and (pinnaS > (corpo*size)) and (high-open<scarto)
if(month(time)>monthBegin and year(time) >yearBegin)
    if (shortcond)
        strategy.entry("long", strategy.long, stop = high + offset)
//strategy.close("long", when = closup)

Target =  input(20) 
Stop = input(70) //- 2
Trailing = input(0) 
CQ = 100

TPP = (Target > 0) ? Target*10: na
SLP = (Stop > 0) ? Stop*10 : na
TSP = (Trailing > 0) ? Trailing : na

strategy.exit("Close Long", "long", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)
strategy.exit("Close Short", "short", qty_percent=CQ, profit=TPP, loss=SLP, trail_points=TSP)

Mehr