
Die Schattenhandelsstrategie beurteilt, wann sich der Markt umdrehen kann, indem sie die K-Linie mit einem langen oder langen Schatten auf der K-Linie identifiziert. Wenn die Schattenlinie mit einem langen oder langen Schatten auf der K-Linie identifiziert wird, machen Sie mehr; wenn die Schattenlinie mit einem langen oder langen Schatten auf der K-Linie identifiziert wird, machen Sie weniger.
Die Kernlogik der Schattenhandelsstrategie besteht darin, die langen oberen und unteren Schattenlinien zu identifizieren, die in der K-Linie auftreten. Die Strategie berechnet die Größe der K-Linie-EinheitcorpoGröße der SchattenliniepinnaL、pinnaSWenn die Schattenlinie größer ist als eine bestimmte Anzahl von Malen der Größe des Objekts, wird davon ausgegangen, dass eine Umkehrung möglich ist. Insbesondere beinhaltet die Strategie die folgenden Schritte:
corpo, der absolute Wert der Differenz zwischen dem Eröffnungs- und dem Schlusskurs.pinnaL, also der absolute Wert der Differenz zwischen dem Höchst- und dem Schlusskurs.pinnaSDer absolute Wert der Differenz zwischen dem Mindest- und dem Schlusskurs.pinnaL > (corpo*size),sizeist ein modularer Parameter.pinnaS > (corpo*size)。Die Strategie beurteilt außerdem, wie groß die K-Linie ist.dimIst größer als MinimalwertminDer Filter entfernt die uninteressanten K-Linien, die zu klein sind. Nach der Einfahrt wird ein Stop-Loss und ein Stop-Exit festgelegt.
Eine Schattenhandelsstrategie ist eine relativ einfache und praktische Kurzlinienhandelsstrategie. Sie erzeugt Handelssignale, die die allgemeine Gesetzmäßigkeit der Umkehrung der langen Schattenlinien nutzen. Die Logik der Strategie ist einfach, leicht umzusetzen und kann an Varianten angepasst und optimiert werden. Die Schattenhandelsstrategie birgt jedoch auch gewisse Risiken und muss in Kombination mit Trends und anderen Faktoren gefiltert werden, um die Wahrscheinlichkeit von Fehlgeschäften zu verringern.
/*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)