[TOC]

Trong lĩnh vực giao dịch định lượng, các công cụ giao dịch định lượng đơn giản và dễ sử dụng luôn là một trong những chìa khóa để đạt được sự tăng trưởng tài sản và quản lý rủi ro. Tuy nhiên, khi sự cạnh tranh trên thị trường ngày càng trở nên khốc liệt, các công cụ giao dịch truyền thống không còn đủ sức đáp ứng nhu cầu thay đổi nhanh chóng của thị trường. Để các nhà giao dịch định lượng duy trì lợi thế cạnh tranh của mình trong thế giới tài sản kỹ thuật số đang không ngừng phát triển này, một tính năng chính mới đã được thêm vào ứng dụng di động FMZ: thiết bị đầu cuối giao dịch. Tính năng này không chỉ cải thiện hiệu quả giao dịch của bạn mà còn cho phép bạn sử dụng các plug-in tùy chỉnh để hỗ trợ giao dịch, mang lại sức sống mới cho sự nghiệp giao dịch của bạn.
Trong nền tảng giao dịch định lượng FMZ,Trang tải xuống ỨNG DỤNG di độngBạn có thể tải xuống ỨNG DỤNG di động định lượng FMZ. Sau khi tải xuống và cài đặt, hãy mở ứng dụng di động FMZ và đăng nhập vào tài khoản FMZ của bạn.

Xin lưu ý rằng FMZ Quant được chia thành trang web quốc tế FMZ.COM và trang web trong nước FMZ.CN (hỗ trợ các thị trường khác nhau). Bạn cần chọn trang web tương ứng khi đăng nhập. Các tài khoản trang web khác nhau là độc lập và không phổ biến.
Nền tảng giao dịch định lượng FMZ là một công cụ giao dịch định lượng đóng gói và tập trung các API của các sàn giao dịch lớn. Nó có thể nhanh chóng chuyển đổi giữa các sàn giao dịch khác nhau và dựa vào các chức năng khác nhau của nền tảng FMZ, nó có thể thực hiện thu thập và phân tích dữ liệu, theo dõi dữ liệu thời gian thực, giao dịch được hỗ trợ theo chương trình, giao dịch bán tự động và thủ công cùng các hoạt động khác.
Sau khi đăng nhập vào FMZ Quantitative Mobile APP, bạn có thể thấy chức năng “Trading Terminal” trên giao diện chính. Nhấp vào đó để vào giao diện giao dịch terminal.
Trước khi FMZ ra mắt thiết bị đầu cuối giao dịch APP di động, thiết bị đầu cuối web FMZ đã ra mắt chức năng thiết bị đầu cuối giao dịch. Cả thiết bị đầu cuối giao dịch dựa trên web và thiết bị đầu cuối giao dịch dựa trên APP di động phảiTriển khai ít nhất một ứng dụng lưu trữ。 Vì mọi yêu cầu tương tác thực tế được gửi đến sàn giao dịch đều được thực hiện từ bên giám sát chứ không phải trên ứng dụng di động nên an toàn hơn. Nó cũng tránh được điểm khó khăn khi API KEY bị liên kết với địa chỉ IP và không thể sử dụng được nếu IP của điện thoại di động thay đổi.

1. Giao diện chính của thiết bị đầu cuối giao dịch:
Sau khi mở terminal giao dịch, bạn có thể thấy giao diện chính của terminal giao dịch. Nhấp vào vùng hộp màu đỏ để mở giao diện cấu hình “Người giám hộ”, “Sàn giao dịch” và “Cặp giao dịch”.

2. Khu vực giao dịch:
Khu vực giao dịch hiển thị dữ liệu chiều sâu thị trường; Kiểm soát giao dịch có thể thiết lập giá lệnh, số lượng lệnh, hướng lệnh, đòn bẩy và các cài đặt khác.

Các nhãn ở cuối giao diện chính hiển thị thông tin như “Lệnh”, “Vị thế” và “Tài sản”, cho phép bạn xem nhanh tiền, vị thế và lệnh của mình.
3. Biểu đồ đường K:
Nếu bạn muốn xem biểu đồ nến khi đặt hàng, có một nút điều khiển hiển thị gấp được thiết kế chu đáo ở đây để mở rộng biểu đồ nến mini của sản phẩm hiện tại.

Nếu bạn muốn có diện tích lớn hơn để hiển thị biểu đồ K-line, hiển thị hồ sơ giao dịch thị trường, độ sâu và thông tin khác, bạn có thể nhấp vào biểu tượng K-line này để chuyển đến trang biểu đồ K-line chuyên nghiệp.

Giao diện biểu đồ K-line chuyên nghiệp:

