Thứ Năm, 05/11/202605/11/2026

Hướng Dẫn Sử Dụng Bot CNPS28-AUTO RANGE cho VN30F1M

Tìm hiểu Bot CNPS 28 Auto Range V2: tự động phát hiện vùng Sideway, giao dịch Breakout Retest, Deviation, quản trị rủi ro và sử dụng trên TradingView.

CNPS 28 Auto Range Breakout Strategy
CNPS 28 Auto Range Breakout Strategy
Mục lục
Mục lục

Trong giao dịch chứng khoán phái sinh, thị trường không phải lúc nào cũng duy trì xu hướng tăng hoặc giảm rõ ràng. Có những giai đoạn giá liên tục dao động giữa hai vùng hỗ trợ và kháng cự, hình thành trạng thái tích lũy hoặc đi ngang thường được gọi là Sideway.

Đối với nhà đầu tư, những vùng Sideway có thể tạo ra hai nhóm cơ hội giao dịch khác nhau. Thứ nhất là khi giá phá vỡ vùng tích lũy và hình thành xu hướng mới. Thứ hai là khi giá vượt ra ngoài biên nhưng không duy trì được chuyển động, sau đó quay trở lại bên trong vùng giá.

Tuy nhiên, việc xác định chính xác một vùng Sideway không đơn giản. Nếu vùng giá được vẽ quá rộng, tín hiệu có thể xuất hiện muộn. Ngược lại, vùng quá hẹp có thể khiến nhà đầu tư liên tục gặp phải những cú phá vỡ giả.

CNPS 28 AUTO RANGE V2 CONFIRMED là chiến lược giao dịch được phát triển bằng Pine Script v6 trên TradingView, ứng dụng phương pháp Auto Range Detection kết hợp Breakout Retest và Deviation Reversal, nhằm hỗ trợ nhận diện vùng giá đi ngang và tìm kiếm tín hiệu Long hoặc Short sau khi xuất hiện xác nhận phù hợp.

Điểm nổi bật của CNPS 28 nằm ở việc bot không đơn thuần xác định vùng giá từ đỉnh cao nhất và đáy thấp nhất của một khoảng thời gian. Thay vào đó, chiến lược sử dụng nhiều tiêu chí gồm Percentile Boundaries, Volatility Compression, Rotation Rate, Boundary Touches, Drift Filter và Containment để đánh giá một vùng giá có đủ đặc điểm của trạng thái Sideway hay không.

Sau khi Range được xác nhận, bot có thể tìm kiếm hai loại cơ hội:

  • Breakout Retest: Giao dịch theo hướng phá vỡ sau khi giá quay lại kiểm tra biên Range và xuất hiện nến xác nhận tiếp diễn.
  • Deviation Reversal: Giao dịch theo hướng quay trở lại bên trong Range khi xuất hiện phá vỡ giả hoặc Liquidity Sweep, với mục tiêu tại vùng cân bằng Range EQ.

Bên cạnh cơ chế vào lệnh, chiến lược còn tích hợp Stop Loss theo cấu trúc giá, bộ lọc Reward/Risk, giới hạn tối đa hai giao dịch mỗi ngày và Cooldown sau khi thoát vị thế.

Vậy CNPS 28 hoạt động như thế nào, thuật toán xác định Range ra sao, khi nào bot giao dịch Breakout hoặc Deviation và người dùng cần lưu ý gì khi sử dụng?

1. CNPS 28 AUTO RANGE V2 CONFIRMED là gì?

CNPS 28 AUTO RANGE V2 CONFIRMED là chiến lược giao dịch được xây dựng trên TradingView, hướng đến việc phân tích và giao dịch hợp đồng tương lai chỉ số VN30 thông qua khả năng tự động nhận diện vùng Sideway và đánh giá phản ứng của giá tại các đường biên.

Chiến lược được xây dựng dựa trên ba thành phần chính:

  • Auto Range Detection: Tự động tìm kiếm và đánh giá các vùng tích lũy bằng phương pháp quét nhiều chu kỳ, sử dụng phân vị giá, mức độ nén biến động, tần suất xoay vòng, số lần kiểm tra biên và độ ổn định của giá.
  • Breakout Retest Trading: Xác định thời điểm giá đóng cửa phá vỡ biên Range, sau đó chờ giá quay lại kiểm tra khu vực vừa phá vỡ và xuất hiện tín hiệu tiếp diễn.
  • Deviation Reversal Trading: Nhận diện những sự kiện giá phá biên nhưng không duy trì được chuyển động, sau đó tìm kiếm tín hiệu đảo chiều hướng về vùng cân bằng Range EQ.

Điểm đặc biệt của CNPS 28 là chiến lược không mặc định thị trường sẽ tiếp tục tăng khi phá kháng cự hoặc tiếp tục giảm khi phá hỗ trợ.

Thay vào đó, bot đánh giá những diễn biến xảy ra sau sự kiện phá biên.

Ví dụ, khi VN30F1M vận động trong vùng 1.890–1.900 điểm, chiến lược có thể xác định một vùng Range nếu các tiêu chí chất lượng được đáp ứng.

Khi giá đóng cửa vượt 1.900 điểm với khoảng đệm Breakout phù hợp, bot ghi nhận Bullish Breakout.

Tuy nhiên, thay vì lập tức mở Long, chiến lược chờ giá quay lại kiểm tra khu vực 1.900 điểm.

Nếu xuất hiện một nến tăng xác nhận và khoảng Stop Loss hợp lệ, bot mới xem xét mở vị thế Long theo hướng phá vỡ.

Ngược lại, nếu giá vượt 1.900 điểm nhưng nhanh chóng quay trở lại bên dưới biên trên, chiến lược có thể nhận diện Bearish Deviation.

Khi xuất hiện nến giảm xác nhận, bot có thể xem xét Short với mục tiêu tại vùng Range EQ.

Như vậy, cùng một vùng Sideway có thể tạo ra hai loại thiết lập giao dịch với logic và phương pháp quản trị rủi ro khác nhau.

Điểm khác biệt của CNPS 28 là bot phân biệt giữa phá vỡ thành công và phá vỡ thất bại, sau đó yêu cầu xác nhận trước khi giao dịch.

Theo cấu hình mặc định:

  • Giao dịch cả Long và Short.
  • Sử dụng cả Breakout và Deviation.
  • Auto Multi-Scale Range Detection.
  • Base Scan Length: 20 nến.
  • Breakout Retest với Take Profit 2R.
  • Deviation với mục tiêu Range EQ.
  • Stop Loss theo cấu trúc giá.
  • Tối đa 2 giao dịch mỗi ngày.
  • Cooldown 5 nến sau thoát vị thế.
  • Khối lượng mặc định 3 hợp đồng.

Source Code CNPS 28: CNPS28

2. Các khái niệm kỹ thuật được sử dụng trong CNPS 28

Để hiểu cơ chế hoạt động của CNPS 28, trước tiên cần nắm được những khái niệm kỹ thuật liên quan đến Range Detection, Breakout, Liquidity Sweep và Deviation.

2.1. Trading Range – Vùng giá đi ngang

Trading Range là trạng thái thị trường vận động trong một khoảng giá tương đối ổn định, nơi giá thường xuyên phản ứng tại vùng biên trên và biên dưới.

Trong một Range, có ba mức giá cơ bản:

Range Top: Biên trên của vùng giá.

Range Bottom: Biên dưới của vùng giá.

