Chiến lược đảo ngược giá theo không gian


Ngày tạo: 2023-11-27 11:40:36 sửa đổi lần cuối: 2023-11-27 11:40:36
sao chép: 0 Số nhấp chuột: 563
1
tập trung vào
1617
Người theo dõi

Chiến lược đảo ngược giá theo không gian

Tổng quan

Chiến lược đảo ngược giá theo hướng không gian bằng cách tính toán đường trung tâm của kênh giá để xác định hướng xu hướng của biến động giá. Khi giá gần đường trung tâm của kênh, nó phát ra tín hiệu mua hoặc bán. Chiến lược này kết hợp nhiều điều kiện lọc để tìm kiếm cơ hội giao dịch có khả năng cao.

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

Chỉ số cốt lõi của chiến lược này là đường trung tâm của kênh giá. Cách tính toán là lấy trung bình giá cao nhất và giá thấp nhất của 30 đường K gần đây nhất.

Chiến lược chỉ phát ra tín hiệu giao dịch khi bối cảnh xu hướng thay đổi. Trong bối cảnh tăng, chỉ khi đường K chuyển sang màu đỏ. Trong bối cảnh giảm, chỉ khi đường K chuyển sang màu xanh lá cây.

Ngoài ra, chiến lược cũng đặt điều kiện lọc kép: lọc thực thể và lọc cổng giá. Chỉ khi khối lượng thực thể lớn hơn 20% so với giá trị trung bình, tín hiệu sẽ được kích hoạt; phải có tín hiệu xu hướng liên tục trong chu kỳ lọc để mở vị trí.

Phân tích lợi thế

Chiến lược này kết hợp xu hướng, khu vực giá trị và hình dạng đường K, một chiến lược giao dịch đảo ngược hiệu quả. Các lợi thế chính là:

  1. Sử dụng kênh giá để đánh giá xu hướng chính, tránh bị lừa bởi thị trường biến động.
  2. Điểm lựa chọn gần đường trung tâm giá, là khu vực mua bán cao và thấp cổ điển.
  3. K-line entity và channel bar filter làm tăng chất lượng tín hiệu và giảm tỷ lệ tín hiệu sai.
  4. Các nhà đầu tư sẽ chỉ đặt cược vào các điểm biến động rõ ràng, tránh theo đuổi các đợt tăng và giảm.

Rủi ro và giải pháp

Rủi ro chính của chiến lược này là từ việc bỏ lỡ điểm đảo ngược giá và không cần chờ đợi tín hiệu. Có thể được tối ưu hóa bằng cách:

  1. Điều chỉnh mức độ nghiêm ngặt của điều kiện lọc, giảm tiêu chuẩn lọc có thể làm giảm tỷ lệ thoát.
  2. Bạn có thể tăng vị trí trong giai đoạn đầu của xu hướng đảo ngược và theo dõi lợi nhuận của xu hướng.
  3. Kết hợp với các chỉ số khác để đánh giá cường độ tín hiệu đảo ngược, điều kiện lọc can thiệp chủ quan.

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. Các tham số tối ưu hóa, chẳng hạn như điều chỉnh chu kỳ kênh giá, số bar kênh.
  2. Tăng chiến lược dừng lỗ, dừng lỗ khi thua lỗ đạt đến một tỷ lệ nhất định.
  3. Kết hợp với khối lượng giao dịch, khối lượng có thể can thiệp vào cường độ điều kiện lọc.
  4. Tăng mô hình học máy để đánh giá xác suất biến đổi xu hướng, thay thế cho bộ lọc đơn giản.

Tóm tắt

Chiến lược đảo ngược giá định hướng không gian tạo ra tín hiệu chất lượng cao bằng cách xác định thời điểm đảo ngược thông qua kênh giá, đặt điều kiện lọc kép. Trên cơ sở điều chỉnh tham số và kiểm soát gió, đây là một chiến lược định lượng đáng tin cậy.

Mã nguồn chiến lược
/*backtest
start: 2023-11-19 00:00:00
end: 2023-11-26 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//Noro
//2018

//@version=2
strategy(title = "Noro's PriceChannel for D1 v1.0", shorttitle = "PriceChannel D1", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100.0, pyramiding = 0)

//Settings
needlong = input(true, "long")
needshort = input(true, "short")
slowlen = input(30, defval = 30, minval = 2, maxval = 200, title = "PriceChannel Period")
pcbars = input(1, defval = 1, minval = 1, maxval = 20, title = "PriceChannel Bars")
usecol = input(true, "Use color-filter")
usebod = input(true, "Use body-filter")
needbg = input(false, defval = false, title = "Need trend Background?")
fromyear = input(1900, defval = 1900, minval = 1900, maxval = 2100, title = "From Year")
toyear = input(2100, defval = 2100, minval = 1900, maxval = 2100, title = "To Year")
frommonth = input(01, defval = 01, minval = 01, maxval = 12, title = "From Month")
tomonth = input(12, defval = 12, minval = 01, maxval = 12, title = "To Month")
fromday = input(01, defval = 01, minval = 01, maxval = 31, title = "From day")
today = input(31, defval = 31, minval = 01, maxval = 31, title = "To day")

src = close

//PriceChannel
lasthigh = highest(src, slowlen)
lastlow = lowest(src, slowlen)
center = (lasthigh + lastlow) / 2

//Trend
ub = low > center ? 1 : 0
db = high < center ? 1 : 0
trend = sma(ub, pcbars) == 1 ? 1 : sma(db, pcbars) == 1 ? -1 : trend[1]

//Body
body = abs(close - open)
abody = sma(body, 10)

//Signals
up = trend == 1 and (close < open or usecol == false) and (body > abody / 5 or usebod == false)
dn = trend == -1 and (close > open or usecol == false) and (body > abody / 5 or usebod == false)

//Lines
plot(center, color = blue, linewidth = 3, transp = 0, title = "PriceChannel Center")

//Background
col = needbg == false ? na : trend == 1 ? lime : red
bgcolor(col, transp = 80)

//Trading
if up
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))

if dn
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na, when=(time > timestamp(fromyear, frommonth, fromday, 00, 00) and time < timestamp(toyear, tomonth, today, 23, 59)))
    
if time > timestamp(toyear, tomonth, today, 23, 59)
    strategy.close_all()