Strategi ini adalah strategi tren cryptocurrency berdasarkan indikator Heiken Ashi. Strategi ini menggunakan dua rata-rata bergerak eksponensial (EMA) dengan periode yang berbeda dikombinasikan dengan Heiken Ashi dan berbagai kondisi untuk menghasilkan sinyal perdagangan.
Strategi ini menggunakan EMA 50 dan 100 periode. Sementara itu, ia menghitung lilin Heiken Ashi, yang merupakan lilin khusus yang dapat menyaring kebisingan pasar. Strategi ini menggunakan harga terbuka, dekat, tinggi dan rendah lilin Heiken Ashi dan menerapkannya ke EMA 100 periode untuk menghasilkan sinyal perdagangan yang lebih akurat.
Secara khusus, ketika harga buka Heiken Ashi 100 periode berada di atas harga penutupan, dan harga buka lilin sebelumnya berada di bawah harga penutupan, itu adalah sinyal panjang. Sebaliknya, ketika harga buka Heiken Ashi 100 periode berada di bawah harga penutupan, dan harga buka lilin sebelumnya berada di atas harga penutupan, itu adalah sinyal pendek.
Strategi ini menggabungkan sistem EMA ganda dan indikator Heiken Ashi, yang bertujuan untuk menangkap peluang tepat waktu ketika tren jangka menengah hingga jangka panjang terbentuk.
Untuk mengurangi risiko, kita dapat secara tepat mengurangi rentang stop loss, atau mempertimbangkan untuk menggabungkan indikator lain untuk menentukan pembalikan tren.
Strategi ini juga dapat dioptimalkan dalam aspek berikut:
Strategi mengikuti tren cryptocurrency berdasarkan Heiken Ashi telah secara komprehensif mempertimbangkan aspek-aspek seperti penilaian tren, waktu masuk, kontrol stop loss, dll., Yang membuatnya sangat adaptif terhadap aset yang sangat fluktuatif seperti cryptocurrency. Dengan menggunakan Heiken Ashi untuk menyaring kebisingan dan mengadopsi metode pengendalian risiko yang kuat, strategi dapat secara efektif merebut peluang perdagangan yang dibawa oleh tren harga jangka menengah hingga panjang. Masih ada banyak ruang untuk perbaikan dalam kinerja strategi jika kita dapat lebih mengoptimalkan parameter, pemilihan indikator dan metode pengendalian risiko.
/*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")