Trend Mengikuti Strategi Berdasarkan Pola Awan Tiga Indikator

Penulis:ChaoZhang, Tarikh: 2023-09-13 17:38:55
Tag:

Strategi ini dinamakan Trend Following Strategy Based on Triple Indicator Cloud Pattern. Ia mengintegrasikan tiga jenis penunjuk trend yang berbeza untuk membentuk corak awan, perdagangan pecah awan untuk mengikuti trend.

Tiga penunjuk yang digunakan ialah:

Kaufman Adaptive Moving Average, sensitif dalam menangkap turun naik pasaran.

Hull Moving Average, dengan belokan yang lancar, menapis isyarat palsu.

Mekanisme SuperTrend, membentuk saluran harga untuk mengelakkan mengejar tinggi dan menjual rendah.

Bersama-sama mereka membentuk corak awan, dengan band atas adalah nilai tertinggi daripada tiga, dan band bawah adalah nilai terendah.

Logik perdagangan adalah:

Apabila puncak lilin pecah di atas puncak awan, ia memberi isyarat untuk memecahkan saluran kenaikan untuk isyarat beli.

Apabila penutupan atau rendah pecah di bawah awan, ia menandakan permulaan trend penurunan untuk menutup jangka panjang.

Kelebihan strategi ini ialah gabungan penunjuk menilai status trend dengan lebih tepat, mengurangkan isyarat palsu.

Ringkasnya, menggunakan pelbagai penunjuk untuk menentukan trend adalah pendekatan yang biasa dan berkesan.


/*backtest
start: 2022-09-12 00:00:00
end: 2023-02-03 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © SnarkyPuppy

//@version=5
strategy("HKST Cloud", overlay=true, default_qty_type= strategy.percent_of_equity, default_qty_value=100)



////////////////nAMA
Lengthkaufman = input(20) 
xPrice = ohlc4
xvnoise = math.abs(xPrice - xPrice[1])
nfastend = 0.666
nslowend = 0.0645
nsignal = math.abs(xPrice - xPrice[Lengthkaufman])
nnoise = math.sum(xvnoise, Lengthkaufman)
nefratio = nnoise != 0? nsignal / nnoise : 0
nsmooth = math.pow(nefratio * (nfastend - nslowend) + nslowend, 2) 
nAMA =  float(0)
nAMA := nz(nAMA[1]) + nsmooth * (xPrice - nz(nAMA[1]))

//plot(nAMA,color=color.red)
///short=input(true)



///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////

////////hull moving average
hull_len=input(20)
hull= ta.hma(nAMA,hull_len)

///////atr trail
atr_factor=input(2)
atr_period=input(5)
[supertrend, direction] = ta.supertrend(atr_factor,atr_period)

/////////cloud
band1= math.max(supertrend,hull,nAMA)
band2= math.min(supertrend,hull,nAMA)

b1=plot(band1, "band1", color = color.rgb(76, 175, 79, 85), style=plot.style_linebr)
b2=plot(band2, "band2", color = color.rgb(255, 82, 82, 78), style=plot.style_linebr)
fill(b1,b2,color.rgb(12, 50, 186, 75))
longCondition = ta.crossover(high,band1) //or ta.crossover(low,band2)
if (longCondition)
    strategy.entry("Up", strategy.long)

shortCondition =  ta.crossunder(low,band2) or close<band2
if (shortCondition) 
    strategy.close("Up", shortCondition)



Lebih lanjut