Suporta a verificação semtoken
(passagem)secret_key
Para o acesso direto, você pode gerar um URL que pode ser acessado diretamente.
Por exemplo, o URL que dá diretamente instruções interativas para
A negociação ao vivo, que pode ser utilizada paraTradingView
ou oWebHook
Para os outros casos.CommandRobot(RobotId, Cmd)
função, o parâmetrononce
Não é necessário verificar, e a frequência de acesso e
Os tempos de visita da interface não são limitados.
Por exemplo, oAccessKey
da extensão criadaAPI KEY
é:xxx
e oSecretKey
é:yyy
. Visualize o seguinte link para enviar uma mensagem de comando interativa para
a negociação em tempo real com o ID de negociação em tempo real186515
, a mensagem
o conteúdo é uma cadeia:"ok12345"
.
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]
Sob a circunstância de que a verificação direta é apoiada,
apenasCommandRobot
Interface é suportada para obter oBody
Os dados na solicitação.WebHook URL
deTradingView
:
https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]
Preste atenção ao ajuste de acordo com o seguinte formato:args=[130350,+""]
, em que130350
é a negociação ao vivoID
da plataforma de negociação FMZ Quant.
Configurar na caixa de mensagens deTrading View
(o
Formato JSON:
{"close": {{close}}, "name": "aaa"}
O comércio ao vivo comID
de186515
pode receber a sequência de comandos interativa:{"close": 39773.75, "name": "aaa"}
.
Formato de texto:
BTCUSDTPERP Crossing 39700.00 close: {{close}}
O comércio ao vivo comID
de186515
pode receber a sequência de comandos interativa:BTCUSDTPERP Crossing 39700.00 close: 39739.4
.
Exemplos dePython
& Golang
chamadas de idiomas:
#!/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)
}
Use a API estendida no FMZ Quant para realizar o alerta