Chiến lược nến Heiken Ash được lọc theo đường trung bình động Momentum và MACD


Ngày tạo: 2024-01-02 12:18:03 sửa đổi lần cuối: 2024-01-02 12:18:03
sao chép: 0 Số nhấp chuột: 554
1
tập trung vào
1166
Người theo dõi

Chiến lược nến Heiken Ash được lọc theo đường trung bình động Momentum và MACD

Tổng quan

Chiến lược này sử dụng công nghệ Haykan-Ashley để lọc các tín hiệu chéo đồng bằng và MACD để xây dựng chiến lược theo dõi xu hướng. Chiến lược này có thể nắm bắt xu hướng thị trường trong các khoảng thời gian khác nhau, sử dụng chéo đồng bằng để tạo ra tín hiệu giao dịch, sau đó lọc các tín hiệu giả thông qua MACD và thể hiện tỷ lệ lợi nhuận cao trong kiểm tra lại.

Nguyên tắc chiến lược

Chiến lược này sử dụng 3 chỉ số kỹ thuật:

  1. Kỹ thuật Heiken-Ash. Kỹ thuật này tạo ra các đường dây không có bóng bằng cách sửa đổi giá đóng cửa. Điều này có thể thể hiện rõ hơn xu hướng thực sự của giá và lọc ra quá nhiều tiếng ồn thị trường.

  2. Đường trung bình di chuyển của chỉ số ((EMA) ]. EMA nhanh được sử dụng để nắm bắt xu hướng ngắn hạn, EMA chậm được sử dụng để xác định hướng xu hướng dài hạn. Khi EMA nhanh vượt qua EMA chậm, nó tạo ra tín hiệu mua; Khi EMA nhanh vượt qua EMA chậm, nó tạo ra tín hiệu bán.

  3. Chỉ số MACD. Chỉ số này kết hợp với EMA nhanh và chậm, khi đường MACD chính cao hơn đường Signal là tín hiệu đi lên, khi đường chính thấp hơn đường Signal là tín hiệu đi xuống.

Các tín hiệu giao dịch của chiến lược này được lấy từ các EMA nhanh và các EMA chậm. Để lọc các tín hiệu giả, chiến lược đưa ra các chỉ số MACD để đưa ra phán đoán phụ, chỉ khi MACD phát ra tín hiệu đồng chiều, tín hiệu giao dịch cuối cùng sẽ được tạo ra, điều này làm giảm đáng kể khả năng giao dịch sai.

Cụ thể, một tín hiệu mua được tạo ra khi đường chính MACD trên đường EMA chậm (chợ vàng) và đường chính MACD trên đường tín hiệu (chợ vàng) xuất hiện cùng lúc; một tín hiệu bán được tạo ra khi đường chính MACD dưới đường EMA chậm (chợ chết) và đường chính MACD dưới đường tín hiệu (chợ giảm) xuất hiện cùng lúc.

Phương pháp lọc này kết hợp với đường giao thoa và MACD, có thể xác định hiệu quả các điểm biến động quan trọng của thị trường và nắm bắt xu hướng giá.

Lợi thế chiến lược

Chiến lược này có một số ưu điểm nổi bật:

  1. Khả năng thu được tín hiệu xu hướng được cải thiện đáng kể. Sử dụng công nghệ Heiken-Ashley có thể đánh giá xu hướng rõ ràng hơn, hệ thống chéo hai đường thẳng cũng có hiệu quả rất cao trong việc tạo tín hiệu, kết hợp với lọc MACD có độ tin cậy cao hơn.

  2. Rủi ro rút tiền thấp hơn. MACD là một chỉ số phán đoán phụ trợ có thể tránh rủi ro dừng lỗ ở một mức độ nhất định, giảm hiệu quả tổn thất của vị thế thanh toán.

  3. Các tham số có thể điều chỉnh được nhiều hơn. Chu kỳ của Heiken Ash, chu kỳ nhanh chậm của hệ thống đường trung bình và tham số của MACD có thể được điều chỉnh theo thị trường, giúp chiến lược thích nghi hơn với các tình huống khác nhau.

  4. Thực hiện đơn giản và rõ ràng. Giá được thể hiện bằng Heiken Ashton, được xác định bằng các chỉ số thường được sử dụng, dễ lập trình, mã đơn giản, dễ hiểu.

  5. Tăng hiệu quả sử dụng vốn. Sử dụng chiến lược theo dõi xu hướng, hầu hết thời gian có thể làm cho vốn hoạt động theo hướng chính thống của thị trường, sử dụng hiệu quả số tiền để tạo ra lợi nhuận.

Rủi ro chiến lược

Một số rủi ro có thể xảy ra trong chiến lược này:

  1. Khi thị trường biến động mạnh, có thể có tổn thất lớn. Khi giá tăng mạnh hoặc đảo ngược nhanh chóng trong thời gian ngắn, các biện pháp ngăn chặn có thể bị phá vỡ, gây ra tổn thất vượt quá dự kiến.

  2. MACD có thể bị đánh giá sai. MACD cũng có thể bị đánh giá sai như một chỉ số phụ trợ, dẫn đến việc tạo lập hoặc đặt cược sai.

  3. Thiết lập tham số quá cứng nhắc. Một sự kết hợp tham số cố định không nhất thiết phải thích ứng với thị trường thay đổi, có thể bỏ lỡ cơ hội giao dịch tốt.

  4. Tần suất giao dịch có thể quá cao. Phương pháp xây dựng vị trí theo xu hướng có thể dẫn đến giao dịch thường xuyên, tăng chi phí giao dịch và mất điểm trượt.

