Chiến lược chéo trung bình di chuyển Heiken Ashi với Bộ lọc MACD V3

Tác giả:ChaoZhang, Ngày: 2023-10-25 11:26:17
Tags:

img

Tổng quan

Chiến lược này tạo ra tín hiệu giao dịch bằng cách tính toán đường chéo trung bình động của nến Heiken Ashi, kết hợp với MACD như một điều kiện lọc.

Chiến lược logic

  1. Tính toán giá mở và đóng của nến Heiken Ashi.

  2. Tính toán trung bình di chuyển nhanh (EMA) và trung bình di chuyển chậm (SMA).

  3. Khi MA nhanh vượt qua MA chậm, một tín hiệu mua được tạo ra.

  4. Khi MA nhanh vượt qua dưới MA chậm, một tín hiệu bán được tạo ra.

  5. Nếu bộ lọc MACD được bật, tín hiệu mua chỉ được tạo ra khi biểu đồ MACD vượt qua đường 0, và tín hiệu bán chỉ được tạo ra khi biểu đồ MACD vượt qua đường 0.

Phân tích lợi thế

  1. Nến Heiken Ashi lọc hiệu quả tiếng ồn thị trường, làm cho các tín hiệu chéo MA đáng tin cậy hơn.

  2. Việc kết hợp các MA của các giai đoạn khác nhau tránh sự đột phá sai từ một MA duy nhất.

  3. Bộ lọc MACD tiếp tục tránh các tín hiệu sai và cải thiện chất lượng tín hiệu.

  4. Sử dụng Heiken Ashi để tính toán MA làm giảm lượng hút từ nến thông thường.

  5. Chiến lược có các tham số hợp lý và tần suất giao dịch vừa phải, cho phép lợi nhuận ổn định mà không cần giao dịch tần suất cao.

Phân tích rủi ro

Tuy nhiên, cần lưu ý một số rủi ro:

  1. Sự điều chỉnh vị trí lặp đi lặp lại có thể xảy ra trên các thị trường khác nhau.

  2. Bộ lọc MACD có thể thất bại trong một số trường hợp, dẫn đến tín hiệu sai.

  3. Các hệ thống MA nhạy cảm với điều chỉnh tham số, đòi hỏi tối ưu hóa cẩn thận.

  4. Các vị trí nắm giữ dài cần theo dõi các sự kiện có thể gây ra những thay đổi đáng kể trên thị trường.

  5. Việc đánh giá thủ công các xu hướng chính vẫn cần thiết để tránh tổn thất từ giao dịch ngược xu hướng.

Tóm lại, đây là một chiến lược MA tương đối trưởng thành có thể cung cấp lợi nhuận ổn định với điều chỉnh tham số thích hợp.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Heiken-Ashi Strategy  V3 by wziel

// strategy("Heiken-Ashi Strategy  V3",shorttitle="WZIV3",overlay=true,default_qty_value=10000,initial_capital=10000,currency=currency.USD)
res = input(title="Heikin Ashi Candle Time Frame",  defval="60")
hshift = input(1,title="Heikin Ashi Candle Time Frame Shift")
res1 = input(title="Heikin Ashi EMA Time Frame",  defval="180")
mhshift = input(0,title="Heikin Ashi EMA Time Frame Shift")
fama = input(1,"Heikin Ashi EMA Period")
test = input(1,"Heikin Ashi EMA Shift")
sloma = input(30,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="15")
macds = input(1,title="MACD Shift")




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

//macd
[macdLine, signalLine, histLine] = macd(close, 12, 26, 9)
macdl = security(ha_t,res2,macdLine[macds])
macdsl= 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("Buy",strategy.long,when = golong)
strategy.entry("Sell",strategy.short,when = goshort)





Thêm nữa