Diese Strategie ist eine Kryptowährungs-Trend-Folge-Strategie, die auf dem Heiken Ashi-Indikator basiert. Sie verwendet zwei exponentielle gleitende Durchschnitte (EMA) mit verschiedenen Perioden in Kombination mit Heiken Ashi und verschiedenen Bedingungen, um Handelssignale zu generieren. Das Ziel dieser Strategie ist es, mittelfristige bis langfristige Preistrends zu identifizieren und rechtzeitig zu erhalten, wenn eine Trendumkehr auftritt.
Die Strategie verwendet 50- und 100-Perioden-EMA. Inzwischen berechnet sie Heiken Ashi-Kerzen, die eine spezielle Kerze sind, die Marktlärm filtern kann. Die Strategie verwendet die offenen, schließenden, hohen und niedrigen Preise der Heiken Ashi-Kerzen und wendet sie auf die 100-Perioden-EMA an, um genauere Handelssignale zu generieren.
Insbesondere ist es ein langes Signal, wenn der offene Preis des 100-Perioden-Heiken Ashi über dem Schlusskurs liegt und der offene Preis der vorherigen Kerze unter dem Schlusskurs liegt.
Die Strategie kombiniert das duale EMA-System und den Heiken Ashi-Indikator, um Chancen rechtzeitig zu erfassen, wenn sich mittelfristige bis langfristige Trends bilden.
Um Risiken zu mindern, können wir den Stop-Loss-Bereich angemessen reduzieren oder andere Indikatoren kombinieren, um eine Trendumkehr zu bestimmen.
Die Strategie kann auch in folgenden Aspekten optimiert werden:
Die auf Heiken Ashi basierende Kryptowährungs-Trend-Folge-Strategie hat Aspekte wie Trendbeurteilung, Einstiegszeit, Stop-Loss-Kontrolle usw. umfassend berücksichtigt, was sie sehr anpassungsfähig für hochvolatile Vermögenswerte wie Kryptowährungen macht. Durch die Verwendung von Heiken Ashi, um Lärm auszufiltern und robuste Risikokontrollmethoden einzuführen, kann die Strategie effektiv Handelschancen nutzen, die durch mittelfristige bis langfristige Preistrends entstehen.
/*backtest start: 2023-01-12 00:00:00 end: 2024-01-18 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //@SoftKill21 strategy(title="CRYPTO HA Strategy", shorttitle="CRYPTO HA Strategy", overlay=true , default_qty_type =strategy.percent_of_equity, default_qty_value =100, commission_type= strategy.commission.percent,commission_value =0.1 ) ma1_len = input(50) ma2_len = input(100) fromDay = input(defval = 1, title = "From Day", minval = 1, maxval = 31) fromMonth = input(defval = 1, title = "From Month", minval = 1, maxval = 12) fromYear = input(defval = 2020, title = "From Year", minval = 1970) //monday and session // To Date Inputs toDay = input(defval = 31, title = "To Day", minval = 1, maxval = 31) toMonth = input(defval = 12, title = "To Month", minval = 1, maxval = 12) toYear = input(defval = 2020, title = "To Year", minval = 1970) startDate = timestamp(fromYear, fromMonth, fromDay, 00, 00) finishDate = timestamp(toYear, toMonth, toDay, 00, 00) time_cond = true //First Moving Average data o = ema(open, ma1_len) c = ema(close, ma1_len) h = ema(high, ma1_len) l = ema(low, ma1_len) // === HA calculator === ha_t = heikinashi(syminfo.tickerid) ha_o = security(ha_t, timeframe.period, o) ha_c = security(ha_t, timeframe.period, c) ha_h = security(ha_t, timeframe.period, h) ha_l = security(ha_t, timeframe.period, l) //Second Moving Average data o2 = ema(ha_o, ma2_len) c2 = ema(ha_c, ma2_len) h2 = ema(ha_h, ma2_len) l2 = ema(ha_l, ma2_len) // === Color def === ha_col = o2 > c2 ? color.white : color.lime sell = o2 > c2 and o2[1] < c2[1] and time_cond buy = o2 < c2 and o2[1] > c2[1] and time_cond plotshape(buy, color=color.green, text= "Buy", location= location.belowbar,style= shape.labelup, textcolor=color.white, size = size.tiny, title="Buy Alert",editable=false, transp=60) plotshape(sell, color=color.red, text= "Sell", location= location.abovebar,style= shape.labeldown, textcolor=color.white, size = size.tiny, title="Sell Alert", editable=false, transp=60) trendColor = buy ? color.red : sell ? color.green : na plot( buy ? close: sell ? close : na , color=trendColor, style=plot.style_line, linewidth=4, editable=false) onlylong=input(true) original=input(false) if(onlylong) strategy.entry("long",1,when=buy) strategy.close("long",when=sell) if(original) strategy.entry("long",1,when=buy) strategy.entry("short",0,when=sell) sl = input(0.075) strategy.exit("closelong", "long" , loss = close * sl / syminfo.mintick, alert_message = "sl point") strategy.exit("closeshort", "short" , loss = close * sl / syminfo.mintick, alert_message = "sl point")