Hướng Dẫn Sử Dụng Bot CNPS26-SUPER TREND cho VN30F1M
TradingviewTìm hiểu Bot CNPS 26 Supertrend Breakout: vào Long theo Supertrend, gia tăng vị thế khi phá đỉnh đóng cửa 40 nến và hướng dẫn sử dụng TradingView.

Mục lục
Trong giao dịch chứng khoán phái sinh, một trong những phương pháp được nhiều nhà đầu tư sử dụng là giao dịch thuận xu hướng và duy trì vị thế cho đến khi xuất hiện tín hiệu đảo chiều. Tuy nhiên, bên cạnh việc xác định thời điểm mở lệnh, câu hỏi đặt ra là liệu nhà đầu tư có nên gia tăng vị thế khi thị trường tiếp tục vận động thuận lợi hay không.
Một phương pháp thường được áp dụng là Pyramiding – gia tăng vị thế theo xu hướng, trong đó nhà giao dịch mở một vị thế ban đầu và chỉ bổ sung khối lượng khi xuất hiện những điều kiện xác nhận xu hướng tiếp diễn.
CNPS 26 SUPERTREND + 40-BAR BREAKOUT ADD là chiến lược giao dịch được phát triển bằng ngôn ngữ Pine Script v6 trên TradingView, kết hợp Supertrend và tín hiệu Breakout giá đóng cửa cao nhất 40 nến để xác định thời điểm mở Long và gia tăng vị thế khi xu hướng tiếp tục được xác nhận.
Điểm đáng chú ý của CNPS 26 nằm ở việc chiến lược không mở toàn bộ khối lượng ngay từ đầu. Thay vào đó, bot sử dụng cơ chế vào lệnh hai giai đoạn:
- Base Entry: Mở vị thế Long ban đầu khi Supertrend chuyển từ trạng thái giảm sang tăng.
- Breakout Add: Bổ sung một phần khối lượng khi đang giữ Long và giá đóng cửa vượt mức giá đóng cửa cao nhất của 40 nến trước đó.
Theo cấu hình mặc định, chiến lược mở 2 hợp đồng tại Base Entry và có thể bổ sung 1 hợp đồng tại Breakout Add, đưa tổng vị thế lên 3 hợp đồng.
Khác với những bot sử dụng Stop Loss và Take Profit cố định, CNPS 26 mặc định duy trì vị thế cho đến khi Supertrend chuyển sang trạng thái giảm hoặc xuất hiện điều kiện đóng lệnh cuối phiên.
Bên cạnh đó, chiến lược hỗ trợ tùy chọn Hard Stop Loss, Fixed Take Profit và Break Even để người dùng kiểm thử những phương pháp quản trị rủi ro khác nhau.
Vậy CNPS 26 hoạt động như thế nào, khi nào bot mở vị thế ban đầu, điều kiện nào cho phép gia tăng thêm hợp đồng và nhà đầu tư cần lưu ý gì khi sử dụng?
1. CNPS 26 Supertrend + 40-Bar Breakout Add là gì?
CNPS 26 là chiến lược giao dịch được xây dựng trên nền tảng TradingView, hướng đến việc hỗ trợ giao dịch hợp đồng tương lai chỉ số VN30 theo phương pháp Trend Following kết hợp Pyramiding.
Chiến lược được phát triển dựa trên ba thành phần chính:
- Xác định xu hướng bằng Supertrend: Sử dụng Supertrend để nhận diện thời điểm thị trường chuyển từ trạng thái giảm sang tăng, từ đó kích hoạt tín hiệu Long ban đầu.
- Gia tăng vị thế khi xuất hiện Breakout: Khi đã có vị thế Long, bot kiểm tra giá đóng cửa hiện tại có vượt mức đóng cửa cao nhất của 40 nến trước hay không để bổ sung khối lượng.
- Quản trị vị thế theo Supertrend: Duy trì toàn bộ vị thế cho đến khi Supertrend chuyển sang giảm, hoặc thoát theo các điều kiện bảo vệ bổ sung nếu người dùng kích hoạt.
Quy trình hoạt động có thể tóm tắt như sau:
Supertrend Bullish Flip → Base Long → 40-Bar Breakout → Add Long → Supertrend Bearish Flip → Exit All.
Khác với những chiến lược giao dịch đồng thời Long và Short, CNPS 26 được thiết kế theo hướng Long Only.
Điều này có nghĩa bot chỉ mở vị thế mua, không phát sinh lệnh Short để tìm kiếm lợi nhuận khi thị trường giảm.
Khi Supertrend chuyển sang trạng thái giảm, tín hiệu này được sử dụng để đóng toàn bộ vị thế Long đang nắm giữ.
Ví dụ, khi Supertrend chuyển từ đỏ sang xanh, chiến lược có thể mở vị thế Long 2 hợp đồng.
Nếu sau đó giá tiếp tục tăng và đóng cửa vượt mức đóng cửa cao nhất của 40 nến trước, bot có thể bổ sung 1 hợp đồng.
Khi đó, tổng vị thế là 3 hợp đồng.
Nếu thị trường tiếp tục tăng, bot vẫn duy trì vị thế thay vì liên tục bổ sung hợp đồng.
Chỉ khi Supertrend chuyển sang giảm, chiến lược mới phát sinh yêu cầu đóng toàn bộ vị thế theo cơ chế thoát lệnh mặc định.
Điểm khác biệt của CNPS 26 nằm ở việc tách tín hiệu mở vị thế ban đầu và tín hiệu gia tăng vị thế thành hai sự kiện riêng biệt.
Điều này cho phép người dùng theo dõi và đánh giá riêng hiệu quả của Base Entry và Breakout Add.
Source Code CNPS 26: CNPS26
2. Các khái niệm kỹ thuật được sử dụng trong CNPS 26
Để hiểu cơ chế của chiến lược, trước tiên cần nắm được các khái niệm về Supertrend, Breakout và Pyramiding.
2.1. Supertrend – Chỉ báo xác định trạng thái xu hướng
Supertrend là chỉ báo kỹ thuật được xây dựng từ Average True Range (ATR), kết hợp một hệ số nhân để tạo ra đường tham chiếu xu hướng.
Chỉ báo được sử dụng nhằm đánh giá trạng thái tăng hoặc giảm của thị trường theo biến động giá.
Trong CNPS 26, Supertrend được tính bằng hàm:
ta.supertrend(supertrendMultiplier, atrLength)
Các tham số mặc định gồm:
- Supertrend ATR Length = 10.
- Supertrend Multiplier = 4,0.
ATR phản ánh biên độ biến động trung bình của thị trường.
Trong khi đó, Supertrend Multiplier điều chỉnh khoảng cách giữa đường Supertrend và vùng giá tham chiếu.
Hệ số nhân lớn hơn thường khiến chỉ báo ít nhạy hơn trước các dao động nhỏ, nhưng cũng có thể khiến tín hiệu chuyển trạng thái xuất hiện muộn hơn.
Ngược lại, hệ số nhỏ hơn có thể giúp chỉ báo phản ứng nhanh hơn, đồng thời làm tăng khả năng xuất hiện những tín hiệu thay đổi xu hướng ngắn hạn.
CNPS 26 sử dụng quy ước hướng của hàm Supertrend trên TradingView:
- Supertrend Direction < 0: Trạng thái tăng.
- Supertrend Direction > 0: Trạng thái giảm.
Đây là điểm kỹ thuật quan trọng khi đọc mã nguồn, bởi giá trị Direction âm trong hàm Supertrend không có nghĩa thị trường đang giảm.
2.2. Bullish Supertrend Flip – Tín hiệu chuyển sang xu hướng tăng
Bullish Flip là sự kiện Supertrend chuyển từ trạng thái giảm sang tăng.
Trong CNPS 26, điều kiện được xác định như sau:
Supertrend hiện tại đang Bullish và Supertrend của nến trước đang Bearish.
Có thể biểu diễn:
- Direction hiện tại < 0.
- Direction nến trước > 0.
Khi sự kiện xuất hiện, chiến lược ghi nhận một Bullish Flip.
Đây là điều kiện kỹ thuật quan trọng nhất để kích hoạt Base Long.
Tuy nhiên, bot không mở Long chỉ vì Supertrend đang nằm trong trạng thái tăng.
Chiến lược yêu cầu phải xuất hiện sự kiện chuyển trạng thái mới từ Bearish sang Bullish.
Nếu Supertrend đã duy trì trạng thái tăng trong nhiều cây nến, bot không liên tục mở Base Entry mới ở mỗi nến.
Ngoài ra, tín hiệu chỉ được chấp nhận nếu các điều kiện về thời gian, trạng thái vị thế, Cooldown và số lần vào lệnh trong ngày đều hợp lệ.
2.3. Bearish Supertrend Flip – Tín hiệu chuyển sang xu hướng giảm
Bearish Flip là sự kiện Supertrend chuyển từ trạng thái tăng sang giảm.
Điều kiện trong mã nguồn:
- Direction hiện tại > 0.
- Direction nến trước < 0.
Trong CNPS 26, Bearish Flip không được sử dụng để mở Short.
Thay vào đó, đây là tín hiệu thoát toàn bộ vị thế Long.
Khi Bearish Flip xuất hiện và chiến lược đang giữ Long, bot sử dụng strategy.close_all() để yêu cầu đóng toàn bộ khối lượng.
Điều này áp dụng cho cả hợp đồng được mở từ Base Entry và hợp đồng được bổ sung từ Breakout Add.
Đây là nguyên tắc quản trị xu hướng cốt lõi của chiến lược.
2.4. 40-Bar Breakout – Phá mức đóng cửa cao nhất 40 nến
Bên cạnh Supertrend, CNPS 26 sử dụng bộ lọc Breakout dựa trên giá đóng cửa.
Theo cấu hình mặc định:
Breakout Lookback = 40 nến.
Bot tính mức giá đóng cửa cao nhất của 40 nến trước đó bằng:
ta.highest(close, breakoutLength)[1]
Sau đó kiểm tra:
Close hiện tại > Highest Close của 40 nến trước.
Điểm quan trọng là chiến lược sử dụng giá đóng cửa cao nhất (Highest Close), không phải mức High cao nhất của 40 nến.
Ví dụ:
Trong 40 nến trước, giá đóng cửa cao nhất là 1.905 điểm.
Ở cây nến hiện tại:
- High = 1.909 điểm.
- Close = 1.907 điểm.
Vì giá đóng cửa hiện tại lớn hơn 1.905, điều kiện Breakout được đáp ứng.
Ngược lại, nếu cây nến có High bằng 1.909 nhưng đóng cửa tại 1.904, chiến lược không công nhận Breakout.
Việc sử dụng giá đóng cửa giúp bot yêu cầu thị trường duy trì mức giá mới tại thời điểm kết thúc cây nến, thay vì chỉ cần có một lần giá vượt qua trong phiên.
2.5. Pyramiding – Gia tăng vị thế
Pyramiding là phương pháp bổ sung khối lượng vào một vị thế đã được mở trước đó.
Thông thường, phương pháp này được áp dụng khi nhà giao dịch muốn gia tăng mức tham gia vào một xu hướng đang phát triển.
Trong CNPS 26, Pyramiding được triển khai dưới dạng hai bước:
Base Entry: Mở vị thế ban đầu.
Breakout Add: Bổ sung khối lượng khi thị trường xuất hiện tín hiệu Breakout hợp lệ.
Theo cấu hình mặc định:
- Base Entry Contracts = 2.
- Breakout Add Contracts = 1.
- Tổng vị thế tối đa theo cấu hình gốc = 3 hợp đồng.
Mã nguồn sử dụng pyramiding=2, cho phép chiến lược có hai lần vào lệnh cùng hướng trong một chu kỳ vị thế.
Tuy nhiên, cần phân biệt giữa số lần vào lệnh và số hợp đồng.
Pyramiding bằng 2 không có nghĩa tổng khối lượng bị giới hạn cứng ở 2 hợp đồng.
Trong CNPS 26, số hợp đồng của Base Entry và Breakout Add được thiết lập riêng.
Nếu người dùng thay đổi hai tham số này, tổng khối lượng có thể vượt mức 3 hợp đồng mặc định.
2.6. Add Position Once – Chỉ gia tăng vị thế một lần
CNPS 26 sử dụng biến trạng thái addedPosition để theo dõi việc chiến lược đã bổ sung hợp đồng hay chưa.
Khi Base Entry mới được phát sinh, trạng thái này được đặt về False.
Khi một Breakout Add hợp lệ xuất hiện, bot:
- Gửi lệnh bổ sung hợp đồng.
- Chuyển
addedPositionsang True.
Sau đó, dù giá tiếp tục phá những mức đóng cửa cao nhất mới, bot không tiếp tục gia tăng thêm khối lượng trong cùng chu kỳ giữ vị thế.
Khi toàn bộ vị thế đã đóng, trạng thái được đặt lại để chuẩn bị cho chu kỳ giao dịch tiếp theo.
Điều này giúp chiến lược tránh liên tục tăng khối lượng mỗi khi giá tạo đỉnh mới.
2.7. Average Entry Price – Giá vào lệnh trung bình
Khi chiến lược mở thêm hợp đồng, giá vào lệnh trung bình của toàn bộ vị thế sẽ thay đổi.
CNPS 26 sử dụng:
strategy.position_avg_price
để ghi nhận giá trung bình thực tế của vị thế trong mô phỏng.
Ví dụ:
- Base Long: 2 hợp đồng tại 1.900 điểm.
- Breakout Add: 1 hợp đồng tại 1.906 điểm.
Bỏ qua phí và trượt giá trong ví dụ, giá vào lệnh trung bình mới là:
Average Entry = (1.900 × 2 + 1.906 × 1) / 3 = 1.902 điểm.
Nếu người dùng bật Stop Loss hoặc Take Profit cố định, chiến lược sẽ tính lại các mức bảo vệ dựa trên giá trung bình mới.
Đây là điểm quan trọng khi sử dụng phương pháp gia tăng vị thế.
2.8. Optional Risk Management – Quản trị rủi ro tùy chọn
CNPS 26 hỗ trợ ba nhóm quản trị bổ sung:
- Hard Stop Loss.
- Fixed Take Profit.
- Break Even.
Tuy nhiên, cả ba tính năng đều đang tắt trong cấu hình mặc định.
Điều này có nghĩa chiến lược gốc không tự động đặt Stop Loss cố định 5 điểm hoặc Take Profit cố định 15 điểm.
Thay vào đó, phương pháp thoát chính là Supertrend Bearish Flip.
Nếu người dùng bật Hard Stop, Fixed Take Profit hoặc Break Even, chiến lược có thể phát sinh thêm những mức thoát vị thế trước khi Supertrend chuyển giảm.
3. Nguyên lý hoạt động của CNPS 26
CNPS 26 được xây dựng theo chuỗi:
Supertrend Bullish Flip → Base Entry → Hold Position → 40-Bar Breakout → Add Position → Supertrend Bearish Flip → Exit All.
Bước 1: Xác định trạng thái Supertrend
Đầu tiên, bot tính Supertrend dựa trên ATR10 và Multiplier 4,0.
Chiến lược theo dõi trạng thái hiện tại của chỉ báo.
Nếu Direction âm, thị trường được xem là đang có trạng thái Supertrend tăng.
Nếu Direction dương, chỉ báo đang ở trạng thái giảm.
Tuy nhiên, việc Supertrend đang tăng chưa đủ để phát sinh một Base Long mới.
Bot tiếp tục tìm sự kiện Bullish Flip.
Bước 2: Phát hiện Bullish Flip
Khi Supertrend chuyển từ giảm sang tăng, bot ghi nhận tín hiệu Bullish Flip.
Sau đó, chiến lược kiểm tra:
- Chưa có vị thế đang mở.
- Tín hiệu xuất hiện trong thời gian vào lệnh.
- Thời điểm đóng nến nằm trước Force Close.
- Cooldown sau thoát lệnh đã kết thúc.
- Số Base Entries trong ngày chưa vượt giới hạn.
- Nến đã đóng cửa xác nhận.
Nếu toàn bộ điều kiện hợp lệ, tín hiệu Base Long được kích hoạt.
Bước 3: Mở Base Long
Với cấu hình mặc định:
Base Entry = 2 hợp đồng Long.
Bot gửi lệnh bằng strategy.entry() với ID:
Base Long
Sau khi tạo lệnh, chiến lược:
- Ghi nhận cây nến Base Entry.
- Đặt lại trạng thái Add Position.
- Tăng bộ đếm Base Entries trong ngày.
Điều quan trọng là bot chưa yêu cầu Breakout 40 nến tại giai đoạn Base Entry.
Điều kiện mở lệnh ban đầu chỉ dựa trên Bullish Supertrend Flip kết hợp các điều kiện quản trị giao dịch.
Bước 4: Theo dõi vị thế đang mở
Sau khi Base Long được xác lập, bot bắt đầu theo dõi hai nhóm điều kiện.
Nhóm thứ nhất: Điều kiện gia tăng vị thế bằng Breakout.
Nhóm thứ hai: Điều kiện đóng vị thế khi Supertrend chuyển sang giảm.
Trong thời gian này, nếu chưa bật những tính năng quản trị bổ sung, chiến lược không sử dụng Stop Loss hoặc Take Profit cố định.
Vị thế được duy trì cho đến khi có tín hiệu thoát theo Supertrend hoặc Force Close cuối phiên.
Bước 5: Kiểm tra Breakout 40 nến
Bot liên tục tính mức giá đóng cửa cao nhất của 40 nến trước.
Nếu giá đóng cửa hiện tại vượt mức này, chiến lược ghi nhận Breakout Signal.
Tuy nhiên, Breakout Signal chỉ trở thành tín hiệu Add khi:
- Bot đang giữ Long.
- Chưa từng Add trong chu kỳ vị thế hiện tại.
- Nến hiện tại xuất hiện sau nến Base Entry.
- Tín hiệu xuất hiện trong thời gian giao dịch hợp lệ.
- Bộ lọc Supertrend và nến Breakout được đáp ứng.
- Nến đã đóng cửa.
Theo mặc định, bot yêu cầu Supertrend vẫn đang Bullish khi thực hiện Add.
Trong khi đó, tùy chọn yêu cầu nến Breakout phải là nến tăng đang tắt.
Bước 6: Gia tăng vị thế
Khi xuất hiện Breakout Add hợp lệ, bot sử dụng lệnh:
strategy.entry("Breakout Add", strategy.long)
Với cấu hình mặc định:
Add Position = 1 hợp đồng Long.
Nếu Base Entry vẫn đang giữ đủ 2 hợp đồng, tổng vị thế sẽ tăng lên 3 hợp đồng.
Sau đó, biến addedPosition được chuyển sang True.
Kể từ thời điểm này, bot không tiếp tục bổ sung hợp đồng cho đến khi toàn bộ vị thế đóng và một chu kỳ Base Entry mới được hình thành.
Một điểm đáng chú ý là Breakout Add không sử dụng trực tiếp bộ lọc Maximum Base Entries Per Day hoặc Cooldown After Exit.
Những bộ lọc này được sử dụng cho Base Entry, trong khi Breakout Add có bộ điều kiện riêng.
Bước 7: Cập nhật giá vào lệnh trung bình
Khi vị thế được mở lần đầu hoặc khối lượng vị thế tăng, bot cập nhật:
- Giá vào lệnh trung bình.
- Mức Stop Loss tùy chọn.
- Mức Take Profit tùy chọn.
- Trạng thái Break Even.
Nếu người dùng bật Hard Stop hoặc Fixed Take Profit, các mức này được tính lại từ giá vào lệnh trung bình sau khi Add.
Đồng thời, trạng thái Break Even được đặt lại khi khối lượng vị thế tăng.
Do đó, nếu Break Even đang được sử dụng, việc Add Position có thể khiến ngưỡng kích hoạt Break Even được tính lại theo giá trung bình mới.
Bước 8: Đóng toàn bộ vị thế
Khi Supertrend chuyển từ Bullish sang Bearish, bot phát sinh tín hiệu thoát Long.
Lệnh đóng được thực hiện bằng:
strategy.close_all()
Cơ chế này yêu cầu đóng toàn bộ vị thế, bao gồm cả Base Long và Breakout Add nếu hai phần vẫn đang được nắm giữ.
Ngoài ra, chiến lược còn có điều kiện Force Close tại 14:45.
Sau khi toàn bộ vị thế đã đóng, bot xóa các trạng thái quản trị cũ và chuẩn bị cho chu kỳ giao dịch tiếp theo.
4. Điều kiện vào lệnh Base Long và Breakout Add của CNPS 26
4.1. Điều kiện mở Base Long
Một tín hiệu Base Long được hình thành khi đáp ứng những điều kiện sau:
- Supertrend đang ở trạng thái Bearish trên cây nến trước.
- Supertrend chuyển sang trạng thái Bullish trên nến hiện tại.
- Tín hiệu Bullish Flip được xác nhận.
- Chiến lược chưa có vị thế đang mở.
- Nến hiện tại thuộc thời gian cho phép vào lệnh.
- Thời điểm đóng nến nằm trước Force Close.
- Cooldown sau lần thoát trước đã được đáp ứng.
- Số Base Entries trong ngày thấp hơn giới hạn thiết lập.
- Nến đã đóng cửa xác nhận.
Khi toàn bộ điều kiện hợp lệ, bot phát sinh lệnh Base Long.
Theo cấu hình mặc định:
Khối lượng Base Entry = 2 hợp đồng.
Mã nguồn sử dụng thông điệp:
ENTRY_BASE_LONG_CNPS26
Đây là tín hiệu mở một chu kỳ vị thế mới, không yêu cầu trước đó phải có Breakout 40 nến.
4.2. Điều kiện gia tăng vị thế Breakout Add
Một tín hiệu Breakout Add được hình thành khi:
- Bot đang có vị thế Long.
- Vị thế Base đã được tạo từ một cây nến trước đó.
- Trạng thái
addedPositionvẫn là False. - Giá đóng cửa hiện tại vượt mức đóng cửa cao nhất của 40 nến trước.
- Tín hiệu xuất hiện trong thời gian cho phép.
- Thời điểm đóng nến nằm trước Force Close.
- Supertrend vẫn đang Bullish nếu bộ lọc được bật.
- Nến hiện tại là nến tăng nếu bộ lọc Bullish Breakout Candle được bật.
- Nến đã đóng cửa xác nhận.
Khi các điều kiện được đáp ứng, bot bổ sung khối lượng Long.
Theo cấu hình mặc định:
Breakout Add = 1 hợp đồng.
Thông điệp tương ứng:
ENTRY_ADD_LONG_CNPS26
Điểm quan trọng là chiến lược không cho phép Add ngay trên chính cây nến Base Entry.
Điều kiện trong mã nguồn yêu cầu chỉ số nến hiện tại phải lớn hơn chỉ số nến đã tạo Base Entry.
Do đó, Breakout Add sớm nhất có thể được xét từ cây nến tiếp theo sau Base Entry.
4.3. Supertrend không phải điều kiện Breakout bắt buộc khi tắt bộ lọc
CNPS 26 có tùy chọn:
Require Supertrend Still Bullish = Bật.
Đây là cấu hình mặc định.
Khi được bật, bot chỉ Add khi Supertrend đang trong trạng thái tăng.
Tuy nhiên, nếu người dùng tắt tùy chọn này, điều kiện Supertrend Bullish không còn được dùng để xét Breakout Add.
Điều đó có nghĩa Add Signal được quyết định bởi các điều kiện còn lại, bao gồm trạng thái đang Long, Breakout, thời gian và trạng thái đã Add.
Vì vậy, người dùng nên hiểu rõ vai trò của bộ lọc trước khi tắt.
4.4. Không bắt buộc Breakout Candle phải tăng
Một đặc điểm đáng chú ý là:
Require Bullish Breakout Candle = Tắt.
Điều này có nghĩa bot không bắt buộc cây nến Breakout phải có Close lớn hơn Open trong cấu hình gốc.
Điều kiện quan trọng nhất vẫn là:
Close hiện tại > Highest Close của 40 nến trước.
Nếu người dùng bật Require Bullish Breakout Candle, cây nến hiện tại phải đồng thời là nến tăng.
Cơ chế này giúp người dùng có thể thử nghiệm hai phương án xác nhận Breakout khác nhau.
4.5. Cơ chế chỉ Add một lần
Sau khi Breakout Add xuất hiện, bot đánh dấu:
addedPosition = True.
Khi trạng thái này đang True, các sự kiện Breakout tiếp theo không tạo thêm lệnh Add trong cùng chu kỳ.
Chỉ khi toàn bộ vị thế được đóng, biến này mới được đặt lại.
Cách tiếp cận này khác với hệ thống Pyramiding nhiều cấp, trong đó có thể liên tục bổ sung hợp đồng sau mỗi lần giá tăng thêm một khoảng nhất định.
CNPS 26 mặc định chỉ có một cấp Add.
4.6. Giới hạn Base Entries theo ngày
Theo cấu hình mặc định:
Maximum Base Entries Per Day = 4.
Bot sử dụng bộ đếm riêng cho các lệnh Base Entry.
Khi đạt 4 Base Entries trong ngày, chiến lược không tạo thêm Base Long mới.
Tuy nhiên, một Breakout Add hợp lệ trên vị thế đã tồn tại vẫn có thể xảy ra vì bộ đếm này không được đưa vào điều kiện Add Long.
Điều này có nghĩa giới hạn 4 được áp dụng cho số lần tạo Base Entry, không phải tổng số sự kiện vào lệnh Base cộng Add.
Ngoài ra:
Cooldown Bars After Exit = 0.
Với cấu hình này, bot không yêu cầu một khoảng nghỉ nhiều nến sau khi thoát, nhưng một Base Entry mới vẫn phải xuất hiện sau cây nến ghi nhận lần thoát trước.
5. CNPS 26 quản trị rủi ro và thoát lệnh như thế nào?
5.1. Thoát lệnh theo Bearish Supertrend Flip
Đây là phương pháp thoát vị thế chính trong cấu hình mặc định.
Khi đang giữ Long và Supertrend chuyển từ tăng sang giảm, bot tạo tín hiệu:
Supertrend Exit Long.
Sau đó, chiến lược sử dụng strategy.close_all() để yêu cầu đóng toàn bộ vị thế.
Nếu đang giữ 2 hợp đồng Base Long, bot yêu cầu đóng cả 2 hợp đồng.
Nếu đã Add thêm 1 hợp đồng, bot yêu cầu đóng toàn bộ 3 hợp đồng đang nắm giữ theo cấu hình gốc.
Điểm đáng chú ý là chiến lược không sử dụng một mức Stop Loss cố định làm điều kiện thoát mặc định.
Thay vào đó, thời điểm thoát phụ thuộc vào tín hiệu thay đổi trạng thái Supertrend.
Điều này cho phép bot duy trì vị thế trong những xu hướng kéo dài, nhưng đồng thời có thể khiến giá di chuyển bất lợi đáng kể trước khi Supertrend xác nhận đảo chiều.
5.2. Hard Stop Loss tùy chọn
CNPS 26 hỗ trợ Hard Stop Loss nhằm bổ sung mức bảo vệ theo điểm.
Mặc định:
- Use Hard Stop = Tắt.
- Hard Stop Loss = 5 điểm.
Nếu người dùng bật Hard Stop, chiến lược xác định:
Stop Loss = Average Entry Price − 5 điểm.
Ví dụ, nếu Base Long được mở tại 1.900 điểm và chưa Add:
Stop Loss = 1.895 điểm.
Nếu sau đó Add thêm 1 hợp đồng tại 1.906 điểm, khiến giá trung bình tăng lên 1.902 điểm, Stop Loss mới được tính lại:
Stop Loss = 1.897 điểm.
Lưu ý rằng việc thay đổi giá trung bình sau Add có thể khiến khoảng rủi ro của phần Base và phần Add thay đổi so với lúc mở từng lệnh.
Nếu Hard Stop không được bật, chiến lược sẽ không có mức Stop Loss cố định ngay từ thời điểm vào lệnh, trừ khi Break Even được bật và đã kích hoạt.
5.3. Fixed Take Profit tùy chọn
CNPS 26 hỗ trợ chốt lời cố định theo số điểm.
Mặc định:
- Use Fixed Take Profit = Tắt.
- Fixed Take Profit = 15 điểm.
Nếu được bật, chiến lược đặt:
Take Profit = Average Entry Price + 15 điểm.
Ví dụ:
- Base Long tại 1.900 điểm.
- Take Profit ban đầu = 1.915 điểm.
Nếu bot bổ sung 1 hợp đồng tại 1.906 điểm và giá trung bình mới là 1.902 điểm:
Take Profit mới = 1.917 điểm.
Cơ chế này giúp mức Take Profit được tính lại theo giá trung bình của toàn bộ vị thế.
Tuy nhiên, cần hiểu rằng Fixed Take Profit có thể khiến chiến lược đóng vị thế trước khi Supertrend xuất hiện tín hiệu đảo chiều.
Điều này làm thay đổi đặc điểm Trend Following của bot so với cấu hình mặc định.
5.4. Break Even – Dời Stop Loss khi giá di chuyển thuận chiều
CNPS 26 hỗ trợ Break Even tùy chọn.
Mặc định:
- Use Break Even = Tắt.
- Break Even Trigger = 7,5 điểm.
- Break Even Offset = 0,5 điểm.
Khi được bật, Break Even theo dõi giá cao nhất của cây nến.
Điều kiện kích hoạt:
High hiện tại ≥ Average Entry Price + 7,5 điểm.
Khi điều kiện đạt yêu cầu, bot có thể dời Stop Loss lên:
New Stop = Average Entry Price + 0,5 điểm.
Ví dụ:
Giá vào lệnh trung bình = 1.900 điểm.
Khi giá đạt 1.907,5 điểm, Break Even có thể được kích hoạt.
Mức Stop Loss mới:
1.900,5 điểm.
Một điểm quan trọng là Break Even có thể tạo mức Stop Loss mới ngay cả khi Hard Stop đang tắt.
Điều này có nghĩa người dùng có thể bật Break Even mà không cần bật Hard Stop cố định từ đầu.
Tuy nhiên, trước khi giá đạt ngưỡng kích hoạt, vị thế vẫn không có mức Hard Stop theo giá nếu Use Hard Stop đang tắt.
Ngoài ra, khi một hợp đồng Add được khớp và khối lượng vị thế tăng, bot cập nhật lại giá vào lệnh trung bình và đặt lại trạng thái Break Even.
Vì vậy, ngưỡng kích hoạt Break Even sau khi Add có thể khác trước đó.
5.5. Quản trị riêng Base Entry và Breakout Add
CNPS 26 sử dụng hai nhóm lệnh vào:
Base LongBreakout Add
Nếu bật các điều kiện bảo vệ theo giá, mã nguồn tạo lệnh thoát riêng cho từng nhóm.
Base Protective Exit: Quản lý phần hợp đồng Base.
Add Protective Exit: Quản lý phần hợp đồng Add.
Cả hai đều sử dụng mức Stop Loss hoặc Take Profit được tính từ giá vào lệnh trung bình của toàn bộ vị thế.
Do đó, nếu Hard Stop và Take Profit được bật, mỗi nhóm có thể được đóng bởi các lệnh strategy.exit() tương ứng.
Điểm cần lưu ý là trong một số tình huống, một phần vị thế có thể đã đóng theo SL/TP trong khi phần còn lại vẫn đang tồn tại.
Trong trường hợp đó, chiến lược tiếp tục theo dõi trạng thái vị thế theo cơ chế đã lập trình.
5.6. So sánh các phương pháp thoát vị thế
| Phương pháp | Mặc định | Điều kiện |
|---|---|---|
| Supertrend Bearish Flip | Hoạt động | Supertrend chuyển từ tăng sang giảm |
| Hard Stop Loss | Tắt | Giá chạm mức SL cố định |
| Fixed Take Profit | Tắt | Giá chạm mức TP cố định |
| Break Even | Tắt | Giá đạt ngưỡng lợi nhuận thuận chiều |
| Force Close | Hoạt động | Đến thời điểm kết thúc phiên |
Cấu hình gốc phù hợp với cách tiếp cận Trend Following, trong đó vị thế được duy trì theo trạng thái xu hướng.
Nếu bật SL/TP cố định, người dùng chuyển sang một hệ thống kết hợp giữa tín hiệu xu hướng và các mức thoát lệnh theo giá.
Không có cơ sở để kết luận một phương pháp luôn tốt hơn phương pháp còn lại.
Hiệu quả cần được kiểm tra trong Strategy Tester trên nhiều giai đoạn thị trường.
5.7. Đóng toàn bộ vị thế cuối phiên
CNPS 26 sử dụng thời gian giao dịch mặc định:
- Entry Start: 09:00.
- Last Entry: 14:30.
- Force Close: 14:45.
- Timezone: Asia/Ho_Chi_Minh.
Khi cây nến đi qua mốc Force Close theo điều kiện mã nguồn, bot yêu cầu đóng toàn bộ vị thế đang mở bằng strategy.close_all() với tùy chọn immediately=true.
Điều này áp dụng cho cả Base Long và Breakout Add còn tồn tại.
Thời điểm thực thi cụ thể phụ thuộc vào khung thời gian biểu đồ và dữ liệu nến.
6. Hướng dẫn cài đặt và sử dụng CNPS 26 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 phù hợp.
CNPS 26 đượ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 bắt buộc vào M1 hoặc M5.
Tuy nhiên, các tham số như Supertrend ATR Length và Breakout Lookback đều được tính theo số nến.
Ví dụ, Breakout 40 nến trên M1 tương ứng với khoảng dữ liệu ngắn hơn nhiều so với Breakout 40 nến trên M5.
Vì vậy, việc thay đổi khung thời gian có thể ảnh hưởng đáng kể đến tín hiệu và kết quả giao dịch.
Bước 2: Thêm chiến lược vào biểu đồ
Nếu sử dụng mã nguồn Pine Script:
- Mở Pine Editor trên TradingView.
- Tạo một Strategy mới.
- Dán mã nguồn CNPS 26 Supertrend + 40-Bar Breakout Add.
- Lưu chiến lược.
- Chọn Add to chart.
- Kiểm tra các đường Supertrend và thông tin giao dịch.
- Mở Strategy Tester để theo dõi kết quả mô phỏng.
Nếu sử dụng phiên bản script đã được cấp quyền, 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 26 cung cấp các tham số sau:
| Thông số | Mặc định | Ý nghĩa |
|---|---|---|
| Base Entry Contracts | 2 | Khối lượng Long ban đầu |
| Breakout Add Contracts | 1 | Khối lượng bổ sung |
| Supertrend ATR Length | 10 | Chu kỳ ATR của Supertrend |
| Supertrend Multiplier | 4,0 | Hệ số Supertrend |
| Breakout Lookback | 40 | Chu kỳ tìm Highest Close |
| Require Supertrend Still Bullish | Bật | Yêu cầu Supertrend tăng khi Add |
| Require Bullish Breakout Candle | Tắt | Yêu cầu nến Breakout tăng |
| Use Hard Stop | Tắt | Bật/tắt Stop Loss cố định |
| Hard Stop Loss | 5 điểm | Khoảng Stop Loss khi bật |
| Use Fixed Take Profit | Tắt | Bật/tắt TP cố định |
| Fixed Take Profit | 15 điểm | Khoảng TP khi bật |
| Use Break Even | Tắt | Bật/tắt Break Even |
| Break Even Trigger | 7,5 điểm | Mức lợi nhuận kích hoạt BE |
| Break Even Offset | 0,5 điểm | Khoảng dời SL qua giá trung bình |
| Maximum Base Entries Per Day | 4 | Số lần mở Base tối đa mỗi ngày |
| Cooldown Bars After Exit | 0 | Số nến chờ sau thoát vị thế |
| Strategy Timezone | Asia/Ho_Chi_Minh | Múi giờ chiến lược |
| Entry Start | 09:00 | Thời gian bắt đầu vào lệnh |
| Last Entry | 14:30 | Thời gian vào lệnh cuối |
| Force Close | 14:45 | Đóng toàn bộ vị thế cuối phiên |
| Disable SL/TP Alerts | Tắt | Cho phép cảnh báo thoát SL/TP |
Người mới sử dụng có thể bắt đầu bằng bộ thông số mặc định để quan sát cách chiến lược hoạt động.
Sau đó, nên kiểm thử từng nhóm tham số riêng biệt.
Ví dụ:
- Thay đổi Supertrend Multiplier từ 4,0 sang một giá trị khác để đánh giá độ nhạy tín hiệu.
- Điều chỉnh Breakout Lookback để so sánh thời điểm Add.
- Bật Bullish Breakout Candle để kiểm tra chất lượng tín hiệu bổ sung.
- So sánh kết quả giữa việc Add 1 hợp đồng và không Add.
- Bật Hard Stop Loss để đánh giá mức sụt giảm vốn.
- So sánh hiệu quả có và không có Fixed Take Profit.
- Kiểm thử Break Even và đánh giá ảnh hưởng đến lợi nhuận bình quân.
Việc kiểm thử từng thay đổi riêng biệt giúp đánh giá được yếu tố nào tạo ra sự khác biệt trong kết quả giao dịch.
Bước 4: Đọc tín hiệu trên biểu đồ
CNPS 26 hỗ trợ các thành phần hiển thị sau:
| Thành phần | Cách nhận biết |
|---|---|
| Bullish Supertrend | Đường màu xanh lá |
| Bearish Supertrend | Đường màu đỏ |
| Previous 40-Bar Highest Close | Đường màu cam |
| Base Long Signal | Tam giác xanh hướng lên, nhãn BASE |
| Breakout Add Signal | Dấu tròn xanh dương, nhãn +1 |
| Supertrend Exit | Tam giác đỏ hướng xuống, nhãn EXIT |
| Active Stop Loss | Đường màu đỏ khi có mức SL |
| Active Take Profit | Đường màu xanh lá khi có mức TP |
Theo cấu hình mặc định:
- Show Supertrend: Bật.
- Show Previous N-Bar Highest Close: Tắt.
- Show Signal Markers: Tắt.
- Show Active SL/TP: Bật.
- Show Diagnostics: Tắt.
Vì vậy, khi thêm chiến lược vào biểu đồ, người dùng sẽ nhìn thấy đường Supertrend nhưng có thể chưa thấy các nhãn BASE, +1 hoặc EXIT.
Để nghiên cứu cách chiến lược tạo tín hiệu, nên bật Show Signal Markers.
Ngoài ra, Show Active SL/TP mặc định đang bật nhưng không có nghĩa các đường SL/TP luôn xuất hiện.
Vì Hard Stop và Fixed Take Profit mặc định đang tắt, các mức tương ứng chưa được thiết lập.
Bước 5: Sử dụng bảng Diagnostics
CNPS 26 cung cấp bảng Diagnostics nhằm theo dõi trạng thái hoạt động của chiến lược.
Khi bật Show Diagnostics, người dùng có thể quan sát:
- Khung thời gian.
- Trạng thái Supertrend Bullish/Bearish.
- Giá trị Supertrend hiện tại.
- Mức Highest Close của 40 nến trước.
- Trạng thái Breakout.
- Trạng thái đã Add hay chưa.
- Khối lượng vị thế.
- Giá vào lệnh trung bình.
- Số Bullish Flip.
- Số Bearish Flip.
- Số Breakout Signal.
- Số Base Entries.
- Số Add Entries.
- Số Supertrend Exit.
- Số Base Entries trong ngày.
- Trạng thái vị thế hiện tại.
Bảng này đặc biệt hữu ích khi người dùng muốn tìm hiểu vì sao một tín hiệu Breakout đã xuất hiện nhưng bot chưa Add hợp đồng.
Nguyên nhân có thể do chiến lược chưa giữ Long, đã Add một lần trước đó, tín hiệu chưa xuất hiện sau nến Base Entry hoặc bộ lọc Supertrend không còn hợp lệ.
Bước 6: Đánh giá kết quả trong Strategy Tester
CNPS 26 được xây dựng dưới dạng Strategy, vì vậy người dùng có thể sử dụng Strategy Tester để kiểm tra kết quả giao dịch mô phỏng.
Các chỉ số quan trọng gồm:
- Net Profit: Tổng lợi nhuận ròng mô phỏ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 giao dịch thắng so với tổng thua lỗ của giao dịch lỗ.
- Percent Profitable: Tỷ lệ giao dịch có lợi nhuận.
- Total Trades: Số giao dịch được ghi nhận.
- Average Trade: Lợi nhuận trung bình mỗi giao dịch.
Đối với CNPS 26, người dùng nên đặc biệt chú ý đến ảnh hưởng của cơ chế Breakout Add.
Ví dụ, có thể kiểm thử hai phương án:
Phương án A: Chỉ mở Base Long 2 hợp đồng và không gia tăng vị thế.
Phương án B: Mở Base Long 2 hợp đồng và bổ sung 1 hợp đồng khi xuất hiện Breakout 40 nến.
Tuy nhiên, để kiểm thử Phương án A cần điều chỉnh mã nguồn hoặc cấu hình thử nghiệm phù hợp, bởi tham số Breakout Add Contracts trong mã nguồn hiện tại có giá trị tối thiểu bằng 1.
Sau đó, so sánh lợi nhuận, mức sụt giảm vốn và kết quả của những chu kỳ giao dịch có Add.
Một điểm quan trọng là việc gia tăng vị thế có thể cải thiện lợi nhuận khi xu hướng tiếp diễn, nhưng cũng làm tăng mức độ tổn thất nếu giá đảo chiều sau khi Add.
Trong mã nguồn mặc định, chiến lược sử dụng:
- Vốn mô phỏng ban đầu: 100.000.000 VNĐ.
- Base Entry: 2 hợp đồng.
- Breakout Add: 1 hợp đồng.
- Phí giao dịch mô phỏng: 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ụ mô phỏng, không đồng nghĩa với mức ký quỹ hoặc kết quả giao dịch thực tế.
7. Cách thiết lập cảnh báo tín hiệu giao dịch
CNPS 26 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:
- Chọn Create Alert trên biểu đồ có CNPS 26.
- Chọn chiến lược CNPS 26 Supertrend + 40-Bar Breakout Add trong phần Condition.
- Chọn chế độ cảnh báo dựa trên Order fills.
- Trong phần Message, sử dụng placeholder
{{strategy.order.alert_message}}. - 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 các thông điệp sau:
| Thông điệp | Ý nghĩa |
|---|---|
| ENTRY_BASE_LONG_CNPS26 | Mở Base Long |
| ENTRY_ADD_LONG_CNPS26 | Gia tăng vị thế Long |
| SUPERTREND_EXIT_LONG_CNPS26 | Đóng toàn bộ vị thế khi Supertrend chuyển giảm |
| EXIT_BASE_TP_CNPS26 | Đóng phần Base theo Take Profit |
| EXIT_BASE_SL_CNPS26 | Đóng phần Base theo Hard Stop Loss |
| EXIT_BASE_BE_CNPS26 | Đóng phần Base tại Stop Loss sau Break Even |
| EXIT_ADD_TP_CNPS26 | Đóng phần Add theo Take Profit |
| EXIT_ADD_SL_CNPS26 | Đóng phần Add theo Hard Stop Loss |
| EXIT_ADD_BE_CNPS26 | Đóng phần Add tại Stop Loss sau Break Even |
| SESSION_END_CNPS26 | Đóng toàn bộ vị thế cuối phiên |
Điểm đáng chú ý là CNPS 26 phân biệt hai thông điệp vào lệnh:
ENTRY_BASE_LONG_CNPS26: Mở vị thế ban đầu.
ENTRY_ADD_LONG_CNPS26: Bổ sung khối lượng vào vị thế đã tồn tại.
Đây là hai thao tác khác nhau về trạng thái vị thế và khối lượng giao dịch.
Nếu tích hợp TradingView với hệ thống giao dịch tự động, hệ thống nhận lệnh cần hiểu rõ sự khác biệt này.
Ví dụ, nếu tài khoản đang giữ 2 hợp đồng Long, khi nhận ENTRY_ADD_LONG_CNPS26, hệ thống cần thực hiện thao tác bổ sung khối lượng tương ứng, không tự động đóng vị thế cũ rồi mở một vị thế mới.
Ngoài ra, trong cấu hình mặc định, Hard Stop và Fixed Take Profit đang tắt.
Do đó, các cảnh báo liên quan đến SL/TP chỉ phát sinh khi các tính năng tương ứng được kích hoạt và sự kiện khớp lệnh xảy ra.
Các thông điệp Break Even được sử dụng khi Stop Loss đã điều chỉnh bị khớp, không phải một cảnh báo độc lập ngay lúc mức Stop Loss được dời.
Đặc biệt, SUPERTREND_EXIT_LONG_CNPS26 và SESSION_END_CNPS26 đều đại diện cho thao tác yêu cầu đóng toàn bộ vị thế đang nắm giữ.
Người dùng cần kiểm tra cách hệ thống giao dịch bên ngoài xử lý các thông điệp này, nhất là trong trường hợp vị thế đã được gia tăng hoặc một phần hợp đồng đã đóng trước đó.
Việc TradingView phát cảnh báo 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 26 Supertrend + 40-Bar Breakout Add là chiến lược giao dịch phái sinh ứng dụng phương pháp Trend Following kết hợp Pyramiding, sử dụng Supertrend để xác định thời điểm vào Long ban đầu và giá đóng cửa cao nhất 40 nến để xác định cơ hội gia tăng vị thế.
Khác với những bot mở toàn bộ khối lượng ngay tại tín hiệu đầu tiên, CNPS 26 triển khai quá trình giao dịch theo hai giai đoạn.
Đầu tiên, chiến lược mở Base Long khi Supertrend chuyển từ giảm sang tăng.
Sau đó, khi thị trường tiếp tục tăng và giá đóng cửa vượt mức cao nhất của 40 nến trước, bot có thể bổ sung thêm hợp đồng theo cấu hình đã thiết lập.
Điểm nổi bật của chiến lược nằm ở khả năng phân tách tín hiệu vào lệnh ban đầu và tín hiệu gia tăng vị thế, chỉ cho phép một lần Add trong mỗi chu kỳ và sử dụng Bearish Supertrend Flip để đóng toàn bộ vị thế.
Theo cấu hình mặc định, CNPS 26 mở 2 hợp đồng Base Long, bổ sung tối đa 1 hợp đồng khi có Breakout và giới hạn 4 Base Entries mỗi ngày.
Chiến lược không sử dụng Hard Stop Loss hoặc Fixed Take Profit mặc định, mà duy trì vị thế theo trạng thái Supertrend cho đến khi xuất hiện tín hiệu đảo chiều hoặc điều kiện Force Close cuối phiên.
Bên cạnh đó, người dùng có thể kích hoạt Hard Stop, Fixed Take Profit và Break Even để đánh giá những phương pháp quản trị bổ sung.
Tuy nhiên, gia tăng vị thế không đồng nghĩa hiệu quả giao dịch chắc chắn được cải thiện. Việc bổ sung hợp đồng trong xu hướng tăng cũng làm tăng rủi ro khi thị trường đảo chiều.
Khi sử dụng CNPS 26, nhà đầu tư cần hiểu rõ sự khác biệt giữa Bullish Flip và Breakout Add, cách tính giá vào lệnh trung bình sau khi gia tăng vị thế và đặc điểm thoát lệnh theo Supertrend.
Người dùng nên kiểm thử chiến lược trong Strategy Tester, đánh giá riêng hiệu quả của Base Entry và Breakout Add, đồng thời xây dựng nguyên tắc quản trị vốn phù hợp trước khi áp 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. Cá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.





