Es unterstützt die Überprüfung ohnetoken
(übergeben)secret_key
Sie können eine URL generieren, die direkt zugänglich ist.
Beispiel: die URL, die direkt interaktive Anweisungen an
Live-Handel, der fürTradingView
oder derWebHook
In anderen Fällen wird ein Rückruf verlangt.CommandRobot(RobotId, Cmd)
Funktion, der Parameternonce
die Daten nicht überprüft werden müssen, und die Zugriffsfrequenz und
Die Besuchszeiten der Schnittstelle sind nicht begrenzt.
Zum BeispielAccessKey
der erstellten ErweiterungAPI KEY
ist:xxx
und derSecretKey
ist:yyy
. Senden Sie eine interaktive Befehlsnachricht an
der Live-Handel mit der Live-Handel-ID186515
, die Botschaft
Content ist eine Zeichenfolge:"ok12345"
.
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]
Unter der Voraussetzung, dass die direkte Überprüfung unterstützt wird,
nurCommandRobot
Interface wird unterstützt, um dieBody
Die Daten in der Anfrage.WebHook URL
vonTradingView
:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]
Achten Sie auf die Einstellung nach folgendem Format:args=[130350,+""]
, in denen130350
ist der Live-HandelID
der FMZ Quant Trading Plattform.
In der Nachrichtenbox vonTrading View
(die angeforderte
JSON-Format
{"close": {{close}}, "name": "aaa"}
Der Live-Handel mitID
von186515
kann die interaktive Befehlszeile empfangen:{"close": 39773.75, "name": "aaa"}
.
Textformat:
BTCUSDTPERP Crossing 39700.00 close: {{close}}
Der Live-Handel mitID
von186515
kann die interaktive Befehlszeile empfangen:BTCUSDTPERP Crossing 39700.00 close: 39739.4
.
Beispiele fürPython
& Golang
Sprachanrufe:
#!/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)
}
Verwenden Sie die erweiterte API auf FMZ Quant, um