Ia menyokong pengesahantoken
(mengalir)secret_key
anda boleh menjana URL yang boleh diakses secara langsung.
contohnya, URL yang secara langsung memberikan arahan interaktif untuk
perdagangan langsung, yang boleh digunakan untukTradingView
atauWebHook
panggilan balik dalam kes lain.CommandRobot(RobotId, Cmd)
fungsi, parameternonce
tidak memerlukan pengesahan, dan kekerapan akses dan
masa lawatan antara muka tidak terhad.
Sebagai contoh,AccessKey
dari sambungan yang diciptaAPI KEY
ialah:xxx
danSecretKey
ialah:yyy
. Lihat pautan berikut untuk menghantar mesej arahan interaktif ke
perdagangan langsung dengan ID perdagangan langsung186515
, mesej
content adalah rentetan:"ok12345"
.
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]
Di bawah keadaan bahawa pengesahan langsung disokong,
HanyaCommandRobot
antara muka disokong untuk mendapatkanBody
data dalam permintaan. Sebagai contoh, tetapan dalamWebHook URL
daripadaTradingView
:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]
Berhati-hati untuk menetapkan mengikut format berikut:args=[130350,+""]
, di mana130350
adalah perdagangan secara langsungID
dari Platform Dagangan Kuantum FMZ.
Tetapkan dalam kotak mesejTrading View
(yang diminta
Format JSON:
{"close": {{close}}, "name": "aaa"}
Perdagangan langsung denganID
daripada186515
boleh menerima rentetan arahan interaktif:{"close": 39773.75, "name": "aaa"}
.
Format teks:
BTCUSDTPERP Crossing 39700.00 close: {{close}}
Perdagangan langsung denganID
daripada186515
boleh menerima rentetan arahan interaktif:BTCUSDTPERP Crossing 39700.00 close: 39739.4
.
ContohPython
& 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 lanjutan di FMZ Quant untuk merealisasikan amaran