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