Chiến lược đột phá khuếch đại tỷ lệ vàng trung bình động ATR


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

Chiến lược đột phá khuếch đại tỷ lệ vàng trung bình động ATR

Tổng quan

Chiến lược này là một chiến lược đột phá sử dụng chỉ số ATR để xây dựng tín hiệu giao dịch. Chiến lược này sử dụng hệ thống đường thẳng để tạo ra tín hiệu giao dịch, xây dựng vị trí trống trên và dưới chỉ số ATR bằng cách phân chia vàng. Có thể kiếm được lợi nhuận lớn trong xu hướng và thu được thu nhập ổn định nhỏ trong tình huống biến động.

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

Trong mã thông qua tìm kiếm các chỉ số chu kỳ ATR của giá đóng cửa, và mở rộng 1,618 lần như đường ray lên, mở rộng 2,618 lần như đường ray xuống, kết hợp với đường thẳng ema để xây dựng một hệ thống giao dịch phá vỡ đường Boolean. Khi giá phá vỡ từ đường ray dưới lên, giá làm trống từ đường ray lên xuống, để có được lợi nhuận theo dõi xu hướng.

Lợi thế chiến lược

  1. Chỉ số ATR có thể nắm bắt hiệu quả sự biến động của thị trường, sử dụng sự biến động để xây dựng các kênh giao dịch thích ứng, tránh quá phù hợp do sử dụng các tham số cố định.
  2. Đường ATR tăng lên sau khi phân chia vàng có thể mở rộng không gian thu nhập mà không tăng tần suất giao dịch.
  3. Hệ thống trung tuyến lọc các tiếng ồn ngắn hạn và kết hợp với kênh ATR để khóa các xu hướng trung tuyến dài.

Rủi ro chiến lược

  1. Chỉ số ATR cho thấy sự chậm trễ trong việc ứng phó với các tình huống cực đoan.
  2. Việc phân chia vàng không đúng cách có thể dẫn đến tần suất giao dịch quá cao.
  3. Tín hiệu chuyển đổi đường trung bình chu kỳ dài bị chậm trễ.

Tối ưu hóa chiến lược

  1. Chỉ số ATR có thể được sử dụng hoặc điều chỉnh để tăng gấp đôi với chỉ số biến động thị trường VIX.
  2. Hệ thống đường trung bình có thể giới thiệu EMA nhiều chu kỳ thời gian, xây dựng hệ thống giao dịch thích ứng.
  3. Có thể thiết lập các cơ chế ngăn chặn để giảm tổn thất tối đa cho mỗi giao dịch.

Tóm tắt

Chiến lược này sử dụng tổng hợp lọc đồng nhất, theo dõi kênh ATR và nguyên tắc phân chia vàng. Nó có thể theo dõi hiệu quả xu hướng đường dài trung bình, có tính ổn định tốt. Nó có thể thích nghi với các ứng dụng khác nhau của các loại khác nhau trong các chu kỳ khác nhau thông qua điều chỉnh tham số, đáng để khám phá sự thích nghi tốt của thị trường.

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