Giao diện biểu đồ K-line chuyên nghiệp cũng có thể được hiển thị theo chiều ngang:

Plugin đầu cuối giao dịch có thể làm được những gì?
Ngôn ngữ lập trình và công cụ nào được sử dụng để phát triển plugin?
Tôi có thể nhận được gì?
Trong cộng đồng FMZ, người dùng đã đưa ra yêu cầu như sau:
Sử dụng js để duyệt tất cả các loại tiền tệ hợp đồng U trên Binance Exchange và mở một vị thế 10u (long) cho mỗi loại tiền tệ. Bạn viết mã này như thế nào?
Kịch bản nhu cầu này thực sự có thể được thực hiện hoàn toàn bằng cách sử dụng plug-in cho thiết bị đầu cuối giao dịch và thiết bị đầu cuối giao dịch này miễn phí để chạy các chiến lược plug-in. So với giao dịch plug-in cho thiết bị đầu cuối giao dịch chiến lược thời gian thực dài hạn thì giao dịch được hỗ trợ chắc chắn là một lựa chọn tốt.
Hãy cùng xem cách thiết kế và triển khai yêu cầu này do người dùng đưa ra.
Đầu tiên, bạn cần tạo một plug-in giao dịch và thêm 3 tham số vào chiến lược plug-in này:

Sau đó bắt đầu viết plug-in:
function main() {
let exName = exchange.GetName()
if (exName != "Futures_Binance") {
return "not support!"
}
let apiBase = "https://fapi.binance.com"
if (isSimulate) {
apiBase = "https://testnet.binancefuture.com"
Log("切换基地址:", apiBase)
}
exchange.SetBase(apiBase)
try {
var obj = JSON.parse(HttpQuery(apiBase + "/fapi/v1/exchangeInfo"))
} catch (e) {
Log(e)
}
let pairs = []
for (var i in obj.symbols) {
if (obj.symbols[i]["status"] !== "TRADING" || obj.symbols[i]["quoteAsset"] !== "USDT") {
continue
}
let = pair = obj.symbols[i]["baseAsset"] + "_" + obj.symbols[i]["quoteAsset"]
pairs.push(pair)
}
let markets = _C(exchange.GetMarkets)
for (var i in pairs) {
// /*
// 这里为了测试,只开仓10个品种,如果要全品种,这段注释内容可以删除
if (i >= 9) {
break
}
// */
let pair = pairs[i]
exchange.SetCurrency(pair)
exchange.SetContractType("swap")
let ticker = exchange.GetTicker()
if (!ticker) {
continue
}
let = amountPrecision = markets[pair + ".swap"]["AmountPrecision"]
exchange.SetDirection("buy")
let amount = _N(qty / ticker.Last, amountPrecision)
if (amount > 0) {
exchange.Buy(-1, amount)
}
Sleep(100)
}
// 获取所有持仓
let pos = exchange.IO("api", "GET", "/fapi/v2/positionRisk")
if (!pos) {
return
}
// 查看持仓
return pos.filter(item => Number(item.positionAmt) != 0)
}
Sau khi plug-in cho thiết bị đầu cuối giao dịch được viết xong, bạn có thể kiểm tra:
Trong thiết bị đầu cuối giao dịch của ỨNG DỤNG di động, hãy nhấp vào nút “…” để mở danh sách plug-in thiết bị đầu cuối giao dịch. Tất cả các plug-in thiết bị đầu cuối giao dịch trong thư viện chiến lược tài khoản FMZ hiện tại sẽ được hiển thị trong danh sách này và bạn có thể chọn chúng để sử dụng.

