Chiến lược giao dịch theo dõi trung bình động

Tác giả:ChaoZhang, Ngày: 2023-10-24 14:39:08
Tags:

img

Tổng quan

Chiến lược này dựa trên việc theo dõi đường trung bình động kết hợp với bộ lọc chỉ số MACD để ra quyết định giao dịch. Nó sẽ dài khi đường trung bình động nhanh vượt qua đường trung bình động chậm và ngắn khi đường MA nhanh vượt qua đường MA chậm. Trong khi đó, chỉ số MACD có thể được sử dụng để lọc các đột phá sai.

Chiến lược logic

Chiến lược này chủ yếu dựa trên các nguyên tắc sau:

  1. Sử dụng nến Heikin Ashi có thể lọc tiếng ồn thị trường và xác định xu hướng.

  2. Đường MA nhanh vượt trên đường MA chậm cho thấy xu hướng tăng, đi dài; đường MA thấp hơn cho thấy xu hướng giảm, đi ngắn.

  3. Chỉ số MACD có thể xác định xu hướng giá và lọc các đột phá sai.

  4. Đặc biệt, chiến lược này đầu tiên tính toán giá mở và đóng của các nến Heikin Ashi. Sau đó nó tính toán các đường EMA nhanh và chậm. Nó đi dài khi EMA nhanh vượt qua EMA chậm, và đi ngắn khi EMA nhanh vượt qua EMA chậm. Chỉ số MACD được sử dụng để lọc các tín hiệu đột phá sai.

Ưu điểm

  1. Nến Heikin Ashi có thể lọc tiếng ồn và giúp xác định hướng xu hướng.

  2. Hệ thống chéo EMA nhanh và chậm là một chiến lược giao dịch trưởng thành theo xu hướng.

  3. Bộ lọc MACD cung cấp các tín hiệu giao dịch chính xác hơn bằng cách giảm các đột phá sai.

  4. Chiến lược có không gian tối ưu hóa lớn bằng cách điều chỉnh thời gian EMA, tham số MACD v.v.

  5. Logic chiến lược đơn giản và trực quan, dễ hiểu và thực hiện, phù hợp với các thị trường tiền điện tử biến động cao.

Rủi ro

  1. Chiến lược chỉ dựa trên các chỉ số kỹ thuật mà không có phân tích cơ bản, có thể bỏ lỡ các sự kiện tin tức lớn và gây ra tổn thất.

  2. Các thiết lập thời gian EMA không chính xác có thể tạo ra các tín hiệu và lỗ sai quá mức.

  3. Bộ lọc MACD phụ thuộc vào điều chỉnh tham số, cài đặt không đúng có thể không lọc hiệu quả các đột phá sai.

  4. Giá đột ngột có thể dừng lỗ và gây ra tổn thất lớn.

  5. Khó khăn để thiết lập stop loss thích hợp trong thị trường biến động, rủi ro tăng lỗ.

Tối ưu hóa

  1. Tối ưu hóa các thông số thời gian EMA để tìm kết hợp tối ưu.

  2. Tối ưu hóa các thông số MACD để cải thiện khả năng xác định xu hướng.

  3. Thêm các chỉ số kỹ thuật khác như RSI, KD vv để lọc tín hiệu.

  4. Xác định phạm vi giao dịch dựa trên đường xu hướng, mức hỗ trợ / kháng cự v.v.

  5. Điều chỉnh các tham số theo các đặc điểm mã hóa khác nhau.

  6. Thêm các chiến lược dừng lỗ để kiểm soát số tiền lỗ giao dịch duy nhất.

Tóm lại

Chiến lược có logic rõ ràng và dễ hiểu. Các tín hiệu giao dịch có thể được thu được từ đường chéo EMA nhanh / chậm và bộ lọc MACD. Nhưng có những rủi ro hệ thống vốn có cần tối ưu hóa tham số và quản lý rủi ro. Chiến lược phù hợp với các thị trường tiền điện tử biến động cao nhưng đòi hỏi phải cập nhật thường xuyên để có lợi nhuận ổn định. Với những cải tiến liên tục, nó có tiềm năng trở thành một xu hướng có lợi nhuận ổn định sau chiến lược.


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

//@version=4
//Heikin Ashi Strategy  V3 by breizh29

// strategy("Heikin Ashi Strategy  V3",shorttitle="HAS V3",overlay=true,default_qty_value=100,initial_capital=100,currency=currency.EUR) 
res = input(title="Heikin Ashi Candle Time Frame",  defval="30")
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(10,"Slow EMA Period")
slomas = input(1,"Slow EMA Shift")
macdf = input(false,title="With MACD filter")
res2 = input(title="MACD Time Frame",  defval="12")
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