Tài nguyên đang được tải lên... tải...

Kiểm tra trực tiếp

Nó hỗ trợ xác minh mà không cầntoken(trượt)secret_keytrực tiếp), bạn có thể tạo ra một URL có thể được truy cập trực tiếp. ví dụ, URL trực tiếp cung cấp các hướng dẫn tương tác để giao dịch trực tiếp, có thể được sử dụng đểTradingViewhoặcWebHookcho các trường hợp khác.CommandRobot(RobotId, Cmd)chức năng, tham sốnoncekhông cần xác minh, và tần suất truy cập và Thời gian truy cập giao diện không bị giới hạn.

Ví dụ:AccessKeycủa phần mở rộng được tạoAPI KEYlà:xxxSecretKeylà:yyy. Xem liên kết sau để gửi một thông báo lệnh tương tác đến giao dịch trực tiếp với ID giao dịch trực tiếp186515, thông điệp content là một chuỗi:"ok12345".


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

Trong trường hợp xác minh trực tiếp được hỗ trợ, chỉCommandRobotgiao diện được hỗ trợ để có đượcBodyVí dụ, các cài đặt trongWebHook URLcủaTradingView:


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

Chú ý để thiết lập theo định dạng sau:args=[130350,+""], trong đó130350là giao dịch trực tiếpIDcủa FMZ Quant Trading Platform.

Đặt trong hộp tin nhắn củaTrading View(các Cơ quan yêu cầu Dữ liệu cần gửi):

  • Định dạng JSON:

    https://www.fmz.comimg

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

    Các giao dịch trực tiếp vớiIDcủa186515có thể nhận chuỗi lệnh tương tác:{"close": 39773.75, "name": "aaa"}.

  • Định dạng văn bản:

    https://www.fmz.comimg

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    Các giao dịch trực tiếp vớiIDcủa186515có thể nhận chuỗi lệnh tương tác:BTCUSDTPERP Crossing 39700.00 close: 39739.4.

Ví dụ:Python & GolangGọi ngôn ngữ:

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

Sử dụng API mở rộng trên FMZ Quant để nhận ra cảnh báo TradingView giao dịch tín hiệu

xác minh token Giải thích về giao diện API mở rộng