Sau khi hoàn tất thao tác trên APP di động, chúng tôi sử dụng mã sau để truy vấn dữ liệu lưu trữ trên đĩa mô phỏng Binance:
function main() {
let apiBase = "https://testnet.binancefuture.com"
exchange.SetBase(apiBase)
let pos = exchange.IO("api", "GET", "/fapi/v2/positionRisk")
if (!pos) {
return
}
// 查看持仓
return pos.filter(item => Number(item.positionAmt) != 0)
}
Truy vấn dữ liệu:
[{
"symbol": "ETCUSDT",
"entryPrice": "16.17",
"unRealizedProfit": "0.08567881",
"positionSide": "LONG",
"updateTime": 1698420908103,
"isolated": false,
"breakEvenPrice": "16.176468",
"leverage": "20",
"adlQuantile": 3,
"positionAmt": "0.65",
"markPrice": "16.30181356",
"liquidationPrice": "0",
"maxNotionalValue": "400000",
"marginType": "cross",
"notional": "10.59617881",
"isolatedMargin": "0.00000000",
"isAutoAddMargin": "false",
"isolatedWallet": "0"
}, {
"positionAmt": "105",
"markPrice": "0.09371526",
"liquidationPrice": "0",
"leverage": "20",
"maxNotionalValue": "90000",
"positionSide": "LONG",
"isolatedWallet": "0",
"symbol": "TRXUSDT",
"updateTime": 1698420906668,
"breakEvenPrice": "0.094497784",
"isolatedMargin": "0.00000000",
"isolated": false,
"entryPrice": "0.09446",
"adlQuantile": 1,
"unRealizedProfit": "-0.07819770",
"isAutoAddMargin": "false",
"notional": "9.84010230",
"marginType": "cross"
}, {
"unRealizedProfit": "-0.00974456",
"isAutoAddMargin": "false",
"notional": "9.97449543",
"isolatedWallet": "0.50309216",
"updateTime": 1698420905377,
"markPrice": "67.85371047",
"isolatedMargin": "0.49334760",
"adlQuantile": 2,
"symbol": "LTCUSDT",
"entryPrice": "67.92",
"liquidationPrice": "64.91958163",
"maxNotionalValue": "250000",
"positionSide": "LONG",
"isolated": true,
"positionAmt": "0.147",
"breakEvenPrice": "67.947168",
"leverage": "20",
"marginType": "isolated"
}, {
"liquidationPrice": "1613.23261508",
"marginType": "isolated",
"isolated": true,
"symbol": "ETHUSDT",
"entryPrice": "1784.27",
"markPrice": "1783.35661952",
"isAutoAddMargin": "false",
"positionSide": "LONG",
"notional": "8.91678309",
"leverage": "10",
"maxNotionalValue": "30000000",
"isolatedWallet": "0.89551774",
"adlQuantile": 1,
"positionAmt": "0.005",
"breakEvenPrice": "1784.983708",
"unRealizedProfit": "-0.00456690",
"isolatedMargin": "0.89095084",
"updateTime": 1698420900362
}, {
"positionAmt": "17.1",
"marginType": "cross",
"isolatedWallet": "0",
"adlQuantile": 2,
"liquidationPrice": "0",
"maxNotionalValue": "250000",
"positionSide": "LONG",
"isolated": false,
"symbol": "EOSUSDT",
"breakEvenPrice": "0.6432572",
"updateTime": 1698420904257,
"isolatedMargin": "0.00000000",
"isAutoAddMargin": "false",
"notional": "10.34550000",
"entryPrice": "0.643",
"markPrice": "0.60500000",
"unRealizedProfit": "-0.64980000",
"leverage": "20"
}, {
"isolated": false,
"adlQuantile": 1,
"liquidationPrice": "0",
"maxNotionalValue": "10000000",
"notional": "9.73993328",
"leverage": "20",
"updateTime": 1698420901638,
"symbol": "BCHUSDT",
"entryPrice": "250.0",
"markPrice": "243.49833219",
"isAutoAddMargin": "false",
"positionSide": "LONG",
"positionAmt": "0.040",
"breakEvenPrice": "250.1",
"isolatedMargin": "0.00000000",
"unRealizedProfit": "-0.26006671",
"marginType": "cross",
"isolatedWallet": "0"
}]
Bạn có thể thấy 6 vị trí được mở. Điều này là do khi đặt lệnh, dễ kích hoạt giá giới hạn vì đây là lệnh mô phỏng. Ngoài ra, vì lệnh là 10U nên dễ kích hoạt số tiền đặt lệnh tối thiểu giới hạn của cặp giao dịch. Vì vậy, có một số lệnh Không được đặt thành công cho các cặp giao dịch. Nếu việc sử dụng thực tế đòi hỏi phải xem xét các tình huống thực tế hơn, plug-in này có thể được tối ưu hóa để sử dụng tốt hơn. Mã này chỉ được sử dụng để giảng dạy giao tiếp.
Có rất nhiều plug-in thú vị trong nền tảng giao dịch định lượng FMZ trên thiết bị di động APP, hãy cùng khám phá nhé!
/upload/asset/16b436307a4ce5c246c2.mp4
Chức năng đầu cuối giao dịch mới của ứng dụng di động FMZ sẽ trở thành cánh tay phải của bạn trên thị trường tài sản kỹ thuật số, cho phép bạn phản ứng với những biến động và cơ hội của thị trường linh hoạt hơn. Không còn giới hạn ở các chiến lược giao dịch truyền thống, với các plug-in tùy chỉnh, bạn có thể tạo ra các chiến lược giao dịch thông minh hơn, hiệu quả hơn và thích ứng hơn với thị trường. Hãy cùng bắt đầu chương mới thú vị này về giao dịch định lượng và cải thiện kỹ năng giao dịch cũng như lợi nhuận của bạn.