Range EQ: Điểm giữa của Range.

Công thức:

Range EQ = (Range Top + Range Bottom) / 2.

Ví dụ:

  • Range Top = 1.900 điểm.
  • Range Bottom = 1.880 điểm.

Khi đó:

Range EQ = 1.890 điểm.

Range EQ có thể được sử dụng làm mức tham chiếu để đánh giá vị trí giá trong vùng tích lũy.

Tuy nhiên, Range EQ trong CNPS 28 chỉ là trung điểm số học của hai biên Range, không phải Point of Control (POC) hay một mức Value Area được tính theo Market Profile.

2.2. Multi-Scale Range Detection – Quét vùng giá đa chu kỳ

Một đặc điểm quan trọng của CNPS 28 là khả năng quét nhiều khoảng dữ liệu để tìm kiếm vùng Sideway.

Mặc định:

Base Scan Length = 20 nến.

Chiến lược xây dựng ba chu kỳ quét:

  • Base: 20 nến.
  • Medium: 40 nến.
  • Wide: 60 nến.

Người dùng có thể chọn một trong bốn chế độ:

  • Base (1x).
  • Medium (2x).
  • Wide (3x).
  • Auto Multi-Scale.

Trong chế độ Auto Multi-Scale mặc định, bot kiểm tra những vùng đạt đủ tiêu chí chất lượng.

Thứ tự ưu tiên:

Wide 60 nến → Medium 40 nến → Base 20 nến.

Điều này có nghĩa nếu cả Range 60 nến và Range 20 nến cùng hợp lệ, chiến lược sẽ ưu tiên Range 60 nến.

Nếu Range 60 nến không hợp lệ nhưng Range 40 nến hợp lệ, bot lựa chọn Range 40 nến.

Nếu cả hai không hợp lệ, bot tiếp tục xét Range 20 nến.

Cần hiểu đúng rằng đây là cơ chế ưu tiên vùng có chu kỳ dài nhất trong những vùng hợp lệ, không phải thuật toán so sánh điểm số rồi chọn vùng có chất lượng cao nhất.

2.3. Percentile Boundaries – Xác định biên bằng phân vị

Khác với cách sử dụng High cao nhất và Low thấp nhất, CNPS 28 sử dụng phân vị giá để xác định biên Range.

Mặc định:

Boundary Percentile = 90%.

Công thức:

Range Top = Phân vị 90% của High.

Range Bottom = Phân vị 10% của Low.

Hai giá trị này được tính trên chu kỳ Range đang xét.

Ví dụ, nếu quét 40 nến:

  • Biên trên được xác định từ phân vị 90% của chuỗi High.
  • Biên dưới được xác định từ phân vị 10% của chuỗi Low.

Phương pháp này giúp giảm ảnh hưởng của những điểm giá cực trị đơn lẻ so với việc luôn lấy High và Low tuyệt đối.

Tuy nhiên, phân vị không đảm bảo loại bỏ hoàn toàn ảnh hưởng của các cú biến động mạnh.

Sau khi xác định biên, chiến lược tiếp tục đánh giá chất lượng Range bằng những điều kiện khác.

2.4. Volatility Compression – Mức độ nén biến động

Volatility Compression được sử dụng để đánh giá liệu vùng giá hiện tại có đang ở trạng thái biến động tương đối thấp hay không.

Trong CNPS 28, bot tính chiều cao Range:

Range Height = Range Top − Range Bottom.

Sau đó chuẩn hóa:

Normalized Height = Range Height / (ATR × √Scan Length).

Với ATR được tính theo chu kỳ mặc định 200 nến.

Tiếp theo, chiến lược sử dụng Percent Rank để đánh giá giá trị Normalized Height trong một khoảng dữ liệu lịch sử.

Mặc định:

Volatility Compression Threshold = 40%.

Điều kiện hợp lệ:

Compression Rank ≤ 40%.

Điều này có nghĩa giá trị độ rộng chuẩn hóa của Range cần nằm trong vùng xếp hạng tương đối thấp theo cửa sổ tham chiếu.

Một điểm quan trọng là mức 40% không có nghĩa chiều cao Range phải nhỏ hơn 40% ATR.

Đây là ngưỡng xếp hạng phân vị của độ rộng đã chuẩn hóa, không phải tỷ lệ chiều cao Range trực tiếp.

2.5. Rotation Rate – Tần suất giá xoay vòng

Rotation Rate là tiêu chí đánh giá số lần giá đóng cửa di chuyển qua vùng trung điểm của Range.

Trong CNPS 28, bot xác định midpoint của Range rồi đếm những lần Close chuyển từ phía dưới lên trên hoặc từ phía trên xuống dưới mức này.

Công thức:

Rotation Rate = Số lần Close cắt qua Range Midpoint / Scan Length.

Mặc định:

Minimum Rotation Rate = 0,18.

Ví dụ, với Scan Length bằng 20 nến, một Range cần có đủ số lần giá đóng cửa cắt qua midpoint để đạt tỷ lệ ít nhất 0,18.

Điều kiện này giúp phân biệt một vùng giá có nhiều chuyển động qua lại với một đoạn giá chủ yếu di chuyển theo một hướng.

Tuy nhiên, Rotation Rate cao không tự động chứng minh thị trường đang tích lũy.

Đó là lý do CNPS 28 cần thêm bộ lọc Compression, Boundary Touches và Drift.

2.6. Boundary Touches – Số lần kiểm tra biên Range

Một vùng Sideway thường có những phản ứng lặp lại tại biên trên và biên dưới.

CNPS 28 kiểm tra số lần giá tiếp cận các vùng biên này.

Mặc định:

Minimum Touches Per Boundary = 2.

Bot yêu cầu:

  • Ít nhất 2 lần kiểm tra biên trên.
  • Ít nhất 2 lần kiểm tra biên dưới.

Khoảng dung sai khi xác định một lần Touch là:

Touch Buffer = 0,10 × ATR.

Ví dụ, nếu ATR là 10 điểm, giá được xem là tiếp cận biên khi nằm trong phạm vi tương ứng với khoảng đệm 1 điểm.

Đặc biệt, mã nguồn không đơn thuần đếm mọi cây nến chạm biên là một lần Touch độc lập.

Nếu nhiều cây nến liên tiếp đều chạm cùng một vùng biên, thuật toán coi đây là một cụm Touch liên tục.

Chỉ khi trạng thái chạm bị gián đoạn rồi xuất hiện trở lại, một lần Touch mới được ghi nhận.

Cơ chế này giúp tránh việc một giai đoạn giá bám sát biên trong nhiều nến bị đếm thành quá nhiều lần kiểm tra độc lập.

2.7. Drift Filter – Kiểm tra độ nghiêng xu hướng

Không phải mọi vùng giá có biên trên và biên dưới tương đối rõ ràng đều là Sideway.

Một đoạn giá tăng chậm hoặc giảm chậm cũng có thể hình thành vùng tương đối hẹp.

Để hạn chế việc phân loại nhầm, CNPS 28 sử dụng Drift Filter dựa trên Linear Regression.

Bot tính độ dốc hồi quy của giá đóng cửa, sau đó chuẩn hóa theo chiều dài Range và ATR.

Công thức:

Normalized Drift = |Regression Slope| × Scan Length / ATR.

Mặc định:

Maximum Drift / ATR = 0,45.

Điều kiện hợp lệ:

Normalized Drift ≤ 0,45.

