Chiến lược theo xu hướng dựa trên mô hình đám mây ba chỉ báo


Ngày tạo: 2023-09-13 17:38:55 sửa đổi lần cuối: 2023-09-13 17:38:55
sao chép: 0 Số nhấp chuột: 669
1
tập trung vào
1617
Người theo dõi

Chiến lược này được gọi là chiến lược theo dõi xu hướng dựa trên hình dạng đám mây ba chỉ số. Chiến lược này sử dụng ba loại chỉ số xu hướng khác nhau, kết hợp để tạo ra hình dạng đám mây, giao dịch theo xu hướng khi giá phá vỡ hình dạng đám mây.

Chiến lược sử dụng ba chỉ số sau:

Kaufman thích nghi với các đường trung bình di chuyển để nắm bắt được sự biến động của thị trường.

Đường trung bình di chuyển của Hull, có tính năng chuyển đổi trơn tru, có thể lọc các tín hiệu giả;

Các cơ chế dừng lỗ vượt quá, tạo ra các kênh giá, tránh theo đuổi giá cao và giá thấp.

Cả ba cùng nhau tạo thành hình dạng đám mây, đỉnh là kết nối giá trị cao nhất của ba người, đáy là kết nối giá trị thấp nhất.

Logic giao dịch:

Khi điểm cao của đường K phá vỡ đỉnh, nó cho thấy sự phá vỡ kênh xu hướng tăng, tạo ra tín hiệu mua;

Khi giá K kết thúc hoặc điểm thấp phá vỡ đáy của đám mây, biểu thị xu hướng giảm bắt đầu, và xóa nhiều đơn.

Lợi thế của chiến lược này là các chỉ số kết hợp xác định chính xác hơn về tình trạng xu hướng và giảm tín hiệu giả. Tuy nhiên, tối ưu hóa tham số vẫn là quan trọng. Chiến lược dừng lỗ cũng rất cần thiết.

Nhìn chung, kết hợp nhiều chỉ số để đánh giá xu hướng là một phương pháp phổ biến và hiệu quả. Tuy nhiên, các nhà giao dịch vẫn cần duy trì đủ khả năng phán đoán và linh hoạt trong việc điều chỉnh chiến lược.

Mã nguồn chiến lược
/*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)