
Strategi ini adalah strategi pelacakan tren cryptocurrency berdasarkan indikator tsunami. Ini menggunakan indeks moving average dari dua periode yang berbeda dan indikator tsunami digabungkan dengan beberapa kondisi untuk menghasilkan sinyal perdagangan. Strategi ini bertujuan untuk mengidentifikasi tren harga di garis tengah dan panjang dan masuk tepat waktu ketika tren berbalik.
Strategi ini menggunakan EMA rata-rata 50 siklus dan 100 siklus. Pada saat yang sama, ia menghitung garis tsunami, sebuah garis khusus yang dapat menyaring kebisingan pasar. Strategi ini menggunakan garis tsunami dengan harga buka, tutup, tertinggi dan terendah dan diterapkan pada garis EMA 100 siklus untuk sinyal perdagangan yang lebih akurat.
Secara khusus, ketika harga pembukaan 100 siklus garis pantai lebih tinggi dari harga penutupan, dan harga pembukaan garis K atas lebih rendah dari harga penutupan, itu adalah sinyal over. Sebaliknya, ketika harga pembukaan 100 siklus garis pantai lebih rendah dari harga penutupan, dan harga pembukaan garis K atas lebih tinggi dari harga penutupan, itu adalah sinyal kosong.
Strategi ini menggabungkan sistem EMA ganda dan indikator tsunami untuk menangkap peluang tepat waktu ketika tren garis tengah terbentuk. Ini menggunakan indikator tsunami untuk menyaring kebisingan pasar jangka pendek dan membuat sinyal perdagangan lebih dapat diandalkan.
Untuk mengurangi risiko, Anda dapat mengurangi stop loss secara tepat, atau mempertimbangkan untuk membalikkan tren dalam kombinasi dengan indikator lainnya. Anda juga dapat menunda strategi ini ketika pasar memasuki zona goncangan dan menunggu tren baru.
Strategi ini juga dapat dioptimalkan dari beberapa arah:
Strategi pelacakan tren cryptocurrency berdasarkan indikator tsunami, yang secara komprehensif mempertimbangkan beberapa aspek penilaian tren, waktu masuk, dan pengendalian kerugian, sangat cocok untuk varietas cryptocurrency yang berfluktuasi tinggi. Strategi ini dapat secara efektif menangkap peluang perdagangan yang dibawa oleh tren harga garis tengah dan panjang dengan menggunakan filter suara indikator tsunami, menggunakan metode pengendalian risiko yang kuat. Kinerja strategi ini juga memiliki ruang untuk peningkatan yang besar jika lebih mengoptimalkan pengaturan parameter, pilihan 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")