Nếu giá có độ nghiêng xu hướng quá lớn so với mức cho phép, Range không đáp ứng điều kiện.

Nhờ đó, thuật toán cố gắng phân biệt giữa trạng thái dao động tương đối cân bằng và một xu hướng có độ dốc rõ rệt.

2.8. Containment – Tỷ lệ giá nằm trong Range

Containment phản ánh tỷ lệ cây nến có giá đóng cửa nằm giữa biên trên và biên dưới.

Công thức:

Containment = Số nến đóng cửa trong Range / Scan Length × 100%.

Mặc định:

Minimum Containment = 70%.

Ví dụ, nếu quét 20 nến, cần ít nhất 14 nến có giá đóng cửa nằm trong Range để đạt mức 70%.

Điều kiện này giúp đánh giá khả năng Range thực sự chứa phần lớn hoạt động giá trong khoảng quan sát.

Một Range hợp lệ phải đồng thời đáp ứng:

  • Volatility Compression.
  • Rotation Rate.
  • Boundary Touches.
  • Drift Filter.
  • Containment.

Vì vậy, chỉ có hai mức hỗ trợ và kháng cự rõ ràng chưa đủ để thuật toán công nhận một Range hợp lệ.

2.9. Range Quartiles – Các mức Q25, EQ và Q75

Sau khi Range được xác định, CNPS 28 chia vùng giá thành các mức tham chiếu.

Range Q25:

Range Bottom + 25% × Range Height.

Range EQ:

Range Bottom + 50% × Range Height.

Range Q75:

Range Bottom + 75% × Range Height.

Ví dụ, với Range từ 1.880 đến 1.900 điểm:

  • Range Bottom = 1.880.
  • Q25 = 1.885.
  • EQ = 1.890.
  • Q75 = 1.895.
  • Range Top = 1.900.

Các mức này được sử dụng để đánh giá vị trí giá trong Range.

Trong chiến lược Deviation:

  • Long có thể yêu cầu giá lấy lại vùng phía trên Q25.
  • Short có thể yêu cầu giá quay xuống dưới Q75.
  • Range EQ được sử dụng làm mục tiêu Take Profit.

2.10. Breakout và Deviation – Hai cách giao dịch khác nhau

Breakout là sự kiện giá đóng cửa vượt một biên Range đủ xa theo hướng tăng hoặc giảm.

Deviation là sự kiện giá phá ra ngoài Range nhưng không duy trì được chuyển động và quay trở lại khu vực bên trong.

Trong CNPS 28, hai loại tín hiệu này được xử lý bằng hai hệ thống xác nhận riêng.

Breakout sử dụng:

Phá biên → Retest → Nến tiếp diễn → Vào lệnh → TP theo 2R.

Deviation sử dụng:

Phá biên thất bại → Xác nhận đảo chiều → Vào lệnh → TP tại Range EQ.

Đây là sự khác biệt quan trọng nhất trong thiết kế chiến lược CNPS 28.

3. Nguyên lý hoạt động của CNPS 28 AUTO RANGE V2 CONFIRMED

CNPS 28 hoạt động theo hai tầng:

Tầng 1: Range Detection Engine.

Tầng 2: Breakout hoặc Deviation Execution Engine.

Bước 1: Quét các vùng Range tiềm năng

Đầu tiên, chiến lược tính ATR200 và ba chu kỳ quét tương ứng với Base, Medium và Wide.

Trong cấu hình mặc định, ba chu kỳ là:

  • 20 nến.
  • 40 nến.
  • 60 nến.

Với từng chu kỳ, bot xác định biên Range theo Percentile.

Sau đó, thuật toán lần lượt kiểm tra Compression, Rotation, Touches, Drift và Containment.

Chỉ những vùng vượt qua toàn bộ bộ lọc mới được xem là Range hợp lệ.

Bước 2: Lựa chọn Range

Trong Auto Multi-Scale, bot ưu tiên Range 60 nến nếu hợp lệ.

Nếu không, tiếp tục xét 40 nến rồi 20 nến.

Khi tìm được vùng phù hợp và chưa tồn tại Active Range, chiến lược lưu:

  • Range Top.
  • Range Bottom.
  • Range Start Bar.
  • Range Scan Length.
  • Trạng thái Consolidation.

Sau khi Range được kích hoạt, bot có thể hiển thị các đường Top, Q75, EQ, Q25 và Bottom trên biểu đồ.

Các mức này được duy trì theo trạng thái Active Range.

Bước 3: Hấp thụ những cú vượt biên nhỏ

Trong trạng thái Consolidation, giá đôi khi có thể xuất hiện một bóng nến vượt nhẹ ra ngoài Range.

CNPS 28 hỗ trợ cơ chế Absorb Small Overshoots.

Mặc định:

Absorb Overshoot = 0,25 ATR.

Ví dụ, nếu giá vượt nhẹ biên trên nhưng không quá 0,25 ATR và đóng cửa trở lại bên dưới biên, chiến lược có thể điều chỉnh Range Top lên mức High mới.

Ngược lại, nếu giá xuyên nhẹ biên dưới rồi đóng cửa trở lại phía trên, bot có thể điều chỉnh Range Bottom xuống mức Low mới.

Cơ chế này giúp Range có khả năng thích nghi với một số cú vượt biên nhỏ.

Tuy nhiên, nó cũng có thể làm thay đổi mức biên của Active Range so với thời điểm được tạo ban đầu.

Bước 4: Phát hiện Breakout hoặc Deviation

Khi Active Range đang ở trạng thái Consolidation, bot theo dõi phản ứng giá tại hai biên.

Bullish Breakout:

Close > Range Top + 0,15 ATR.

Bearish Breakout:

Close < Range Bottom − 0,15 ATR.

Nếu giá phá ra ngoài biên theo bóng nến nhưng đóng cửa trở lại bên trong, chiến lược có thể ghi nhận Deviation.

Bearish Deviation:

High > Range Top + 0,15 ATR và Close < Range Top.

Bullish Deviation:

Low < Range Bottom − 0,15 ATR và Close > Range Bottom.

Ngoài ra, chiến lược còn theo dõi trường hợp giá phá biên bằng giá đóng cửa rồi quay trở lại bên trong Range trong một khoảng thời gian giới hạn.

Đây là cơ chế Multi-Bar Fakeout.

Bước 5: Kích hoạt trạng thái chờ giao dịch

Khi có sự kiện Breakout hoặc Deviation hợp lệ, bot không mở lệnh ngay.

Thay vào đó, chiến lược chuyển sang trạng thái Armed Setup.

Với Breakout, bot lưu mức biên vừa bị phá vỡ và thời điểm xuất hiện Breakout.

Với Deviation, chiến lược lưu mức giá cực trị của nến kích hoạt, Range EQ và mức Q25 hoặc Q75.

Những dữ liệu này được dùng làm tham chiếu cho quá trình xác nhận và tính toán rủi ro.

Bước 6: Chờ tín hiệu xác nhận

Nếu là Breakout, bot chờ giá quay lại vùng biên đã phá rồi tìm nến xác nhận tiếp diễn.

Nếu là Deviation, bot chờ nến đảo chiều đủ mạnh theo hướng quay lại bên trong Range.

Hai hệ thống sử dụng những điều kiện khác nhau về:

  • Thời hạn thiết lập.
  • Tỷ lệ thân nến.
  • Mức giá xác nhận.
  • Bộ lọc Stop Loss.
  • Reward/Risk.

Bước 7: Kiểm tra điều kiện giao dịch chung

