Chiến lược đột phá cao liên tục


Ngày tạo: 2023-12-08 10:50:54 sửa đổi lần cuối: 2023-12-08 10:50:54
sao chép: 2 Số nhấp chuột: 582
1
tập trung vào
1621
Người theo dõi

Chiến lược đột phá cao liên tục

Tổng quan

Lập luận cốt lõi của chiến lược này là để phát hiện liệu giá đóng cửa liên tiếp của dòng N gốc K có tăng liên tục hay không, nếu có, hãy làm nhiều hơn; nếu không thỏa mãn, hãy giữ vị trí bằng phẳng. Như vậy, bạn có thể nắm bắt xu hướng giá cổ phiếu tăng lên và kiếm được lợi nhuận.

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

Chỉ số cốt lõi của chiến lược này là nCounter, nó đánh giá giá trị tăng bằng cách so sánh giá đóng cửa và giá mở cửa của đường K hiện tại.

Cụ thể, nếu close[1]>=open[1], nCounter cộng 1 là tăng; nếu close[1]

Sau đó nCounter được so sánh với tham số nLength, khi nCounter> = nLength, tín hiệu đầu ra là C1 = 1; nếu không C1 = 0 ≠ nLength ở đây là chúng ta định nghĩa cần bao nhiêu đường K nối tiếp để tạo ra tín hiệu ≠

Sau khi nhận được tín hiệu C1 = 1, nếu không có vị trí hiện tại, thực hiện thêm; Nếu đã có vị trí nhiều đầu, hãy tiếp tục giữ.

Ngoài ra, chiến lược này cũng đặt các điều kiện dừng lỗ và dừng. Nếu giá thấp hơn một tỷ lệ nhất định của giá nhập, dừng lỗ; Nếu cao hơn một tỷ lệ nhất định của giá nhập, dừng.

Phân tích lợi thế

Đây là một chiến lược theo dõi xu hướng điển hình, có một số lợi thế:

  1. Có thể nắm bắt cơ hội của xu hướng tăng giá cổ phiếu, phù hợp để sử dụng chiến lược đa đầu
  2. N gốc liên tục tăng lên như một tín hiệu nhập cảnh, có thể lọc hiệu quả phá vỡ giả, giảm giao dịch không cần thiết
  3. Thiết lập các điều kiện dừng lỗ và dừng để hạn chế rủi ro giảm và khóa lợi nhuận
  4. Logic của chiến lược đơn giản, rõ ràng, dễ hiểu và sửa đổi
  5. Có thể điều chỉnh tần số giao dịch bằng cách điều chỉnh tham số nLength

Phân tích rủi ro

Chiến lược này cũng có một số rủi ro, chủ yếu tập trung vào các khía cạnh sau:

  1. Nếu xu hướng tăng trở lại, không thể dừng lỗ kịp thời, có thể dẫn đến tổn thất lớn
  2. Các tham số nLength được thiết lập quá lớn, có thể bỏ lỡ cơ hội tốt hơn để vào
  3. Không tính đến môi trường thị trường lớn, giữ nhiều vị trí đầu tiên dễ bị tổn thương khi thị trường lớn giảm
  4. Không có tham số điều chỉnh theo đặc điểm của các cổ phiếu khác nhau, sử dụng tham số thống nhất có thể không áp dụng cho một số cổ phiếu

Để giảm thiểu những rủi ro này, chúng ta có thể đặt các điều kiện dừng lỗ nghiêm ngặt hơn, tối ưu hóa tham số nLength, thêm các quy tắc phán đoán lớn, hoặc tham số thử nghiệm riêng cho các cổ phiếu khác nhau. Tất nhiên, bất kỳ chiến lược nào cũng khó tránh hoàn toàn thiệt hại và cần phải phù hợp với sở thích rủi ro của nhà giao dịch.

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

Với những rủi ro trên, chúng ta có thể tiếp tục tối ưu hóa chiến lược này theo những cách sau:

  1. Thêm chức năng dừng di động hoặc theo dõi dừng. Điều này có thể điều chỉnh vị trí dừng theo thời gian theo biến đổi giá, giảm nguy cơ mất mát
  2. Tối ưu hóa tham số nLength. Các loại cổ phiếu khác nhau có thể được thử nghiệm để tìm ra giá trị tham số phù hợp hơn cho từng loại cổ phiếu
  3. Tăng khả năng đánh giá môi trường thị trường lớn. Ví dụ: tạm dừng giao dịch khi thị trường lớn giảm, tránh thiệt hại thêm do hoạt động ngược thị trường
  4. Các yếu tố khác như tăng lượng giao dịch như điều kiện phụ. Ví dụ như yêu cầu tăng lượng giao dịch trong quá trình nghiện, do đó đảm bảo tính hiệu quả của đột phá
  5. Thiết lập kiểm soát rút lui. Như tỷ lệ tổn thất tối đa cho phép, số lần tổn thất liên tiếp tối đa, v.v., có thể tự động dừng lỗ kiểm soát tổng tổn thất

Tóm tắt

Chiến lược này có thể thực hiện theo dõi xu hướng một cách hiệu quả bằng cách phát hiện xu hướng tăng lên bằng cách phát hiện N gốc liên tục tăng lên K đường. Ưu điểm là logic đơn giản, điều chỉnh tham số linh hoạt, có thể lọc giả phá vỡ. Nhưng cũng có một số rủi ro, cần phải thêm các mô-đun như dừng lỗ, tối ưu hóa tham số, phán đoán môi trường để cải thiện chiến lược để làm cho chiến lược toàn diện hơn và ổn định hơn.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 05/02/2020
// Evaluates for n number of consecutive higher closes. Returns a value 
// of 1 when the condition is true or 0 when false.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="N Bars Up", shorttitle="NBU Backtest", overlay = false) 
nLength = input(4, minval=1)
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
nCounter = 0
nCounter := iff(close[1] >= open[1], nz(nCounter[1],0)+1,
             iff(close[1] < open[1], 0, nCounter))
C1 = iff(nCounter >= nLength, 1, 0)
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== 1, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))
plot(C1, title='NBU', color=color.green)