
Strategi ini adalah strategi pengesanan trend cryptocurrency berdasarkan indikator tsunami. Ia menggunakan purata bergerak indeks dari dua tempoh yang berbeza dan indikator tsunami yang digabungkan dengan pelbagai keadaan untuk menghasilkan isyarat perdagangan. Strategi ini bertujuan untuk mengenal pasti trend harga dalam garis panjang dan masuk tepat pada masanya apabila trend berubah.
Strategi ini menggunakan EMA rata-rata 50 dan 100 kitaran. Pada masa yang sama, ia mengira garis tsunami, yang merupakan garisan khusus yang dapat menyaring kebisingan pasaran. Strategi ini menggunakan harga pembukaan, penutupan, harga tertinggi dan terendah garisan tsunami dan digunakan pada garis EMA 100 kitaran untuk memberi isyarat perdagangan yang lebih tepat.
Khususnya, apabila harga pembukaan 100 litar putaran pantai lebih tinggi daripada harga penutupan, dan harga pembukaan K baris atas lebih rendah daripada harga penutupan, itu adalah isyarat yang lebih banyak. Sebaliknya, apabila harga pembukaan 100 litar putaran pantai lebih rendah daripada harga penutupan, dan harga pembukaan K baris atas lebih tinggi daripada harga penutupan, itu adalah isyarat kosong.
Strategi ini menggabungkan sistem EMA ganda dan indikator tsunami untuk menangkap peluang tepat pada masanya apabila trend garis tengah terbentuk. Ia menggunakan indikator tsunami untuk menyaring kebisingan pasaran jangka pendek dan menjadikan isyarat perdagangan lebih dipercayai.
Untuk mengurangkan risiko, anda boleh meminimumkan stop loss dengan sewajarnya, atau mempertimbangkan untuk membalikkan trend dalam kombinasi dengan petunjuk lain. Anda juga boleh menangguhkan strategi ini apabila pasaran memasuki kawasan yang bergolak dan menunggu trend baru.
Strategi ini juga boleh dioptimumkan dalam beberapa arah:
Strategi pengesanan trend mata wang kripto berdasarkan indikator tsunami, yang mempertimbangkan pelbagai aspek penilaian trend, masa masuk, dan kawalan hentian kerugian secara menyeluruh, sangat sesuai untuk jenis mata wang kripto yang bergelombang tinggi. Strategi ini dapat memanfaatkan peluang perdagangan yang dihasilkan oleh trend harga garis tengah dan panjang dengan menggunakan penapis bunyi indikator tsunami, menggunakan kaedah kawalan risiko yang mantap. Prestasi strategi ini juga mempunyai ruang untuk peningkatan yang besar jika lebih mengoptimumkan parameter, pilihan indikator dan kaedah kawalan 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")