Trước khi tạo lệnh, CNPS 28 kiểm tra:

  • Chiến lược không có vị thế đang mở.
  • Tín hiệu nằm trong thời gian cho phép.
  • Nến tín hiệu đã đóng.
  • Chưa vượt tối đa 2 giao dịch/ngày.
  • Cooldown sau thoát vị thế hợp lệ.
  • Hướng Long hoặc Short được cho phép.
  • Signal Mode cho phép Breakout hoặc Deviation.
  • Khoảng rủi ro và mục tiêu lợi nhuận đáp ứng điều kiện.

Nếu các điều kiện hợp lệ, chiến lược tạo lệnh 3 hợp đồng.

Bước 8: Quản trị vị thế

Sau khi tạo lệnh, CNPS 28 lưu Stop Loss và Take Profit theo từng loại thiết lập.

Với Breakout:

Stop Loss theo cực trị Retest và Take Profit 2R.

Với Deviation:

Stop Loss theo cực trị sự kiện Deviation và Take Profit tại Range EQ.

Bot duy trì những mức SL/TP này trong thời gian nắm giữ vị thế.

Theo mã nguồn hiện tại, không có cơ chế Break Even, Trailing Stop hoặc Time Stop riêng cho vị thế đã mở.

Ngoài SL/TP, chiến lược có cơ chế đóng toàn bộ vị thế cuối phiên.

4. Điều kiện vào lệnh Long và Short của CNPS 28

4.1. Điều kiện Long theo Breakout Retest

Một tín hiệu Breakout Long được hình thành khi:

  1. Active Range đang tồn tại.
  2. Range đã được xác nhận đủ điều kiện chất lượng.
  3. Giá đóng cửa vượt Range Top cộng 0,15 ATR.
  4. Bot kích hoạt Bullish Breakout Setup.
  5. Giá quay lại kiểm tra khu vực biên trên trong thời hạn cho phép.
  6. Retest xuất hiện ở một nến sau nến Breakout.
  7. Low của nến Retest nhỏ hơn hoặc bằng Range Top cộng 0,20 ATR.
  8. Chiến lược ghi nhận mức Low thấp nhất của những nến chạm Retest.
  9. Xuất hiện nến tăng xác nhận.
  10. Thân nến chiếm ít nhất 50% biên độ.
  11. Giá đóng cửa vượt High nến trước nếu bộ lọc đang bật.
  12. Giá đóng cửa nằm trên mức Range Top đã lưu.
  13. Khoảng rủi ro dự kiến từ giá đóng cửa tới Stop Loss nằm trong giới hạn 2,5–7 điểm.
  14. Thời gian, Cooldown và giới hạn giao dịch hợp lệ.

Khi toàn bộ điều kiện được đáp ứng, bot phát sinh Long.

Ví dụ minh họa:

Range Top được xác định tại 1.900 điểm.

Giá đóng cửa vượt mức Breakout yêu cầu và bot kích hoạt Bullish Breakout Setup.

Sau đó, giá quay lại kiểm tra khu vực 1.900 điểm.

Nếu xuất hiện nến tăng xác nhận và khoảng Stop Loss dự kiến là 4 điểm, chiến lược có thể mở Long.

Take Profit theo 2R tương ứng với khoảng 8 điểm từ giá tham chiếu được dùng khi tạo tín hiệu.

4.2. Điều kiện Short theo Breakout Retest

Đối với Breakout Short, nguyên lý được áp dụng theo hướng ngược lại:

  1. Active Range đã được xác nhận.
  2. Giá đóng cửa xuống dưới Range Bottom trừ 0,15 ATR.
  3. Bot kích hoạt Bearish Breakout Setup.
  4. Giá quay lại kiểm tra biên dưới đã bị phá vỡ.
  5. Retest xuất hiện sau nến Breakdown.
  6. High của nến Retest đạt ít nhất Range Bottom trừ 0,20 ATR.
  7. Bot ghi nhận mức High cao nhất của những nến chạm Retest.
  8. Xuất hiện nến giảm xác nhận.
  9. Thân nến chiếm tối thiểu 50% biên độ.
  10. Giá đóng cửa thấp hơn Low nến trước nếu bộ lọc được bật.
  11. Giá đóng cửa nằm dưới mức Range Bottom đã lưu.
  12. Khoảng Stop Loss dự kiến nằm trong giới hạn 2,5–7 điểm.
  13. Các điều kiện giao dịch chung hợp lệ.

Khi toàn bộ điều kiện được đáp ứng, chiến lược tạo lệnh Short.

4.3. Thời hạn Breakout Setup

CNPS 28 mặc định sử dụng:

Breakout Setup Lifetime = 8 nến.

Thời gian được tính từ cây nến phát hiện Breakout.

Nếu số nến kể từ Breakout vượt 8, thiết lập bị hủy.

Ngoài ra, Retest phải xảy ra sau nến Breakout.

Điểm đáng chú ý là nến hoàn thành Retest có thể đồng thời là nến xác nhận tiếp diễn nếu đáp ứng toàn bộ điều kiện.

Bot không bắt buộc phải có hai cây nến riêng biệt cho Retest và Confirmation.

Một đặc điểm cần hiểu đúng: mã nguồn không sử dụng một quy tắc hủy Breakout Setup độc lập chỉ vì giá đóng cửa xuyên sâu trở lại bên trong Range. Thiết lập vẫn được quản lý chủ yếu theo thời hạn và các điều kiện xác nhận, trong khi hệ thống Range có thể đồng thời ghi nhận một sự kiện Fakeout mới.

4.4. Điều kiện Long theo Bullish Deviation

Bullish Deviation xảy ra khi giá phá xuống dưới Range Bottom rồi quay trở lại phía trên biên này.

CNPS 28 có thể phát hiện Bullish Deviation theo hai cách:

Cách thứ nhất – Liquidity Sweep trực tiếp:

Low < Range Bottom − 0,15 ATR.

Đồng thời:

Close > Range Bottom.

Cách thứ hai – Multi-Bar Fakeout:

Trước đó giá đã đóng cửa Breakdown dưới Range Bottom.

Trong tối đa 10 nến sau Breakdown, giá đóng cửa quay trở lại phía trên Range Bottom.

Sau khi Bullish Deviation xuất hiện, bot kích hoạt trạng thái chờ Long.

Điều kiện vào lệnh gồm:

  1. Bullish Deviation Setup đang hoạt động.
  2. Nến xác nhận xuất hiện sau nến tạo Deviation.
  3. Nến hiện tại là nến tăng.
  4. Thân nến đạt ít nhất 40% biên độ.
  5. Giá đóng cửa vượt High nến trước nếu bộ lọc được bật.
  6. Giá đóng cửa vượt Range Q25 đã lưu nếu bộ lọc Quartile Reclaim được bật.
  7. Stop Loss theo cực trị sự kiện Deviation có khoảng rủi ro hợp lệ.
  8. Khoảng rủi ro không vượt 7 điểm.
  9. Reward/Risk dự kiến tới Range EQ đạt tối thiểu 1,2R.
  10. Điều kiện thời gian và quản trị giao dịch hợp lệ.

Khi các điều kiện được đáp ứng, bot tạo lệnh Long Deviation.

Ví dụ minh họa:

Range từ 1.880 đến 1.900 điểm.

Các mức:

  • Range Bottom = 1.880.
  • Q25 = 1.885.
  • EQ = 1.890.

