Chiến lược GetString Breakout Momentum


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

Chiến lược GetString Breakout Momentum

Tổng quan

Chiến lược tổng hợp này sử dụng nhiều chỉ số như đường trung bình di chuyển, chỉ số CCI, chỉ số PSAR và chỉ số chuyển động ADX để thực hiện một chiến lược đột phá điển hình. Làm nhiều khi thị trường có tín hiệu đa đầu rõ ràng, làm trống khi có tín hiệu đầu trống rõ ràng, rất phù hợp để hoạt động đường ngắn giữa.

Nguyên tắc

Các điều kiện nhập học của chiến lược bao gồm:

  1. Đối với đường trung bình di chuyển: yêu cầu đường 5 ngày đi qua đường 10 ngày, đường 10 ngày đi qua đường 20 ngày và đường 20 ngày đi qua đường 40 ngày, do đó có thể lọc hiệu quả hầu hết các đột phá giả.
  2. Về chỉ số CCI: Yêu cầu chỉ số CCI nhỏ hơn -100 là tín hiệu đầu vào nhiều đầu, lớn hơn 100 là tín hiệu đầu vào trống.
  3. Về chỉ số hướng điểm PSAR: yêu cầu hướng của chỉ số điểm PSAR phù hợp với hướng của xu hướng phân biệt giá cả.
  4. Về chỉ số động ADX: yêu cầu ADX lớn hơn 20, cho thấy hiện tại đang ở thị trường xu hướng, phù hợp để sử dụng hệ thống đột phá.

Trong khi đó, điều kiện thi đấu cũng được tính đến theo một số chỉ số:

  1. Moving Average: Khác với điều kiện nhập cảnh, đường 5 ngày dưới đường 10 là tín hiệu cân bằng vị trí.
  2. Chỉ số CCI, chỉ số điểm PSA cũng trái ngược với điều kiện nhập cảnh, nếu chỉ số CCI lớn hơn 100 thì nhiều đơn vị.

Do đó, các chiến lược có thể được áp dụng để có thể có được tỷ lệ lợi nhuận cao hơn.

Ưu điểm

Đây là một chiến lược đột phá kết hợp nhiều chỉ số điển hình với một số ưu điểm:

  1. Điều kiện nhập cảnh nghiêm ngặt, sử dụng bộ lọc đa chỉ số để giảm nguy cơ đột nhập giả.
  2. Các tham số chỉ số được tối ưu hóa và thích ứng tốt với thị trường.
  3. Các chỉ số được sử dụng để đánh giá xu hướng và tránh bị mắc kẹt trong thị trường biến động.
  4. Sử dụng trung bình di chuyển để xác định xu hướng đường ngắn trung bình, tương đối ổn định.
  5. Chỉ số CCI có thể nắm bắt các hiện tượng quá mua và quá bán trong thời gian ngắn.
  6. Chỉ số PSAR có khả năng đánh giá xu hướng thị trường.

Rủi ro

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

  1. Trong trường hợp cực đoan, kết hợp của nhiều chỉ số có thể bị giảm giá và không thể lọc toàn bộ rủi ro.
  2. Khi có xu hướng lớn, việc sử dụng các chỉ số trung hạn có thể không hiệu quả và không thể nắm bắt được xu hướng.
  3. Các tham số chỉ số địa phương như CCI được thiết lập không đúng có thể gây ra cơ hội bị mất.
  4. Chỉ số PSAR không hiệu quả ở các điểm chuyển hướng.

Phản ứng:

  1. Điều kiện nhập học có thể được nới lỏng một cách thích hợp, trả nhiều chi phí hơn để đổi lấy rủi ro thấp hơn.
  2. Thêm các chỉ số đánh giá cho các đoạn dài hơn, chẳng hạn như trung bình di chuyển 60 ngày hoặc lâu hơn.
  3. Các tham số CCI tối ưu hóa động.
  4. Nó được kết hợp với nhiều chỉ số khác để đánh giá xu hướng, chẳng hạn như đường Brin.

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

Chiến lược này cũng có một số ưu điểm:

  1. Thêm thuật toán học máy, tối ưu hóa tham số trong thời gian thực, cải thiện khả năng thích ứng của tham số.
  2. Tăng công nghệ kết hợp mô hình, kết hợp nhiều chiến lược không liên quan, tăng sự ổn định.
  3. Việc đưa ra các cơ chế kiểm soát gió, chẳng hạn như chiến lược dừng lỗ, có thể kiểm soát hiệu quả lỗ hổng đơn.
  4. Thêm mô-đun đánh giá xu hướng để tránh rơi vào tình trạng chấn động.
  5. Tối ưu hóa trọng số chỉ số để chỉ số tối ưu có vai trò chủ đạo trong các môi trường thị trường khác nhau.

Tóm tắt

Chiến lược này nói chung là một chiến lược đột phá đa chỉ số điển hình và cổ điển. Những ưu điểm của nó là điều kiện nhập cảnh nghiêm ngặt, điều kiện thoát ra thoải mái, và có mô-đun đánh giá xu hướng. Nhưng cũng có một số rủi ro, cần phải được tối ưu hóa liên tục để có thể thích ứng với môi trường thị trường phức tạp hơn.

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

//@version=4
strategy(title="Bukan Kaleng Kaleng Li", shorttitle="BKKL", overlay=true)

psarDot = sar(0.01, 0.01, 0.2)
up = change(high)
down = -change(low)
plusDM = na(up) ? na : (up > down and up > 0 ? up : 0)
minusDM = na(down) ? na : (down > up and down > 0 ? down : 0)
trur = rma(tr, 14)
plus = fixnan(100 * rma(plusDM, 14) / trur)
minus = fixnan(100 * rma(minusDM, 14) / trur)
sum = plus + minus
adx = 100 * rma(abs(plus - minus) / (sum == 0 ? 1 : sum), 14)

longConditionSMA4020 = sma(close, 40) > sma(close, 20)
longConditionSMA2010 = sma(close, 20) > sma(close, 10)
longConditionSMA105 = sma(close, 10) > sma(close, 5)
longConditionSMA = longConditionSMA4020 and longConditionSMA2010 and longConditionSMA105
longConditionCCI = cci(close, 20) < -100
longConditionPSAR = psarDot > close
longConditionDMI = plus < 10
adxCondition = adx > 20

longCondition = longConditionSMA and longConditionCCI and longConditionPSAR and longConditionDMI
if (longCondition and adxCondition)
    strategy.order("Long Signal", true)

shortConditionSMA4020 = sma(close, 40) < sma(close, 20)
shortConditionSMA2010 = sma(close, 20) < sma(close, 10)
shortConditionSMA105 = sma(close, 10) < sma(close, 5)
shortConditionSMA = shortConditionSMA4020 and shortConditionSMA2010 and shortConditionSMA105
shortConditionCCI = cci(close, 20) > 100
shortConditionPSAR = psarDot < close
shortConditionDMI = minus < 10

shortCondition = shortConditionSMA and shortConditionCCI and shortConditionPSAR and shortConditionDMI
if (shortCondition and adxCondition)
    strategy.order("Short Signal", false)