
Bei dieser Strategie handelt es sich um ein quantitatives Handelssystem, das auf der technischen Analyse von Kerzendiagrammen basiert und potenzielle Handelsmöglichkeiten hauptsächlich durch die Analyse der Gesamtlänge der oberen und unteren Schatten der Kerzen identifiziert. Der Kern der Strategie besteht darin, die in Echtzeit berechnete Gesamtlänge der Schatten mit dem offsetbereinigten gleitenden Durchschnitt zu vergleichen und ein langes Signal zu generieren, wenn die Schattenlänge den gleitenden Durchschnitt durchbricht. Die Strategie integriert mehrere gleitende Durchschnittstypen, darunter den einfachen gleitenden Durchschnitt (SMA), den exponentiellen gleitenden Durchschnitt (EMA), den gewichteten gleitenden Durchschnitt (WMA) und den volumengewichteten gleitenden Durchschnitt (VWMA), und bietet Händlern flexiblen Spielraum bei der Parameterauswahl.
Die Kernlogik der Strategie umfasst die folgenden wichtigen Schritte:
Diese Strategie analysiert den klassischen technischen Indikator der Kerzenschattenlänge und kombiniert ihn mit modernen quantitativen Handelsmethoden, um ein Handelssystem mit klarer Logik und hoher Praktikabilität aufzubauen. Die Kernvorteile der Strategie liegen in ihrer Parameterflexibilität und der vollständigen Risikokontrolle, sie weist jedoch auch Einschränkungen auf, wie beispielsweise eine starke Abhängigkeit vom Marktumfeld und eine Parametersensitivität. Durch die Einführung mehrdimensionaler Kennzahlen und eine Optimierung des Positionsmanagements besteht in der Strategie noch viel Verbesserungspotenzial. Insgesamt handelt es sich um eine quantitative Handelsstrategie mit solidem Fundament und sinnvoller Logik, die sich für die weitere Entwicklung und Optimierung eignet.
/*backtest
start: 2019-12-23 08:00:00
end: 2025-01-04 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=6
strategy("Daytrading ES Wick Length Strategy", overlay=true)
// Input parameters
ma_length = input.int(20, title="Moving Average Length", minval=1)
ma_type = input.string("VWMA", title="Type of Moving Average", options=["SMA", "EMA", "WMA", "VWMA"])
ma_offset = input.float(10, title="MA Offset (Points)", step=1)
hold_periods = input.int(18, title="Holding Period (Bars)", minval=1)
// Calculating upper and lower wick lengths
upper_wick_length = high - math.max(close, open)
lower_wick_length = math.min(close, open) - low
// Total wick length (upper + lower)
total_wick_length = upper_wick_length + lower_wick_length
// Calculate the moving average based on the selected method
ma = switch ma_type
"SMA" => ta.sma(total_wick_length, ma_length)
"EMA" => ta.ema(total_wick_length, ma_length)
"WMA" => ta.wma(total_wick_length, ma_length)
"VWMA" => ta.vwma(total_wick_length, ma_length)
// Add the offset to the moving average
ma_with_offset = ma + ma_offset
// Entry condition: wick length exceeds MA with offset
long_entry_condition = total_wick_length > ma_with_offset
// Long entry
if (long_entry_condition)
strategy.entry("Long", strategy.long)
// Automatic exit after holding period
if strategy.position_size > 0 and bar_index - strategy.opentrades.entry_bar_index(strategy.opentrades - 1) >= hold_periods
strategy.close("Long")
// Plot the total wick length as a histogram
plot(total_wick_length, color=color.blue, style=plot.style_histogram, linewidth=2, title="Total Wick Length")
// Plot the moving average with offset
plot(ma_with_offset, color=color.yellow, linewidth=2, title="MA of Wick Length (Offset)")