Chiến lược theo xu hướng dựa trên kênh giá và đường trung bình động


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

Chiến lược theo xu hướng dựa trên kênh giá và đường trung bình động

Tổng quan

Chiến lược này có thể nhận diện và theo dõi xu hướng bằng cách xây dựng một kênh giá, tính toán khoảng cách của giá từ đường trung tâm, và kết hợp với tín hiệu lọc đồng tuyến. Khi giá vượt qua kênh, nó sẽ tạo ra tín hiệu giao dịch. Chiến lược này có hai đặc điểm là theo dõi xu hướng và phá vỡ.

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

  1. Xây dựng kênh giá
  • Tính toán giá cao nhất và giá thấp nhất trong chu kỳ len gần đây
  • Đường trung tâm là giá trung bình của giá cao nhất và giá thấp nhất
  • Khoảng cách là độ lệch tuyệt đối giữa giá và đường trung tâm
  • Khoảng cách trơn để có được đường ray lên và xuống
  1. Đánh giá xu hướng
  • Khi giá thấp hơn đường mòn, được định nghĩa là xu hướng giảm
  • Khi giá cao hơn đường ray, được định nghĩa là xu hướng tăng
  1. Tạo tín hiệu giao dịch
  • Trong một xu hướng tăng giá, giá thấp hơn giá mở cửa hoặc giảm khi phá vỡ đường ray
  • Trong xu hướng giảm, giá cao hơn giá mở cửa hoặc tháo lỗ khi phá vỡ đường mòn

Phân tích lợi thế

  1. Có thể bắt được xu hướng trung bình và dài.
  2. Kết hợp các tín hiệu đột phá để tránh giao dịch vô hiệu trong vùng chấn động
  3. Các tham số có thể tùy chỉnh để phù hợp với các giống khác nhau

Phân tích rủi ro

  1. Trong bối cảnh đó, các nhà đầu tư có thể sẽ có những tổn thất nhỏ hơn.
  2. Thiết lập tham số không đúng có thể bỏ lỡ sự đảo ngược xu hướng
  3. Cần chú ý đến tần suất giao dịch để tránh giao dịch quá mức

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

  1. Kết hợp các chỉ số khác để lọc tín hiệu
  2. Động thái điều chỉnh tham số kênh giá
  3. Tham gia hệ thống ngăn chặn thiệt hại, tối ưu hóa quản lý tài chính

Tóm tắt

Chiến lược này khá mạnh mẽ, có thể theo dõi hiệu quả các xu hướng đường dài và trung bình, đồng thời kết hợp với sự phá vỡ xu hướng để tạo ra tín hiệu giao dịch. Bằng cách tối ưu hóa tham số và lọc tín hiệu, chiến lược có thể được cải thiện hơn nữa để phù hợp với nhiều giống và môi trường thị trường.

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


//@version=2
strategy("Noro's Bands Strategy v1.1", shorttitle = "NoroBands str 1.1", overlay=true)

//Settings
needlong = input(true, defval = true, title = "Long")
needshort = input(true, defval = true, title = "Short")
len = input(20, defval = 20, minval = 2, maxval = 200, title = "Period")
color = input(true, "Color")
needbb = input(true, defval = false, title = "Show Bands")
needbg = input(true, defval = false, title = "Show Background")
src = close

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

//dist
dist = abs(src - center)
distsma = sma(dist, len)
hd = center + distsma
ld = center - distsma

//Trend
trend = close < ld and high < hd ? -1 : close > hd and low > ld ? 1 : trend[1]

//Lines
colo = needbb == false ? na : black
plot(hd, color = colo, linewidth = 1, transp = 0, title = "High band")
plot(center, color = colo, linewidth = 1, transp = 0, title = "center")
plot(ld, color = colo, linewidth = 1, transp = 0, title = "Low band")

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

//Signals
up = trend == 1 and ((close < open or color == false) or close < hd) ? 1 : 0
dn = trend == -1 and ((close > open or color == false) or close > ld) ? 1 : 0 

longCondition = up == 1
if (longCondition)
    strategy.entry("Long", strategy.long, needlong == false ? 0 : na)

shortCondition = dn == 1
if (shortCondition)
    strategy.entry("Short", strategy.short, needshort == false ? 0 : na)