Giá xuyên xuống dưới 1.880, sau đó đóng cửa quay lại trong Range.

Bot ghi nhận Bullish Deviation.

Nếu xuất hiện nến tăng xác nhận đóng cửa trên 1.885 và các điều kiện rủi ro hợp lệ, chiến lược có thể mở Long.

Mục tiêu là Range EQ tại 1.890 điểm.

4.5. Điều kiện Short theo Bearish Deviation

Bearish Deviation là hiện tượng giá phá lên trên Range Top nhưng không duy trì được chuyển động, sau đó quay lại bên trong Range.

Chiến lược có thể phát hiện theo hai cách.

Liquidity Sweep trực tiếp:

High > Range Top + 0,15 ATR.

Đồng thời:

Close < Range Top.

Multi-Bar Fakeout:

Giá trước đó đã đóng cửa Breakout phía trên Range Top.

Trong tối đa 10 nến tiếp theo, giá đóng cửa quay xuống dưới Range Top.

Sau khi Bearish Deviation được kích hoạt, bot chờ nến giảm xác nhận.

Điều kiện gồm:

  1. Bearish Deviation Setup đang hoạt động.
  2. Nến xác nhận xuất hiện sau nến Deviation.
  3. Nến hiện tại là nến giảm.
  4. Thân nến chiếm ít nhất 40% biên độ.
  5. Giá đóng cửa thấp hơn Low nến trước nếu bộ lọc được bật.
  6. Giá đóng cửa nằm dưới Range Q75 đã lưu nếu Quartile Reclaim đang bật.
  7. Stop Loss theo cực trị sự kiện Deviation hợp lệ.
  8. Rủi ro không vượt 7 điểm.
  9. Reward/Risk tới Range EQ đạt tối thiểu 1,2R.
  10. Điều kiện quản trị giao dịch được đáp ứng.

Khi toàn bộ điều kiện hợp lệ, bot tạo lệnh Short Deviation.

4.6. Thời hạn Deviation Confirmation

CNPS 28 mặc định sử dụng:

Deviation Confirmation Window = 3 nến.

Điều này có nghĩa sau khi ghi nhận Deviation, chiến lược chỉ cho phép một khoảng thời gian giới hạn để xuất hiện nến đảo chiều xác nhận.

Trong mã nguồn, nến xác nhận phải xuất hiện sau nến tạo Deviation.

Nếu quá 3 nến mà chưa có tín hiệu hợp lệ, trạng thái Deviation Armed bị hủy.

Điểm quan trọng là Deviation Confirmation khác với Breakout Retest.

Deviation không yêu cầu thêm một lần Retest vùng biên sau khi đã ghi nhận phá vỡ giả.

Chiến lược chủ yếu chờ nến đảo chiều, điều kiện Quartile Reclaim và bộ lọc Reward/Risk.

4.7. Cơ chế ưu tiên Deviation

CNPS 28 hỗ trợ đồng thời Breakout và Deviation.

Nếu trong cùng một thời điểm tồn tại các ứng viên giao dịch thuộc hai nhóm, mã nguồn sử dụng nguyên tắc:

Deviation được ưu tiên trước Breakout.

Lý do thiết kế là Deviation đại diện cho một sự kiện phá vỡ thất bại, có thể làm thay đổi cách diễn giải tín hiệu Breakout trước đó.

Ngoài ra, nếu sau khi áp dụng thứ tự ưu tiên vẫn xuất hiện đồng thời tín hiệu Long và Short, chiến lược xác định trạng thái Conflict.

Khi có Conflict, bot không phát sinh lệnh từ những tín hiệu đối lập đó.

4.8. Signal Mode và Trade Direction

CNPS 28 cho phép cấu hình hai nhóm điều kiện độc lập.

Trade Direction:

  • Long.
  • Short.
  • Both.

Signal Mode:

  • Both.
  • Breakout Only.
  • Deviation Only.

Ví dụ:

Nếu chọn Long + Breakout Only, bot chỉ xem xét tín hiệu Long từ Breakout Retest.

Nếu chọn Both + Deviation Only, bot chỉ xem xét Long hoặc Short từ các sự kiện phá vỡ giả.

Nếu chọn Both + Both, chiến lược sử dụng đầy đủ hai hệ thống tín hiệu.

Theo cấu hình mặc định, cả Trade Direction và Signal Mode đều được đặt là Both.

5. CNPS 28 quản trị rủi ro và thoát lệnh như thế nào?

5.1. Stop Loss theo cấu trúc Retest đối với Breakout

CNPS 28 sử dụng Stop Loss theo cực trị được ghi nhận trong những nến kiểm tra lại biên Range.

Với Breakout Long:

Stop Loss tham chiếu = Retest Low − 0,10 ATR.

Với Breakout Short:

Stop Loss tham chiếu = Retest High + 0,10 ATR.

Theo mặc định:

Breakout Stop Buffer = 0,10 ATR.

Ví dụ, với một thiết lập Long:

  • Giá tham chiếu Entry = 1.900.
  • Retest Low = 1.896.
  • ATR = 5 điểm.
  • Stop Buffer = 0,5 điểm.

Khi đó:

Stop Loss tham chiếu = 1.895,5.

Khoảng rủi ro dự kiến:

1.900 − 1.895,5 = 4,5 điểm.

Đây là phương pháp sử dụng cấu trúc giá thay vì một khoảng Stop Loss cố định cho mọi giao dịch.

5.2. Breakout Risk Filter

CNPS 28 không chấp nhận mọi khoảng rủi ro từ cấu trúc Retest.

Mặc định:

  • Minimum Breakout Risk = 2,5 điểm.
  • Maximum Breakout Risk = 7 điểm.

Điều kiện hợp lệ:

2,5 ≤ Breakout Risk ≤ 7 điểm.

Nếu khoảng rủi ro nhỏ hơn 2,5 điểm hoặc lớn hơn 7 điểm, bot không tạo lệnh Breakout.

Điều này giúp chiến lược giới hạn những thiết lập có khoảng Stop Loss dự kiến nằm ngoài phạm vi được cấu hình.

Tuy nhiên, khoảng rủi ro trong bộ lọc được tính từ giá đóng cửa của nến tín hiệu.

Khoảng cách thực tế từ giá khớp lệnh trung bình đến Stop Loss có thể khác do cơ chế khớp lệnh và trượt giá.

5.3. Breakout Take Profit theo 2R

Mặc định:

Breakout Reward/Risk = 2,0.

Với Long:

Take Profit = Giá đóng cửa tại tín hiệu + Breakout Risk × 2.

Với Short:

Take Profit = Giá đóng cửa tại tín hiệu − Breakout Risk × 2.

Ví dụ, nếu Breakout Risk là 4 điểm, Take Profit dự kiến cách giá đóng cửa tín hiệu 8 điểm theo hướng có lợi.

Nếu Risk là 6 điểm, khoảng Take Profit dự kiến là 12 điểm.

Điểm cần lưu ý là mã nguồn tính Target trước khi gửi lệnh từ giá đóng cửa của nến tín hiệu.

Sau khi vị thế được khớp, bot giữ mức Target đã lưu, không tự động tính lại Take Profit từ giá khớp trung bình thực tế.

Do đó, Reward/Risk thực tế sau khi khớp có thể khác mức 2R danh nghĩa.

5.4. Stop Loss theo cực trị Deviation

Đối với Deviation, CNPS 28 sử dụng một cơ chế quản trị khác.

