Dies ist eine quantitative Handelsstrategie, die EMA-Trend, Round Number Breakout und Trading Session Filtering kombiniert. Die Strategie stützt sich in erster Linie auf die EMA-Trendrichtung, gepaart mit Preisbreakout-Mustern an wichtigen Round Number-Levels als Handelssignale, während sie Session Filtering zur Verbesserung der Handelsqualität integriert. Die Strategie verwendet prozentual basierte Stop-Loss und Take-Profit für das Risikomanagement.
Die Kernlogik umfasst folgende Schlüsselelemente: 1. Verwendet die 20-Tage-EMA als Trend-Identifikationswerkzeug und geht nur lange über die EMA und kurz darunter 2. Sucht nach verschluckenden Mustern in der Nähe von Schlüsselrunden (5-Dollar-Intervalle) 3. Nur während der London- und New Yorker Sitzungen gehandelt, um Perioden mit geringer Volatilität zu vermeiden 4. Lange Signale erfordern: bullisches Schluckmuster, Preis über der EMA, aktive Handelssitzung 5. Kurzsignale erfordern: ein niedriges Schwellmuster, Preis unterhalb der EMA, aktive Handelssitzung 6. Implementiert 1% Stop-Loss und 1,5% Take-Profit Risiko-Reward-Ratio für das Handelsmanagement
Die Strategie baut ein logisch strenges Handelssystem auf, indem sie mehrere Mechanismen einschließlich EMA-Trends, Preismustern und Sitzungsfilterung kombiniert. Während sie bestimmte Einschränkungen aufweist, können kontinuierliche Optimierung und Verfeinerung die Stabilität und Rentabilität der Strategie möglicherweise verbessern. Die Strategie dient als solide Grundlage für ein mittelfristiges bis langfristiges Trendfolgensystem, das für die Anpassung auf der Grundlage spezifischer Handelsanforderungen geeignet ist.
/*backtest start: 2024-12-17 00:00:00 end: 2025-01-16 00:00:00 period: 1h basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT","balance":49999}] */ //@version=6 strategy("The Gold Box Strategy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=200) // Inputs roundNumberInterval = input.int(5, title="Round Number Interval ($)", minval=1) useEMA = input.bool(true, title="Use 20 EMA for Confluence") emaLength = input.int(20, title="EMA Length") // Session times for London and NY londonSession = input("0300-1200", title="London Session (NY Time)") nySession = input("0800-1700", title="New York Session (NY Time)") // EMA Calculation emaValue = ta.ema(close, emaLength) // Plot Round Number Levels roundLow = math.floor(low / roundNumberInterval) * roundNumberInterval roundHigh = math.ceil(high / roundNumberInterval) * roundNumberInterval // for level = roundLow to roundHigh by roundNumberInterval // line.new(x1=bar_index - 1, y1=level, x2=bar_index, y2=level, color=color.new(color.gray, 80), extend=extend.both) // Session Filter inLondonSession = not na(time("1", londonSession)) inNYSession = not na(time("1", nySession)) inSession = true // Detect Bullish and Bearish Engulfing patterns bullishEngulfing = close > open[1] and open < close[1] and close > emaValue and inSession bearishEngulfing = close < open[1] and open > close[1] and close < emaValue and inSession // Entry Conditions if bullishEngulfing strategy.entry("Long", strategy.long, comment="Bullish Engulfing with EMA Confluence") if bearishEngulfing strategy.entry("Short", strategy.short, comment="Bearish Engulfing with EMA Confluence") // Stop Loss and Take Profit stopLossPercent = input.float(1.0, title="Stop Loss (%)", minval=0.1) / 100 takeProfitPercent = input.float(1.5, title="Take Profit (%)", minval=0.1) / 100 strategy.exit("Exit Long", "Long", stop=close * (1 - stopLossPercent), limit=close * (1 + takeProfitPercent)) strategy.exit("Exit Short", "Short", stop=close * (1 + stopLossPercent), limit=close * (1 - takeProfitPercent))