Chiến lược mua biến động thấp Chiến lược mua biến động cao


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

Chiến lược mua biến động thấp Chiến lược mua biến động cao

Tổng quan

Mục đích của chiến lược này là nghiên cứu sự khác biệt giữa việc mua tài sản trong thời gian biến động thấp và biến động cao. Nó cho phép người dùng chọn mua trong thời gian biến động thấp và biến động cao bằng cách thay đổi biến input mode.

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

Chiến lược này xác định tỷ lệ biến động bằng cách tính ATR và SMA của nó. Cụ thể, nó tính SMA của ATR, sau đó tính tỷ lệ của ATR với SMA của nó. Nếu tỷ lệ này cao hơn ngưỡng định nghĩa của người dùng volatilityTargetRatio, thì nó được coi là biến động cao; nếu thấp hơn ngưỡng đó, thì nó được coi là biến động thấp.

Tùy thuộc vào chế độ mà người dùng chọn, chiến lược sẽ tạo ra tín hiệu mua khi có biến động cao hoặc thấp. Một khi đã mua, chiến lược sẽ giữ một số bar nhất định (được xác định bởi sellAfterNBarsLength) và sau đó thanh toán.

Phân tích lợi thế

Những ưu điểm chính của chiến lược này là:

  1. Có thể so sánh trực quan hiệu suất chiến lược mua trong thời gian biến động thấp và biến động cao.
  2. Sử dụng SMA để làm mịn ATR, có thể lọc các đột phá giả.
  3. Có thể kiểm tra mức độ dao động khác nhau bằng cách điều chỉnh tham số.

Phân tích rủi ro

Những rủi ro chính của chiến lược này là:

  1. Nếu chỉ mua ở mức biến động thấp, bạn có thể bỏ lỡ cơ hội tăng giá.
  2. Nếu bạn chỉ mua những tỷ lệ biến động cao, bạn có thể làm tăng rủi ro hệ thống.
  3. Thiết lập tham số không đúng có thể dẫn đến việc bỏ lỡ thời gian mua hoặc tháo lỗ quá sớm.

Những rủi ro trên có thể được giảm nhẹ bằng cách điều chỉnh các tham số, kết hợp các mức độ biến động khác nhau.

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

Chiến lược này có thể được tối ưu hóa hơn nữa:

  1. Kiểm tra các tham số chiều dài khác nhau của ATR.
  2. Thêm chiến lược dừng lỗ.
  3. Kết hợp với các chỉ số khác, lọc phá vỡ giả.
  4. Tối ưu hóa các điều kiện mua và đặt hàng.

Tóm tắt

Chiến lược này có thể so sánh hiệu quả hiệu suất của chiến lược mua có biến động thấp và chiến lược mua có biến động cao. Nó sử dụng SMA để làm mịn ATR, tạo tín hiệu giao dịch dựa trên mức độ biến động. Chiến lược này có thể được cải thiện bằng cách điều chỉnh các tham số và điều kiện tối ưu hóa.

Mã nguồn chiến lược
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © I11L

//@version=5
strategy("I11L - Better Buy Low Volatility or High Volatility?", overlay=false)

mode = input.string("Buy low Volatility",options = ["Buy low Volatility","Buy high Volatility"])
volatilityTargetRatio = input.float(1,minval = 0, maxval = 100,step=0.1, tooltip="1 equals the average atr for the security, a lower value means that the volatility is lower")
atrLength = input.int(14)

atr = ta.atr(atrLength) / close
avg_atr = ta.sma(atr,atrLength*5)
ratio = atr / avg_atr

sellAfterNBarsLength = input.int(5, step=5, minval=0)


var holdingBarsCounter = 0

if(strategy.opentrades > 0)
    holdingBarsCounter := holdingBarsCounter + 1


isBuy = false

if(mode == "Buy low Volatility")
    isBuy := ratio < volatilityTargetRatio
else
    isBuy := ratio > volatilityTargetRatio

isClose = holdingBarsCounter > sellAfterNBarsLength



if(isBuy)
    strategy.entry("Buy",strategy.long)

if(isClose)
    holdingBarsCounter := 0
    strategy.exit("Close",limit=close)

plot(ratio, color=isBuy[1] ? color.green : isClose[1] ? color.red : color.white)
plot(1, color=color.white)