Với Bullish Deviation:

Stop Loss = Deviation Low − 0,10 ATR.

Với Bearish Deviation:

Stop Loss = Deviation High + 0,10 ATR.

Mặc định:

Deviation Stop Buffer = 0,10 ATR.

Trong mã nguồn hiện tại, Deviation Low hoặc Deviation High được lấy từ cây nến kích hoạt sự kiện Deviation.

Đây là một điểm kỹ thuật quan trọng.

Nếu Deviation được nhận diện ngay trên cây nến Liquidity Sweep, cực trị tham chiếu là Low hoặc High của nến đó.

Tuy nhiên, nếu Deviation xuất hiện qua cơ chế Multi-Bar Fakeout, cực trị tham chiếu là cực trị của cây nến quay trở lại Range, không nhất thiết là đỉnh hoặc đáy xa nhất của toàn bộ quá trình phá vỡ giả trước đó.

Vì vậy, không nên hiểu rằng Stop Loss luôn được đặt vượt qua toàn bộ cực trị của mọi nến thuộc cú Liquidity Sweep.

5.5. Deviation Take Profit tại Range EQ

Khác với Breakout sử dụng TP theo Reward/Risk cố định, Deviation hướng đến vùng cân bằng của Range.

Deviation Target = Range EQ.

Với Bullish Deviation:

Reward = Range EQ − Giá đóng cửa tín hiệu.

Với Bearish Deviation:

Reward = Giá đóng cửa tín hiệu − Range EQ.

Bot chỉ chấp nhận thiết lập nếu mục tiêu nằm đúng phía có lợi so với giá tham chiếu.

Ngoài ra:

Minimum Reward/Risk To EQ = 1,20.

Điều kiện:

Reward / Risk ≥ 1,20.

Ví dụ, nếu một thiết lập Long Deviation có:

  • Khoảng rủi ro dự kiến = 4 điểm.
  • Khoảng cách từ Entry tham chiếu tới EQ = 6 điểm.

Khi đó:

Reward/Risk = 6 / 4 = 1,5R.

Thiết lập đáp ứng yêu cầu tối thiểu 1,2R.

Ngược lại, nếu Reward chỉ là 3 điểm với Risk 4 điểm:

Reward/Risk = 0,75R.

Bot không chấp nhận tín hiệu.

5.6. Maximum Deviation Risk

CNPS 28 giới hạn rủi ro Deviation như sau:

Maximum Deviation Risk = 7 điểm.

Điều kiện hợp lệ:

  • Risk phải lớn hơn 0.
  • Risk không vượt 7 điểm.
  • Reward tới Range EQ phải lớn hơn 0.
  • Reward/Risk đạt tối thiểu 1,2.

Khác với Breakout, Deviation không có tham số Minimum Risk Points riêng.

Do đó, bộ lọc Deviation chủ yếu sử dụng giới hạn rủi ro tối đa kết hợp yêu cầu Reward/Risk.

5.7. Break Even và Trailing Stop

Theo mã nguồn CNPS 28 V2 hiện tại:

Không có cơ chế Break Even.

Không có cơ chế Trailing Stop.

Không có Time Stop riêng theo số nến nắm giữ.

Sau khi vị thế được mở, bot duy trì Stop Loss và Take Profit đã xác định từ thiết lập.

Điều này khác với những bot có cơ chế dời Stop Loss về điểm hòa vốn sau khi đạt một mức lợi nhuận nhất định.

Nếu người dùng muốn bổ sung Break Even hoặc Trailing Stop, cần thay đổi mã nguồn chiến lược.

5.8. Cost-Aware và giới hạn giao dịch

CNPS 28 được thiết kế theo định hướng hạn chế tần suất giao dịch.

Mặc định:

Maximum Trades Per Day = 2.

Cooldown Bars After Exit = 5.

Mã nguồn yêu cầu khoảng cách chỉ số nến từ lần thoát vị thế trước phải lớn hơn 5.

Vì vậy, trên dữ liệu nến liên tiếp, tín hiệu mới sớm nhất có thể được xem xét tại cây nến cách nến ghi nhận thoát lệnh 6 chỉ số nến.

Cơ chế này giúp hạn chế việc giao dịch liên tục khi thị trường liên tiếp xuất hiện tín hiệu.

Tuy nhiên, cần hiểu rằng Cost-Aware trong CNPS 28 chủ yếu phản ánh cấu trúc giới hạn số lệnh, Cooldown và bộ lọc rủi ro.

Mã nguồn không có bộ lọc tự tính lợi nhuận kỳ vọng ròng sau phí tại từng tín hiệu để quyết định có vào lệnh hay không.

5.9. Đóng toàn bộ vị thế cuối phiên

Theo cấu hình mặc định:

Phiên sáng: 09:05–11:20.

Phiên chiều: 13:05–14:20.

Force Close: 14:45.

Khi cây nến đi qua thời điểm Force Close theo điều kiện trong mã nguồn, chiến lược:

  • Xóa các thiết lập Breakout đang chờ.
  • Xóa các thiết lập Deviation đang chờ.
  • Yêu cầu đóng toàn bộ vị thế nếu đang giữ Long hoặc Short.

Bot sử dụng strategy.close_all() với immediately=true.

Thời điểm thực thi cụ thể còn phụ thuộc vào khung thời gian và cấu trúc dữ liệu nến đang sử dụng.

6. Hướng dẫn cài đặt và sử dụng CNPS 28 trên TradingView

Bước 1: Mở biểu đồ giao dịch

Truy cập TradingView và mở biểu đồ hợp đồng tương lai chỉ số VN30 từ nguồn dữ liệu được hỗ trợ.

CNPS 28 được thiết kế để hoạt động trên khung thời gian hiện tại của biểu đồ.

Chiến lược không khóa cố định vào M1 hoặc M5.

Tuy nhiên, các tham số như Base Scan Length, ATR Length, Breakout Setup Lifetime và Deviation Confirmation Window đều được tính trên dữ liệu nến.

Vì vậy, cùng một cấu hình có thể tạo ra những vùng Range khác nhau khi chuyển đổi khung thời gian.

Bước 2: Thêm chiến lược CNPS 28 vào biểu đồ

Nếu sử dụng mã nguồn Pine Script:

  1. Mở Pine Editor trên TradingView.
  2. Tạo một Strategy mới.
  3. Dán toàn bộ mã nguồn CNPS 28 AUTO RANGE V2 CONFIRMED.
  4. Lưu mã nguồn.
  5. Chọn Add to chart.
  6. Kiểm tra các mức Range xuất hiện trên biểu đồ.
  7. Mở Strategy Tester để theo dõi kết quả giao dịch mô phỏng.

Nếu sử dụng phiên bản script đã được cấp quyền truy cập, người dùng có thể thêm trực tiếp từ danh sách script tương ứng.

Bước 3: Cấu hình các thông số cơ bản

CNPS 28 cung cấp những nhóm tham số sau:

