FUTURES BOT
Danh sách người dùng
| Quyền | Binance | Chiến lược được cấp | |
|---|---|---|---|
Người dùng chỉ được xem và sử dụng các chiến lược được chọn. Bỏ chọn tất cả để không cấp chiến lược nào.
Nhiều chiến lược, một quyết định mở lệnh
Mỗi hợp đồng có thể gán nhiều chiến lược đã triển khai. Signal Arbiter gom tín hiệu trong cùng lượt đánh giá: cùng hướng chọn theo ưu tiên; trái hướng không mở vị thế. Mỗi hợp đồng chỉ có một vị thế hoặc quy trình mở lệnh đang xử lý.
Chiến lược thắng sở hữu vị thế và kế hoạch thoát lệnh. Risk Engine vẫn có quyền xử lý khẩn cấp vị thế của bot. Lệnh thủ công hoặc không xác định nguồn không được tự nhận làm của bot.
Hiện có Trend Pullback và Breakout + Volume Confirmation. Admin cấp riêng các chiến lược cho từng tài khoản.
TREND PULLBACK
Theo xu hướng · Chờ giá điều chỉnh
Đi theo hướng thị trường, chờ giá hồi về vùng cân bằng rồi tìm tín hiệu xác
nhận.
trend-pullback-v1
TREND PULLBACK
Theo xu hướng · Chờ giá điều chỉnh
Đi theo hướng thị trường, chờ giá hồi về vùng cân bằng rồi tìm tín hiệu xác nhận.
Đang được dùng chung trong PAPER, TESTNET, LIVE và backtest. Long và Short là hai hướng của cùng một chiến lược. Các báo cáo khác nhau không phải chiến lược mới.
HIỂU CHIẾN LƯỢC
Trend Pullback là gì?
Trend Pullback là cách giao dịch chờ giá điều chỉnh rồi vào lệnh theo xu hướng chính. Nó kết hợp hai nguyên tắc thành một chiến lược hoàn chỉnh, không phải hai chiến lược chạy độc lập.
Theo xu hướng
Xác định thị trường đang tăng hay giảm. Khi xu hướng tăng, chỉ tìm cơ hội Long; khi xu hướng giảm, chỉ tìm cơ hội Short.
Chờ nhịp hồi
Không đuổi theo giá. Chờ giá đi ngược xu hướng chính về một vùng cân bằng, rồi tìm tín hiệu xác nhận giá tiếp tục đi theo xu hướng.
Ví dụ khi thị trường tăng
Đường xanh: giá minh họa. Đường vàng nét đứt: EMA minh họa vùng hỗ trợ động. Điểm Long là vùng chờ xác nhận, không tự động vào lệnh khi chạm EMA. Đây là sơ đồ nguyên lý, không phải dữ liệu thị trường thực tế.
| Bước | Ví dụ theo chiến lược trong project |
|---|---|
| 1. Xác định xu hướng | Nến 15m: EMA50 > EMA200 và ADX14 > 20 → tìm Long. |
| 2. Chờ giá hồi | Nến 5m: giá về gần EMA20 hoặc VWAP, trong khoảng 0,5 ATR. |
| 3. Chờ xác nhận | Nến 1m: RSI cắt lên 50, nến tăng và volume vượt ngưỡng. |
| 4. Vào Long | Chỉ khi tín hiệu hợp lệ, hợp đồng được bật và Risk Engine phê duyệt. |
| 5. Đặt Stop Loss | Dưới điểm vào; khoảng cách lấy mức lớn hơn giữa 1,5 ATR và khoảng cách đến đáy 5 nến 1m gần nhất. |
| 6. Đặt Take Profit | Mặc định gấp 2 khoảng SL; tỷ lệ lợi nhuận/rủi ro sau chi phí phải đạt ít nhất 1,5. Phiên bản hiện tại không dùng trailing stop. |
Ví dụ dùng các ngưỡng mặc định của project, có thể khác cấu hình từng hợp đồng. Các biến thể dùng xu hướng 1H hoặc trailing stop cần được triển khai và backtest riêng; không phải quy tắc đang chạy.
Khác nhau giữa ba cách giao dịch
| Cách giao dịch | Cách tìm điểm vào |
|---|---|
| Trend Following | Đi theo xu hướng khi có tín hiệu xác nhận; không nhất thiết phải chờ giá hồi. |
| Pullback Trading | Tìm điểm vào sau một nhịp điều chỉnh; cần thêm quy tắc xác định hướng và bối cảnh. |
| Trend Pullback | Chỉ tìm nhịp hồi thuận xu hướng chính, rồi chờ xác nhận trước khi vào lệnh. |
Giá hồi hay đảo chiều?
Pullback là nhịp điều chỉnh tạm thời; Trend Reversal là thay đổi hướng xu hướng. Một nhịp giảm chưa chắc là cơ hội Long: nếu xu hướng đã đổi, tiếp tục mua có thể gây thua lỗ liên tiếp.
Bot kiểm tra lại xu hướng, độ biến động, tín hiệu xác nhận và rủi ro để lọc cơ hội, nhưng không thể bảo đảm phân biệt đúng mọi lần. Vì vậy mỗi vị thế phải có Stop Loss.
Quy tắc rõ ràng và nhiều khung thời gian giúp chiến lược có thể được kiểm thử, không chứng minh khả năng sinh lời. Giới hạn mặc định là tối đa 15 lệnh mới/ngày; bot không có mục tiêu bắt buộc 5–15 lệnh/ngày và có thể không giao dịch khi không đủ điều kiện.
Bot tìm cơ hội như thế nào?
-
15 phút · Xác định xu hướng
EMA50 trên EMA200 → tìm Long; thấp hơn → tìm Short. ADX14 phải trên 20 để xác nhận sức mạnh xu hướng. Bỏ qua thị trường đi ngang, dữ liệu chưa đủ hoặc ATR14 / giá vượt 3%.
-
5 phút · Chờ giá điều chỉnh
Giá đóng nến phải gần EMA20 hoặc VWAP trong khoảng 0,5 ATR. VWAP chỉ được dùng khi có đủ dữ liệu phiên từ 00:00 UTC.
-
1 phút · Xác nhận điểm vào
Long: RSI14 cắt lên 50 và nến tăng. Short: RSI14 cắt xuống 50 và nến giảm. Khối lượng phải lớn hơn 1,2 lần trung bình 20 nến trước. Tất cả điều kiện phải cùng đạt.
-
Kiểm tra thị trường và chi phí
Sổ lệnh phải còn mới, thanh khoản đạt cấu hình, spread không vượt giới hạn (mặc định 3 điểm cơ bản ≈ 0,03%). Phí giao dịch, spread, slippage và funding phải xác định được.
-
Risk Engine phê duyệt
Tín hiệu hợp lệ chỉ là ứng viên. Bot còn kiểm tra số dư, ký quỹ, giới hạn lỗ, số vị thế, tần suất mở lệnh và thời gian nghỉ trước khi gửi lệnh.
Khi nào bot ra quyết định?
-
Nhận nến đã đóng qua WebSocket
Bot chỉ sử dụng nến đã hoàn tất, không vào lệnh theo nến đang chạy. Các sự kiện nến đóng được gom trong khoảng 100 mili giây để xử lý những khung thời gian đóng cùng lúc.
-
Cập nhật dữ liệu và đánh thức vòng giao dịch
Nến được lưu vào PostgreSQL và bổ sung vào dữ liệu chiến lược, sau đó vòng giao dịch được yêu cầu chạy ngay. Luồng này không chờ chu kỳ kiểm tra 10 giây và không gọi tải lịch sử qua REST. Nếu một lượt xử lý đang chạy, sự kiện sẽ chờ lượt đó hoàn tất.
-
Đánh giá tín hiệu và kiểm tra an toàn
Bot kiểm tra lại xu hướng, điểm điều chỉnh và xác nhận vào lệnh với dữ liệu mới. Sổ lệnh phải hợp lệ và không quá 5 giây; funding phải còn mới trong 60 giây. Hợp đồng phải được bật giao dịch, toàn bot phải được cho phép mở lệnh, đối soát phải sẵn sàng và Risk Engine phải phê duyệt.
Tiếp tục kiểm tra giao dịch và quản lý vị thế khi không có sự kiện mới. Các lượt không chạy chồng lên nhau.
Kiểm tra hợp đồng, dữ liệu, funding và đồng bộ snapshot. Khi khởi động, bot nạp lịch sử PostgreSQL; REST chỉ bù khoảng nến thiếu hoặc phục hồi sau reconnect. Không tải lại hay ghi đè nến WebSocket định kỳ.
Giá được đẩy từ sổ lệnh WebSocket qua backend tới giao diện, gom cập nhật tối đa mỗi 250 mili giây. Tài khoản, trạng thái và lịch sử vẫn được lấy mỗi 10 giây. Độ trễ thực tế còn phụ thuộc mạng và nhịp dữ liệu của sàn.
100 mili giây là khoảng gom sự kiện, không phải cam kết thời gian mở lệnh. Độ trễ còn phụ thuộc kết nối, database, lượt xử lý đang chạy và phản hồi của sàn. Không có tín hiệu đủ điều kiện thì bot không mở lệnh.
Cách đóng vị thế
Khoảng cách SL lấy giá trị lớn hơn giữa 1,5 × ATR14 của nến 1 phút và khoảng cách đến đáy/đỉnh của 5 nến gần nhất. Từ chối nếu khoảng cách vượt 2% giá vào.
TP mặc định cách điểm vào gấp 2 lần khoảng SL. Sau chi phí, lợi nhuận kỳ vọng / rủi ro phải đạt ít nhất 1,5. Long đặt SL dưới và TP trên điểm vào; Short đảo lại.
Giải thích chỉ báo và thuật ngữ
EMA: trung bình giá ưu tiên dữ liệu gần đây, giúp xác định hướng và vùng giá cân bằng.
ADX: đo sức mạnh xu hướng, không xác định hướng tăng hay giảm.
ATR: đo biên độ biến động giá, dùng để đặt khoảng điều chỉnh và cắt lỗ.
RSI: đo động lượng; chiến lược này dùng việc cắt mức 50 để xác nhận hướng.
VWAP: giá trung bình có trọng số khối lượng trong phiên.
Spread / slippage / funding: chênh lệch giá mua–bán, độ lệch giá khớp và khoản thanh toán định kỳ của hợp đồng Futures.
Các ngưỡng trên là mặc định trong source, không phải cấu hình riêng đang áp dụng cho từng hợp đồng. Một số tham số có thể được ghi đè theo symbol. Bot chỉ dùng nến đã đóng; không có mục tiêu bắt buộc phải mở lệnh mỗi ngày.
BREAKOUT + VOLUME
Breakout + Volume Confirmation
Phá vùng giá với xác nhận khối lượng; chỉ dùng nến đã đóng.
breakout-volume-v1
BREAKOUT + VOLUME
Breakout + Volume Confirmation
Phá vùng giá với xác nhận khối lượng; chỉ dùng nến đã đóng.
Long và Short là hai hướng của cùng chiến lược. Bot chỉ đánh giá nến đã đóng; tín hiệu được chọn vẫn phải qua kiểm tra rủi ro trước khi gửi lệnh.
HIỂU CHIẾN LƯỢC
Breakout + Volume Confirmation là gì?
Breakout là khi giá thoát khỏi vùng đỉnh/đáy mà nó đã dao động trước đó. Chiến lược tìm nhịp thoát vùng, thay vì chờ giá hồi như Trend Pullback. Volume Confirmation yêu cầu khối lượng tăng rõ rệt ngay trên nến phá vỡ để tránh coi một cú vượt biên yếu là tín hiệu vào lệnh.
Giá đóng ngoài vùng
Đóng trên đỉnh vùng để xét Long, đóng dưới đáy để xét Short. Chạm biên hoặc chỉ râu nến xuyên qua rồi đóng trở lại trong vùng chưa đủ.
Khối lượng đi cùng giá
Khối lượng nến phá vỡ phải lớn hơn trung bình 20 nến trước nhân hệ số đã đặt. Giá vượt biên và volume mạnh phải xảy ra trên cùng nến.
Hai khung thời gian có nhiệm vụ khác nhau
1 phút: xác định vùng giá, nến phá vỡ, volume và khoảng cắt lỗ. 15 phút: kiểm tra thị trường có biến động quá mạnh hay không. Chiến lược này không yêu cầu EMA hay ADX xác nhận xu hướng 15 phút.
Ví dụ Long · phá đỉnh vùng
20 nến tạo vùng · ATR trước phá vỡ = 4 · Volume trung bình = 100
Đường xanh lam: giá trước phá vỡ. Nến xanh/đỏ: nến xác nhận. Cột volume nổi bật phải vượt đường ngưỡng. Đường nét đứt sau điểm vào chỉ minh họa hướng tới mục tiêu, không phải dự báo giá hay dữ liệu thực tế.
Ví dụ Short · phá đáy vùng
20 nến tạo vùng · ATR trước phá vỡ = 4 · Volume trung bình = 100
Đường xanh lam: giá trước phá vỡ. Nến xanh/đỏ: nến xác nhận. Cột volume nổi bật phải vượt đường ngưỡng. Đường nét đứt sau điểm vào chỉ minh họa hướng tới mục tiêu, không phải dự báo giá hay dữ liệu thực tế.
Tính một tín hiệu cụ thể
Ví dụ Long: đỉnh vùng = 1.000, ATR trước nến phá vỡ = 4. Buffer mặc định = 0,1 × 4 = 0,4. Giá phải đóng trên 1.000,4; nếu đóng quá 1.004,8 thì bị loại vì đã cách biên hơn 1,2 ATR.
Nến đóng ở 1.001, volume = 170 trong khi trung bình = 100: 170 > 1,5 × 100 nên đạt xác nhận. Khoảng cách tới biên = 1; khoảng ATR = 1,5 × 4 = 6. Bot lấy khoảng lớn hơn là 6, nên SL = 995, TP = 1.013. Khoảng SL / giá vào ≈ 0,60%, dưới giới hạn mặc định 2%.
Ví dụ Short: đáy vùng = 1.000, ATR = 4; nến phải đóng dưới 999,6 nhưng không xa hơn 995,2. Đóng ở 999 cho khoảng SL = 6, nên SL = 1.005, TP = 987.
Chi phí cũng có thể loại tín hiệu: nếu khoảng SL = 6, khoảng TP = 12 và chi phí ước tính trên mỗi đơn vị là 1, tỷ lệ sau chi phí = (12 − 1) / (6 + 1) ≈ 1,57, đạt ngưỡng 1,5. Nếu chi phí tăng lên 2, tỷ lệ chỉ còn 10 / 8 = 1,25 nên bot bỏ qua, dù giá và volume đều đạt.
Các mức trên là kế hoạch từ giá đóng nến, trước khi làm tròn theo bước giá của sàn và kiểm tra chi phí. Khối lượng lệnh được tính riêng từ ngân sách rủi ro, khoảng SL và các giới hạn tài khoản/hợp đồng; đòn bẩy không tự nhân ngân sách rủi ro.
Bot kiểm tra theo thứ tự nào?
-
Dữ liệu đủ và liên tục
Cần đủ nến đã đóng, không có khoảng trống và không quá cũ. Vùng giá chỉ dùng các nến trước nến đang xét, không dùng dữ liệu tương lai.
-
Lọc biến động 15 phút
ATR14 / giá không vượt ngưỡng mặc định 3%. ATR đo biên độ dao động, không phải hướng tăng/giảm.
-
Phá biên có khoảng xác nhận
Giá đóng vượt đỉnh/đáy cộng buffer theo ATR. Nến trước không được đã phá vùng của chính nó theo cùng hướng; bot bỏ qua nến tiếp diễn sau cú phá vỡ đầu tiên.
-
Giá chưa đi quá xa và nến đúng hướng
Khoảng cách tới biên không vượt giới hạn đuổi giá. Long cần đóng cao hơn mở; Short cần đóng thấp hơn mở.
-
Volume đủ mạnh
Volume phải lớn hơn ngưỡng, không chỉ bằng ngưỡng. Trung bình lấy 20 nến trước, loại nến xác nhận ra khỏi phép tính.
-
Thanh khoản, chi phí và kế hoạch SL/TP hợp lệ
Sổ lệnh phải mới, đúng hợp đồng, spread và thanh khoản đạt yêu cầu. Bot cần phí, trượt giá và funding hợp lệ; tỷ lệ lời/lỗ sau chi phí phải đạt ít nhất 1,5.
-
Quyền sử dụng và giới hạn mở lệnh
Admin phải cấp chiến lược, hợp đồng phải bật chiến lược và cho phép giao dịch. Bot còn kiểm tra lỗ ngày, số vị thế, ký quỹ, số lần mở lệnh và thời gian nghỉ. Có vị thế/lệnh chưa rõ trạng thái trên cùng hợp đồng thì không mở thêm.
Vì sao nhìn thấy phá vỡ mà bot không vào?
| Tình huống | Cách bot xử lý |
|---|---|
| Râu nến vượt đỉnh, giá đóng vẫn trong vùng | Chưa có phá vỡ bằng giá đóng; bỏ qua. |
| Giá đóng vượt biên nhưng volume không đủ | Không đủ xác nhận. Nến sau tiếp diễn không tự thay thế nến phá vỡ đầu tiên. |
| Nến phá vỡ rất mạnh, đóng quá xa vùng | Bỏ qua vì vượt khoảng phá vỡ tối đa; không đuổi giá. |
| Tỷ lệ TP/SL đặt 2 nhưng chi phí cao | Vẫn có thể bị loại nếu tỷ lệ sau phí, spread, trượt giá và funding dưới 1,5. |
| Nhiều chiến lược cùng báo tín hiệu | Cùng hướng chọn theo ưu tiên; trái hướng không mở lệnh. Một hợp đồng không mở chồng vị thế. |
Các tham số có thể chỉnh
| Tham số | Mặc định | Ý nghĩa và ảnh hưởng |
|---|---|---|
| Số nến xác định vùng | 20 nến 1 phút | Tăng: vùng dài hơn, thường khó phá hơn. Giảm: nhạy hơn với vùng giá ngắn. |
| Khoảng xác nhận phá vỡ | 0,1 ATR | Đòi hỏi giá đóng vượt thêm ngoài biên; tăng giá trị để lọc các cú vượt rất nhỏ. |
| Khoảng phá vỡ tối đa | 1,2 ATR | Không vào nếu giá đã đi quá xa biên. Phải lớn hơn khoảng xác nhận. |
| Khối lượng xác nhận | 1,5 lần trung bình 20 nến | Tăng: đòi hỏi volume mạnh hơn. Nến hiện tại không được tính vào trung bình. |
| Giới hạn biến động | 0,03 = 3% | ATR14 trên nến 15 phút chia giá. Vượt giới hạn thì bỏ qua. |
| Khoảng cắt lỗ | 1,5 ATR | Lấy ATR trước phá vỡ; khoảng SL còn phải đủ để quay về biên vùng. |
| Khoảng cắt lỗ tối đa | 0,02 = 2% giá vào | Vượt thì bỏ tín hiệu, không ép SL lại gần. Đây không phải phần trăm vốn chịu rủi ro. |
| Tỷ lệ chốt lời / cắt lỗ | 2 | TP cách giá vào gấp đôi khoảng SL. Sau chi phí, tỷ lệ vẫn phải đạt ít nhất 1,5. |
Các giá trị ở đây là mặc định của chiến lược hệ thống. Cấu hình hợp đồng có thể khác; thay đổi áp dụng sau khi lưu và cho lượt đánh giá mới. Vị thế đang mở giữ chiến lược sở hữu và kế hoạch SL/TP lúc vào lệnh.
Thuật ngữ dễ hiểu
Đỉnh/đáy vùng: mức cao nhất/thấp nhất của nhóm nến trước đó, không phải đỉnh/đáy toàn thị trường.
ATR: biên độ dao động trung bình, dùng đổi khoảng xác nhận và cắt lỗ thành đơn vị giá.
Volume: khối lượng giao dịch trong nến; không phải số lượng người mua/bán.
Long / Short: vị thế hưởng lợi khi giá tăng / giảm. SL / TP: mức cắt lỗ / chốt lời của kế hoạch.
Phá vỡ giả: giá vượt vùng rồi quay lại. Xác nhận bằng giá đóng và volume giúp lọc điều kiện, nhưng không bảo đảm phá vỡ sẽ tiếp tục.