Les ressources ont été chargées... Je charge...

Vérification directe

Il prend en charge la vérificationtoken(passer)secret_keyVous pouvez générer une URL directement accessible. Par exemple, l'URL qui donne directement des instructions interactives à les échanges en direct, qui peuvent être utilisés pourTradingViewou leWebHookPour les autres cas.CommandRobot(RobotId, Cmd)fonction, le paramètrenoncen'a pas besoin de vérification, et la fréquence d'accès et les temps de visite de l'interface ne sont pas limités.

Par exemple, leAccessKeyde l'extension crééeAPI KEYest:xxxet leSecretKeyest:yyy. Consultez le lien suivant pour envoyer un message de commande interactif à les transactions en direct avec l'ID de négociation en direct186515, le message le contenu est une chaîne:"ok12345".


https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,"ok12345"]

Si la vérification directe est soutenue, seulementCommandRobotl'interface est prise en charge pour obtenir leBodyPar exemple, les paramètres dans leWebHook URLdeTradingView:


https://www.fmz.com/api/v1?access_key=xxx&secret_key=yyy&method=CommandRobot&args=[186515,+""]

Veuillez faire attention au réglage selon le format suivant:args=[130350,+""], dans lequel130350est la négociation en directIDde la plateforme de négociation quantitative FMZ.

Mettre dans la boîte de message deTrading View(l'organisme requis) données à envoyer):

  • Format JSON:

    https://www.fmz.comimg

    {"close": {{close}}, "name": "aaa"}
    

    Les échanges en direct avecIDde186515peut recevoir la chaîne de commande interactive:{"close": 39773.75, "name": "aaa"}.

  • Format du texte:

    https://www.fmz.comimg

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    Les échanges en direct avecIDde186515peut recevoir la chaîne de commande interactive:BTCUSDTPERP Crossing 39700.00 close: 39739.4.

Exemples dePython & Golangappels linguistiques:

#!/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)
}

Utilisez l'API étendue sur FMZ Quant pour réaliser l'alerte TradingView négociation de signaux

Vérification des jetons Explication de l'interface API étendue