Thông sốMặc địnhÝ nghĩa
Trade DirectionBothLong và Short
Signal ModeBothBreakout và Deviation
Maximum Trades Per Day2Số giao dịch tối đa mỗi ngày
Cooldown Bars After Exit5Khoảng nghỉ sau thoát vị thế
Base Scan Length20Chu kỳ Range cơ sở
Scan Scale ModeAuto Multi-ScaleTự động chọn chu kỳ quét
Boundary Percentile90%Phân vị biên Range
ATR Length200Chu kỳ ATR
Volatility Compression Threshold40%Ngưỡng xếp hạng nén biến động
Minimum Rotation Rate0,18Tỷ lệ xoay vòng tối thiểu
Minimum Touches Per Boundary2Số lần kiểm tra mỗi biên
Maximum Drift / ATR0,45Giới hạn độ nghiêng
Minimum Containment70%Tỷ lệ Close nằm trong Range
Breakout Buffer0,15 ATRKhoảng phá biên tối thiểu
Deviation Window10 nếnCửa sổ nhận diện Fakeout
Absorb Overshoot0,25 ATRHấp thụ vượt biên nhỏ
Breakout Setup Lifetime8 nếnThời hạn thiết lập Breakout
Retest Tolerance0,20 ATRDung sai kiểm tra biên
Breakout Confirmation Body50%Tỷ lệ thân nến xác nhận
Breakout Previous High/Low BreakBậtXác nhận phá đỉnh/đáy nến trước
Breakout Stop Buffer0,10 ATRKhoảng đệm Stop Loss
Minimum Breakout Risk2,5 điểmRủi ro tối thiểu
Maximum Breakout Risk7 điểmRủi ro tối đa
Breakout Reward/Risk2,0TP theo 2R
Deviation Confirmation Window3 nếnThời gian xác nhận Deviation
Deviation Confirmation Body40%Thân nến đảo chiều
Deviation Previous High/Low BreakBậtPhá đỉnh/đáy nến trước
Require Q25/Q75 ReclaimBậtXác nhận quay lại vùng Quartile
Deviation Stop Buffer0,10 ATRKhoảng đệm Stop Loss Deviation
Minimum RR To EQ1,20RR tối thiểu tới Range EQ
Maximum Deviation Risk7 điểmRủi ro Deviation tối đa
Strategy TimezoneAsia/Ho_Chi_MinhMúi giờ
Morning Start09:05Bắt đầu vào lệnh sáng
Morning End11:20Kết thúc cửa sổ sáng
Afternoon Start13:05Bắt đầu vào lệnh chiều
Last Entry14:20Thời gian vào lệnh cuối
Force Close14:45Đóng vị thế cuối phiên
Disable SL/TP AlertsTắtCho phép cảnh báo SL/TP

Bước 4: Lựa chọn Signal Mode

Một trong những cách sử dụng CNPS 28 là kiểm thử riêng hai nhóm chiến lược.

Breakout Only

Chế độ này chỉ cho phép giao dịch khi thị trường phá biên Range, quay lại Retest và xuất hiện nến xác nhận tiếp diễn.

Phương pháp tập trung vào những tình huống thị trường có khả năng hình thành một nhịp vận động mới sau tích lũy.

Deviation Only

Chế độ này chỉ cho phép giao dịch khi xuất hiện phá vỡ giả hoặc Fakeout, sau đó giá xác nhận quay trở lại bên trong Range.

Mục tiêu giao dịch là Range EQ.

Both

Đây là cấu hình mặc định, sử dụng đồng thời cả hai nhóm tín hiệu.

Người dùng nên kiểm thử riêng Breakout Only và Deviation Only trước khi đánh giá cấu hình kết hợp Both.

Cách làm này giúp phân biệt hiệu quả của hai cơ chế giao dịch, thay vì chỉ quan sát tổng kết quả chung.

Bước 5: Theo dõi các mức Range trên biểu đồ

CNPS 28 hỗ trợ những mức giá hiển thị sau:

Thành phầnCách nhận biết
Range TopĐường màu xám
Range Q75Đường tím nhạt
Range EQĐường xanh dương
Range Q25Đường tím nhạt
Range BottomĐường màu xám
Bull Breakout LevelĐường xanh lá
Bear Breakout LevelĐường đỏ
Bullish Breakout MarkerDấu tròn xanh có nhãn BO
Bearish Breakout MarkerDấu tròn đỏ có nhãn BO
Bullish Deviation MarkerHình thoi xanh có nhãn D
Bearish Deviation MarkerHình thoi cam có nhãn D
Long EntryTam giác xanh hướng lên
Short EntryTam giác đỏ hướng xuống
Active Stop LossĐường đỏ
Active Take ProfitĐường xanh lá

Theo mặc định:

  • Show Range Levels: Bật.
  • Show Armed Setup Levels: Tắt.
  • Show Signal Markers: Tắt.
  • Show Active SL/TP: Bật.
  • Show Diagnostics: Tắt.

Vì vậy, sau khi thêm bot, người dùng có thể quan sát các mức Range nhưng chưa nhìn thấy những ký hiệu BO, D, L hoặc S.

Để nghiên cứu quá trình hình thành tín hiệu, nên bật Show Signal Markers và Show Armed Setup Levels.

Bước 6: Sử dụng bảng Diagnostics

CNPS 28 cung cấp bảng Diagnostics nhằm giúp người dùng theo dõi hoạt động của Range Engine và các thiết lập giao dịch.

Khi bật Show Diagnostics, bảng có thể hiển thị:

  • Khung thời gian.
  • Trạng thái Range.
  • Detected Scan Length.
  • Range Top.
  • Range EQ.
  • Range Bottom.
  • Compression Rank.
  • Rotation Rate.
  • Containment.
  • Số Range đã tạo.
  • Số sự kiện Bullish Breakout.
  • Số sự kiện Bearish Breakout.
  • Số sự kiện Bullish Deviation.
  • Số sự kiện Bearish Deviation.
  • Số Breakout Entries.
  • Số Deviation Entries.
  • Trạng thái Bull Breakout Armed.
  • Trạng thái Bear Breakout Armed.
  • Active Setup Type.
  • Số giao dịch trong ngày.
  • Trạng thái vị thế.

Đặc biệt, bảng Diagnostics giúp phân biệt giữa một sự kiện Source Breakout/Deviation và một giao dịch thực tế.

Ví dụ, chiến lược có thể ghi nhận nhiều Bullish Breakout nhưng không phát sinh Long vì giá chưa Retest hoặc khoảng Stop Loss dự kiến vượt giới hạn.

Tương tự, một Bearish Deviation có thể được phát hiện nhưng không tạo Short nếu chưa có nến xác nhận hoặc Reward/Risk tới Range EQ không đạt 1,2.

Bước 7: Đánh giá hiệu quả bằng Strategy Tester

Vì CNPS 28 được xây dựng dưới dạng Strategy, người dùng có thể sử dụng Strategy Tester để đánh giá kết quả mô phỏng.

Các chỉ số quan trọng gồm:

  • Net Profit: Tổng lợi nhuận ròng.
  • Max Drawdown: Mức sụt giảm vốn lớn nhất.
  • Profit Factor: Tỷ lệ tổng lợi nhuận của các giao dịch thắng so với tổng thua lỗ của các giao dịch lỗ.
  • Percent Profitable: Tỷ lệ giao dịch có lợi nhuận.
  • Total Trades: Tổng số giao dịch.
  • Average Trade: Lợi nhuận bình quân mỗi giao dịch.

Đối với CNPS 28, nên đánh giá riêng:

Thử nghiệm 1: Breakout Only.

Đánh giá hiệu quả của phương pháp phá biên, Retest và chốt lời 2R.

Thử nghiệm 2: Deviation Only.

Đánh giá hiệu quả của phương pháp phá vỡ giả và chốt lời tại Range EQ.

Thử nghiệm 3: Both.

Quan sát hiệu quả của hệ thống khi sử dụng đồng thời hai cơ chế.

