Chiến lược đóng cửa nến EMA

Tác giả:ChaoZhang, Ngày: 2024-01-29 16:02:08
Tags:

img

Tổng quan

Chiến lược này tạo ra các tín hiệu giao dịch dựa trên đường chéo vàng và đường chéo chết của đường trung bình động. Nó kết hợp ba đường trung bình động với các thiết lập tham số khác nhau - ngắn hạn, trung hạn và dài hạn. Bằng cách so sánh mối quan hệ chiều cao giữa ba MAs này, nó xác định trạng thái tăng/giảm của thị trường và tạo ra các tín hiệu giao dịch.

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

Chiến lược đặt ba đường trung bình động, đó là trung bình động đơn giản ngắn hạn, trung bình động cân nhắc trung hạn và trung bình động theo cấp số nhân dài hạn. Cụ thể, nó đặt một SMA 1 giai đoạn, WMA 20 giai đoạn và EMA 25 giai đoạn.

Khi đường SMA ngắn hạn vượt qua đường WMA trung hạn và giá đóng cửa cũng cao hơn đường WMA, nó cho thấy thị trường đang đảo ngược lên và tạo thành một tín hiệu tăng. Khi đường SMA ngắn hạn vượt dưới đường WMA trung hạn hoặc giá đóng cửa thấp hơn đường WMA, nó đưa ra tín hiệu giảm. Do đó, chiến lược này đánh giá tình trạng tăng/giảm của thị trường bằng cách so sánh chiều cao và giao thoa giữa ba MA.

Phân tích lợi thế

Chiến lược này kết hợp ba MAs ngắn hạn, trung hạn và dài hạn, có thể phản ứng với những thay đổi của thị trường trong các chu kỳ khác nhau và cải thiện độ chính xác của việc nắm bắt xu hướng. Đặc biệt, WMA trung hạn có hiệu quả hơn trong việc lọc ra tiếng ồn thị trường và tránh các tín hiệu sai hiệu quả. Ngoài ra, chiến lược chỉ gửi tín hiệu dài khi các tín hiệu tăng của SMA và giá đóng đạt mức nhất quán cao, ngăn chặn whipsaws và đảm bảo hiệu quả mỗi bước vào.

Phân tích rủi ro

Chiến lược này có nguy cơ tín hiệu sai. Khi SMA ngắn hạn tạo ra tín hiệu sai, có thể gây ra tổn thất không cần thiết do chiến lược phụ thuộc chặt chẽ vào đường SMA. Ngoài ra, chiến lược nhạy cảm với các tham số. Khi các tham số được đặt không đúng dưới thị trường giới hạn phạm vi, nhiều giao dịch sai có thể được kích hoạt.

Để ngăn ngừa những rủi ro như vậy, nó được đề nghị điều chỉnh chiều dài MA, nới lỏng các điều kiện giao dịch đúng cách và thiết lập stop loss để hạn chế lỗ đơn.

Hướng dẫn tối ưu hóa

Chiến lược có thể được tối ưu hóa từ các khía cạnh sau:

  1. Kết hợp nhiều loại MAs như KC để tạo ra một danh mục chỉ số để cải thiện độ chính xác

  2. Thêm các yếu tố khối lượng như breakout với khối lượng cao

  3. Kết hợp các chỉ số biến động để tránh thất bại trong thị trường hỗn loạn

  4. Sử dụng máy học để đào tạo và tối ưu hóa các thông số

Kết luận

Chiến lược xác định tình trạng tăng/giảm trên thị trường dựa trên mối quan hệ chéo và cao giữa ba MAs và giá đóng cửa. Bằng cách kết hợp MAs của các điều khoản khác nhau, nó có thể phát hiện hiệu quả xu hướng và các tín hiệu có chất lượng cao. Với điều chỉnh tham số thích hợp và giới thiệu nhiều chỉ số phụ trợ hơn, chiến lược có thể được tăng cường hơn nữa về sự liên quan và ổn định.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("EMA Candle Close Strategy KHANH 11/11/2023", overlay=true, initial_capital=100, commission_type=strategy.commission.percent, commission_value=0.0000005, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len1 = input.int(1, title="SMA #1 Length", minval=1)
src1 = input(close, title="SMA Source #1")
out1 = ta.sma(src1, len1)
plot(out1, title="SMA #1", color=close >= out1 ? color.rgb(120, 123, 134, 100) : color.rgb(120, 123, 134, 100), linewidth=1)

len2 = input.int(20, title="HMA #2 Length", minval=1)
src2 = input(close, title="HMA Source #2")
out2 = ta.hma(src2, len2)
plot(out2, title="HMA #2", color=close >= out2 ? color.rgb(253, 255, 254, 100) : color.rgb(255, 255, 255, 100), linewidth=1)

len3 = input.int(25, title="EMA #3 Length", minval=1)
src3 = input(close, title="EMA Source #3")
out3 = ta.ema(src3, len3)
plot(out3, title="EMA #3", color=close >= out3 ? color.blue : color.blue, linewidth=1)

// Define the long condition
longCondition = (out1 > out2 and close > out2)

// Define the short condition
shortCondition = (out1 < out2 or close < out2)

// Entry conditions
if (longCondition)
    strategy.entry("Long",strategy.long)
else if (shortCondition)
    strategy.entry("Short", strategy.short)

// Trade channel plot
PeriodLookBack = input(55, title="Period Look Back")
xHighest55 = request.security(syminfo.tickerid, timeframe.period, ta.highest(PeriodLookBack))
xLowest55 = request.security(syminfo.tickerid, timeframe.period, ta.lowest(PeriodLookBack))
plot(xHighest55[1], color=color.red, title="HH")
plot(xLowest55[1], color=color.green, title="LL")



//@version=5
//indicator("Custom Moving Averages", shorttitle="CMA", overlay=true)

shortLength = input(defval=40, title="Short Length")
longLength = input(defval=80, title="Long Length")

// Sử dụng khung thời gian của biểu đồ đang sử dụng thay vì cố định là "D"
shortTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, shortLength))
shortBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, shortLength))

longTopBorder = request.security(syminfo.tickerid, timeframe.period, ta.highest(high, longLength))
longBottomBorder = request.security(syminfo.tickerid, timeframe.period, ta.lowest(low, longLength))

shortAverageLine = (shortTopBorder + shortBottomBorder) / 2
longAverageLine = (longTopBorder + longBottomBorder) / 2

plot(shortAverageLine, color=color.new(#fc0000, 0))
plot(longAverageLine, color=color.new(#01ff27, 0))


Thêm nữa