Để tránh và giảm thiểu các rủi ro trên, các biện pháp sau đây có thể được thực hiện:

  1. Thiết lập mức dừng lỗ, hạn chế tổn thất đơn lẻ. Đồng thời, đừng theo đuổi quá mức giảm giá, kiểm soát quy mô vị trí.

  2. Điều chỉnh các tham số của MACD để giảm khả năng các chỉ số phụ phát ra tín hiệu sai. Các chỉ số khác cũng có thể được đưa vào để xác minh nhiều lần.

  3. Thiết lập cơ chế tối ưu hóa tham số. Sử dụng các phương pháp như học máy để tự động tối ưu hóa các tham số để làm cho chiến lược phù hợp hơn.

  4. Điều kiện kích hoạt tín hiệu giao dịch được nới lỏng thích hợp, giảm tần suất giao dịch. Bạn cũng có thể đặt biến động giá tối thiểu để kích hoạt giao dịch.

Tối ưu hóa chiến lược

Chính sách này có rất nhiều khả năng tối ưu hóa, bắt đầu từ những điểm sau:

  1. Tối ưu hóa thời gian của Haiken Ash . Bạn có thể thử nghiệm các chu kỳ dài hơn hoặc ngắn hơn để tìm các khoảng thời gian thể hiện xu hướng thị trường tốt hơn.

  2. Điều chỉnh tham số của hệ thống trung bình. Chuyển đổi tham số chu kỳ của EMA để tìm các tham số kết hợp tốt nhất.

  3. Tối ưu hóa đa tham số của chỉ số MACD. Điều chỉnh các tham số của đường trung bình nhanh và đường tín hiệu của MACD để tìm các tham số tối ưu nhất.

  4. Tăng cường các mô-đun quản lý rủi ro chiến lược. Thiết lập các quy tắc dừng lỗ và ngăn chặn khoa học hơn, cũng có thể thêm các mô-đun như kiểm soát vị trí, quản lý tiền.

  5. Thêm nhiều chỉ số phụ trợ. Ví dụ như giới thiệu các chỉ số khác như KD, RSI để xác minh đa yếu tố, cải thiện chất lượng tín hiệu.

  6. Ứng dụng công nghệ học máy. Sử dụng các phương pháp như mạng thần kinh, thuật toán di truyền để tối ưu hóa các tham số chiến lược trong thời gian thực, làm cho chiến lược trở nên thích ứng hơn.

Bằng cách sử dụng các phương pháp như kết hợp các chỉ số kỹ thuật, tối ưu hóa các tham số liên tục và tăng cường các mô-đun kiểm soát rủi ro, chiến lược này có thể được nâng cao hơn, ổn định hơn và có lợi nhuận hiệu quả hơn.

Tóm tắt

Chiến lược này kết hợp với Heiken-Ashley và hệ thống giao thoa đồng đều để nắm bắt xu hướng thị trường, lọc phụ trợ bằng chỉ số MACD, có thể xác định hiệu quả các điểm biến động quan trọng, tạo ra tín hiệu giao dịch có độ tin cậy cao. Chiến lược này có hiệu suất đo lường tốt, có tỷ lệ lợi nhuận cao, rủi ro rút lui thấp và khả năng điều chỉnh mạnh.

Mã nguồn chiến lược
/*backtest
start: 2022-12-26 00:00:00
end: 2024-01-01 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
//Heikin Ashi Strategy  V1 by nachobuey

strategy("Heikin Ashi Strategy  V2",shorttitle="HAS V2",overlay=true)
res = input(title="Heikin Ashi Candle Time Frame",  defval="15")
hshift = input(0,title="Heikin Ashi Candle Time Frame Shift")
//res1 = input(title="Heikin Ashi EMA Time Frame", type=resolution, defval="180")
res1   = input(title="Time frame (Minutes. Not lower than chart)",defval="300")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(16,"Heikin Ashi EMA Period")
test = input(0,"Heikin Ashi EMA Shift")
sloma = input(21,"Slow EMA Period")
slomas = input(0,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="60")
macds = input(1,title="MACD Shift")




//Heikin Ashi Open/Close Price
ha_t = heikinashi(syminfo.tickerid)
ha_open = request.security(ha_t, res, open[hshift])
ha_close = request.security(ha_t, res, close[hshift])
mha_close = request.security(ha_t, res1, close[mhshift])

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = request.security(ha_t,res2,macdLine[macds])
macdsl= request.security(ha_t,res2,signalLine[macds])

//Moving Average
fma = ema(mha_close[test],fama)
sma = ema(ha_close[slomas],sloma)
plot(fma,title="MA",color=lime,linewidth=2,style=line)
plot(sma,title="SMA",color=red,linewidth=2,style=line)


//Strategy
golong =  crossover(fma,sma) and (macdl > macdsl or macdf == false )
goshort =   crossunder(fma,sma) and (macdl < macdsl or macdf == false )


strategy.entry("Long",strategy.long,when = golong)
strategy.entry("Short",strategy.short,when = goshort)

plotchar(golong,char="L", color=green)
plotchar(goshort,char="S", color=red)

alertcondition(golong, "HAS GO LONG", "OPEN LONG")
alertcondition(goshort, "HAS GO SHORT", "OPEN SHORT")