Tài nguyên đang được tải lên... tải...

Xu hướng trung bình di chuyển trơn gấp đôi theo chiến lược - Dựa trên Heikin-Ashi được sửa đổi

Tác giả:ChaoZhang, Ngày: 2024-11-29 15:03:37
Tags:

img

Tổng quan

Chiến lược này là một hệ thống theo xu hướng dựa trên các cây nến Heikin-Ashi đã được sửa đổi. Bằng cách áp dụng làm bằng Mức trung bình chuyển động nhân tố (EMA) hai lần cho các cây nến Heikin-Ashi truyền thống, nó làm giảm hiệu quả tiếng ồn thị trường và cung cấp các tín hiệu xu hướng rõ ràng hơn. Chiến lược hoạt động trong chế độ chỉ dài, giữ các vị trí trong xu hướng tăng và ở ngoài thị trường trong xu hướng giảm, nắm bắt lợi nhuận thị trường thông qua phát hiện xu hướng hiệu quả.

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

Logic cốt lõi bao gồm các bước chính sau:

  1. Đơn giản hóa EMA ban đầu của dữ liệu giá OHLC
  2. Tính toán các ngọn nến Heikin-Ashi được sửa đổi bằng cách sử dụng giá làm mịn
  3. Đơn giản hóa EMA thứ cấp của các cây nến Heikin-Ashi được tính toán
  4. Xác định sự thay đổi màu sắc thông qua so sánh giá mở và đóng trơn
  5. Sản xuất tín hiệu mua khi nến thay đổi từ màu đỏ sang màu xanh lá cây và bán tín hiệu khi thay đổi từ màu xanh lá cây sang màu đỏ
  6. Giao dịch với 100% kích thước vị trí vốn chủ sở hữu tài khoản

Ưu điểm chiến lược

  1. Đơn giản hóa hai lần làm giảm đáng kể tín hiệu sai
  2. Cách tiếp cận chỉ dài loại bỏ rủi ro bán ngắn
  3. Việc tham gia sau khi xác nhận xu hướng cải thiện tỷ lệ thắng
  4. Hệ thống tín hiệu hoàn chỉnh hỗ trợ giao dịch tự động
  5. Lựa chọn khung thời gian linh hoạt đáp ứng nhu cầu giao dịch khác nhau
  6. Các quy tắc nhập cảnh / xuất cảnh đơn giản và rõ ràng tạo điều kiện thực thi dễ dàng
  7. Hỗ trợ quản lý tiền trong các điều kiện thị trường khác nhau

Rủi ro chiến lược

  1. Khả năng rút vốn lớn trong thời gian đảo ngược xu hướng
  2. Nhiều tín hiệu sai có thể trong các thị trường khác nhau
  3. Giao dịch vị trí đầy đủ làm tăng rủi ro vốn
  4. Các tín hiệu nhập cảnh chậm có thể bỏ lỡ các biến động giá ban đầu
  5. Hiệu suất khác nhau đáng kể trong các khung thời gian khác nhau

Hướng dẫn tối ưu hóa chiến lược

  1. Thiết lập các bộ lọc sức mạnh xu hướng để giảm tín hiệu sai trong các thị trường dao động
  2. Thực hiện quy mô vị trí năng động để tối ưu hóa việc sử dụng vốn
  3. Thêm chức năng dừng lỗ để kiểm soát rủi ro rút tiền
  4. Bao gồm các chỉ số kỹ thuật bổ sung để xác nhận tín hiệu
  5. Phát triển hệ thống tham số thích nghi để cải thiện tính ổn định của chiến lược

Tóm lại

Chiến lược này xây dựng một hệ thống theo xu hướng mạnh mẽ bằng cách sử dụng làm mịn đôi và các ngọn nến Heikin-Ashi được sửa đổi như các thành phần cốt lõi của nó. Thiết kế chiến lược sạch sẽ và đơn giản, dễ hiểu và thực hiện, trong khi cung cấp nhiều hướng tối ưu hóa để thích nghi với môi trường thị trường khác nhau. Mặc dù nó có một số rủi ro chậm trễ và rút tiền, thông qua các biện pháp quản lý tiền và kiểm soát rủi ro thích hợp, chiến lược này có thể cung cấp cho các nhà đầu tư một công cụ theo xu hướng đáng tin cậy.


/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Smoothed Heiken Ashi Strategy Long Only", overlay=true, initial_capital=1000, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input.int(10, title="EMA Length")
len2 = input.int(10, title="Smoothing Length")
start_date = input(defval=timestamp("2020-01-01"), title="Backtest Start Date")

o = ta.ema(open, len)
c = ta.ema(close, len)
h = ta.ema(high, len)
l = ta.ema(low, len)

haclose = (o + h + l + c) / 4
var float haopen = na
haopen := na(haopen[1]) ? (o + c) / 2 : (haopen[1] + haclose[1]) / 2
hahigh = math.max(h, math.max(haopen, haclose))
halow = math.min(l, math.min(haopen, haclose))

o2 = ta.ema(haopen, len2)
c2 = ta.ema(haclose, len2)
h2 = ta.ema(hahigh, len2)
l2 = ta.ema(halow, len2)

col = o2 > c2 ? color.red : color.lime

// Plot candles without visible wicks
plotcandle(o2, o2, c2, c2, title="Heikin Smoothed", color=col, wickcolor=color.new(col, 100))

// Delayed Buy and Sell signals
colorChange = col != col[1]
buySignal = colorChange[1] and col[1] == color.lime
sellSignal = colorChange[1] and col[1] == color.red

plotshape(buySignal, title="Buy Signal", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sell Signal", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// Strategy entry and exit
if (true)
    if (buySignal)
        strategy.entry("Long", strategy.long)
    if (sellSignal)
        strategy.close("Long")

// Add a vertical line at the start date
// if (time == start_date)
//     line.new(x1=bar_index, y1=low, x2=bar_index, y2=high, color=color.blue, width=2)

// Alert conditions
alertcondition(colorChange[1], title="Color Change Alert", message="Heiken Ashi Candle Color Changed")
alertcondition(buySignal, title="Buy Signal Alert", message="Buy Signal: Color changed from Red to Green")
alertcondition(sellSignal, title="Sell Signal Alert", message="Sell Signal: Color changed from Green to Red")

Thêm nữa