Giao diện API mở rộng của FMZ Quant Trading Platform
Thêm các tham số truy vấn (loại biệt bởi?
) của yêu cầu ngay sau khihttps://www.fmz.com/api/v1
Sau đây là các tham số yêu cầu được thể hiện bằng cách sử dụngPython
:
{
"version" : "1.0",
"access_key": "xxx",
"method" : "GetNodeList",
"args" : [],
"nonce" : 1516292399361,
"sign" : "085b63456c93hfb243a757366600f9c2"
}
Vùng đất | Hướng dẫn |
---|---|
phiên bản | Số phiên bản. |
access_key | AccessKey, xin nó trên trang quản lý tài khoản. |
phương pháp | Phương pháp gọi cụ thể. |
args | Danh sách tham số của phương thức cụ thể được gọi. |
nonce | Mẫu thời gian, bằng millisecond, cho phép một lỗi 1 giờ từ dấu thời gian tiêu chuẩn. Nonce phải lớn hơn giá trị nonce của lần truy cập cuối cùng. |
ký hiệu | Signature. |
Mỗi tên tham số được tách bởi ký tự&
, và các tên và giá trị tham số được kết nối với biểu tượng=
. URL yêu cầu đầy đủmethod=GetNodeList
ví dụ:
https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
Lưu ý rằng không cósecret_key
tham số trong số các tham số yêu cầu.
Phương pháp ký hiệu
Cácsign
tham số trong tham số yêu cầu được mã hóa như sau, theo định dạng:
version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
Sau khi kết nối chuỗi, sử dụngMD5
thuật toán mã hóa để mã hóa chuỗi và chuyển đổi nó thành một giá trị chuỗi dữ liệu thập phân, được gọi là giá trị của tham sốsign
Đối với phần chữ ký, hãy tham khảoPython
giao diện API mở rộng mãPhương pháp xác minh :
# Parameter
d = {
'version': '1.0',
'access_key': accessKey,
'method': method,
'args': json.dumps(list(args)),
'nonce': int(time.time() * 1000),
}
# Calculate "sign" signature
d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
Lỗi dịch vụ giao diện:
{
"code":0,
"data":{
"result":null,
"error":"Params length incorrect"
}
}
CácGetNodeList
phương pháp được sử dụng để có được danh sách các dockers
theo tài khoản nền tảng giao dịch lượng tử FMZ tương ứng vớiAPI KEY
trong yêu cầu.
{
"code": 0,
"data": {
"result": {
"all": 1,
"nodes": [{
"build": "3.7",
"city": "...",
"created": "2024-11-08 09:21:08",
"date": "2024-11-08 16:37:16",
"forward": "...",
"guid": "...",
"host": "node.fmz.com:9902",
"id": 123,
"ip": "...",
"is_owner": true,
"loaded": 0,
"name": "MacBook-Pro-2.local",
"online": true,
"os": "darwin/amd64",
"peer": "...",
"public": 0,
"region": "...",
"tunnel": false,
"version": "...",
"wd": 0
}]
},
"error": null
}
}
Mô tả các trường giá trị trả về (ý nghĩa theo nghĩa đen là hiển nhiên và sẽ không được lặp lại):
ecs_
vàunit_
, ghi lại các thông tin liên quan của máy chủ docker triển khai một nhấp chuột (tên nhà điều hành, cấu hình, trạng thái, vv), chu kỳ thanh toán, giá và các thông tin khác, sẽ không được lặp lại ở đây.Không có tham số
GetRobotGroupList()
trả về danh sách nhóm giao dịch trực tiếp
của tài khoản FMZ Quant Trading Platform tương ứngAPI KEY
trong yêu cầu.
{
"code": 0,
"data": {
"result": {
"items": [{
"id": 3417,
"name": "Test"
}, {
"id": 3608,
"name": "Live trading demo"
}]
},
"error": null
}
}
items
trường chỉ ghi lại các nhóm mới được tạo.items
.Không có tham số
GetPlatformList()
trả về danh sách các sàn giao dịch có
đã được thêm bởi các tài khoản FMZ Quant Trading Platform tương ứng
đếnAPI KEY
trong yêu cầu.
{
"code": 0,
"data": {
"result": {
"all": 2,
"platforms": [{
"category": "加密货币||Crypto",
"date": "2023-12-07 13:44:52",
"eid": "Binance",
"id": 123,
"label": "Binance",
"logo": "...",
"name": "币安现货|Binance",
"stocks": ["BTC_USDT", "LTC_USDT", "ETH_USDT", "ETC_USDT", "BTC_TUSD", "ETH_TUSD", "BNB_TUSD"],
"website": "..."
}, {
"category": "通用协议|Custom Protocol",
"date": "2020-11-09 11:23:48",
"eid": "Exchange",
"id": 123,
"label": "XX Exchange REST Protocol",
"logo": "...",
"name": "通用协议|Custom Protocol",
"stocks": ["BTC_USDT", "ETH_USDT"],
"website": ""
}]
},
"error": null
}
}
eid
sẽ được sử dụng trong một số cấu hình và tham số.Không có tham số
CácGetRobotList
phương pháp được sử dụng để có được danh sách của trực tiếp
giao dịch theo tài khoản nền tảng giao dịch FMZ Quant
tương ứng vớiAPI KEY
trong yêu cầu.
{
"code": 0,
"data": {
"result": {
"all": 1,
"concurrent": 0,
"robots": [{
"charge_time": 1731654846,
"date": "2024-11-12 14:05:29",
"end_time": "2024-11-15 14:56:32",
"fixed_id": 4509153,
"id": 591026,
"is_sandbox": 0,
"name": "test",
"node_guid": "45891bcf3d57f99b08a43dff76ee1ea1",
"node_id": 4519153,
"node_public": 0,
"profit": 0,
"public": 0,
"refresh": 1731651257000,
"start_time": "2024-11-15 14:56:30",
"status": 3,
"strategy_id": 411670,
"strategy_isowner": true,
"strategy_language": 0,
"strategy_name": "test",
"strategy_public": 0,
"uid": "105ed6e511cc977921610fdbb7e2a1d6",
"wd": 0
}]
},
"error": null
}
}
group_id
field.Cài đặt chuyển hướng truy vấn.
bù đắp
sai
số
Cài đặt chiều dài truy vấn tìm kiếm.
chiều dài
sai
số
Xác định trạng thái giao dịch trực tiếp được truy vấn, tham khảo giao diện API mở rộngMã giao dịch trực tiếp, vượt qua-1
để có được tất cả các giao dịch trực tiếp.
robotStatus
sai
số
Xác định nhãn tùy chỉnh của giao dịch trực tiếp mà bạn muốn truy vấn, và bạn có thể lọc tất cả các giao dịch trực tiếp của nhãn này.
nhãn
sai
chuỗi
Tìm kiếm từ khóa.
keyWord
sai
chuỗi
Hãy lấyPython
giao diện API mở rộng của languageprint(api('GetRobotList'))
Nhận tất cả thông tin giao dịch trực tiếp.print(api('GetRobotList', 'member2'))
: in thông tin của tất cả các giao dịch trực tiếp với thành viên nhãn tùy chỉnh2.print(api('GetRobotList', 0, 5, -1, 'member2'))
: các trang từ 0 đến 5 và liệt kê tối đa 5 robot được dán nhãn với member2.
CácCommandRobot
phương pháp được sử dụng để gửi một tương tác
lệnh giao dịch trực tiếp theo nền tảng giao dịch lượng tử FMZ
tài khoản tương ứng vớiAPI KEY
trong yêu cầu.
của giao dịch trực tiếp nhận lệnh tương tác là trực tiếp
ID giao dịch được chỉ định bởirobotId
tham số, và
lệnh tương tác được trả về bởiGetCommand()
chức năng
gọi trong chiến lược để bắt nó.
{
"code":0,
"data":{
"result":true,
"error":null
}
}
Các thông sốrobotId
được sử dụng để xác định ID của
giao dịch trực tiếp nhận lệnh tương tác. bạn có thể sử dụng
cácGetRobotList
phương pháp để có được thông tin của cuộc sống
giao dịch dưới tài khoản, chứa ID giao dịch trực tiếp.
robotId
đúng
số
Các thông sốcmd
là lệnh tương tác được gửi đến bot; lệnh sẽ được chụp bởi hàmGetCommand()
, kích hoạt logic tương tác trong chiến lược.GetCommand()
chức năng trongFMZ Quant Trading Platform API Manual.
cmd đúng chuỗi
Chiến lược giao dịch trực tiếp, giả sử rằng chiến lược này đang hoạt động, ID giao dịch trực tiếp là 123:
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
Nếu chúng ta sử dụng kịch bản thử nghiệm Python trong chương này, truy cập vào API mở rộng của nền tảng giao dịch lượng tử FMZ:api("CommandRobot", 123, "test command")
. Giao dịch trực tiếp với ID 123 sẽ nhận được lệnh tương tác:test command
, và sau đó in nó ra thông qua đầu ra hàm Log.
StopRobot(RobotId)
được sử dụng để yêu cầuAPI KEY
tương ứng với giao dịch trực tiếp của FMZ Quant Trading
Tài khoản nền tảng. ID giao dịch trực tiếp để ngừng chạy là
ID giao dịch được chỉ định bởirobotId
parameter.
{
"code":0,
"data":{
"result":2,
"error":null
}
}
Các thông sốrobotId
được sử dụng để xác định ID của
giao dịch trực tiếp để được dừng lại.GetRobotList
phương pháp để có được thông tin về giao dịch trực tiếp theo
tài khoản, chứa ID giao dịch trực tiếp.
robotId đúng số
CácRestartRobot
phương pháp được sử dụng để khởi động lại giao dịch trực tiếp theoAPI KEY
ID của giao dịch trực tiếp được khởi động lại là ID giao dịch trực tiếp được chỉ định bởirobotId
parameter.
{
"code":0,
"data":{
"result":1,
"error":null
}
}
CácrobotId
tham số được sử dụng để chỉ định Id của
giao dịch trực tiếp để được khởi động lại.GetRobotList
phương pháp để có được thông tin về giao dịch trực tiếp theo
tài khoản, chứa ID giao dịch trực tiếp.
robotId
đúng
số
Các thông số cấu hình giao dịch trực tiếp, các thông sốsettings
định dạng như sau:
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123},
{"pair":"ETH_USDT","pid":456}
],
"name":"test",
"node":123,
"period":60,
"strategy":123
}
Interval
, và bạn muốn thiết lậpInterval
đến 500 khi khởi động lại chiến lược, sau đóargs
chứa:["Interval", 500]
, đó là:"args": [["Interval", 500]]
.pid
cấu hình:{"pair":"SOL_USDT","pid":123}
; pid
có thể được truy vấn thông quaGetPlatformList
giao diện, vàid
trường trong dữ liệu được trả về là trao đổipid
.eid
cấu hình:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}
; thông tin nhạy cảm như:API KEY
không được lưu trữ bởi nền tảng giao dịch FMZ Quant, và các dữ liệu này được chuyển tiếp trực tiếp đến chương trình docker. Nếu sử dụng kiểu cấu hình này, thông tin phải được cấu hình mỗi khi một giao dịch trực tiếp được tạo hoặc khởi động lại.{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}
.
label
thuộc tính là để thiết lập một nhãn cho đối tượng trao đổi truy cập bởi các hiện tạiGiao thức hải quan, có thể thu được bằng cáchexchange.GetLabel()
trong chiến lược.GetStrategyList
method.cài đặt sai Đối tượng JSON
Nếu giao dịch trực tiếp được tạo bởi API mở rộng, API mở rộngRestartRobot (RobotId, Settings)
phải được sử dụng để khởi động lại, vàsettings
Các giao dịch trực tiếp được tạo trên trang nền tảng có thể được khởi động lại thông qua API mở rộng hoặc bằng cách nhấp vào nút trên trang.settings
Nếu bạn chỉ vượt qua cácRobotId
tham số, bắt đầu giao dịch trực tiếp theo cài đặt giao dịch trực tiếp hiện tại.
CácGetRobotDetail
phương pháp được sử dụng để có được chi tiết của giao dịch trực tiếp dưới tài khoản FMZ Quant Trading Platform tương ứng vớiAPI KEY
ID của giao dịch trực tiếp được truy xuất là ID giao dịch trực tiếp được chỉ định bởirobotId
parameter.
{
"code": 0,
"data": {
"result": {
"robot": {
"charge_time": 1732246539,
"charged": 5850000,
"consumed": 5375000000,
"date": "2018-12-28 14:34:51",
"favorite": {
"added": false,
"type": "R"
},
"fixed_id": 123,
"hits": 1,
"id": 123,
"is_deleted": 0,
"is_manager": true,
"is_sandbox": 0,
"name": "test",
"node_id": 123,
"pexchanges": {
"123": "Futures_OKCoin"
},
"phash": {
"123": "ca1aca74b9cf7d8624f2af2dac01e36d"
},
"plabels": {
"123": "OKEX futures V5"
},
"priority": 0,
"profit": 0,
"public": 0,
"refresh": 1732244453000,
"robot_args": "[]",
"start_time": "2024-11-22 11:00:48",
"status": 1,
"strategy_args": "[]",
"strategy_exchange_pairs": "[60,[123],[\"ETH_USDT\"]]",
"strategy_id": 123,
"strategy_last_modified": "2024-11-21 16:49:25",
"strategy_name": "test",
"strategy_public": "0",
"uid": "105ed6e51bcc17792a610fdbb7e2a1d6",
"username": "abc",
"wd": 0
}
},
"error": null
}
}
CácrobotId
Các tham số được sử dụng để chỉ định ID của giao dịch trực tiếp mà các chi tiết được thu thập.GetRobotList
phương pháp để thu thập thông tin về giao dịch trực tiếp dưới tài khoản, chứa ID giao dịch trực tiếp.
robotId đúng số
Mô tả thuộc tính củastrategy_exchange_pairs
, lấy ví dụ các dữ liệu sau:
"[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]"
Dữ liệu đầu tiên60
đại diện cho bộ thời gian K-line mặc định
bằng cách giao dịch trực tiếp là 1 phút, cụ thể là 60 giây.
[44314,42960,15445,14703]
là đối tượng trao đổipid
được cấu hình để giao dịch trực tiếp (theo lệnh bổ sung).
[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]
là
Đặt cặp giao dịch cho đối tượng trao đổi được cấu hình bởi live
giao dịch (theo thứ tự cộng và trong thư từ một đến một
vớipid
).
CácGetAccount
phương pháp được sử dụng để có được thông tin tài khoản tương ứng vớiAPI KEY
trong yêu cầu của tài khoản nền tảng giao dịch FMZ Quant.
{
"code":0,
"data":{
"result":{
"balance":22944702436,
"concurrent":0,
"consumed":211092719653,
"currency":"USD",
"email":"123@qq.com",
"openai":false,
"settings":null,
"sns":{"wechat":true},
"uid":"105ea6e51bcc177926a10fdbb7e2a1d6",
"username":"abc"
},
"error":null
}
}
CácGetExchangeList
phương pháp được sử dụng để có được danh sách các sàn giao dịch và thông tin cấu hình cần thiết được hỗ trợ bởi FMZ Quant Trading Platform.
KhiisSummary
tham số làfalse
, dữ liệu được trả về là:
{
"code": 0,
"data": {
"result": {
"exchanges": [{
"category": "加密货币||Crypto",
"eid": "Futures_Binance",
"id": 74,
"logo": "/upload/asset/d8d84b23e573e9326b99.svg",
"meta": "[{\"desc\": \"Access Key\", \"qr\":\"apiKey\",\"required\": true, \"type\": \"string\", \"name\": \"AccessKey\", \"label\": \"Access Key\"}, {\"encrypt\": true, \"qr\":\"secretKey\",\"name\": \"SecretKey\", \"required\": true, \"label\": \"Secret Key\", \"type\": \"password\", \"desc\": \"Secret Key\"}]",
"name": "币安期货|Futures_Binance",
"priority": 200,
"stocks": "BTC_USDT,ETH_USDT,ETH_USD",
"website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
}]
},
"error": null
}
}
KhiisSummary
tham số làtrue
, dữ liệu được trả về là:
{
"code": 0,
"data": {
"result": {
"exchanges": [{
"category": "加密货币||Crypto",
"eid": "Futures_Binance",
"id": 74,
"logo": "/upload/asset/d8d84b23e573e9326b99.svg",
"name": "币安期货|Futures_Binance",
"priority": 200,
"website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
}]
},
"error": null
}
}
CácisSummary
tham số được sử dụng để xác định liệu dữ liệu được trả về là thông tin tóm tắt.
isTóm tắt đúng bool
CácDeleteNode(Nid)
phương pháp được sử dụng để xóa các nút docker tương ứng vớiAPI KEY
trong yêu cầu tài khoản nền tảng giao dịch FMZ Quant. ID nút docker bị xóa là ID nút docker được chỉ định bởinid
parameter.
{
"code":0,
"data":{
"result":true,
"error":null
}
}
Cácnid
bạn có thể sử dụngGetNodeList
phương pháp để có được thông tin về các dockers của tài khoản.
không đúng số
CácDeleteRobot(RobotId, DeleteLogs)
phương pháp được sử dụng để xóa giao dịch trực tiếp tương ứng vớiAPI KEY
trong yêu cầu dưới tài khoản nền tảng giao dịch FMZ Quant.robotId
parameter.
{
"code":0,
"data":{
"result":0,
"error":null
}
}
Các thông sốrobotId
được sử dụng để xác định ID của
giao dịch trực tiếp để được xóa.GetRobotList
phương pháp để có được thông tin về giao dịch trực tiếp theo
tài khoản, chứa ID giao dịch trực tiếp.
robotId
đúng
số
CácdeleteLogs
tham số được sử dụng để thiết lập xem có nên xóa nhật ký giao dịch trực tiếp hay không, nếu thông qua một giá trị thực (ví dụ:true
), nhật ký giao dịch trực tiếp sẽ bị xóa.
deleteLogs đúng bool
CácGetStrategyList
phương pháp được sử dụng để thu thập thông tin chiến lược nền tảng.
{
"code": 0,
"data": {
"result": {
"all": 123,
"strategies": [{
"category": 9,
"date": "2024-11-10 20:40:04",
"description": "",
"forked": 0,
"hits": 0,
"id": 123,
"is_buy": false,
"is_owner": false,
"language": 2,
"last_modified": "2024-11-11 17:23:52",
"name": "HedgeGridStrategy",
"profile": {
"avatar": "...",
"nickname": "abc",
"uid": "4ed225440db1eda23fe05ed10184113e"
},
"public": 0,
"tags": "",
"uid": "4ed225440db1eda23fe05ed10184113e",
"username": "abc"
}]
},
"error": null
}
}
Cácoffset
tham số được sử dụng để thiết lập sự dịch chuyển khi truy vấn.
dỡ bỏ
đúng
số
Cáclength
tham số được sử dụng để thiết lập chiều dài của truy vấn.
chiều dài
đúng
số
CácstrategyType
tham số được sử dụng để thiết lập loại chiến lược được truy vấn.
strategyType
thiết lập tham số0
: tất cả các chiến lược.strategyType
thiết lập tham số1
: Chiến lược là công khai.strategyType
thiết lập tham số2
: chiến lược phải được xem xét lại.chiến lược
đúng
số
Cáccategory
tham số được sử dụng để thiết lập danh mục chiến lược được truy vấn.
category
thiết lập tham số-1
: tất cả các chiến lược.category
thiết lập tham số0
Chiến lược tùy chỉnh.Nhóm
đúng
số
CácneedArgs
tham số được sử dụng để thiết lập liệu chiến lược được truy vấn có tham số hay không.
needArgs
thiết lập tham số0
: tất cả các chiến lược.cầnArgs
đúng
số
Cáclanguage
tham số được sử dụng để thiết lập ngôn ngữ lập trình của chiến lược được truy vấn.
language
cài đặt tham số0
: Ngôn ngữ JavaScript.language
cài đặt tham số1
: Ngôn ngữ Python.language
cài đặt tham số2
: Ngôn ngữ C++.language
cài đặt tham số3
: Chiến lược trực quan hóa.language
cài đặt tham số4
Ngôn ngữ của tôi.language
cài đặt tham số5
: Ngôn ngữ Pine.ngôn ngữ
đúng
số
Cáckw
tham số được sử dụng để thiết lập từ khóa của chiến lược được truy vấn.
kw đúng chuỗi
CácNewRobot
phương pháp được sử dụng để tạo ra một giao dịch trực tiếp theoAPI KEY
tương ứng với tài khoản nền tảng giao dịch lượng tử FMZ trong yêu cầu.
{
"code":0,
"data":{
"result":591988,
"error":null
}
}
Các thông số cấu hình giao dịch trực tiếp,settings
định dạng tham số là như sau:
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123}
],
"group":123,
"name":"test",
"node":123,
"period":60,
"strategy":123
}
RestartRobot
interface.cài đặt đúng Đối tượng JSON
Trong cấu hình củaeid
trongsettings
tham số,"meta":{"AccessKey": "123", "SecretKey": "123"}
thông tin nhạy cảm này không được lưu trữ bởi nền tảng giao dịch FMZ Quant. Dữ liệu này được chuyển tiếp trực tiếp đến chương trình docker, vì vậy thông tin này phải được cấu hình mỗi khi một giao dịch trực tiếp được tạo hoặc khởi động lại.
Nếu chúng ta tạo ra một đối tượng trao đổi giao dịch trực tiếp bằng cách sử dụng giao thức tùy chỉnh, khi cấu hìnhsettings
tham số, chúng ta có thể sử dụng các thiết lập sau đây choexchanges
thuộc tính:
{
"eid": "Exchange",
"label": "test",
"pair": "ETH_BTC",
"meta": {
"AccessKey": "123",
"SecretKey": "123",
"Front": "http://127.0.0.1:6666/test"
}
}
label
thuộc tính là để thiết lập một nhãn cho đối tượng trao đổi truy cập bởi các giao thức tùy chỉnh hiện tại, có thể được thu thập bởi cácexchange.GetLabel()
trong chiến lược.
CácPluginRun
phương pháp được sử dụng để gọicông cụ debugchức năng của nền tảng giao dịch FMZ Quant; Chỉ có ngôn ngữ JavaScript được hỗ trợ.
{
"code": 0,
"data": {
"result": "{\"logs\":[{\"PlatformId\":\"\",\"OrderId\":\"0\",\"LogType\":5,\"Price\":0,\"Amount\":0,\"Extra\":\"Hello FMZ\",\"Currency\":\"\",\"Instrument\":\"\",\"Direction\":\"\",\"Time\":1732267473108}],\"result\":\"\"}",
"error": null
}
}
Các thông số cài đặt trong công cụ gỡ lỗi,settings
cấu hình, bao gồm mã thử nghiệm trongsource
thuộc tính.settings
định dạng tham số là như sau:
{
"exchanges":[{"pair":"SOL_USDT","pid":123}],
"node":123,
"period":60,
"source":"function main() {Log(\"Hello FMZ\")}"
}
RestartRobot
interface.cài đặt đúng Đối tượng JSON
{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
{"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
Đối vớiexchanges
thuộc tính trongsettings
, chỉ cần một thiết lập khi gọiPluginRun
method (chỉ một đối tượng trao đổi được hỗ trợ khi sử dụng trong trang công cụ gỡ lỗi). Không có lỗi sẽ được báo cáo khi bạn đặt 2 đối tượng trao đổi trongsettings
, nhưng một lỗi sẽ được báo cáo khi đối tượng trao đổi thứ hai được truy cập trong mã.
CácGetRobotLogs
phương pháp được sử dụng để có được thông tin nhật ký giao dịch trực tiếp dưới tài khoản FMZ Quant Trading Platform tương ứng vớiAPI KEY
ID của nền tảng giao dịch trực tiếp được lấy là ID nền tảng giao dịch trực tiếp được chỉ định bởirobotId
parameter.
{
"code": 0,
"data": {
"result": {
"chart": "",
"chartTime": 0,
"logs": [{
"Total": 20,
"Max": 20,
"Min": 1,
"Arr": []
}, {
"Total": 0,
"Max": 0,
"Min": 0,
"Arr": []
}, {
"Total": 0,
"Max": 0,
"Min": 0,
"Arr": []
}],
"node_id": 123,
"online": true,
"refresh": 1732201544000,
"status": 4,
"summary": "...",
"updateTime": 1732201532636,
"wd": 0
},
"error": null
}
}
CácrobotId
tham số được sử dụng để chỉ định Id của
giao dịch trực tiếp mà thông tin nhật ký phải được thu thập.
Bạn có thể sử dụngGetRobotList
phương pháp để thu thập thông tin
về giao dịch trực tiếp dưới tài khoản, trong đó có
ID giao dịch trực tiếp.
robotId
đúng
số
CáclogMinId
tham số được sử dụng để chỉ định ID tối thiểu của Log.
logMinId
đúng
số
CáclogMaxId
tham số được sử dụng để xác định Id tối đa của Log.
logMaxId
đúng
số
CáclogOffset
tham số được sử dụng để thiết lập sự dịch chuyển, sau khi xác định phạm vi bằnglogMinId
vàlogMaxId
, bù dựa trênlogOffset
Bắt đầu như là vị trí khởi đầu để lấy dữ liệu.
LogOffset
đúng
số
Các thông sốlogLimit
được sử dụng để thiết lập số lượng bản ghi dữ liệu được chọn sau khi xác định vị trí khởi đầu.
logLimit
đúng
số
CácprofitMinId
tham số được sử dụng để thiết lập ID tối thiểu của nhật ký lợi nhuận.
Lợi nhuận
đúng
số
Các thông sốprofitMaxId
được sử dụng để thiết lập ID tối đa của nhật ký lợi nhuận.
lợi nhuậnMaxId
đúng
số
Các thông sốprofitOffset
được sử dụng để thiết lập độ dịch chuyển (số lượng bản ghi được bỏ qua) như vị trí bắt đầu.
Lợi nhuận
đúng
số
Các thông sốprofitLimit
được sử dụng để thiết lập số lượng bản ghi dữ liệu được chọn sau khi xác định vị trí khởi đầu.
Lợi nhuận
đúng
số
Các thông sốchartMinId
được sử dụng để thiết lập ID tối thiểu của bản ghi dữ liệu biểu đồ.
biểu đồMinId
đúng
số
Các thông sốchartMaxId
được sử dụng để thiết lập ID tối đa của bản ghi dữ liệu biểu đồ.
biểu đồMaxId
đúng
số
Các thông sốchartOffset
được sử dụng để thiết lập độ dịch chuyển.
biểu đồOffset
đúng
số
Các thông sốchartLimit
được sử dụng để thiết lập số lượng
hồ sơ để có được.
chartLimit
đúng
số
Các thông sốchartUpdateBaseId
được sử dụng để thiết lập ID cơ sở
sau khi truy vấn được cập nhật.
chartUpdateBaseId
đúng
số
Các thông sốchartUpdateDate
được sử dụng để thiết lập dữ liệu
ghi lại cập nhật thời gian, và nó sẽ lọc ra các bản ghi lớn hơn
hơn là dấu thời gian này.
chartUpdateDate
đúng
số
Các thông sốsummaryLimit
được sử dụng để thiết lập số lượng
Byte của dữ liệu thanh trạng thái để được truy vấn.
kiểu số nguyên để truy vấn dữ liệu thanh trạng thái của live
giao dịch.
Thiết lập summaryLimit
tham số để có được tất cả thanh trạng thái
dữ liệu thanh trạng thái được lưu trữ trong dữ liệu trả vềsummary
.
Tóm lại đúng số
Bảng nhật ký chiến lược trong cơ sở dữ liệu
CácArr
giá trị thuộc tính trong phần tử đầu tiên củaLogs
Giá trị thuộc tính (cấu trúc mảng) trong dữ liệu trả về (dữ liệu nhật ký) được mô tả như sau:
"Arr": [
[3977, 3, "Futures_OKCoin", "", 0, 0, "Sell(688.9, 2): 20016", 1526954372591, "", ""],
[3976, 5, "", "", 0, 0, "OKCoin:this_week too many positions, long: 2", 1526954372410, "", ""]
],
id | logType | eid | Đặt hàng | giá cả | số tiền | thêm | ngày | hợp đồngLoại | hướng |
---|---|---|---|---|---|---|---|---|---|
3977 | 3 | "" | 0 | 0 | 1526954372591 | "" | "" | ||
3976 | 5 | "" | "" | 0 | 0 | 1526954372410 | "" | "" |
extra
là thông báo đính kèm của nhật ký in.
Các loại gỗ cụ thể được đại diện bởilogType
Các giá trị được mô tả như sau:
logType: | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
Ý nghĩa của logType: | Mua | Bán hàng | RETRACT | ERROR | Lợi nhuận | Thông điệp | Bắt đầu lại |
Bảng nhật ký biểu đồ lợi nhuận trong cơ sở dữ liệu Dữ liệu trong bảng ghi nhật ký biểu đồ phù hợp với nhật ký lợi nhuận trong bảng ghi nhật ký chiến lược.
"Arr": [
[202, 2515.44, 1575896700315],
[201, 1415.44, 1575896341568]
]
Lấy một trong các dữ liệu nhật ký như một ví dụ:
[202, 2515.44, 1575896700315]
202
là logID
; 2515.44
là giá trị lợi nhuận;1575896700315
là dấu thời gian.
Bảng nhật ký biểu đồ trong cơ sở dữ liệu
"Arr": [
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
[23636, 5, "{\"x\":1575960300000,\"y\":3.0735}"]
]
Lấy một trong các dữ liệu nhật ký như một ví dụ:
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
23637
là nhật kýID
, 0
là chỉ số của chuỗi dữ liệu biểu đồ, và dữ liệu cuối cùng"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"
là dữ liệu nhật ký; Dữ liệu này là dữ liệu đường K trên biểu đồ.