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.
Tính toán giá mở và đóng của nến Heiken Ashi.
Tính toán trung bình di chuyển nhanh (EMA) và trung bình di chuyển chậm (SMA).
Khi MA nhanh vượt qua MA chậm, một tín hiệu mua được tạo ra.
Khi MA nhanh vượt qua dưới MA chậm, một tín hiệu bán được tạo ra.
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.
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.
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.
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.
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.
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.
Tuy nhiên, cần lưu ý một số rủi ro:
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.
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.
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.
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.
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)