Thử nghiệm 4: Thay đổi Scan Scale Mode.

So sánh Base, Medium, Wide và Auto Multi-Scale.

Thử nghiệm 5: Điều chỉnh bộ lọc chất lượng Range.

Đánh giá tác động của Compression, Rotation, Touches và Containment.

Trong mã nguồn mặc định:

  • Initial Capital: 100.000.000 VNĐ.
  • Khối lượng: 3 hợp đồng.
  • Commission: 10.000 VNĐ mỗi hợp đồng cho mỗi lần khớp.
  • Slippage: 3 ticks.

Các thông số này phục vụ kiểm thử trên TradingView, không phải cam kết về điều kiện khớp lệnh thực tế.

7. Cách thiết lập cảnh báo tín hiệu giao dịch

CNPS 28 hỗ trợ cảnh báo thông qua các sự kiện khớp lệnh mô phỏng của TradingView.

Để thiết lập:

  1. Chọn Create Alert trên biểu đồ đã thêm CNPS 28.
  2. Trong mục Condition, chọn chiến lược CNPS 28 AUTO RANGE V2 CONFIRMED.
  3. Chọn chế độ cảnh báo dựa trên Order fills.
  4. Trong phần Message, sử dụng placeholder {{strategy.order.alert_message}}.
  5. Chọn phương thức nhận thông báo và lưu cảnh báo.

Mã nguồn định nghĩa những thông điệp sau:

Thông điệpÝ nghĩa
ENTRY_LONG_BREAKOUT_CNPS28_V2Mở Long theo Breakout Retest
ENTRY_SHORT_BREAKOUT_CNPS28_V2Mở Short theo Breakout Retest
ENTRY_LONG_DEVIATION_CNPS28_V2Mở Long theo Bullish Deviation
ENTRY_SHORT_DEVIATION_CNPS28_V2Mở Short theo Bearish Deviation
EXIT_LONG_TP_CNPS28_V2Đóng Long theo Take Profit
EXIT_LONG_SL_CNPS28_V2Đóng Long theo Stop Loss
EXIT_SHORT_TP_CNPS28_V2Đóng Short theo Take Profit
EXIT_SHORT_SL_CNPS28_V2Đóng Short theo Stop Loss
SESSION_END_CNPS28_V2Đóng toàn bộ vị thế cuối phiên

Điểm đáng chú ý là CNPS 28 phân biệt rõ thông điệp Entry theo từng nhóm chiến lược.

Breakout Entry

Các thông điệp Breakout cho biết vị thế được tạo từ một thiết lập phá biên Range, Retest và xác nhận tiếp diễn.

Deviation Entry

Các thông điệp Deviation cho biết vị thế được tạo từ sự kiện phá vỡ giả hoặc Fakeout.

SL/TP Exit

Đây là những thông điệp được sử dụng khi lệnh thoát theo Stop Loss hoặc Take Profit được khớp trong TradingView.

Session End

Đây là thông điệp yêu cầu đóng toàn bộ vị thế cuối phiên.

Cần lưu ý rằng CNPS 28 không có thông điệp cảnh báo độc lập cho mọi sự kiện tạo Range, phát hiện BO/D hoặc kích hoạt trạng thái Armed Setup.

Những sự kiện này được sử dụng trong hệ thống phân tích và chuẩn bị tín hiệu.

Cảnh báo Entry chỉ được gắn với lệnh sau khi các điều kiện xác nhận và quản trị rủi ro được đáp ứng.

Nếu tích hợp TradingView với hệ thống tự động bên ngoài, người dùng cần kiểm tra sự khác biệt giữa tín hiệu Breakout và Deviation, đặc biệt vì hai nhóm sử dụng cách tính Take Profit khác nhau.

Việc TradingView phát ra thông báo Order Fill không đồng nghĩa lệnh đã được khớp thành công tại công ty chứng khoán.

Kết luận

CNPS 28 AUTO RANGE V2 CONFIRMED là chiến lược giao dịch phái sinh ứng dụng phương pháp Auto Range Detection kết hợp Breakout Retest và Deviation Reversal, hướng đến việc tìm kiếm cơ hội giao dịch từ các vùng Sideway được xác định tự động.

Khác với những bot chỉ sử dụng đường trung bình động hoặc tín hiệu đảo chiều đơn lẻ, CNPS 28 xây dựng vùng Range thông qua nhiều điều kiện gồm Percentile Boundaries, Volatility Compression, Rotation Rate, Boundary Touches, Drift Filter và Containment.

Sau khi xác định Range, chiến lược phân loại hai nhóm cơ hội giao dịch.

Breakout Retest tập trung vào những trường hợp giá phá vỡ biên Range, quay lại kiểm tra vùng vừa phá và xuất hiện nến xác nhận tiếp diễn.

Trong khi đó, Deviation Reversal tìm kiếm những tình huống giá phá ra ngoài Range nhưng không duy trì được chuyển động, sau đó quay lại bên trong vùng với mục tiêu tại Range EQ.

Điểm nổi bật của CNPS 28 nằm ở khả năng kết hợp hai phương pháp giao dịch có logic đối lập nhưng cùng sử dụng một hệ thống xác định Range.

Bên cạnh đó, chiến lược áp dụng Stop Loss theo cấu trúc, Take Profit 2R đối với Breakout, Take Profit tại Range EQ đối với Deviation và các bộ lọc rủi ro riêng cho từng nhóm tín hiệu.

Theo cấu hình mặc định, bot giới hạn tối đa 2 giao dịch mỗi ngày, sử dụng Cooldown 5 nến sau khi thoát vị thế và không kích hoạt Break Even hoặc Trailing Stop.

Tuy nhiên, một vùng Range được xác định hợp lệ không đảm bảo giá sẽ phản ứng chính xác tại biên trên hoặc biên dưới. Tương tự, việc xuất hiện Breakout hoặc Deviation cũng không đồng nghĩa giao dịch chắc chắn có lợi nhuận.

Khi sử dụng CNPS 28, điều quan trọng là hiểu rõ cách thuật toán xác định Range, sự khác biệt giữa Source Signal và Confirmed Entry, cũng như phương pháp quản trị rủi ro của từng nhóm giao dịch.

Người dùng nên kiểm thử riêng Breakout Only, Deviation Only và Both trong Strategy Tester, đồng thời đánh giá ảnh hưởng của các tham số Range Quality trên nhiều giai đoạn thị trường trước khi cân nhắc sử dụng trong giao dịch thực tế.

Theo dõi Phái Sinh Online để cập nhật thêm các hướng dẫn sử dụng bot giao dịch phái sinh, chiến lược phân tích kỹ thuật và phương pháp giao dịch trên TradingView.

Lưu ý: Nội dung mang tính chất hướng dẫn sử dụng và tham khảo kiến thức. Kết quả giao dịch mô phỏng không đảm bảo lợi nhuận trong tương lai.

Thông tin trong bài chỉ mang tính tham khảo, không phải khuyến nghị mua bán. Giao dịch phái sinh có rủi ro cao do sử dụng đòn bẩy; nhà đầu tư tự chịu trách nhiệm với quyết định của mình.

Đinh Mạnh Đạt

Nhà nghiên cứu định lượng, chuyên sâu về dữ liệu Open Interest và quản trị vị thế.

Bản tin phái sinh mỗi phiên
Nhận bản tin mỗi phiên + Dự báo Nhịp đập phái sinh