FMZ Quant telah membuka antarmuka API platform yang diperluas untuk mendukung panggilan programatis ke berbagai fungsi Platform Perdagangan FMZ Quant.
Platform Perdagangan Kuantum FMZ mendukung manajemen izin dari
diperluas antarmuka API, dan izin dariAPI KEY
dapat diatur. Pada API KEY
.
Anda dapat mengedit kotak input API KEY
, dan masukkan*
simbol untuk memungkinkan semuaAntarmuka API yang diperluasjika Anda ingin menentukan izin antarmuka tertentu, Anda perlu memasukkan nama fungsi API yang ditingkatkan. gunakan koma untuk memisahkan, misalnya:GetRobotDetail,DeleteRobot
Ini memberikan ini.API KEY
izin untuk memanggilDapatkan informasi terperinci perdagangan langsunginterface danHapus perdagangan langsung interface.
PeraturanAPI KEY
halaman manajemen juga memungkinkan Anda untukmengubah,
tidak aktif, hapusYang diciptakanAPI KEY
.
Contoh struktur yang dikembalikan oleh antarmuka API yang diperluas adalah sebagai berikut:
"code":0,
"data":{
// ...
}
}
Peraturancode
field is: Kode status hasil panggilan yang dikembalikan ketika antarmuka API diperpanjang dipanggil.
Deskripsi | Kode |
---|---|
Eksekusi yang sukses | 0 |
KEY API yang salah | 1 |
Tanda tangan yang salah | 2 |
Kesalahan nonce | 3 |
Metode yang salah | 4 |
Parameter yang salah | 5 |
Kesalahan internal yang tidak diketahui | 6 |
PeraturanGetRobotList
antarmukaGetRobotDetail
antarmuka
danGetRobotLogs
data kembali antarmuka distatus
bidang untuk: kode status perdagangan langsung.
Status | Kode |
---|---|
Tidak aktif | 0 |
Dalam operasi | 1 |
Berhenti | 2 |
Ditandatangani keluar | 3 |
Berhenti | 4 |
Strategi ini memiliki kesalahan. | 5 |
Status | Kode |
---|---|
Strategi telah berakhir, dan silakan hubungi penulis untuk membelinya lagi | -1 |
Tidak ada docker yang ditemukan | -2 |
Kesalahan kompilasi strategi | -3 |
Perdagangan langsung sudah berjalan | -4 |
Saldo yang tidak cukup | -5 |
Jumlah strategi bersamaan melebihi batas | -6 |
Ada dua metode verifikasi ketika memanggil antarmuka API diperpanjang, mendukungtoken
verifikasi dan verifikasi langsung.
Penggunaanmd5
metode enkripsi untuk memverifikasi, contohPython
, Golang
panggilan bahasa:
#!/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)
}
Ini mendukung verifikasi tanpatoken
(lalu)secret_key
langsung), Anda dapat menghasilkan URL yang dapat diakses secara langsung.
contoh, URL yang langsung memberikan instruksi interaktif untuk
perdagangan langsung, yang dapat digunakan untukTradingView
atauWebHook
untuk kasus lain.CommandRobot(RobotId, Cmd)
fungsi, parameternonce
tidak memerlukan verifikasi, dan frekuensi akses dan
waktu kunjungan antarmuka tidak terbatas.
Sebagai contoh,AccessKey
dari ekstensi yang dibuatAPI KEY
adalah:xxx
danSecretKey
adalah:yyy
. Lihat tautan berikut untuk mengirim pesan perintah interaktif ke
perdagangan langsung dengan ID perdagangan langsung186515
, pesan
content adalah string:"ok12345"
.
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]
Dalam keadaan bahwa verifikasi langsung didukung,
hanyaCommandRobot
antarmuka didukung untuk mendapatkanBody
data dalam permintaan.WebHook URL
dariTradingView
:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]
Perhatikan pengaturan sesuai dengan format berikut:args=[130350,+""]
, di mana130350
adalah perdagangan langsungID
dari FMZ Quant Trading Platform.
Setel di kotak pesan dariTrading View
(yang diminta
Format JSON
{"close": {{close}}, "name": "aaa"}
Perdagangan langsung denganID
dari186515
dapat menerima string perintah interaktif:{"close": 39773.75, "name": "aaa"}
.
Format teks:
BTCUSDTPERP Crossing 39700.00 close: {{close}}
Perdagangan langsung denganID
dari186515
dapat menerima string perintah interaktif:BTCUSDTPERP Crossing 39700.00 close: 39739.4
.
Contoh dariPython
& Golang
panggilan bahasa:
#!/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)
}
Gunakan API diperpanjang pada FMZ Quant untuk mewujudkan
Antarmuka API diperluas dari FMZ Quant Trading Platform
Tambahkan parameter kueri (dipisahkan dengan?
) langsung setelah permintaanhttps://www.fmz.com/api/v1
Berikut adalah parameter permintaan yang dinyatakan menggunakanPython
:
{
"version" : "1.0",
"access_key": "xxx",
"method" : "GetNodeList",
"args" : [],
"nonce" : 1516292399361,
"sign" : "085b63456c93hfb243a757366600f9c2"
}
Bidang | Panduan |
---|---|
versi | Nomor versi. |
akses_key | AccessKey, aplikasi untuk itu di halaman manajemen akun. |
metode | Metode panggilan tertentu. |
args | Daftar parameter dari metode tertentu yang dipanggil. |
nonce | Stempel waktu, dalam milidetik, memungkinkan kesalahan 1 jam dari stempel waktu standar. Nonce harus lebih besar dari nilai nonce akses terakhir. |
tanda | Signature. |
Setiap nama parameter dipisahkan oleh karakter&
, dan nama parameter dan nilai yang terkait dengan simbol=
. URL permintaan lengkap (mengambilmethod=GetNodeList
sebagai contoh):
https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
Perhatikan bahwa tidak adasecret_key
parameter di antara parameter permintaan.
Metode tanda tangan
Peraturansign
parameter dalam parameter permintaan dienkripsi sebagai berikut, sesuai dengan format:
version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
Setelah mengikat string, gunakanMD5
algoritma enkripsi untuk mengenkripsi string dan mengubahnya menjadi nilai string data heksadesimal, disebut nilai parametersign
Untuk bagian tanda tangan, lihatPython
antarmuka API ekstensi kodeCara Pemeriksaan :
# 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()
Kesalahan layanan antarmuka:
{
"code":0,
"data":{
"result":null,
"error":"Params length incorrect"
}
}
PeraturanGetNodeList
metode digunakan untuk mendapatkan daftar pelabuhan
di akun Platform Perdagangan Kuantum FMZ yang sesuai denganAPI KEY
dalam permintaan.
{
"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
}
}
Deskripsi bidang nilai yang dikembalikan (arti harfiahnya jelas dan tidak akan diulang):
ecs_
danunit_
, yang mencatat informasi yang relevan dari server docker penyebaran satu klik (nama operator, konfigurasi, status, dll), siklus penagihan, harga dan informasi lainnya, yang tidak akan diulang di sini.Tidak ada parameter
GetRobotGroupList()
mengembalikan daftar pengelompokan perdagangan langsung
dari akun FMZ Quant Trading Platform yang sesuai denganAPI KEY
dalam permintaan.
{
"code": 0,
"data": {
"result": {
"items": [{
"id": 3417,
"name": "Test"
}, {
"id": 3608,
"name": "Live trading demo"
}]
},
"error": null
}
}
items
field hanya mencatat kelompok yang baru dibuat.items
.Tidak ada parameter
GetPlatformList()
mengembalikan daftar bursa yang memiliki
telah ditambahkan oleh akun Platform Perdagangan Kuantum FMZ yang sesuai
untukAPI KEY
dalam permintaan.
{
"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
akan digunakan dalam beberapa konfigurasi dan parameter.Tidak ada parameter
PeraturanGetRobotList
metode digunakan untuk mendapatkan daftar hidup
perdagangan di bawah akun Platform Perdagangan Quant FMZ
yang sesuai denganAPI KEY
dalam permintaan.
{
"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.Pengaturan penghapusan permintaan panggilan.
penghapusan
palsu
nomor
Pengaturan panjang pertanyaan paging.
panjang
palsu
nomor
Tentukan status perdagangan langsung yang akan ditanyakan, lihat antarmuka API yang diperluasKode Perdagangan Langsung, lulus-1
untuk mendapatkan semua perdagangan hidup.
robotStatus
palsu
nomor
Tentukan label khusus dari perdagangan langsung yang ingin Anda kueri, dan Anda dapat menyaring semua perdagangan langsung dari label ini.
label
palsu
string
Cari kata kunci.
Kata Kunci
palsu
string
AmbilPython
Languageprint(api('GetRobotList'))
Dapatkan semua informasi perdagangan langsung.print(api('GetRobotList', 'member2'))
: cetak informasi dari semua perdagangan langsung dengan anggota label khusus2.print(api('GetRobotList', 0, 5, -1, 'member2'))
: halaman dari 0 sampai 5 dan daftar hingga 5 robot berlabel dengan member2.
PeraturanCommandRobot
metode digunakan untuk mengirim interaksi
perintah untuk perdagangan langsung di bawah Platform Perdagangan Kuantum FMZ
rekening yang sesuai denganAPI KEY
Dalam permintaan.
dari perdagangan hidup menerima perintah interaksi adalah hidup
trading Id yang ditentukan olehrobotId
parameter, dan
perintah interaksi dikembalikan olehGetCommand()
fungsi
disebut dalam strategi untuk menangkapnya.
{
"code":0,
"data":{
"result":true,
"error":null
}
}
ParameterrobotId
digunakan untuk menentukan Id dari
trading yang menerima perintah interaktif.
yangGetRobotList
metode untuk mendapatkan informasi dari hidup
perdagangan di bawah akun, yang berisi ID perdagangan langsung.
robotId
benar
Nomor
Parametercmd
adalah perintah interaktif yang dikirim ke bot; perintah akan ditangkap oleh fungsiGetCommand()
, yang memicu logika interaktif dalam strategi. Untuk implementasi spesifik logika interaksi dalam kode strategi, silakan lihatGetCommand()
Fungsi dalamFMZ Quant Trading Platform API Manual.
cmd benar string
Strategi perdagangan langsung, dengan asumsi bahwa strategi ini beroperasi, ID perdagangan langsung adalah 123:
function main() {
while (true) {
var cmd = GetCommand()
if (cmd) {
Log(cmd)
}
Sleep(2000)
}
}
Jika kita menggunakan skrip pengujian Python dalam bab ini, akses API diperluas dari FMZ Quant Trading Platform:api("CommandRobot", 123, "test command")
Perdagangan langsung dengan ID 123 akan menerima perintah interaktif:test command
, dan kemudian cetak keluar melalui log output fungsi.
StopRobot(RobotId)
digunakan untuk memintaAPI KEY
yang sesuai dengan perdagangan langsung FMZ Quant Trading
akun platform. id perdagangan hidup untuk berhenti berjalan adalah hidup
trading Id yang ditentukan olehrobotId
parameter.
{
"code":0,
"data":{
"result":2,
"error":null
}
}
ParameterrobotId
digunakan untuk menentukan Id dari
Anda dapat menggunakanGetRobotList
metode untuk mendapatkan informasi dari perdagangan langsung di bawah
akun, yang berisi ID perdagangan langsung.
robotId benar Nomor
PeraturanRestartRobot
metode ini digunakan untuk memulai kembali perdagangan langsung di bawahAPI KEY
ID perdagangan langsung yang dimulainya kembali adalah ID perdagangan langsung yang ditentukan olehrobotId
parameter.
{
"code":0,
"data":{
"result":1,
"error":null
}
}
PeraturanrobotId
parameter digunakan untuk menentukan Id dari
Anda dapat menggunakanGetRobotList
metode untuk mendapatkan informasi dari perdagangan langsung di bawah
akun, yang berisi ID perdagangan langsung.
robotId
benar
Nomor
Parameter konfigurasi perdagangan langsung, parametersettings
formatnya adalah sebagai berikut:
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123},
{"pair":"ETH_USDT","pid":456}
],
"name":"test",
"node":123,
"period":60,
"strategy":123
}
Interval
, dan Anda ingin mengaturInterval
ke 500 saat memulai kembali strategi, makaargs
mengandung:["Interval", 500]
, yaitu:"args": [["Interval", 500]]
.pid
konfigurasi:{"pair":"SOL_USDT","pid":123}
; pid
dapat ditanyakan melaluiGetPlatformList
antarmuka, danid
bidang dalam data yang dikembalikan adalah pertukaranpid
.eid
konfigurasi:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}
; informasi sensitif sepertiAPI KEY
Jika jenis konfigurasi ini digunakan, informasi harus dikonfigurasi setiap kali perdagangan langsung dibuat atau dihidupkan kembali.{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}
.
label
Atribut ini adalah untuk mengatur label untuk objek pertukaran diakses olehProtokol Bea Cukai, yang dapat diperoleh denganexchange.GetLabel()
fungsi dalam strategi.GetStrategyList
method.pengaturan palsu Objek JSON
Jika perdagangan langsung dibuat oleh API diperluas, API diperluasRestartRobot (RobotId, Settings)
harus digunakan untuk memulai kembali, dansettings
parameter harus dilewatkan. Perdagangan langsung yang dibuat di halaman platform dapat di-restart melalui API yang diperluas atau dengan mengklik tombol di halaman. Anda dapat melewati atau tidak melewatisettings
Jika Anda hanya melewatiRobotId
parameter, memulai perdagangan langsung sesuai dengan pengaturan perdagangan langsung saat ini.
PeraturanGetRobotDetail
metode ini digunakan untuk mendapatkan rincian perdagangan langsung di bawah akun FMZ Quant Trading Platform yang sesuai denganAPI KEY
ID perdagangan langsung yang akan diambil adalah ID perdagangan langsung yang ditentukan olehrobotId
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
}
}
PeraturanrobotId
parameter digunakan untuk menentukan ID dari perdagangan langsung yang rincian harus diperoleh.GetRobotList
metode untuk mendapatkan informasi tentang perdagangan langsung di bawah akun, yang berisi ID perdagangan langsung.
robotId benar Nomor
Deskripsi atribut daristrategy_exchange_pairs
, contoh data berikut:
"[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]"
Data pertama60
mewakili set periode K-line default
dengan perdagangan langsung adalah 1 menit, yaitu 60 detik.
[44314,42960,15445,14703]
adalah objek pertukaranpid
dikonfigurasi untuk perdagangan langsung (sesuai dengan urutan penambahan).
[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]
adalah
set pasangan perdagangan untuk objek pertukaran yang dikonfigurasi oleh live
perdagangan (dalam urutan penjumlahan dan dalam korespondensi satu ke satu
denganpid
).
PeraturanGetAccount
metode digunakan untuk memperoleh informasi akun yang sesuai denganAPI KEY
dalam permintaan akun Platform Perdagangan Quant 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
}
}
PeraturanGetExchangeList
metode ini digunakan untuk memperoleh daftar bursa dan informasi konfigurasi yang diperlukan yang didukung oleh FMZ Quant Trading Platform.
KetikaisSummary
parameter adalahfalse
, data yang dikembalikan adalah:
{
"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
}
}
KetikaisSummary
parameter adalahtrue
, data yang dikembalikan adalah:
{
"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
}
}
PeraturanisSummary
Parameter digunakan untuk menentukan apakah data yang dikembalikan adalah informasi ringkasan.
adalahSimpel benar bool
PeraturanDeleteNode(Nid)
metode digunakan untuk menghapus node docker yang sesuai denganAPI KEY
ID node docker yang dihapus adalah ID docker yang ditentukan olehnid
parameter.
{
"code":0,
"data":{
"result":true,
"error":null
}
}
Peraturannid
parameter digunakan untuk menentukan ID dari docker yang akan dihapus.GetNodeList
metode untuk mendapatkan informasi tentang pelabuhan dari akun.
tidak benar Nomor
PeraturanDeleteRobot(RobotId, DeleteLogs)
metode digunakan untuk menghapus perdagangan langsung yang sesuai denganAPI KEY
ID perdagangan langsung yang dihapus adalah ID perdagangan langsung yang ditentukan olehrobotId
parameter.
{
"code":0,
"data":{
"result":0,
"error":null
}
}
ParameterrobotId
digunakan untuk menentukan Id dari
Anda dapat menggunakanGetRobotList
metode untuk mendapatkan informasi dari perdagangan langsung di bawah
akun, yang berisi ID perdagangan langsung.
robotId
benar
Nomor
PeraturandeleteLogs
Parameter digunakan untuk mengatur apakah akan menghapus log perdagangan langsung, jika melewati nilai benar (misalnya:true
), log perdagangan langsung dihapus.
deleteLogs benar bool
PeraturanGetStrategyList
metode digunakan untuk memperoleh informasi strategi platform.
{
"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
}
}
Peraturanoffset
Parameter digunakan untuk mengatur offset saat query.
penghapusan
benar
Nomor
Peraturanlength
Parameter digunakan untuk mengatur panjang kueri.
panjang
benar
Nomor
PeraturanstrategyType
Parameter digunakan untuk mengatur jenis strategi yang akan ditanyakan.
strategyType
pengaturan parameter0
: semua strategi.strategyType
pengaturan parameter1
: Strategi ini bersifat publik.strategyType
pengaturan parameter2
: strategi yang harus ditinjau.strategiJenis
benar
Nomor
Peraturancategory
Parameter digunakan untuk mengatur kategori strategi yang akan ditanyakan.
category
pengaturan parameter-1
: semua strategi.category
pengaturan parameter0
Strategi khusus.kategori
benar
Nomor
PeraturanneedArgs
parameter digunakan untuk mengatur apakah strategi yang akan ditanyakan memiliki parameter.
needArgs
pengaturan parameter0
: semua strategi.perluArgs
benar
Nomor
Peraturanlanguage
Parameter digunakan untuk mengatur bahasa pemrograman strategi yang akan ditanyakan.
language
pengaturan parameter0
: Bahasa JavaScript.language
pengaturan parameter1
Bahasa Python.language
pengaturan parameter2
: Bahasa C ++.language
pengaturan parameter3
: Strategi visualisasi.language
pengaturan parameter4
Bahasa saya.language
pengaturan parameter5
: bahasa pinus.bahasa
benar
Nomor
Peraturankw
parameter digunakan untuk mengatur kata kunci dari strategi yang akan ditanyakan.
kW benar string
PeraturanNewRobot
metode ini digunakan untuk membuat perdagangan langsung di bawahAPI KEY
yang sesuai dengan akun Platform Perdagangan Kuantum FMZ dalam permintaan.
{
"code":0,
"data":{
"result":591988,
"error":null
}
}
Parameter konfigurasi perdagangan langsung,settings
format parameter adalah sebagai berikut:
{
"appid":"test",
"args":[],
"exchanges":[
{"pair":"SOL_USDT","pid":123}
],
"group":123,
"name":"test",
"node":123,
"period":60,
"strategy":123
}
RestartRobot
interface.pengaturan benar Objek JSON
Dalam konfigurasieid
dalamsettings
parameter,"meta":{"AccessKey": "123", "SecretKey": "123"}
informasi sensitif ini tidak disimpan oleh FMZ Quant Trading Platform. data ini diteruskan ke program docker secara langsung, sehingga informasi ini harus dikonfigurasi setiap kali perdagangan langsung dibuat atau dimulai kembali.
Jika kita membuat obyek pertukaran perdagangan hidup menggunakan protokol kustom, ketika mengkonfigurasisettings
parameter, kita dapat menggunakan pengaturan berikut untukexchanges
atribut:
{
"eid": "Exchange",
"label": "test",
"pair": "ETH_BTC",
"meta": {
"AccessKey": "123",
"SecretKey": "123",
"Front": "http://127.0.0.1:6666/test"
}
}
label
Atribut adalah untuk mengatur label untuk objek pertukaran diakses oleh protokol kustom saat ini, yang dapat diperoleh olehexchange.GetLabel()
fungsi dalam strategi.
PeraturanPluginRun
metode digunakan untuk memanggilalat debugfungsi dari FMZ Quant Trading Platform; Hanya bahasa JavaScript yang didukung.
{
"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
}
}
Parameter pengaturan dalam alat debugging,settings
konfigurasi, termasuk kode uji dalamsource
Atribut.settings
Format parameter adalah sebagai berikut:
{
"exchanges":[{"pair":"SOL_USDT","pid":123}],
"node":123,
"period":60,
"source":"function main() {Log(\"Hello FMZ\")}"
}
RestartRobot
interface.pengaturan benar Objek JSON
{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
{"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "123"}}
Untukexchanges
atribut dalamsettings
, hanya satu yang perlu diatur saat memanggilPluginRun
metode (hanya satu objek pertukaran yang didukung ketika digunakan di halaman alat debug). Tidak ada kesalahan yang akan dilaporkan ketika Anda mengatur 2 objek pertukaran disettings
, tetapi kesalahan akan dilaporkan ketika objek pertukaran kedua diakses dalam kode.
PeraturanGetRobotLogs
metode digunakan untuk mendapatkan informasi log perdagangan langsung di bawah akun FMZ Quant Trading Platform yang sesuai denganAPI KEY
ID platform perdagangan langsung yang harus diperoleh adalah ID platform perdagangan langsung yang ditentukan olehrobotId
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
}
}
PeraturanrobotId
parameter digunakan untuk menentukan Id dari
perdagangan langsung yang informasi lognya harus diperoleh.
Anda bisa menggunakanGetRobotList
metode untuk memperoleh informasi
tentang perdagangan langsung di bawah akun, yang berisi
ID perdagangan langsung.
robotId
benar
Nomor
PeraturanlogMinId
Parameter digunakan untuk menentukan ID minimum Log.
logMinId
benar
Nomor
PeraturanlogMaxId
Parameter digunakan untuk menentukan Id maksimum Log.
logMaxId
benar
Nomor
PeraturanlogOffset
parameter digunakan untuk mengatur offset, setelah menentukan kisaran denganlogMinId
danlogMaxId
, diimbangi berdasarkanlogOffset
Mulai sebagai posisi awal untuk mengambil data.
LogOffset
benar
Nomor
ParameterlogLimit
digunakan untuk menetapkan jumlah catatan data yang akan dipilih setelah posisi awal ditentukan.
logLimit
benar
Nomor
PeraturanprofitMinId
Parameter digunakan untuk mengatur ID minimum dari catatan laba.
keuntungan MinId
benar
Nomor
ParameterprofitMaxId
digunakan untuk mengatur ID maksimum dari log laba.
profitMaxId
benar
Nomor
ParameterprofitOffset
digunakan untuk mengatur offset (berapa banyak catatan yang dilewatkan) sebagai posisi awal.
profitOffset
benar
Nomor
ParameterprofitLimit
digunakan untuk menetapkan jumlah catatan data yang akan dipilih setelah posisi awal ditentukan.
profitLimit
benar
Nomor
ParameterchartMinId
digunakan untuk mengatur ID minimum dari catatan data grafik.
grafik MinId
benar
Nomor
ParameterchartMaxId
digunakan untuk mengatur Id maksimum dari catatan data grafik.
grafikMaxId
benar
Nomor
ParameterchartOffset
digunakan untuk mengatur offset.
chartOffset
benar
Nomor
ParameterchartLimit
digunakan untuk mengatur jumlah
catatan untuk mendapatkan.
chartLimit
benar
Nomor
ParameterchartUpdateBaseId
digunakan untuk mengatur ID dasar
setelah query diperbarui.
chartUpdateBaseId
benar
Nomor
ParameterchartUpdateDate
digunakan untuk mengatur data
Catat pembaruan timestamp, dan itu akan menyaring catatan lebih besar
daripada cap waktu ini.
chartUpdate Tanggal
benar
Nomor
ParametersummaryLimit
digunakan untuk mengatur jumlah
byte dari data bar status untuk ditanyakan.
jenis integer untuk menanyakan data bar status dari live
perdagangan.
Mengatur ke summaryLimit
parameter untuk mendapatkan semua status bar
Data bar status disimpan dalam data yang dikembalikansummary
.
Ringkasan Batas benar Nomor
Tabel log strategi dalam database
PeraturanArr
nilai atribut dalam elemen pertama dariLogs
nilai atribut (struktur array) dalam data yang dikembalikan (data log) dijelaskan sebagai berikut:
"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 | Perintah | harga | jumlah | tambahan | tanggal | kontrakJenis | arah |
---|---|---|---|---|---|---|---|---|---|
3977 | 3 | "" | 0 | 0 | 1526954372591 | "" | "" | ||
3976 | 5 | "" | "" | 0 | 0 | 1526954372410 | "" | "" |
extra
adalah pesan yang terlampir dari log yang dicetak.
Jenis log khusus yang diwakili olehlogType
nilai dijelaskan sebagai berikut:
logType: | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
Arti logType: | Membeli | Penjualan | Keluar | Kesalahan | Keuntungan | Pesan | Memulai kembali |
Tabel log grafik laba dalam database Data dalam tabel log grafik konsisten dengan log laba dalam tabel log strategi.
"Arr": [
[202, 2515.44, 1575896700315],
[201, 1415.44, 1575896341568]
]
Ambil salah satu data log sebagai contoh:
[202, 2515.44, 1575896700315]
202
adalah logID
; 2515.44
adalah nilai laba;1575896700315
adalah timestamp.
Tabel log grafik di database
"Arr": [
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
[23636, 5, "{\"x\":1575960300000,\"y\":3.0735}"]
]
Ambil salah satu data log sebagai contoh:
[23637, 0, "{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"],
23637
adalah logID
, 0
adalah indeks dari seri data grafik, dan data terakhir"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"
adalah data log; data ini adalah data K-line pada grafik.