FMZ Quantは,FMZ Quant トレーディングプラットフォームの様々な機能へのプログラムによる呼び出しをサポートするために,プラットフォームの拡張APIインターフェースを開設しました.
FMZ 量子取引プラットフォームは,
拡張された API インターフェース,およびAPI KEY
設定できます. API KEY
.
作成するときに入力ボックスを編集できますAPI KEY
そして,入力してください*
シンボルは,すべてのことを可能にする拡張された API インターフェース権限.特定のインターフェースの権限を指定したい場合は,対応する拡張 API 機能名を入力する必要があります.例えば,区分するためにコンマを使用します:GetRobotDetail,DeleteRobot
これは,これです.API KEY
呼び出すための許可ライブ取引の詳細情報を取得インターフェースとライブ取引を削除 interface.
についてAPI KEY
管理ページは,また,変更する,
無効にする, 削除する創られたものAPI KEY
.
拡張 API インターフェイスが返した構造の例は以下のとおりです.
"code":0,
"data":{
// ...
}
}
についてcode
フィールド is: 拡張 API インターフェースが呼び出されるときに返される呼び出し結果の状態コード.
記述 | コード |
---|---|
実行が成功 | 0 |
誤ったAPIキー | 1 |
誤った署名 | 2 |
ノンセエラー | 3 |
誤った方法 | 4 |
誤ったパラメータ | 5 |
内部の未知のエラー | 6 |
についてGetRobotList
インターフェース,GetRobotDetail
インターフェース
そしてGetRobotLogs
インターフェースのデータ返信status
フィールド: ライブ取引状態コード
ステータス | コード |
---|---|
無効 | 0 |
稼働中 | 1 |
停止する | 2 |
終了しました | 3 |
停止しました | 4 |
戦略には誤りがある | 5 |
ステータス | コード |
---|---|
ストラテジーは期限切れです. また購入するには,ライターに連絡してください. | -1 |
ドッカーが見つかりませんでした. | -2 |
戦略のコンパイルエラー | -3 |
ライブ取引は既に実行されています. | -4 |
バランスが不十分 | -5 |
同期戦略の数が制限を上回る | -6 |
拡張 API インターフェースを呼び出すときに 2 つの検証方法があります.token
検証と直接検証
使用md5
確認する暗号化方法,例Python
, Golang
言語呼び出し:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
try:
import md5
import urllib2
from urllib import urlencode
except:
import hashlib as md5
import urllib.request as urllib2
from urllib.parse import urlencode
accessKey = '' # your API KEY
secretKey = ''
def api(method, *args):
d = {
'version': '1.0',
'access_key': accessKey,
'method': method,
'args': json.dumps(list(args)),
'nonce': int(time.time() * 1000),
}
d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
# Note: for the timeout problem of "urllib2.urlopen" function, you can set the timeout time; for example, urllib2.urlopen ('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8'), timeout = 10), that is, set timeout for 10 seconds
return json.loads(urllib2.urlopen('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8')).read().decode('utf-8'))
# Return the docker list
print(api('GetNodeList'))
# Return the exchange list
print(api('GetPlatformList'))
# GetRobotList(offset, length, robotStatus, label), passing "-1" means obtaining all
print(api('GetRobotList', 0, 5, -1, 'member2'))
# CommandRobot(robotId, cmd) sends command to live trading
print(api('CommandRobot', 123, 'ok'))
# StopRobot(robotId) returns the live trading status code
print(api('StopRobot', 123))
# RestartRobot(robotId) returns the live trading status code
print(api('RestartRobot', 123))
# GetRobotDetail(robotId) returns detailed live trading information
print(api('GetRobotDetail', 123))
package main
import (
"fmt"
"time"
"encoding/json"
"crypto/md5"
"encoding/hex"
"net/http"
"io/ioutil"
"strconv"
"net/url"
)
// Fill in your own FMZ platform api key
var apiKey string = ""
// Fill in your own FMZ platform secret key
var secretKey string = ""
var baseApi string = "https://www.fmz.com/api/v1"
func api(method string, args ... interface{}) (ret interface{}) {
// Process args
jsonStr, err := json.Marshal(args)
if err != nil {
panic(err)
}
params := map[string]string{
"version" : "1.0",
"access_key" : apiKey,
"method" : method,
"args" : string(jsonStr),
"nonce" : strconv.FormatInt(time.Now().UnixNano() / 1e6, 10),
}
data := fmt.Sprintf("%s|%s|%s|%v|%s", params["version"], params["method"], params["args"], params["nonce"], secretKey)
h := md5.New()
h.Write([]byte(data))
sign := h.Sum(nil)
params["sign"] = hex.EncodeToString(sign)
// http request
client := &http.Client{}
// request
urlValue := url.Values{}
for k, v := range params {
urlValue.Add(k, v)
}
urlStr := urlValue.Encode()
request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
if err != nil {
panic(err)
}
resp, err := client.Do(request)
if err != nil {
panic(err)
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
ret = string(b)
return
}
func main() {
settings := map[string]interface{}{
"name": "hedge test",
"strategy": 104150,
// K-line period parameter, "60" means 60 seconds
"period": 60,
"node" : 73938,
"appid": "member2",
"exchanges": []interface{}{
map[string]interface{}{
"eid": "Exchange",
"label" : "test_bjex",
"pair": "BTC_USDT",
"meta" : map[string]interface{}{
// Fill in the access key
"AccessKey": "",
// Fill in the secret key
"SecretKey": "",
"Front" : "http://127.0.0.1:6666/exchange",
},
},
},
}
method := "RestartRobot"
fmt.Println("Call interface:", method)
ret := api(method, 124577, settings)
fmt.Println("main ret:", ret)
}
確認をサポートしますtoken
(合格)secret_key
直接アクセスできる URL を生成できます.
直接インタラクティブな指示を与える URL
リアルタイムで取引できますTradingView
またはWebHook
他のケースでは呼び戻しCommandRobot(RobotId, Cmd)
パラメータnonce
アクセス頻度と
インターフェースの訪問時間は制限されていません
例えば,AccessKey
作成された拡張子API KEY
これは:xxx
そしてSecretKey
これは:yyy
インタラクティブなコマンドメッセージを送信するには,次のリンクを参照してください.
ライブ取引IDのライブ取引186515
メッセージ
content は文字列です:"ok12345"
.
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]
直接の検証が支持されている場合
ただCommandRobot
インターフェースがサポートされていますBody
設定を表示します.WebHook URL
についてTradingView
:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]
次の形式に従って設定に注意してください:args=[130350,+""]
, その中で130350
リアルタイム取引ですID
FMZ量子取引プラットフォームの
メッセージボックスに設定Trading View
(要求された
JSON 形式:
{"close": {{close}}, "name": "aaa"}
リアルタイムで取引ID
について186515
インタラクティブなコマンド文字列を受信できる:{"close": 39773.75, "name": "aaa"}
.
テキスト形式:
BTCUSDTPERP Crossing 39700.00 close: {{close}}
リアルタイムで取引ID
について186515
インタラクティブなコマンド文字列を受信できる:BTCUSDTPERP Crossing 39700.00 close: 39739.4
.
例としてPython
& Golang
言語の呼び出し:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
try:
import urllib2
except:
import urllib.request as urllib2
accessKey = 'your accessKey'
secretKey = 'your secretKey'
def api(method, *args):
return json.loads(urllib2.urlopen(('https://www.fmz.com/api/v1?access_key=%s&secret_key=%s&method=%s&args=%s' % (accessKey, secretKey, method, json.dumps(list(args)))).replace(' ', '')).read().decode('utf-8'))
# If APIKEY does not have the interface permission, the call to
print(api('RestartRobot', 186515)) will fail, and the returned data
is: {'code': 4, 'data': None}
# print(api('RestartRobot', 186515))
# Printed Id: the live trading details of 186515
print(api('GetRobotDetail', 186515))
package main
import (
"fmt"
"encoding/json"
"net/http"
"io/ioutil"
"net/url"
)
// Fill in your own FMZ platform api key
var apiKey string = "your access_key"
// Fill in your own FMZ platform secret key
var secretKey string = "your secret_key"
var baseApi string = "https://www.fmz.com/api/v1"
func api(method string, args ... interface{}) (ret interface{}) {
jsonStr, err := json.Marshal(args)
if err != nil {
panic(err)
}
params := map[string]string{
"access_key" : apiKey,
"secret_key" : secretKey,
"method" : method,
"args" : string(jsonStr),
}
// http request
client := &http.Client{}
// request
urlValue := url.Values{}
for k, v := range params {
urlValue.Add(k, v)
}
urlStr := urlValue.Encode()
request, err := http.NewRequest("GET", baseApi + "?" + urlStr, nil)
if err != nil {
panic(err)
}
resp, err := client.Do(request)
if err != nil {
panic(err)
}
defer resp.Body.Close()
b, err := ioutil.ReadAll(resp.Body)
if err != nil {
panic(err)
}
ret = string(b)
return
}
func main() {
method := "GetRobotDetail"
fmt.Println("Call interface:", method)
ret := api(method, 186515)
fmt.Println("main ret:", ret)
}
FMZ 量子取引プラットフォームの拡張 API インターフェース
クエリのパラメータを添付します.?
) 要求の直後にhttps://www.fmz.com/api/v1
要求のパラメータは以下の通りです.Python
:
{
"version" : "1.0",
"access_key": "xxx",
"method" : "GetNodeList",
"args" : [],
"nonce" : 1516292399361,
"sign" : "085b63456c93hfb243a757366600f9c2"
}
フィールド | 指示 |
---|---|
バージョン | バージョン番号 |
アクセス_キー | アクセスキー,アカウント管理ページでそれを申請します. |
方法 | 特定の呼び出し方法 |
アグス | 呼び出された特定のメソッドのパラメータリスト. |
ノンセ | タイムスタンプはミリ秒で,標準タイムスタンプから1時間の誤りを許します. ノンセは最後のアクセス時のノンセ値よりも大きい必要があります. |
サイン | Signature. |
各パラメータ名は文字で区切られています.&
パラメータの名前と値は,シンボルと関連しています=
. 完全な要求 URL (取っmethod=GetNodeList
例として):
https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
注目すべきはsecret_key
要求パラメータのパラメータです
署名方法
についてsign
要求パラメータのパラメータは,次の形式で暗号化されます:
version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
文字列を連結した後,MD5
文字列を暗号化し,それを十六進数値のデータ文字列値に変換する暗号化アルゴリズム,パラメータの値に言及sign
署名部分については,Python
コード拡張 API インターフェース検証方法 :
# 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()
インターフェースサービスエラー:
{
"code":0,
"data":{
"result":null,
"error":"Params length incorrect"
}
}
についてGetNodeList
この方法は,ドックワーカーの一覧を得るのに使われます.
FMZ 量子取引プラットフォームの口座でAPI KEY
要求書に
{
"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
}
}
返される値のフィールドの記述 (文字どおりの意味は明白で,繰り返さない):
ecs_
そしてunit_
ワンクリックデプロイドッカーサーバーの関連情報 (オペレーターの名前,構成,状態など),請求サイクル,価格,その他の情報などを記録します. ここで繰り返しません.パラメーターなし
GetRobotGroupList()
ライブ取引グループリストを返します.
FMZ Quant トレーディング プラットフォームの口座のAPI KEY
要求書に
{
"code": 0,
"data": {
"result": {
"items": [{
"id": 3417,
"name": "Test"
}, {
"id": 3608,
"name": "Live trading demo"
}]
},
"error": null
}
}
items
このフィールドは,新しく作成されたグループのみを記録します.items
.パラメーターなし
GetPlatformList()
取引所のリストを返します
対応する FMZ 量子取引プラットフォームアカウントで追加されました
についてAPI KEY
要求書に
{
"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
いくつかの構成やパラメータで使用されます.パラメーターなし
についてGetRobotList
リストを取得するために使用されます.
FMZ 量子取引プラットフォームの口座による取引
と一致するAPI KEY
要求書に
{
"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.パイジングクエリのオフセット
オフセット
偽り
番号
パージングクエリの長さ設定
長さ
偽り
番号
問い合わせられるライブ取引のステータスを指定し,拡張された API インターフェースを参照してください.ライブ・トレードコード合格する-1
リアルタイムで取引できる
ロボット 状態
偽り
番号
このラベルのすべてのライブトレードをフィルターすることができます.
ラベル
偽り
文字列
キーワードで検索する
キーワード
偽り
文字列
やってみろPython
languageprint(api('GetRobotList'))
リアルタイムで取引情報print(api('GetRobotList', 'member2'))
: カスタムラベルメンバー2ですべてのライブ取引の情報を印刷します.print(api('GetRobotList', 0, 5, -1, 'member2'))
0から5までのページで,メンバー2でラベル付けされた最大5つのロボットをリストします.
についてCommandRobot
インタラクションを送信するために使用されます.
FMZ 量子取引プラットフォームのライブ取引へのコマンド
銀行口座API KEY
要求書に
インタラクションコマンドを受信しているライブ取引の
取引 ID は,robotId
パラメータと
インタラクションコマンドは,GetCommand()
機能
捕獲する戦略を 呼び出しました
{
"code":0,
"data":{
"result":true,
"error":null
}
}
パラメータrobotId
ID を指定するために使用されます.
インタラクティブなコマンドを受け取ります.
についてGetRobotList
直接の情報を得る方法
取引 ID を含むアカウントで取引する.
ロボット
本当
番号
パラメーターcmd
ボットに送信されるインタラクティブなコマンドです.コマンドは関数によってキャプチャされます.GetCommand()
戦略コードにおけるインタラクティブ・ロジックの具体的実施については,GetCommand()
機能についてFMZ 量子取引プラットフォーム API マニュアル.
cmd 本当 文字列
ライブ・トレーディング・ストラテジーは,この戦略が実行されていると仮定すると,ライブ・トレーディング・IDは123です.
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
この章で Python テストスクリプトを使用すると, FMZ 量子取引プラットフォームの拡張 API にアクセスします.api("CommandRobot", 123, "test command")
ID123のライブ取引は,インタラクティブなコマンドを受け取ります.test command
ログ関数出力でプリントします
StopRobot(RobotId)
要求するために使用されます.API KEY
FMZ Quant Tradingのライブ取引に対応する
実行を停止するライブ取引IDは,ライブです
取引 ID は,robotId
parameter.
{
"code":0,
"data":{
"result":2,
"error":null
}
}
パラメータrobotId
ID を指定するために使用されます.
直接取引を停止することができます.GetRobotList
オンライン取引の情報を取得するための方法
リアル取引 ID を含むアカウントです
ロボット 本当 番号
についてRestartRobot
直接取引を再開するために使用されます.API KEY
FMZ Quant トレーディング プラットフォームのアカウントに対応するリニューアルされたライブ トレーディングのIDは,robotId
parameter.
{
"code":0,
"data":{
"result":1,
"error":null
}
}
についてrobotId
パラメータは,Idを指定するために使用されます
リアルタイムで取引を再開できます.GetRobotList
オンライン取引の情報を取得するための方法
リアル取引 ID を含むアカウントです
ロボット
本当
番号
パラメーターsettings
形式は次のとおりです
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123},
{"pair":"ETH_USDT","pid":456}
],
"name":"test",
"node":123,
"period":60,
"strategy":123
}
Interval
設定したい場合はInterval
戦略を再開するときに 500 に,その後args
含有する:["Interval", 500]
つまり:"args": [["Interval", 500]]
.pid
構成:{"pair":"SOL_USDT","pid":123}
; pid
問い合わせが可能です.GetPlatformList
インターフェースとid
返されたデータには,交換pid
.eid
構成:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}
■ 機密情報API KEY
FMZ 量子取引プラットフォームによって保存されず,これらのデータは直接ドッカープログラムに送信されます.このタイプの設定を使用する場合,ライブ取引が作成または再起動するたびに情報は設定する必要があります.{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}
.
label
交換オブジェクトのラベルを設定します.カスタムプロトコル取得することができる.exchange.GetLabel()
戦略における役割ですGetStrategyList
method.設定 偽り JSON オブジェクト
拡張APIによって生動取引が作成された場合,拡張APIRestartRobot (RobotId, Settings)
再起動するために使用する必要があります.settings
パラメータをパスする必要があります. プラットフォームのページで作成されたライブ取引は,拡張APIまたはページのボタンをクリックして再起動できます.settings
パラメーター.RobotId
パラメータ,現在のライブ取引設定に従ってライブ取引を開始します.
についてGetRobotDetail
FMZ 量子取引プラットフォームの口座のライブ取引の詳細を取得するために使用されます.API KEY
取得するライブ取引のIDは,ライブ取引のIDで指定されるrobotId
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
}
}
についてrobotId
パラメータは,詳細を取得するライブ取引のIDを指定するために使用されます.GetRobotList
口座内のライブ取引に関する情報を入手するための方法,そのアカウントにはライブ取引IDが含まれます.
ロボット 本当 番号
属性の記述strategy_exchange_pairs
,以下のデータを例として:
"[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]"
最初のデータ60
デフォルトのK線周期セットを表す.
リアルタイムの取引では1分,つまり60秒です.
[44314,42960,15445,14703]
交換対象である.pid
ライブ取引のために設定されている (追加順序に従って).
[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]
について
liveで構成された交換オブジェクトのための取引ペアセット
取引 (加算順と1対1の対応)
とpid
).
についてGetAccount
口座情報を取得するために使用されます.API KEY
FMZ 量子取引プラットフォームの口座の要求に
{
"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
}
}
についてGetExchangeList
FMZ Quant Trading Platformによってサポートされる取引所のリストと必要な構成情報を取得するために使用されます.
その時にisSummary
パラメータはfalse
, 返されたデータは:
{
"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
}
}
その時にisSummary
パラメータはtrue
, 返されたデータは:
{
"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
}
}
についてisSummary
パラメータは返されたデータが要約情報であるかどうかを指定するために使用されます.
概要 本当 ボール
についてDeleteNode(Nid)
この方法が,ドッカーノードを削除するAPI KEY
削除されたドーカーノードIDは,ドーカーノードIDによって指定されたものです.nid
parameter.
{
"code":0,
"data":{
"result":true,
"error":null
}
}
についてnid
削除するドーカーのIDを指定するために使用されます.GetNodeList
口座のドーカーに関する情報を得る方法です.
ニード 本当 番号
についてDeleteRobot(RobotId, DeleteLogs)
直接取引を削除するために使用されます.API KEY
FMZ 量子取引プラットフォームアカウントの要求書に 削除されたライブ取引IDは,robotId
parameter.
{
"code":0,
"data":{
"result":0,
"error":null
}
}
パラメータrobotId
ID を指定するために使用されます.
削除されます.GetRobotList
オンライン取引の情報を取得するための方法
リアル取引 ID を含むアカウントです
ロボット
本当
番号
についてdeleteLogs
このパラメータは,真値が表示された場合,ライブ取引ログを削除するかどうかを設定するために使用されます (例えば:true
),ライブ取引日記は削除されます.
削除ログ 本当 ボール
についてGetStrategyList
プラットフォームの戦略情報を得る方法として使用されます.
{
"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
}
}
についてoffset
このパラメータは,クエリ時にオフセットを設定するために使用されます.
オフセット
本当
番号
についてlength
このパラメータは,クエリの長さを設定するために使用されます.
長さ
本当
番号
についてstrategyType
このパラメータは,クエリされる戦略タイプを設定するために使用されます.
strategyType
パラメータ設定0
すべての戦略strategyType
パラメータ設定1
戦略は公開されていますstrategyType
パラメータ設定2
戦略の見直し戦略 タイプ
本当
番号
についてcategory
このパラメータは,クエリされる戦略カテゴリを設定するために使用されます.
category
パラメータ設定-1
すべての戦略category
パラメータ設定0
カスタム戦略カテゴリー
本当
番号
についてneedArgs
このパラメータは,クエリする戦略にパラメータがあるかどうかを設定するために使用されます.
needArgs
パラメータ設定0
すべての戦略needArgs について
本当
番号
についてlanguage
このパラメータは,クエリされる戦略のプログラミング言語を設定するために使用されます.
language
パラメータ設定0
: JavaScript 言語language
パラメータ設定1
パイソン言語language
パラメータ設定2
C++ 言語language
パラメータ設定3
視覚化戦略language
パラメータ設定4
私の言語language
パラメータ設定5
: パイン言語言語
本当
番号
についてkw
このパラメータは,クエリされる戦略のキーワードを設定するために使用されます.
kw 本当 文字列
についてNewRobot
直接取引を行うために使用されます.API KEY
FMZ 量子取引プラットフォームの口座に対応する
{
"code":0,
"data":{
"result":591988,
"error":null
}
}
ライブ・トレード設定のパラメータsettings
パラメータの形式は次のとおりです.
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123}
],
"group":123,
"name":"test",
"node":123,
"period":60,
"strategy":123
}
RestartRobot
interface.設定 本当 JSON オブジェクト
配置してeid
についてsettings
パラメータ"meta":{"AccessKey": "123", "SecretKey": "123"}
これらの機密情報は FMZ 量子取引プラットフォームに保存されません.これらのデータはドッカープログラムに直接転送されますので,この情報はライブ取引が作成または再起動するたびに設定する必要があります.
設定するときに,このプロトコルのsettings
設定を設定します.exchanges
属性:
{
"eid": "Exchange",
"label": "test",
"pair": "ETH_BTC",
"meta": {
"AccessKey": "123",
"SecretKey": "123",
"Front": "http://127.0.0.1:6666/test"
}
}
label
既存のカスタムプロトコルでアクセスされる交換オブジェクトのラベルを設定します.exchange.GetLabel()
戦略における役割です
についてPluginRun
呼び出すために使用されます.デバッグツールFMZ 量子取引プラットフォームの機能; JavaScript 言語のみがサポートされています.
{
"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
}
}
設定のパラメータは デバッグツールで,settings
テストコードをsource
属性settings
パラメータ形式は次のとおりです.
{
"exchanges":[{"pair":"SOL_USDT","pid":123}],
"node":123,
"period":60,
"source":"function main() {Log(\"Hello FMZ\")}"
}
RestartRobot
interface.設定 本当 JSON オブジェクト
{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
{"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
についてexchanges
属性settings
呼び出すときに1つだけ設定する必要があります.PluginRun
2つの交換オブジェクトを設定するとエラーが報告されません.settings
, しかしコードで第2の交換オブジェクトにアクセスするとエラーが報告されます.
についてGetRobotLogs
FMZ 量子取引プラットフォームのアカウントの下でのライブ取引のログ情報を取得するために使用されます.API KEY
取得するライブ取引プラットフォームのIDは,robotId
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
}
}
についてrobotId
パラメータは,Idを指定するために使用されます
ログ情報を取得するライブ取引.
薬剤師がやってくれるGetRobotList
情報を得る方法
口座内のライブ取引について,
ライブ・トレードID
ロボット
本当
番号
についてlogMinId
このパラメータは,ログの最小IDを指定するために使用されます.
ログミント
本当
番号
についてlogMaxId
このパラメータは,ログの最大Idを指定するために使用されます.
ログマックスId
本当
番号
についてlogOffset
このパラメータは,範囲を決定した後,オフセットを設定するために使用されます.logMinId
そしてlogMaxId
計算したlogOffset
データを取得するための出発地点として開始します.
ログオフセット
本当
番号
パラメーターlogLimit
開始位置が決定された後に選択されるデータレコードの数を設定するために使用されます.
ログリミット
本当
番号
についてprofitMinId
このパラメータは,利益日記の最小IDを設定するために使用されます.
利益数
本当
番号
パラメーターprofitMaxId
収益ログの最大Idを設定するために使用されます.
利益マックスId
本当
番号
パラメーターprofitOffset
オフセットを設定するために使用されます (何枚のレコードをスキップするか) スタート位置として.
利益 オフセット
本当
番号
パラメーターprofitLimit
開始位置が決定された後に選択されるデータレコードの数を設定するために使用されます.
利益制限
本当
番号
パラメーターchartMinId
グラフデータ記録の最小IDを設定するために使用されます.
チャート
本当
番号
パラメーターchartMaxId
グラフデータ記録の最大Idを設定するために使用されます.
図 MaxId
本当
番号
パラメーターchartOffset
オフセットを設定するために使用されます.
グラフ オフセット
本当
番号
パラメーターchartLimit
設定するために使用されます
取得する記録です
chartLimit について
本当
番号
パラメーターchartUpdateBaseId
ベース Id を設定するために使用されます.
クエリが更新された後です
chartUpdateBaseId について
本当
番号
パラメーターchartUpdateDate
データを設定するために使用されます
記録更新タイムスタンプ,それはより大きな記録をフィルタリングします
このタイムスタンプより
chartUpdate日付
本当
番号
パラメーターsummaryLimit
設定するために使用されます
パラメータは,このパラメータを入力します.
状態バーのデータをクエリするための整数型
取引です
summaryLimit
すべての状態バーを取得するパラメータ
返されたデータに保存されます.summary
.
概要 制限 本当 番号
データベース内の戦略ログ表
についてArr
属性値の最初の要素Logs
返信データ (ログデータ) の属性値 (配列構造) は,次のように記述される.
"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 | ログタイプ | イード | 命令された | 価格 | 額 | エクストラ | 日付 | 契約型 | 方向性 |
---|---|---|---|---|---|---|---|---|---|
3977 | 3 | "" | 0 | 0 | 売る (688.9,2): 20016 | 1526954372591 | "" | "" | |
3976 | 5 | "" | "" | 0 | 0 | 1526954372410 | "" | "" |
extra
印刷日記の付属メッセージです.
特定のログの種類は,logType
値は次のように記述される.
ログタイプ: | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
logType の意味: | 購入する | 販売 | 撤回する | エラー | 利益 | メッセージ | RESTART について |
データベース内の利益グラフのログ表 グラフのログ表のデータは,戦略ログ表の利益ログと一致する.
"Arr": [
[202, 2515.44, 1575896700315],
[201, 1415.44, 1575896341568]
]
ログデータの一例を挙げましょう
[202, 2515.44, 1575896700315]
202
は logID
; 2515.44
利益の価値1575896700315
タイムスタンプです
データベース内のグラフログ表
"Arr": [
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
[23636, 5, "{\"x\":1575960300000,\"y\":3.0735}"]
]
ログデータの一例を挙げましょう
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
23637
ログですID
, 0
グラフデータシリーズのインデックスで,最後のデータです."{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"
このデータは図上のK線データです