Die Multi-EMA Bullish Trend Strategie ist eine Trend-Folge-Strategie, die auf mehreren exponentiellen gleitenden Durchschnitten (EMA) verschiedener Perioden zur Trendbestimmung basiert.
Die Strategie verwendet 6 EMAs mit Perioden von 10, 20, 50, 100, 150 und 200 Tagen. Diese EMAs werden verwendet, um das aktuelle zyklische Stadium des Marktes zu bestimmen. Wenn kürzere EMAs (z. B. 10-tägige) über längere EMAs (z. B. 20--, 50-tägige) kreuzen, signalisiert dies, dass der Markt in die Markup-Phase eines Bulltrends eingetreten ist.
Insbesondere wird die Strategie langlebig sein, wenn folgende Bedingungen erfüllt sind:
Nach der Eröffnung einer Long-Position wird ein 8%iger Stop-Loss verwendet, um Gewinne zu erzielen. Das bedeutet, dass die Position so lange offen gehalten wird, bis der Preis nicht mehr als 8% vom Einstiegspreis fällt. Sobald der Drawdown 8% übersteigt, wird die Position geschlossen, um einen Stop-Loss zu erzielen.
Zusammenfassend ist die Schlüsselidee dieser Strategie, wenn durch mehrfache EMA-Ausrichtung bestätigt, in einen Bullentrend einzutreten und den Trailing Stop Loss zu nutzen, um Gewinne zu erzielen.
Die Multi-EMA-Bulltrend-Strategie weist folgende Stärken auf:
Für diese Strategie sind auch einige Risiken zu beachten:
Um diesen Risiken entgegenzuwirken, können wir diese Optimierung durch Anpassung der EMA-Perioden oder durch die Einbeziehung von Hilfsindikatoren zur Verbesserung des Urteils optimieren.
Angesichts der Merkmale dieser Strategie können sich zukünftige Optimierungen auf folgende Aspekte konzentrieren:
Insgesamt ist die Multi-EMA Bull Trend Strategie ein robustes und zuverlässiges Trendfolgensystem, das die Trendbestimmung und Risikokontrolle ausbalanciert. Es gibt immer noch ein großes Verbesserungspotenzial durch Parameter-Tuning und Algorithmusoptimierung. Es ist eine effektive Strategie, die es wert ist, ausprobiert und recherchiert zu werden.
/*backtest start: 2023-01-15 00:00:00 end: 2024-01-21 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy('SirSeff\'s EMA Rainbow', overlay=true) // Testing Start dates testStartYear = input(2000, 'Backtest Start Year') testStartMonth = input(1, 'Backtest Start Month') testStartDay = input(1, 'Backtest Start Day') testPeriodStart = timestamp(testStartYear, testStartMonth, testStartDay, 0, 0) //Stop date if you want to use a specific range of dates testStopYear = input(2100, 'Backtest Stop Year') testStopMonth = input(12, 'Backtest Stop Month') testStopDay = input(30, 'Backtest Stop Day') testPeriodStop = timestamp(testStopYear, testStopMonth, testStopDay, 0, 0) testPeriod() => time >= testPeriodStart and time <= testPeriodStop ? true : false // Component Code Stop //TSP trailStop = input.float(title='Long Trailing Stop (%)', minval=0.0, step=0.1, defval=8) * 0.01 longStopPrice = 0.0 longStopPrice := if strategy.position_size > 0 stopValue = close * (1 - trailStop) math.max(stopValue, longStopPrice[1]) else 0 //PLOTS plot(series=strategy.position_size > 0 ? longStopPrice : na, color=color.new(color.red, 0), style=plot.style_linebr, linewidth=1, title='Long Trail Stop', offset=1, title='Long Trail Stop') plot(ta.ema(close, 20)) plot(ta.ema(close, 50)) plot(ta.ema(close, 100)) plot(ta.ema(close, 150)) plot(ta.ema(close, 200)) //OPEN longCondition = ta.ema(close, 10) > ta.ema(close, 20) and ta.ema(close, 20) > ta.ema(close, 50) and ta.ema(close, 100) > ta.ema(close, 150) and ta.ema(close, 150) > ta.ema(close, 200) if longCondition and ta.crossover(close,ta.ema(close,10)) and testPeriod() strategy.entry("BUY1", strategy.long) if longCondition and ta.crossover(ta.ema(close,10),ta.ema(close,20)) and testPeriod() strategy.entry("BUY2'", strategy.long) //CLOSE @ TSL if strategy.position_size > 0 and testPeriod() strategy.exit(id='TSP', stop=longStopPrice)