Trong ba nhóm thị trường phổ biến của một TradingView Webhook Bot, crypto là nơi dễ bắt đầu nhất. Sàn giao dịch qua internet, khớp lệnh tức thì, API rõ ràng, và có môi trường thử nghiệm để bạn luyện tập mà không mất tiền. Bài viết đi từ việc tạo API key tới đoạn code đặt lệnh hoàn chỉnh.
Vì sao nên bắt đầu với Binance
Có bốn lý do thực tế khiến Binance là điểm khởi đầu hợp lý.
Thứ nhất, thị trường mở 24/7, nên bạn kiểm thử được bất cứ lúc nào, không phải chờ tới giờ giao dịch như chứng khoán.
Thứ hai, khớp lệnh tức thì, nên vòng phản hồi rất nhanh. Bạn đặt lệnh và biết kết quả trong vài trăm mili giây, giúp việc gỡ lỗi nhanh hơn nhiều.
Thứ ba, có môi trường thử nghiệm công khai với API tương tự môi trường thật, cho phép bạn kiểm tra toàn bộ luồng bằng tiền ảo.
Thứ tư, tài liệu API đầy đủ và có nhiều thư viện Python hỗ trợ, nên bạn không phải tự viết phần ký request và xử lý chữ ký.
Ba loại tài khoản và nên chọn cái nào
Trước khi viết dòng code đầu tiên, hãy xác định bạn sẽ giao dịch trên loại tài khoản nào, vì ba loại có API và rủi ro rất khác nhau.
Giao ngay là mua bán tài sản thật. Bạn không dùng đòn bẩy, không có phí vay, và không thể mất nhiều hơn số tiền đã bỏ vào. Đây là lựa chọn nên dùng cho người mới.
Hợp đồng tương lai cho phép dùng đòn bẩy và bán trước khi có tài sản. Rủi ro cao hơn hẳn vì có thanh lý, và bạn phải hiểu rõ về ký quỹ, chế độ vị thế và phí vay.
Tài khoản thử nghiệm mô phỏng cả hai môi trường trên. Đây là nơi bạn nên chạy mọi thứ lần đầu, kể cả khi cuối cùng bạn định giao dịch giao ngay thật.
| Loại tài khoản | Đòn bẩy | Rủi ro | Phù hợp với |
|---|---|---|---|
| Giao ngay | Không | Thấp nhất | người mới, bot đầu tiên |
| Hợp đồng tương lai | Có | Cao | chiến lược đã kiểm thử kỹ |
| Thử nghiệm | Mô phỏng | Không mất tiền | kiểm thử luồng và code |
Tạo API key đúng cách
Đây là bước có ảnh hưởng bảo mật lớn nhất trong toàn bộ hệ thống, và cũng là bước bị làm ẩu nhiều nhất.
Nguyên tắc thứ nhất: chỉ bật quyền giao dịch, tuyệt đối không bật quyền rút tiền. Không có lý do hợp lệ nào để một bot đặt lệnh cần quyền rút tiền.
Nguyên tắc thứ hai: giới hạn địa chỉ IP được dùng khoá. Nếu sàn hỗ trợ, hãy nhập địa chỉ IP của VPS. Nhờ vậy, kể cả khoá bị lộ, kẻ khác cũng không dùng được từ máy khác.
Nguyên tắc thứ ba: coi khoá như mật khẩu. Không dán vào chat, không chụp màn hình, không để trong mã nguồn, không để trong tệp được commit lên kho mã. Hãy để trong biến môi trường.
Nguyên tắc thứ tư: có quy trình xoay khoá. Khi đổi VPS, đổi nhà cung cấp, hoặc nghi ngờ lộ khoá, hãy tạo khoá mới, cập nhật cấu hình, kiểm tra bot chạy được, rồi xoá khoá cũ.
Tính khối lượng: phần dễ sai nhất
Đây là phần gây lỗi nhiều nhất khi nối bot với bất kỳ sàn nào, và Binance có ba ràng buộc bạn phải tôn trọng.
Ràng buộc thứ nhất là bước khối lượng. Mỗi cặp có một bước nhỏ nhất, ví dụ 0,00001 với BTC hoặc 0,001 với một coin giá thấp. Khối lượng bạn gửi phải là bội số của bước này. Nếu không, sàn từ chối lệnh.
Ràng buộc thứ hai là giá trị lệnh tối thiểu. Sàn yêu cầu mỗi lệnh có giá trị tính theo đơn vị tiền định giá đạt mức tối thiểu. Nếu số dư nhỏ, lệnh của bạn có thể không đạt mức này.
Ràng buộc thứ ba là khối lượng tối thiểu và tối đa. Khối lượng tối thiểu thường trùng với một bước, nhưng khối lượng tối đa thì có thể chặn bạn nếu bạn muốn đặt lệnh lớn.
Cách xử lý đúng gồm bốn bước. Một, tải thông tin thị trường một lần và lưu lại. Hai, tính giá trị lệnh mong muốn từ số dư và tỉ lệ phân bổ. Ba, chia cho giá để ra khối lượng thô, rồi làm tròn xuống theo bước. Bốn, kiểm tra giá trị sau khi làm tròn có đạt mức tối thiểu không, nếu không thì bỏ qua lệnh và ghi log.
Bảng ràng buộc cần kiểm tra:
| Ràng buộc | Ý nghĩa | Nếu vi phạm |
|---|---|---|
| Bước khối lượng | đơn vị nhỏ nhất có thể đặt | lệnh bị từ chối |
| Khối lượng tối thiểu | mức nhỏ nhất cho một lệnh | lệnh bị từ chối |
| Khối lượng tối đa | mức lớn nhất cho một lệnh | lệnh bị từ chối |
| Giá trị lệnh tối thiểu | giá nhân khối lượng | lệnh bị từ chối |
| Bước giá | đơn vị nhỏ nhất của giá | lệnh limit bị từ chối |
Chọn kiểu lệnh: market hay limit
Hai kiểu lệnh này phục vụ hai mục đích khác nhau, và việc chọn sai ảnh hưởng trực tiếp tới kết quả.
Lệnh market khớp ngay ở giá tốt nhất hiện có. Ưu điểm là chắc chắn khớp, nhược điểm là bạn không kiểm soát được giá khớp, và trong thị trường biến động mạnh, giá khớp có thể lệch đáng kể so với giá bạn thấy trên chart.
Lệnh limit chỉ khớp ở mức giá bạn đặt hoặc tốt hơn. Ưu điểm là kiểm soát được giá, nhược điểm là có thể không khớp, và lệnh sẽ nằm chờ cho tới khi bạn huỷ.
Với bot nhận tín hiệu từ TradingView, lệnh market thường là lựa chọn đúng, vì tín hiệu đã được xác nhận khi nến đóng và bạn cần vào vị thế ngay. Chỉ dùng lệnh limit khi chiến lược của bạn thực sự muốn chờ giá tốt hơn, ví dụ khi vào lệnh tại các mức hồi.
Một điểm cần chú ý là khi dùng lệnh limit, bot phải có cơ chế huỷ lệnh chưa khớp sau một khoảng thời gian, nếu không bạn sẽ có những lệnh treo vô thời hạn và không biết tổng rủi ro thực tế là bao nhiêu.
Kèm dừng lỗ và chốt lời
Một vị thế không có dừng lỗ là một vị thế không có giới hạn rủi ro. Vì vậy hãy coi việc đặt dừng lỗ là phần bắt buộc, không phải tuỳ chọn.
Với giao ngay, bạn có thể đặt thêm các lệnh kèm điều kiện sau khi lệnh chính đã khớp. Cách này cần một bước nữa: sau khi khớp, đọc khối lượng đã khớp thực tế, rồi mới đặt lệnh dừng và lệnh chốt lời theo đúng khối lượng đó.
Với hợp đồng tương lai, bạn có thể đặt dừng lỗ ngay khi gửi lệnh, hoặc đặt ngay sau khi khớp. Điểm quan trọng là phải kiểm tra lại rằng lệnh dừng đã được đặt thành công, vì nếu bước này thất bại, bạn đang giữ một vị thế trần không bảo vệ.
Ba nguyên tắc khi đặt dừng lỗ cho bot. Một, khoảng cách dừng lỗ nên đến từ chiến lược, không phải một con số cố định cho mọi cặp. Hai, giá dừng lỗ phải làm tròn theo bước giá của cặp. Ba, phải có kiểm tra lại sau khi đặt, và cảnh báo nếu việc đặt dừng lỗ thất bại.
Quản lý khối lượng theo rủi ro
Cách phân bổ khối lượng quyết định mức độ an toàn của bot hơn cả phần logic tín hiệu.
Cách đơn giản nhất là chia đều số dư cho số lệnh tối đa bạn cho phép. Cách này dễ hiểu và khó sai, phù hợp cho bot đầu tiên.
Cách tốt hơn là phân bổ theo rủi ro cố định trên mỗi lệnh. Bạn xác định số tiền chấp nhận mất nếu lệnh chạm dừng lỗ, ví dụ một phần trăm số dư, rồi tính khối lượng sao cho khi giá đi từ điểm vào tới dừng lỗ thì bạn mất đúng số tiền đó.
Cách thứ ba là phân bổ theo biến động. Cặp biến động mạnh nhận khối lượng nhỏ hơn, cặp biến động yếu nhận khối lượng lớn hơn, nhờ đó mức rủi ro tính theo tiền gần như tương đương giữa các cặp.
Bất kể chọn cách nào, hãy luôn có ba giới hạn cứng trong cấu hình: khối lượng tối đa cho mỗi lệnh, số lệnh mở tối đa cho mỗi mã, và tỉ lệ vốn tối đa được dùng đồng thời. Ba giới hạn này là lá chắn cuối cùng khi logic tính toán gặp lỗi.
Xử lý mã lỗi thường gặp từ Binance
Khi bot gặp lỗi, thông điệp từ sàn là nguồn thông tin chính xác nhất. Bảng dưới đây liệt kê những nhóm lỗi hay gặp và cách phản ứng.
| Nhóm lỗi | Nguyên nhân thường gặp | Cách phản ứng |
|---|---|---|
| Sai bước khối lượng | khối lượng không phải bội số của bước | làm tròn xuống rồi gửi lại |
| Giá trị lệnh quá nhỏ | số dư hoặc tỉ lệ phân bổ thấp | bỏ qua lệnh, ghi log |
| Số dư không đủ | vốn đã dùng cho lệnh khác | bỏ qua, không thử lại liên tục |
| Sai định dạng mã cặp | lẫn giao ngay và hợp đồng tương lai | chuẩn hoá mã cặp |
| Khoá không hợp lệ | hết quyền hoặc sai môi trường | cảnh báo ngay, dừng nhận tín hiệu |
| Vượt giới hạn tần suất | gọi API quá nhiều | chờ và thử lại, giảm số lần gọi |
| Lệnh không tồn tại | cố huỷ lệnh đã khớp hoặc đã huỷ | bỏ qua, đồng bộ lại trạng thái |
Nguyên tắc chung khi xử lý lỗi là phân biệt hai loại. Loại lỗi do dữ liệu sai thì không nên thử lại, vì thử lại với cùng dữ liệu sẽ cho cùng kết quả. Loại lỗi do mạng hoặc do tạm thời thì nên thử lại, nhưng có giới hạn số lần và có khoảng chờ tăng dần.
Ví dụ code đặt lệnh bằng ccxt
Đoạn dưới đây minh hoạ luồng xử lý một tín hiệu mua với số tiền định sẵn. Code thật cần thêm phần đọc cấu hình và ghi log.
import os
import ccxt
exchange = ccxt.binance({
"apiKey": os.environ["BINANCE_KEY"],
"secret": os.environ["BINANCE_SECRET"],
"enableRateLimit": True,
"options": {"defaultType": "spot"},
})
def market_buy_by_quote(symbol: str, quote_amount: float) -> dict | None:
exchange.load_markets()
market = exchange.market(symbol)
price = exchange.fetch_ticker(symbol)["last"]
raw_amount = quote_amount / price
amount = float(exchange.amount_to_precision(symbol, raw_amount))
if amount < market["limits"]["amount"]["min"]:
print(f"BO QUA {symbol}: khoi luong duoi muc toi thieu")
return None
if amount * price < market["limits"]["cost"]["min"]:
print(f"BO QUA {symbol}: gia tri lenh duoi muc toi thieu")
return None
order = exchange.create_market_buy_order(symbol, amount)
print(f"DA DAT {symbol} amount={amount} id={order['id']}")
return order
Bốn điểm cần chú ý. Một là thông tin thị trường được tải để lấy ràng buộc khối lượng và giá trị tối thiểu. Hai là khối lượng được làm tròn bằng chính thư viện theo bước của sàn, thay vì tự làm tròn bằng tay. Ba là hai bước kiểm tra trước khi gửi giúp bạn tránh lỗi từ chối không cần thiết. Bốn là bật giới hạn tần suất để thư viện tự điều tiết nhịp gọi API.
Kiểm thử trên môi trường thử nghiệm
Kiểm thử trên môi trường thử nghiệm là bước bắt buộc trước khi dùng tiền thật. Ba việc nên làm.
Việc thứ nhất là kiểm tra luồng đầu cuối. Tạo alert thật trỏ tới server thật, nhưng server trỏ vào môi trường thử nghiệm. Xác nhận lệnh xuất hiện trong lịch sử của môi trường thử nghiệm.
Việc thứ hai là kiểm tra các trường hợp biên. Gửi payload thiếu trường, gửi khoá bí mật sai, gửi khối lượng quá nhỏ, gửi cùng một mã tín hiệu hai lần. Xác nhận bot xử lý đúng trong cả bốn tình huống.
Việc thứ ba là kiểm tra độ trễ. Đo thời gian từ lúc nhận payload tới lúc lệnh được xác nhận. Con số này giúp bạn biết chiến lược của mình có phù hợp hay không, và giúp phát hiện sớm vấn đề về vị trí máy chủ.
Một lưu ý là môi trường thử nghiệm có thanh khoản khác với môi trường thật, nên giá khớp và trượt giá không giống. Đừng dùng số liệu lãi lỗ trên thử nghiệm để đánh giá chiến lược, chỉ dùng nó để kiểm tra code.
Bảo mật và vận hành
Bốn việc cần làm để hệ thống chạy an toàn lâu dài.
Thứ nhất là tách khoá giữa môi trường thử nghiệm và môi trường thật, và có cờ cấu hình để chuyển đổi rõ ràng. Điều tệ nhất có thể xảy ra là bạn tưởng đang chạy thử nhưng thực tế đang dùng tiền thật.
Thứ hai là có cảnh báo khi lệnh bị từ chối. Nếu bạn chỉ đọc log khi rảnh, một lỗi khoá có thể khiến bot ngừng đặt lệnh cả ngày mà bạn không biết.
Thứ ba là đối chiếu cuối ngày giữa vị thế thực tế trên sàn và trạng thái bot tin rằng nó đang giữ. Sai lệch giữa hai bên là dấu hiệu sớm của lỗi nghiêm trọng.
Thứ tư là ghi lại mọi lần thay đổi cấu hình, kèm lý do. Khi kết quả giao dịch thay đổi, lịch sử này giúp bạn tìm ra nguyên nhân nhanh hơn nhiều so với việc đoán.
Checklist trước khi chạy tiền thật trên Binance
- API key chỉ bật quyền giao dịch, không bật quyền rút tiền.
- Đã giới hạn IP được dùng khoá.
- Khoá đọc từ biến môi trường, không có trong mã nguồn và không có trong log.
- Đã kiểm tra ràng buộc bước khối lượng, khối lượng tối thiểu và giá trị lệnh tối thiểu.
- Mọi vị thế đều có dừng lỗ, và bot kiểm tra lại rằng lệnh dừng đã được đặt.
- Có giới hạn khối lượng tối đa, số lệnh mở tối đa và tỉ lệ vốn đồng thời.
- Có cơ chế chống trùng theo mã tín hiệu.
- Lỗi bị từ chối lệnh được gửi cảnh báo ngay.
- Đã chạy trên môi trường thử nghiệm với đầy đủ bốn trường hợp biên.
- Có cách đóng toàn bộ vị thế bằng một lệnh khi cần xử lý sự cố.
- Đã ghi lại khối lượng khởi điểm nhỏ, ví dụ một phần trăm số dư, và kế hoạch tăng dần.
Chi phí giao dịch: khoản ăn mòn lợi nhuận thầm lặng
Một bot đặt lệnh chính xác vẫn có thể lỗ nếu chiến lược giao dịch quá nhiều lần. Đây là điều người mới thường bỏ qua khi đánh giá kết quả.
Ba loại chi phí cần tính vào mọi phép tính lợi nhuận. Thứ nhất là phí giao dịch, tính theo tỉ lệ phần trăm giá trị lệnh, và có thể giảm nếu bạn dùng cách trả phí bằng tài sản hoặc đạt mức khối lượng cao hơn. Thứ hai là trượt giá, tức chênh lệch giữa giá bạn mong đợi và giá thực tế khớp. Trượt giá lớn khi đặt lệnh market trong thị trường biến động mạnh. Thứ ba là chênh lệch giá mua bán, tức khoảng cách giữa giá tốt nhất bên mua và giá tốt nhất bên bán, đây là chi phí ẩn trong mọi lệnh market.
Cách đánh giá đúng là nhân số lệnh mỗi tháng với tổng chi phí trên mỗi lệnh, rồi so với lợi nhuận kỳ vọng. Nếu chiến lược của bạn có lợi nhuận kỳ vọng hai phần trăm mỗi lệnh nhưng tổng chi phí là một phần trăm, bạn đang mất một nửa lợi nhuận cho sàn và cho việc khớp lệnh.
Ba cách giảm chi phí mà không đổi chiến lược. Một là tăng khung thời gian, vì giao dịch khung giờ có ít lệnh hơn nhiều so với khung phút. Hai là dùng lệnh limit ở những chiến lược không cần vào lệnh ngay, vì lệnh limit có thể được hưởng mức phí tốt hơn và tránh chênh lệch giá. Ba là lọc tín hiệu, chỉ nhận những tín hiệu có xác suất cao hơn thay vì nhận mọi tín hiệu script phát ra.
Chạy nhiều chiến lược trên cùng một tài khoản
Khi đã có một bot chạy ổn, nhu cầu tự nhiên là thêm chiến lược thứ hai, thứ ba. Lúc đó cách tổ chức quyết định việc bạn có kiểm soát được tổng rủi ro hay không.
Nguyên tắc thứ nhất là mọi tín hiệu phải mang theo tên chiến lược. Nhờ vậy bot biết tín hiệu nào thuộc chiến lược nào, và có thể áp dụng cấu hình riêng về khối lượng, số lệnh tối đa và chế độ bật tắt.
Nguyên tắc thứ hai là mỗi chiến lược có hạn mức vốn riêng. Ví dụ chiến lược theo xu hướng được dùng tối đa ba mươi phần trăm vốn, chiến lược đảo chiều dùng tối đa hai mươi phần trăm. Cách này tránh việc một chiến lược tốt hút hết vốn và làm các chiến lược khác không vào được lệnh.
Nguyên tắc thứ ba là rủi ro tổng phải được tính trên toàn bộ danh mục, không phải từng lệnh riêng lẻ. Nếu ba chiến lược cùng mở lệnh mua trên những cặp tương quan chặt với nhau, bạn đang gánh một rủi ro lớn hơn nhiều so với vẻ ngoài của từng lệnh.
Nguyên tắc thứ tư là có cách tắt riêng từng chiến lược. Khi một chiến lược bắt đầu có dấu hiệu hoạt động kém, bạn cần tắt nó trong vài giây bằng cấu hình, không phải sửa code và triển khai lại.
Một chi tiết nhỏ nhưng hữu ích: hãy hiển thị trên báo cáo cuối ngày kết quả tách theo từng chiến lược. Nếu gộp chung, bạn sẽ không biết chiến lược nào đang kéo hiệu quả xuống.
Khi nào nên tạm dừng bot
Biết khi nào nên dừng bot cũng quan trọng như biết khi nào nên chạy.
Bốn tình huống nên tạm dừng. Thứ nhất là khi có sự kiện lớn có thể gây biến động cực mạnh mà chiến lược chưa từng được kiểm thử trong điều kiện đó. Thứ hai là khi tỉ lệ lệnh bị từ chối tăng đột biến, vì đó là dấu hiệu cấu hình hoặc thông số sàn đã thay đổi. Thứ ba là khi số vị thế đang mở chạm giới hạn liên tục trong vài ngày, vì rủi ro đang cao hơn thiết kế. Thứ tư là khi bạn không có thời gian theo dõi báo cáo hằng ngày, vì bot không nên chạy trong trạng thái không có người giám sát.
Cách tạm dừng an toàn gồm ba bước. Một là chặn nhận tín hiệu mới mà không tắt server, để không mất log và không ảnh hưởng tới các chiến lược khác. Hai là quyết định rõ các vị thế đang mở sẽ được giữ, đóng, hay đặt dừng lỗ chặt hơn. Ba là ghi lại lý do tạm dừng và điều kiện để bật lại, để sau này bạn biết vì sao khoảng thời gian đó bot không giao dịch.
Bốn câu hỏi cần trả lời trước khi tự động hoá
Trước khi để bot đặt lệnh bằng tiền thật, hãy tự trả lời bốn câu hỏi này. Nếu còn câu nào chưa trả lời được, bạn chưa sẵn sàng.
Câu thứ nhất: chiến lược này đã được kiểm thử bao nhiêu lệnh, và trong những điều kiện thị trường nào. Một chiến lược chỉ được kiểm thử trong thị trường đi ngang sẽ hành xử rất khác khi thị trường có xu hướng mạnh.
Câu thứ hai: nếu bot chạy sai và mở lệnh gấp mười lần dự kiến, khoản lỗ lớn nhất là bao nhiêu. Con số này phải nằm trong mức bạn chấp nhận được, và phải có giới hạn cứng trong cấu hình để đảm bảo nó không vượt mức đó.
Câu thứ ba: khi bạn ngủ, ai giám sát. Bot giao dịch 24/7 nhưng con người thì không. Hãy chắc chắn có cảnh báo tự động gửi tới kênh bạn đọc được ngay cả khi vừa thức dậy, và có cách xử lý cho những tình huống nghiêm trọng nhất.
Câu thứ tư: bạn sẽ đánh giá kết quả trong bao lâu trước khi kết luận bot hiệu quả hay không. Đánh giá sau vài ngày là quá sớm và dễ dẫn tới việc tắt bot đúng lúc nó cần thời gian, hoặc chạy tiếp một chiến lược đã hỏng.
Kết luận
Nối webhook TradingView sang Binance là bài tập tốt nhất để học cách xây một bot giao dịch thật, vì mọi thứ đều rõ ràng và phản hồi nhanh. Ba thứ cần làm đúng là tạo API key an toàn, tính khối lượng theo đúng ràng buộc của sàn, và bảo đảm mọi vị thế đều có dừng lỗ.
Khi bot đã chạy ổn trên crypto, việc mở rộng sang forex qua MT5 hoặc sang chứng khoán Việt Nam chủ yếu là viết thêm module thực thi, vì phần nhận webhook và quản lý tín hiệu dùng lại được.
Nếu bạn muốn nối webhook TradingView vào Binance, MT5 và chứng khoán Việt Nam trong một lộ trình có hướng dẫn từng buổi, hãy xem Bootcamp TradingView Webhook Bot của Hướng Nghiệp AI. Khoá có bản ghi từng buổi và tặng kèm một buổi 1-1 để rà lại bot của bạn.
Đọc tiếp trong chuỗi: TradingView Webhook Bot là gì, nhận webhook TradingView bằng Python, webhook TradingView sang MT5 và bảo mật webhook TradingView.
Câu hỏi thường gặp
Nên dùng giao ngay hay hợp đồng tương lai cho bot?
Người mới nên bắt đầu với giao ngay vì không có đòn bẩy, không có phí vay và không bị thanh lý. Hợp đồng tương lai phù hợp khi bạn đã hiểu rõ về ký quỹ, đòn bẩy và chế độ vị thế. Nếu chưa từng đặt lệnh có đòn bẩy, hãy chạy bot giao ngay trước rồi mới mở rộng.
Vì sao lệnh bị từ chối vì giá trị quá nhỏ?
Binance quy định giá trị tối thiểu cho mỗi lệnh, tính bằng giá nhân khối lượng. Nếu số dư của bạn nhỏ hoặc tỉ lệ phân bổ mỗi lệnh quá thấp, lệnh sẽ không đạt mức tối thiểu. Cách xử lý là kiểm tra giá trị lệnh trước khi gửi, và nếu chưa đạt thì bỏ qua kèm log rõ ràng thay vì cố gửi.
Testnet của Binance có dùng được với webhook TradingView không?
Dùng được. Bạn cấu hình server trỏ vào địa chỉ thử nghiệm và dùng API key của môi trường thử nghiệm, còn TradingView vẫn gửi webhook bình thường. Cách này cho phép bạn kiểm tra toàn bộ luồng mà không dùng tiền thật, nhưng cần lưu ý là thanh khoản và hành vi khớp lệnh trên thử nghiệm không giống hoàn toàn với thật.
Có nên đặt chốt lời và dừng lỗ ngay khi mở lệnh không?
Nên, vì đó là cách đảm bảo mọi vị thế đều có bảo vệ. Với giao ngay, bạn có thể đặt thêm lệnh dừng và lệnh chốt lời kèm điều kiện. Với hợp đồng tương lai, bạn nên đặt dừng lỗ ngay sau khi khớp, và luôn kiểm tra lại rằng lệnh dừng đã thực sự được đặt thành công.
Bao lâu Binance cho phép gọi API một lần?
Binance tính theo trọng số trong khoảng thời gian, không phải số lần gọi cố định, và mỗi loại lệnh có trọng số khác nhau. Với bot cá nhân vài lệnh mỗi ngày thì gần như không bao giờ chạm giới hạn. Cách phòng ngừa là tải thông tin thị trường một lần rồi lưu lại, và không gọi lại những API không cần thiết trong mỗi tín hiệu.
Làm sao tránh bot đặt lệnh hai lần khi TradingView gửi lặp?
Dùng mã tín hiệu trong payload làm khoá duy nhất, lưu lại cùng thời gian sống, và bỏ qua mọi payload trùng khoá. Kết hợp thêm một bước kiểm tra trạng thái vị thế hiện có trước khi mở lệnh mới, để phòng trường hợp bot khởi động lại và mất bộ nhớ chống trùng.
