Chiến lược đột phá phạm vi thực trung bình với tỷ lệ vàng

Tác giả:ChaoZhang, Ngày: 2024-02-26 15:02:26
Tags:

img

Tổng quan

Đây là một chiến lược đột phá sử dụng chỉ số ATR để tạo ra các tín hiệu giao dịch. Chiến lược sử dụng một hệ thống trung bình động để tạo ra các tín hiệu nhập cảnh và một kênh ATR khuếch đại dựa trên tỷ lệ vàng để xây dựng các vị trí dài và ngắn. Nó có thể đạt được lợi nhuận đáng kể trong xu hướng và thu được lợi nhuận nhỏ nhưng ổn định trong các thị trường giới hạn phạm vi.

Nguyên tắc

Mã tính toán ATR trong một khoảng thời gian của giá đóng cửa, khuếch đại nó bằng 1,618 như dải trên và 2,618 như dải dưới. Kết hợp với EMA, nó tạo thành một hệ thống thoát kênh Bollinger. Đi dài khi giá phá vỡ dải dưới lên và đi ngắn khi phá vỡ dải trên xuống để theo xu hướng.

Ưu điểm

  1. Chỉ số ATR nắm bắt hiệu quả sự biến động của thị trường và xây dựng các dải giao dịch thích nghi, tránh quá phù hợp do các tham số tĩnh.
  2. Các băng tần ATR được khuếch đại bằng tỷ lệ vàng mở rộng tiềm năng lợi nhuận mà không làm tăng tần suất giao dịch.
  3. Hệ thống trung bình động lọc ra tiếng ồn ngắn hạn và hợp tác với kênh ATR để xác định xu hướng trung và dài hạn.

Rủi ro

  1. Chỉ số ATR có thể bị chậm trong điều kiện thị trường cực đoan.
  2. Các số nhân phóng to không đúng sẽ dẫn đến tần suất giao dịch quá cao.
  3. Các tín hiệu chuyển đổi từ các đường trung bình động dài có độ trễ.

Tối ưu hóa

  1. ATR có thể kết hợp VIX hoặc điều chỉnh phóng to.
  2. Sử dụng nhiều khung thời gian EMA để xây dựng các hệ thống thích nghi.
  3. Đặt dừng lỗ để giới hạn lỗ tối đa cho mỗi giao dịch.

Tóm lại

Chiến lược này tích hợp lọc trung bình động, theo dõi kênh ATR và phương pháp tỷ lệ vàng, có thể theo dõi hiệu quả các xu hướng trung và dài hạn với sự ổn định tốt. Bằng cách điều chỉnh các tham số, nó có thể được điều chỉnh cho các sản phẩm khác nhau trên các tần số khác nhau, xứng đáng được khám phá cho khả năng thích nghi thị trường tuyệt vời của nó.


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

//@version=4
strategy("ATR Long Only Strategy lower band buy", overlay=true, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

len = input(52, type=input.integer, minval=1, title="Length")
mul = input(1.618, type=input.float, minval=0, title="Length")
mullow = input(2.618, type=input.float, minval=0, title="Length")

price = sma(close, 1)
average = ema(close, len)
diff = atr(len) * mul
difflow = atr(len) * mullow

bull_level = average + diff
bear_level = average - difflow
bull_cross = crossunder(price, bear_level)
bear_cross = crossunder(bull_level, price)

FromMonth = input(defval = 8, title = "From Month", minval = 1, maxval = 12)
FromDay   = input(defval = 18, title = "From Day", minval = 1, maxval = 31)
FromYear  = input(defval = 2008, title = "From Year", minval = 2008)
ToMonth   = input(defval = 1, title = "To Month", minval = 1, maxval = 12)
ToDay     = input(defval = 1, title = "To Day", minval = 1, maxval = 31)
ToYear    = input(defval = 2020, title = "To Year", minval = 2019)

start     = timestamp(FromYear, FromMonth, FromDay, 00, 00)  
finish    = timestamp(ToYear, ToMonth, ToDay, 23, 59)       
startTimeOk()  => true

if (startTimeOk())
    strategy.entry("KOP", strategy.long, when=bull_cross)
    strategy.close("KOP", when=bear_cross)  //strategy.entry("Sell", strategy.short, when=bear_cross)

plot(price, title="price", color=color.black, transp=50, linewidth=2)
a0 = plot(average, title="average", color=color.red, transp=50, linewidth=1)
a1 = plot(bull_level, title="bull", color=color.green, transp=50, linewidth=1)
a2 = plot(bear_level, title="bear", color=color.red, transp=50, linewidth=1)
fill(a0, a1, color=color.green, transp=97)
fill(a0, a2, color=color.red, transp=97)

Thêm nữa