Một câu tổng quát: khi truy vấn giá cả giao dịch đơn đặt hàng trên trang web wex.app, bạn có thể sử dụng order.Info.detail[0].price để thay thế cho order.AvgPrice.
声明:写本文的目的仅是记录写代码过程中遇到的问题、学习的过程以及解决办法。感谢发明者平台提供了模拟盘wex.app,让我测试了很多策略。在交易方面,我还有很多不了解的内容,欢迎各位朋友指正。
本文使用发明者网站的调试工具,在模拟盘网站wex.app测试买入卖出的市价订单,并查询返回的订单信息。具体结果如下:
Một, thử mua.
(a) Kiểm tra mã
function main (()) {
var account = exchange.GetAccount ();
var preAccount = account;// ghi lại trạng thái tài khoản trước khi mua
Log ((preAccount);
var id = exchange.Buy ((-1, 50);// chi 50 USD để mua BTC theo giá thị trường
Log ((id);
if ((id!=null) {
var order = exchange.GetOrder ((id);
Log ((order);
account = exchange.GetAccount (();// Tìm trạng thái tài khoản sau khi mua
Log ((account);
}
}
(2) Trả lại thông tin
Trước khi mua, thông tin tài khoản preAccount:
{C:$0000FF}
Sau khi mua, thông tin tài khoản:
{C:$0000FF}
Chúng tôi so sánh dữ liệu tài khoản trước và sau khi mua và thấy: Một, số dư tài khoản giảm 50 USD. 2, số tiền (Stocks) tăng 0.00175661 BTC.
order trả về dữ liệu như sau:
{C:$0000FF}
Dựa trên thông tin đặt hàng được trả về từ Wex.app, chúng tôi thấy: 1, đơn đặt hàng đã được thực hiện, trạng thái bằng 1. 2, số tiền giao dịch là 0.00175661, phù hợp với giá trị thay đổi trước và sau tài khoản. 3/ So sánh thông tin đặt hàng lịch sử trên trang web wex.app, thấy: Tổng giao dịch là Info.tx = 49.9623272267 USD Giá trung bình giao dịch là Info.detail[0].price=28442.47 Tổng giao dịch là Info.detail[0].amount=0.00175661 BTC Tổng chi phí là Info.detail[0].fee=0.037471745420025 USD
Giá trung bình giao dịch = tổng giao dịch / tổng giao dịch: 49.9623272267/0.00175661 = 28442.47 Phí thủ tục = tổng phí thủ tục / tổng khối lượng giao dịch 0.037471745420025/49.9623272267 = 0.00075
Một vấn đề là nếu bạn giảm tổng số giao dịch bằng số tiền ủy quyền, thì sự khác biệt sẽ lớn hơn một chút so với tổng chi phí thủ tục: 50-49.9623272267 là 0.0376727733 0.0376727733-0.037471745420025 = 0.0201028 Không biết sai số này đi đâu? Có thể liên quan đến phương pháp tính toán chụp theo yêu cầu. Thông thường, sai số này có thể bị bỏ qua.
Thứ hai, thử và bán.
(a) Kiểm tra mã
function main() {
var account = exchange.GetAccount ();
var preAccount = account;// ghi lại trạng thái tài khoản trước khi bán
Log ((preAccount);
var id = exchange.Sell ((-1, 0.001);// bán 0.001 BTC theo giá thị trường
Log ((id);
if ((id!=null) {
var order = exchange.GetOrder ((id);
Log ((order);
account = exchange.GetAccount (();// Tìm trạng thái tài khoản sau khi bán
Log ((account);
}
}
(2) Trả về thông tin
Trước khi mua, thông tin tài khoản preAccount:
{C:$0000FF}
Sau khi mua, thông tin tài khoản:
{C:$0000FF}
Chúng tôi so sánh dữ liệu tài khoản trước và sau khi mua và thấy: Trong khi đó, số tiền trong tài khoản đã tăng thêm 28.37246468 USD. Số lượng đồng BTC giảm 0,001 BTC.
order trả về dữ liệu như sau:
{C:$0000FF}
Dựa trên thông tin đặt hàng được trả về từ Wex.app, chúng tôi thấy: 1, đơn đặt hàng đã được thực hiện, trạng thái bằng 1. 2, số tiền giao dịch là 0.001, phù hợp với giá trị thay đổi trước và sau tài khoản. 3/ So sánh thông tin đặt hàng lịch sử trên trang web wex.app, thấy: Tổng giao dịch là Info.tx = 28.39376 USD Giá trung bình giao dịch là Info.detail[0].price=28393.76 Số lượng giao dịch là Info.detail[0].amount=0.001 BTC Tổng chi phí là Info.detail[0].fee=0.021295325 USD
Giá trung bình giao dịch = tổng giao dịch / tổng giao dịch: 28.39376/0.0011 = 28.393.76 Phí thủ tục = tổng phí thủ tục / tổng khối lượng giao dịch Và chúng ta có thể làm điều này với 0.021295325/28.39376 = 0.00075
Chúng ta có thể tính phí giao dịch từ một góc độ khác, bằng cách lấy giá trị thay đổi của số dư tài khoản trừ tổng giao dịch: 28.37246468-28.39376- = -0.02129532 Có những sai lầm rất nhỏ, nên là do cắt một số lượng nhỏ nhất định, có thể bị bỏ qua.