Ý tưởng cốt lõi của chiến lược này là kết hợp chỉ số đường trung bình Kama và chỉ số đường trung bình để xác định xu hướng thị trường, để thực hiện theo dõi xu hướng. Khi đường trung bình Kama và đường trung bình có giao thoa vàng, hãy đánh giá là đi vào xu hướng tăng, làm nhiều; Khi đường trung bình Kama và đường trung bình có giao thoa chết, hãy đánh giá là đi vào xu hướng giảm, làm trống.
Chiến lược này có ý tưởng tổng thể rõ ràng, sử dụng đường trung bình Karma và chỉ số trung bình của đường vàng và đường chết để đánh giá và theo dõi xu hướng, khả năng kiểm soát lùi mạnh mẽ, có thể đạt được hiệu quả tốt hơn thông qua điều chỉnh và tối ưu hóa các tham số. Tuy nhiên, cũng có một số không gian cải tiến, nếu thêm các chỉ số xác minh và mô-đun dừng lỗ, có thể tăng thêm sự ổn định và khả năng thu lợi của chiến lược.
/*backtest
start: 2024-01-29 00:00:00
end: 2024-02-05 00:00:00
period: 45m
basePeriod: 5m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=2
//synapticex.com
kamaPeriod = input(8, minval=1)
ROCLength=input(4, minval=1)
kama(length)=>
volatility = sum(abs(close-close[1]), length)
change = abs(close-close[length-1])
er = iff(volatility != 0, change/volatility, 0)
sc = pow((er*(0.666666-0.064516))+0.064516, 2)
k = nz(k[1])+(sc*(hl2-nz(k[1])))
n=input(title="period",defval=7)
n2ma=2*wma(close,round(n/2))
nma=wma(close,n)
diff=n2ma-nma
sqn=round(sqrt(n))
n2ma1=2*wma(close[1],round(n/2))
nma1=wma(close[1],n)
diff1=n2ma1-nma1
sqn1=round(sqrt(n))
n1=wma(diff,sqn)
n2=wma(diff1,sqn)
c=n1>n2?lime:red
ma=plot(n1,color=c, linewidth = 3)
plot(cross(nma, nma1) ? nma : na, style = cross, color = c, linewidth = 5)
kamaEntry = request.security(syminfo.tickerid,timeframe.period,kama(kamaPeriod))
plot(kamaEntry, color=gray, title="Kama",transp=0, trackprice=false, style=line)
strategy("Kama VS HeikinAshi", overlay=true, pyramiding=0, calc_on_every_tick=true, calc_on_order_fills=true)
buyEntry = n1 > n2
sellEntry = close < kamaEntry and n1 < n2
buyExit = close < kamaEntry and n1 < n2
sellExit = n1 > n2
if (buyEntry)
strategy.entry("KAMAL", strategy.long, comment="KAMAL")
else
strategy.close("KAMAL", when=buyExit)
if (sellEntry)
strategy.entry("KAMAS", strategy.short, comment="KAMAS")
else
strategy.close("KAMAS", when = sellExit)