Xu hướng theo chiến lược dựa trên mô hình đám mây ba chỉ số

Tác giả:ChaoZhang, Ngày: 2023-09-13 17:38:55
Tags:

Chiến lược này được gọi là Trend Following Strategy Based on Triple Indicator Cloud Pattern. Nó tích hợp ba loại chỉ số xu hướng khác nhau để tạo thành một mô hình đám mây, giao dịch các sự đột phá của đám mây để theo dõi xu hướng.

Ba chỉ số được sử dụng là:

Kaufman Đường trung bình động thích nghi, nhạy cảm trong việc nắm bắt biến động thị trường.

Hull Moving Average, với các vòng quay trơn tru, lọc ra các tín hiệu sai.

Cơ chế SuperTrend, tạo ra các kênh giá để tránh theo đuổi mức cao và bán mức thấp.

Cùng nhau chúng tạo thành mô hình đám mây, với dải trên cùng là các giá trị cao nhất trong ba, và dải dưới cùng là các giá trị thấp nhất.

Logic giao dịch là:

Khi ngọn nến phá vỡ trên đỉnh mây, nó báo hiệu phá vỡ kênh xu hướng tăng cho tín hiệu mua.

Khi gần hoặc thấp phá vỡ dưới đáy mây, nó đánh dấu sự khởi đầu của một xu hướng giảm cho việc đóng cửa dài.

Ưu điểm của chiến lược này là sự kết hợp của chỉ số đánh giá tình trạng xu hướng chính xác hơn, giảm các tín hiệu sai.

Tóm lại, sử dụng nhiều chỉ số để xác định xu hướng là một cách tiếp cận phổ biến và hiệu quả.


/*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)



Thêm nữa