Chiến lược Golden Cross và Death Cross dựa trên đường trung bình động


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

Chiến lược Golden Cross và Death Cross dựa trên đường trung bình động

Tổng quan

Chiến lược này dựa trên nguyên tắc giao dịch của đường trung bình di chuyển. Nó kết hợp các đường trung bình di chuyển với ba tham số khác nhau trong ngắn hạn, trung hạn và dài hạn, và tạo ra tín hiệu giao dịch bằng cách so sánh mối quan hệ cao và thấp của ba đường trung bình để đánh giá trạng thái trống của thị trường.

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

Chiến lược này đặt ra 3 đường trung bình di chuyển, một đường trung bình di chuyển đơn giản ngắn hạn, một đường trung bình di chuyển trọng lượng trung bình và một đường trung bình di chuyển chỉ số dài hạn. Cụ thể, đường SMA dài 1, đường WMA dài 20 và đường EMA dài 25 được đặt ra.

Khi đường SMA ngắn xuyên qua đường WMA trung bình và giá đóng cửa cao hơn đường WMA, thị trường sẽ đảo ngược từ dưới lên, tạo ra tín hiệu đa đầu; khi đường SMA ngắn xuyên qua đường WMA trung bình hoặc giá đóng cửa thấp hơn đường WMA, tín hiệu vô đầu. Vì vậy, chiến lược này đánh giá tình trạng đa đầu của thị trường bằng cách so sánh sự tăng, giảm và giao thoa của ba đường trung bình.

Phân tích lợi thế

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

Phân tích rủi ro

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

Để phòng ngừa những rủi ro này, khuyến nghị điều chỉnh chiều dài đường trung bình, nới lỏng các điều kiện giao dịch thích hợp và đặt lệnh dừng để kiểm soát tổn thất đơn lẻ.

Hướng tối ưu hóa

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

  1. Thêm nhiều loại chỉ số đường trung bình, chẳng hạn như đường KC, để tạo ra một tập hợp các chỉ số, cải thiện độ chính xác của phán đoán

  2. Các yếu tố làm tăng khối lượng giao dịch, chẳng hạn như đột phá khối lượng

  3. Kết hợp các chỉ số biến động để tránh sự thất bại của các biến động

  4. Sử dụng các phương tiện như học máy để đào tạo và tối ưu hóa các tham số

Tóm tắt

Chiến lược này đánh giá tình trạng thị trường trống rỗng dựa trên mối quan hệ thực tế giữa giá giao thoa và giá đóng cửa của ba đường trung bình, đơn giản và đáng tin cậy. Nó kết hợp các đường trung bình với các khoảng dài khác nhau, có thể phát hiện xu hướng hiệu quả, tín hiệu chất lượng cao. Bằng cách điều chỉnh các tham số thích hợp và giới thiệu thêm các chỉ số phụ trợ, chiến lược có thể tăng cường sự nhắm mục tiêu và ổn định hơn nữa.

Mã nguồn chiến lược
/*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))