Chiến lược theo dõi xu hướng trung bình động kênh động


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

Chiến lược theo dõi xu hướng trung bình động kênh động

Tổng quan

Chiến lược này được thiết kế dựa trên nguyên tắc theo dõi xu hướng của kênh động và đường đồng. Nó tính toán kênh động của giá, xác định hướng xu hướng giá thông qua đường dẫn lên xuống, kết hợp với sự phân tán giá của chu kỳ đường đồng, tạo ra tín hiệu giao dịch. Chiến lược này phù hợp với giao dịch xu hướng đường ngắn giữa.

Nguyên tắc

Chiến lược này dựa trên các nguyên tắc sau:

  1. Tính toán kênh giá động. Tính toán đường trung bình của kênh thông qua giá cao nhất và giá thấp nhất, đường trên là đường trung bình + đường trung bình phân tán giá, đường dưới là đường trung bình - đường trung bình phân tán giá.

  2. Xác định hướng của xu hướng. Khi giá lên đường, nó được định nghĩa là bullish; Khi giá xuống đường, nó được định nghĩa là bearish.

  3. Phong trào tiếng ồn. Phong trào tiếng ồn gây ra bởi biến động ngẫu nhiên của giá, sử dụng đường trung bình phân tán giá của một chu kỳ nhất định.

  4. Tạo tín hiệu giao dịch. Khi đà tăng, tạo tín hiệu mua khi giá đóng cửa của chu kỳ thấp hơn giá mở cửa; khi giảm, tạo tín hiệu bán khi giá đóng cửa của chu kỳ cao hơn giá mở cửa.

Ưu điểm

Chiến lược này có những ưu điểm sau:

  1. Các kênh động có thể nắm bắt xu hướng giá trong thời gian thực;
  2. Phản ứng của các nhà khoa học là:
  3. Tạo tín hiệu giao dịch kết hợp với hướng xu hướng và hướng của thực thể K-line, tránh bị đặt.

Rủi ro

Chiến lược này cũng có những rủi ro sau:

  1. Chọn Params không đúng có thể dẫn đến tối ưu hóa quá mức;
  2. Trong một số trường hợp, nó có thể gây ra các tín hiệu sai khi sắp xếp các đĩa chấn động.
  3. Không thể dự đoán được sự biến động mạnh mẽ của giá cả.

Giải pháp tương ứng:

  1. Những người tham gia cuộc thi này đã có những trải nghiệm thú vị.
  2. Thêm các điều kiện lọc để xác định và sắp xếp các rung động;
  3. Thiết lập Stop Loss Stop và kiểm soát rủi ro.

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

Chiến lược này có thể được tối ưu hóa bằng cách:

  1. Kiểm tra tính ổn định của các tham số chu kỳ khác nhau;
  2. Tăng khả năng phán đoán của các chỉ số VOLUME hoặc Volatility;
  3. Kết hợp các bandwidth, kênh và các thông tin khác để đánh giá các bước vào và ra.

Tóm tắt

Chiến lược này kết hợp các suy nghĩ về định hướng xu hướng động và đồng nhất, hoạt động tốt trong việc nắm bắt hướng xu hướng giữa và ngắn. Tuy nhiên, cũng có một số hạn chế, cần thử nghiệm và tối ưu hóa thêm để phù hợp với nhiều tình huống thị trường hơn.

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=2
strategy("Noro's Bands Strategy v1.0", shorttitle = "NoroBands str 1.0", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value=100.0, pyramiding=0)

//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(false, defval = false, title = "Show Bands")
needbg = input(false, 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)

//up =  and trend == 1 ? 1 : 0
//dn =  and trend == -1 ? 1 : 0 

up = close < hd and trend == 1 and (close < open or color == false) ? 1 : 0
dn = close > ld and trend == -1 and (close > open or color == false) ? 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)