Strategie zur Umkehrung von Doppelschatten

Schriftsteller:ChaoZhang, Datum: 2023-11-07 17:00:52
Tags:

img

Übersicht

Die Dual Shadow Reversal Strategie ist eine kurzfristige Handelsstrategie, die auf Kerzenmustern basiert. Sie identifiziert potenzielle Umkehrmöglichkeiten, indem sie das spezielle Kerzenmuster erkennt, bei dem zwei aufeinanderfolgende Kerzen keine Schatten haben. Die Strategie ist einfach und einfach umzusetzen, hat aber auch bestimmte Risiken zu beachten.

Grundsätze

Die Kernlogik dieser Strategie besteht darin, das dual shadow-Muster zu identifizieren. Insbesondere überprüft sie, ob die aktuelle Kerze die Bedingung open gleich niedrig, dicht gleich hoch erfüllt, was bedeutet, dass es keine unteren oder oberen Schatten gibt, was als schattenlose Kerze bekannt ist. Wenn die vorherige Kerze auch diese Kriterien erfüllt, signalisiert sie zwei aufeinanderfolgende schattenlose Kerzen oder das dual shadow-Muster.

Nach der Theorie der technischen Analyse deutet dieses Doppelschattenmuster häufig auf eine bevorstehende Trendwende hin. Der Preisschwankungsbereich innerhalb eines sehr engen Bereichs bei zwei aufeinanderfolgenden Kerzen zeigt die Ausgleichung der Kauf- und Verkaufskräfte an, was auf eine wahrscheinliche Umkehr hindeutet.

Nach dem Erkennen des Doppelschattenmusters wird die Strategie bei der nächsten Candles-Öffnung auf der Grundlage des vorherigen Schließens lang oder kurz eingehen und die Position nach einer bestimmten Anzahl von Balken schließen.

Vorteile

  • Die Strategielogik ist unkompliziert und leicht verständlich, mit einfacher Mustererkennung, die einfach umzusetzen ist.

  • Es verwendet das klassische Dual-Shadow-Reversal-Muster, das einige technische Analyse-Rationalität hat.

  • Ein seltener Handel trägt dazu bei, Kosten und Risiken zu reduzieren.

  • Es ist einfach, Backtesting-Funktionen hinzuzufügen und Parameter zu optimieren.

Risiken

  • Der Musterhandel beruht auf historischen Chartstatistiken und Wahrscheinlichkeiten, und Abweichungen können auftreten.

  • Obwohl doppelte Schatten auf eine Umkehrung hindeuten, kann die tatsächliche Umkehrung nicht eintreten oder dauern.

  • Die Festgewinnzone kann mit schnelllebigen Märkten nicht gut umgehen.

  • Wenn man sich nur begrenzte Informationen über Kerzen ansieht, kann das zu übertriebenen Einträgen führen.

Verbesserungsideen

  • Verwenden Sie Trendindikatoren, um Gegentrendgeschäfte zu vermeiden.

  • Verwenden Sie Warte-für-Bestätigung-Einträge, um die tatsächliche Umkehrung zu bestätigen.

  • Einstellen dynamischer Stop-Loss auf Basis von ATR anstelle einer festen Dauer.

  • Verwenden Sie maschinelles Lernen, um zu bestimmen, welche Dual-Shadow-Muster zuverlässiger sind.

Zusammenfassung

Die Dual-Shadow-Reversal-Strategie nutzt das klassische Konzept des Pattern-Tradings auf einfache und intuitive Weise, geeignet für Anfänger und dient gleichzeitig als modulare Komponente für Algos.


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

//@version=3
strategy("No Shadow Candles", overlay=true)

//set inputs
bars_until_close_trade = input(1,"Bars Until Close", minval = 1)
backtest_option = input(true,"Backtest on Twice alert?", bool)

//set conditions
up = close > close[1] and low >= open and high <= close
down = close < close[1] and low >= close and high <= open

up2 = (close > close[1] and low >= open and high <= close) and (close[1] > close[2] and low[1] >= open[1] and high[1] <= close[1])
down2 = (close < close[1] and low >= close and high <= open) and (close[1] < close[2] and low[1] >= close[1] and high[1] <= open[1])

close_trade = barssince(up or down) == bars_until_close_trade
close_trade2 = barssince(up2 or down2) == bars_until_close_trade

//plot indicators
plotshape(up,"Up Marker", shape.triangleup, location.belowbar, color = olive, size = size.tiny, transp = 50)
plotshape(down,"Down Marker", shape.triangledown, location.abovebar, color = orange, size = size.tiny, transp = 50)
plotshape(up2,"Up Twice Marker", shape.triangleup, location.belowbar, color = white, size = size.small)
plotshape(down2,"Down Twice Marker", shape.triangledown, location.abovebar, color = white, size = size.small)
plotshape(close_trade,"Close Trigger", shape.circle, location.belowbar, color = fuchsia, size = size.tiny, transp = 50)
plotshape(close_trade2,"Close Trigger2 (After Twice Alert)", shape.circle, location.belowbar, color = red, size = size.small)

//Strategy Testing


// Component Code Start
// Example usage:
// if testPeriod()
//   strategy.entry("LE", strategy.long)
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(01, "Backtest Start Month")
testStartDay = input(2, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(7, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)

testPeriod() => true
// Component Code Stop

//Entry and Close settings
if testPeriod() and backtest_option == true
    strategy.entry("up2", true, when = up2, limit = close)
    strategy.close("up2", when = close_trade)

if testPeriod() and backtest_option == false
    strategy.entry("up", true,  when = up, limit = close)
    strategy.close("up", when = close_trade)


Mehr