संसाधन लोड हो रहा है... लोड करना...

विस्तारित एपीआई इंटरफ़ेस

एफएमजेड क्वांट ने एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म के विभिन्न कार्यों में प्रोग्रामेटिक कॉल का समर्थन करने के लिए प्लेटफॉर्म के विस्तारित एपीआई इंटरफ़ेस को खोला है।

ApiKey बनाएँ

एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म अनुमति प्रबंधन का समर्थन करता है विस्तारित एपीआई इंटरफ़ेस, और अनुमतिAPI KEYएपीआई इंटरफ़ेस विकल्प पर खाता सेटिंग्स (https://www.fmz.com/m/account) पृष्ठ पर, Create पर क्लिक करें विस्तार बनाने के लिए नया ApiKey बटनAPI KEY.

आप API Permission इनपुट बॉक्स को संपादित कर सकते हैं जब एकAPI KEY, और प्रविष्ट करें*सभी को सक्षम करने के लिए प्रतीकविस्तारित एपीआई इंटरफ़ेसअनुमतिएँ. यदि आप विशिष्ट इंटरफ़ेस अनुमतियाँ निर्दिष्ट करना चाहते हैं, तो आपको संबंधित विस्तारित एपीआई फ़ंक्शन नाम दर्ज करने की आवश्यकता है. अलग करने के लिए अल्पविराम का उपयोग करें, उदाहरण के लिएःGetRobotDetail,DeleteRobot. यह यह देता हैAPI KEYकॉल करने की अनुमतिलाइव ट्रेडिंग की विस्तृत जानकारी प्राप्त करेंइंटरफेस औरलाइव ट्रेडिंग हटाएँ interface.

..API KEYप्रबंधन पृष्ठ भी आप करने के लिए अनुमति देता हैसंशोधित करना, अक्षम करना, मिटानाजो पैदा किया गया हैAPI KEY.

विस्तारित एपीआई इंटरफेस रिटर्न कोड

विस्तारित एपीआई इंटरफेस द्वारा लौटाई गई संरचना का एक उदाहरण निम्नानुसार हैः

    "code":0,
    "data":{
        // ...
    }
}

..codeफ़ील्ड is: कॉल परिणाम स्थिति कोड वापस जब विस्तारित एपीआई इंटरफ़ेस कहा जाता है.

विवरण कोड
सफल निष्पादन 0
गलत एपीआई कुंजी 1
गलत हस्ताक्षर 2
गैर-त्रुटि 3
गलत विधि 4
गलत पैरामीटर 5
आंतरिक अज्ञात त्रुटि 6

लाइव ट्रेडिंग कोड

..GetRobotListइंटरफ़ेस,GetRobotDetailइंटरफ़ेस, औरGetRobotLogsइंटरफेस में डेटा वापसstatusके लिए क्षेत्रः लाइव ट्रेडिंग स्थिति कोड.

  • सामान्य प्रारंभ
    स्थिति कोड
    निष्क्रिय 0
    संचालन में 1
    रोकना 2
    हस्ताक्षरित 3
    रोक दिया 4
    रणनीति में त्रुटियां हैं 5
  • असामान्य
    स्थिति कोड
    रणनीति समाप्त हो गया है, और कृपया लेखक से संपर्क करें इसे फिर से खरीदने के लिए -1
    कोई डॉकर नहीं मिला -2
    रणनीति संकलन त्रुटि -3
    लाइव ट्रेडिंग पहले से ही चल रही है -4
    अपर्याप्त संतुलन -5
    समवर्ती रणनीतियों की संख्या सीमा से अधिक है -6

सत्यापन के तरीके

विस्तारित एपीआई इंटरफेस को कॉल करते समय दो सत्यापन विधियां हैं,tokenसत्यापन और प्रत्यक्ष सत्यापन।

टोकन सत्यापन

प्रयोगmd5सत्यापित करने के लिए एन्क्रिप्शन विधि, उदाहरणPython, Golangभाषा कॉलः

#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import json
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

try:
    import md5
    import urllib2
    from urllib import urlencode
except:
    import hashlib as md5
    import urllib.request as urllib2
    from urllib.parse import urlencode

accessKey = ''   # your API KEY
secretKey = ''   

def api(method, *args):
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
        }

    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    # Note: for the timeout problem of "urllib2.urlopen" function, you can set the timeout time; for example, urllib2.urlopen ('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8'), timeout = 10), that is, set timeout for 10 seconds
    return json.loads(urllib2.urlopen('https://www.fmz.com/api/v1', urlencode(d).encode('utf-8')).read().decode('utf-8'))

# Return the docker list
print(api('GetNodeList'))
# Return the exchange list
print(api('GetPlatformList'))
# GetRobotList(offset, length, robotStatus, label), passing "-1" means obtaining all
print(api('GetRobotList', 0, 5, -1, 'member2'))
# CommandRobot(robotId, cmd) sends command to live trading
print(api('CommandRobot', 123, 'ok'))
# StopRobot(robotId) returns the live trading status code
print(api('StopRobot', 123))  
# RestartRobot(robotId) returns the live trading status code
print(api('RestartRobot', 123))
# GetRobotDetail(robotId) returns detailed live trading information
print(api('GetRobotDetail', 123))
package main

import (
    "fmt"
    "time"
    "encoding/json"
    "crypto/md5"
    "encoding/hex"
    "net/http"
    "io/ioutil"
    "strconv"
    "net/url"
)

// Fill in your own FMZ platform api key
var apiKey string = ""                                  
// Fill in your own FMZ platform secret key
var secretKey string = ""                               
var baseApi string = "https://www.fmz.com/api/v1"

func api(method string, args ... interface{}) (ret interface{}) {
    // Process args
    jsonStr, err := json.Marshal(args)
    if err != nil {
        panic(err)
    }

    params := map[string]string{
        "version" : "1.0", 
        "access_key" : apiKey,
        "method" : method,
        "args" : string(jsonStr),
        "nonce" : strconv.FormatInt(time.Now().UnixNano() / 1e6, 10),
    }    

    data := fmt.Sprintf("%s|%s|%s|%v|%s", params["version"], params["method"], params["args"], params["nonce"], secretKey)
    h := md5.New()
    h.Write([]byte(data))
    sign := h.Sum(nil)

    params["sign"] = hex.EncodeToString(sign)

    // 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() {
    settings := map[string]interface{}{
        "name": "hedge test",
        "strategy": 104150,                      
        // K-line period parameter, "60" means 60 seconds
        "period": 60,                           
        "node" : 73938,                         
        "appid": "member2",                
        "exchanges": []interface{}{
            map[string]interface{}{
                "eid": "Exchange", 
                "label" : "test_bjex", 
                "pair": "BTC_USDT", 
                "meta" : map[string]interface{}{
                    // Fill in the access key
                    "AccessKey": "",                                
                    // Fill in the secret key
                    "SecretKey": "",                                
                    "Front" : "http://127.0.0.1:6666/exchange",
                },
            },
        },
    }

    method := "RestartRobot"
    fmt.Println("Call interface:", method)
    ret := api(method, 124577, settings)
    fmt.Println("main ret:", ret)
}

प्रत्यक्ष सत्यापन

यह बिना सत्यापन का समर्थन करता हैtoken(पास)secret_keyसीधे), आप एक यूआरएल उत्पन्न कर सकते हैं जो सीधे पहुँचा जा सकता है। उदाहरण के लिए, यूआरएल जो सीधे इंटरैक्टिव निर्देश देता है लाइव ट्रेडिंग, जिसका उपयोगTradingViewयाWebHookअन्य मामलों में कॉलबैक।CommandRobot(RobotId, Cmd)कार्य, पैरामीटरnonceसत्यापन की आवश्यकता नहीं है, और उपयोग की आवृत्ति और इंटरफेस के विज़िट समय सीमित नहीं हैं।

उदाहरण के लिए,AccessKeyबनाए गए विस्तार काAPI KEYहै:xxxऔरSecretKeyहै:yyy. एक इंटरैक्टिव कमांड संदेश भेजने के लिए निम्न लिंक देखें लाइव ट्रेडिंग आईडी वाला लाइव ट्रेडिंग186515, संदेश content एक स्ट्रिंग हैः"ok12345".


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

इस परिस्थिति में कि प्रत्यक्ष सत्यापन समर्थित है, केवलCommandRobotइंटरफ़ेस प्राप्त करने के लिए समर्थित हैBodyउदाहरण के लिए, अनुरोध में सेटिंग्सWebHook URLकाTradingView:


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

निम्नलिखित प्रारूप के अनुसार सेटिंग पर ध्यान देंःargs=[130350,+""], जिसमें130350प्रत्यक्ष व्यापार हैIDएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म का।

के संदेश बॉक्स में सेट करेंTrading View(चाहे गए निकाय भेजी जाने वाली जानकारी):

  • JSON प्रारूपः

    https://www.fmz.comimg

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

    के साथ लाइव व्यापारIDका186515इंटरैक्टिव कमांड स्ट्रिंग प्राप्त कर सकते हैंः{"close": 39773.75, "name": "aaa"}.

  • पाठ प्रारूपः

    https://www.fmz.comimg

    BTCUSDTPERP Crossing 39700.00 close: {{close}}
    

    के साथ लाइव व्यापारIDका186515इंटरैक्टिव कमांड स्ट्रिंग प्राप्त कर सकते हैंःBTCUSDTPERP Crossing 39700.00 close: 39739.4.

उदाहरणPython & Golangभाषा कॉलः

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

TradingView अलर्ट का एहसास करने के लिए FMZ Quant पर विस्तारित एपीआई का उपयोग करें संकेत व्यापार

विस्तारित एपीआई इंटरफेस की व्याख्या

  • एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म का विस्तारित एपीआई इंटरफ़ेस क्वेरी पैरामीटर जोड़ें (इसके द्वारा अलग)?) के तुरंत बादhttps://www.fmz.com/api/v1. निम्नलिखित अनुरोध पैरामीटर हैं जो उपयोग करके व्यक्त किए गए हैंPython:

    {
        "version"   : "1.0",
        "access_key": "xxx",
        "method"    : "GetNodeList",
        "args"      : [],
        "nonce"     : 1516292399361,
        "sign"      : "085b63456c93hfb243a757366600f9c2"
    }
    
    खेत निर्देश
    संस्करण संस्करण संख्या.
    access_key AccessKey, खाता प्रबंधन पृष्ठ पर इसके लिए आवेदन करें.
    विधि विशिष्ट कॉल विधि।
    आर्ग कॉल की गई विशिष्ट पद्धति की पैरामीटर सूची.
    नॉनसे टाइमस्टैम्प, मिलीसेकंड में, मानक टाइमस्टैम्प से 1-घंटे की त्रुटि की अनुमति देता है। नॉनस को अंतिम पहुंच के नॉनस मूल्य से बड़ा होना चाहिए।
    चिह्न Signature.

    प्रत्येक पैरामीटर का नाम वर्ण द्वारा अलग किया जाता है&, और पैरामीटर नाम और मान प्रतीक के साथ जुड़े हैं=. पूर्ण अनुरोध URL (ले रहा हैmethod=GetNodeListउदाहरण के तौर पर):

    https://www.fmz.com/api/v1?access_key=xxx&nonce=1516292399361&args=%5B%5D&sign=085b63456c93hfb243a757366600f9c2&version=1.0&method=GetNodeList
    

    ध्यान दें कि कोईsecret_keyअनुरोध मापदंडों के बीच पैरामीटर.

  • हस्ताक्षर विधि दsignअनुरोध पैरामीटर में पैरामीटर को निम्न प्रारूप के अनुसार एन्क्रिप्ट किया जाता हैः

    version + "|" + method + "|" + args + "|" + nonce + "|" + secretKey
    

    तारों को जोड़ने के बाद, उपयोग करेंMD5एन्क्रिप्शन एल्गोरिथ्म स्ट्रिंग को एन्क्रिप्ट करने और उसे हेक्साडेसिमल डेटा स्ट्रिंग मान में परिवर्तित करने के लिए, पैरामीटर के मान को संदर्भित किया जाता हैsignहस्ताक्षर भाग के लिए, देखेंPythonकोड एक्सटेंशन एपीआई इंटरफ़ेससत्यापन के तरीके :

    # Parameter
    d = {
        'version': '1.0',
        'access_key': accessKey,
        'method': method,
        'args': json.dumps(list(args)),
        'nonce': int(time.time() * 1000),
    }
    
    # Calculate "sign" signature
    d['sign'] = md5.md5(('%s|%s|%s|%d|%s' % (d['version'], d['method'], d['args'], d['nonce'], secretKey)).encode('utf-8')).hexdigest()
    

GetNodeList प्राप्त करें

..GetNodeListबंदरगाहों की सूची प्राप्त करने के लिए विधि का उपयोग किया जाता है एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के अंतर्गतAPI KEYअनुरोध में।

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "nodes": [{
                "build": "3.7",
                "city": "...",
                "created": "2024-11-08 09:21:08",
                "date": "2024-11-08 16:37:16",
                "forward": "...",
                "guid": "...",
                "host": "node.fmz.com:9902",
                "id": 123,
                "ip": "...",
                "is_owner": true,
                "loaded": 0,
                "name": "MacBook-Pro-2.local",
                "online": true,
                "os": "darwin/amd64",
                "peer": "...",
                "public": 0,
                "region": "...",
                "tunnel": false,
                "version": "...",
                "wd": 0
            }]
        },
        "error": null
    }
}

रिटर्न मान क्षेत्रों का वर्णन (शाब्दिक अर्थ स्पष्ट है और दोहराया नहीं जाएगा):

  • सभीः चालू खाते से जुड़े डॉकरों की संख्या।
  • नोड्स: डॉकर नोड विवरण रिकॉर्ड करता है.
    • निर्माण: संस्करण संख्या.
    • शहर: वह शहर जहाँ आप स्थित हैं।
    • is_owner: true एक निजी डॉकर को दर्शाता है, false एक सार्वजनिक डॉकर को दर्शाता है.
    • लोडः लोड, रणनीति उदाहरणों की संख्या।
    • सार्वजनिकः 0 एक निजी डॉकर को दर्शाता है, 1 एक सार्वजनिक डॉकर को दर्शाता है।
    • क्षेत्र: भौगोलिक स्थान।
    • संस्करण: डॉकर की विस्तृत संस्करण जानकारी।
    • wd: क्या ऑफ़लाइन अलार्म सक्षम किया जाना चाहिए, 0 का अर्थ है सक्षम नहीं। एक क्लिक पर तैनाती डॉकर कुछ अतिरिक्त जानकारी शामिल है. क्षेत्रों के साथ शुरू उपसर्गोंecs_औरunit_, जो एक क्लिक पर तैनाती डॉकर सर्वर की प्रासंगिक जानकारी (ऑपरेटर का नाम, कॉन्फ़िगरेशन, स्थिति, आदि), बिलिंग चक्र, मूल्य और अन्य जानकारी रिकॉर्ड करता है, जिसे यहां दोहराया नहीं जाएगा।

कोई पैरामीटर नहीं

GetRobotGroupList प्राप्त करें

GetRobotGroupList()लाइव ट्रेडिंग समूह सूची लौटाता है एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म के खाते काAPI KEYअनुरोध में।

{
    "code": 0,
    "data": {
        "result": {
            "items": [{
                "id": 3417,
                "name": "Test"
            }, {
                "id": 3608,
                "name": "Live trading demo"
            }]
        },
        "error": null
    }
}
  • आइटम: लाइव ट्रेडिंग समूह जानकारी।
    • आईडी: लाइव ट्रेडिंग समूह आईडी।
    • नाम: लाइव ट्रेडिंग समूह का नाम। दitemsफ़ील्ड केवल नए बनाए गए समूहों को रिकॉर्ड करता है।items.

कोई पैरामीटर नहीं

GetPlatformList प्राप्त करें

GetPlatformList()एक्सचेंजों की सूची लौटाता है एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते द्वारा जोड़ा गया है के लिएAPI KEYअनुरोध में।

{
    "code": 0,
    "data": {
        "result": {
            "all": 2,
            "platforms": [{
                "category": "加密货币||Crypto",
                "date": "2023-12-07 13:44:52",
                "eid": "Binance",
                "id": 123,
                "label": "Binance",
                "logo": "...",
                "name": "币安现货|Binance",
                "stocks": ["BTC_USDT", "LTC_USDT", "ETH_USDT", "ETC_USDT", "BTC_TUSD", "ETH_TUSD", "BNB_TUSD"],
                "website": "..."
            }, {
                "category": "通用协议|Custom Protocol",
                "date": "2020-11-09 11:23:48",
                "eid": "Exchange",
                "id": 123,
                "label": "XX Exchange REST Protocol",
                "logo": "...",
                "name": "通用协议|Custom Protocol",
                "stocks": ["BTC_USDT", "ETH_USDT"],
                "website": ""
            }]
        },
        "error": null
    }
}

कोई पैरामीटर नहीं

GetRobotसूची

..GetRobotListविधि का उपयोग एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के तहत लाइव ट्रेडिंग की सूची प्राप्त करने के लिए किया जाता है जोAPI KEYअनुरोध में।

{
    "code": 0,
    "data": {
        "result": {
            "all": 53,
            "robots": [{
                "date": "2017-12-25 09:29:27",
                "end_time": "2017-12-28 17:44:21",
                "id": 66054,
                // If the value is 1, the live trading is a virtual platform live trading
                "is_sandbox": 1,                                      
                "name": "C++ test strategy",
                "node_guid": "705d9aaaaaaaa93b49baaaaa787581cb087",
                "profit": 0,
                "public": 0,
                "refresh": 151345645647000,
                "start_time": "2017-12-28 17:44:15",
                "status": 3,
                "strategy_id": 65365,
                "strategy_isowner": true,
                "strategy_name": "C++  Version Docker API Test Strategy(cryptocurrency futures and spot markets)",
                "wd": 0
            }, ...
            ]
        },
        "error": null
    }
}

पेजिंग क्वेरी ऑफसेट सेटिंग. विस्थापन झूठी संख्या पेजिंग क्वेरी लंबाई सेटिंग. लम्बाई झूठी संख्या पूछताछ की जाने वाली लाइव ट्रेडिंग की स्थिति निर्दिष्ट करें, विस्तारित एपीआई इंटरफ़ेस देखेंलाइव ट्रेडिंग कोड, पास-1सभी लाइव ट्रेडिंग प्राप्त करने के लिए। robotस्थिति झूठी संख्या लाइव ट्रेडिंग का कस्टम लेबल निर्दिष्ट करें जिसे आप क्वेरी करना चाहते हैं, और आप इस लेबल के सभी लाइव ट्रेडिंग को फ़िल्टर कर सकते हैं. लेबल झूठी स्ट्रिंग

ले लोPythonlanguages विस्तारित एपीआई इंटरफ़ेससत्यापन के तरीकेउदाहरण के तौर परःprint(api('GetRobotList', 'member2')): कस्टम लेबल के साथ सभी लाइव ट्रेडिंग की जानकारी प्रिंट करेंmember2. print(api('GetRobotList', 0, 5, -1, 'member2')): 0 से 5 तक के पन्ने और 5 तक की रोबोटों की सूचीmember2.

कमांडरोबोट

..CommandRobotविधि का उपयोग एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के तहत लाइव ट्रेडिंग के लिए एक इंटरैक्शन कमांड भेजने के लिए किया जाता है जोAPI KEYअनुरोध में. बातचीत कमांड प्राप्त करने वाले लाइव ट्रेडिंग की आईडी लाइव ट्रेडिंग आईडी द्वारा निर्दिष्ट हैrobotIdपैरामीटर, और बातचीत आदेश द्वारा लौटाया जाता हैGetCommand()यह कैप्चर करने के लिए रणनीति में बुलाया समारोह.

{
    // The API request was successfully executed
    "code": 0,
    "data": {
        // However, sending a command to live trading that is not running returns failure
        "result": false,       
        "error": null
    }
}

पैरामीटरrobotIdका उपयोग लाइव ट्रेडिंग के आईडी को निर्दिष्ट करने के लिए किया जाता है जो इंटरैक्टिव कमांड प्राप्त करता है।GetRobotListखाता के अंतर्गत लाइव ट्रेडिंग की जानकारी प्राप्त करने की विधि, जिसमें लाइव ट्रेडिंग आईडी शामिल है। रोबोट सच संख्या पैरामीटरcmdबॉट को भेजी गई इंटरैक्टिव कमांड है; कमांड को फ़ंक्शन द्वारा कैप्चर किया जाएगाGetCommand(), जो रणनीति में इंटरएक्टिव लॉजिक को ट्रिगर करता है। रणनीति कोड में इंटरएक्टिव लॉजिक के विशिष्ट कार्यान्वयन के लिए, कृपया देखेंGetCommand()कार्य मेंएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म एपीआई मैनुअल. सीएमडी सच स्ट्रिंग

रोकोरोबोट

StopRobot(RobotId)अनुरोध करने के लिए प्रयोग किया जाता हैAPI KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के लाइव ट्रेडिंग से मेल खाता है। चलना बंद करने के लिए लाइव ट्रेडिंग आईडी लाइव ट्रेडिंग आईडी द्वारा निर्दिष्ट हैrobotId parameter.

{
    "code": 0,
    "data": {
        // 2 means stopping
        "result": 2,           
        "error": null
    }
}

पैरामीटरrobotIdलाइव ट्रेडिंग को रोकने के लिए आईडी निर्दिष्ट करने के लिए प्रयोग किया जाता है.GetRobotListखाता के अंतर्गत लाइव ट्रेडिंग की जानकारी प्राप्त करने की विधि, जिसमें लाइव ट्रेडिंग आईडी शामिल है। रोबोट सच संख्या

पुनः आरंभ करेंRobot

..RestartRobotविधि का उपयोग प्रत्यक्ष व्यापार को पुनः आरंभ करने के लिए किया जाता हैAPI KEYअनुरोध में एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के अनुरूप। पुनः आरंभ किए गए लाइव ट्रेडिंग की आईडी लाइव ट्रेडिंग आईडी द्वारा निर्दिष्ट है।robotId parameter.

{
    "code": 0,
    "data": {
        // 1 means running
        "result": 1,          
        "error": null
    }
}

..robotIdपैरामीटर का उपयोग लाइव ट्रेडिंग के आईडी को निर्दिष्ट करने के लिए किया जाता है।GetRobotListखाता के अंतर्गत लाइव ट्रेडिंग की जानकारी प्राप्त करने की विधि, जिसमें लाइव ट्रेडिंग आईडी शामिल है। रोबोट सच संख्या लाइव ट्रेडिंग कॉन्फ़िगरेशन पैरामीटर, पैरामीटरsettingsप्रारूप इस प्रकार हैः

{
    "name": "hedge test",
    // Strategy parameter
    "args": [["Interval", 500]],            
    // Strategy ID, which can be obtained with "GetStrategyList" method
    "strategy": 25189,                      
    // K-line period parameter, "60" means 60 seconds
    "period": 60,                           
    // Specify on which docker to run; if the attribute is not written, it will be automatically assigned to run
    "node" : 51924,                         
    // Custom field
    "appid": "member2",                     
    "exchanges": [
        // ZB; "pid" can be obtained by "GetPlatformList" method
        {"pid": 15445, "pair": "ETH_BTC"},     
        // OKX; 2 exchange objects are configured
        {"pid": 13802, "pair": "BCH_BTC"},     
        
        // In addition to the platforms ("pid" identification) configured by the FMZ dashboard, you can also set exchange configuration information that has not been configured to operate live trading
        {"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}},
        {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}}
    ]
}

जब आप संवेदनशील जानकारी का उपयोग करते हैं, जैसे कि मंचAPI KEY, सहित"meta":{"AccessKey":"xxx","SecretKey":"yyy"}के विन्यास मेंeid, आपको पता होना चाहिए कि एफएमजेड डेटा संग्रहीत नहीं करता है. डेटा सीधे डॉकर प्रोग्राम में भेजा जाएगा, इसलिए इस जानकारी को हर बार कॉन्फ़िगर किया जाना चाहिए जब लाइव ट्रेडिंग बनाई जाती है या फिर से शुरू की जाती है.

लाइव व्यापार को फिर से शुरू करने के लिए जो एक्सचेंज का समर्थन करने के लिए प्लगइन का उपयोग करता है, जब विन्यासsettingsपैरामीटर, आप के लिए निम्नलिखित सेटिंग्स करना चाहिएexchangesविशेषताः

{"eid": "Exchange", "label" : "testXXX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "1234", "Front" : "http://127.0.0.1:6666/XXX"}}

labelविशेषता वर्तमान द्वारा एक्सेस विनिमय वस्तु के लिए एक लेबल सेट करने के लिए हैसामान्य प्रोटोकॉल, जिसे प्राप्त किया जा सकता हैexchange.GetLabel()कार्यनीति में भूमिका निभाना।

सेटिंग्स झूठी JSON ऑब्जेक्ट

यदि लाइव ट्रेडिंग विस्तारित एपीआई द्वारा बनाई जाती है, तो विस्तारित एपीआईRestartRobot (RobotId, Settings)पुनः आरंभ करने के लिए उपयोग किया जाना चाहिए, औरsettingsपैरामीटर पारित किया जाना चाहिए. मंच पृष्ठ पर बनाए गए लाइव ट्रेडिंग को विस्तारित एपीआई के माध्यम से या पृष्ठ पर बटन पर क्लिक करके फिर से शुरू किया जा सकता है. आप पास या पास नहीं कर सकते हैंsettingsपैरामीटर. यदि आप केवल पारितRobotIdपैरामीटर, वर्तमान लाइव ट्रेडिंग सेटिंग्स के अनुसार लाइव ट्रेडिंग शुरू करें।

GetRobotविवरण

..GetRobotDetailविधि का उपयोग एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के तहत लाइव ट्रेडिंग के विवरण प्राप्त करने के लिए किया जाता है।API KEYअनुरोध में. पुनर्प्राप्त करने के लिए लाइव ट्रेडिंग की आईडी लाइव ट्रेडिंग आईडी द्वारा निर्दिष्ट हैrobotId parameter.

{
    "code": 0,
    "data": {
        "result": {
            "robot": {
                // Next payment time, namely the effective cut-off time after the current payment
                "charge_time": 1561992608,                                                  
                // Elapsed Time
                "charged": 3600,                                                            
                // Amount consumed (0.125 CNY = 12500000 / 1e8)
                "consumed": 12500000,                                                       
                "date": "2019-07-01 21:50:08",
                "debug": "{\"Nano\":1561989722431145193,\"Stderr\":\"\",\"Stdout\":\"\"}",  
                // Stop time
                "end_time": "2019-07-01 22:02:02",                                          
                // The docker ID assigned when live trading is running; if it is automatic, the value is -1
                "fixed_id": 85960,                                                          
                "id": 150288,
                "is_deleted": 0,
                // Whether it has the permission to manage live trading
                "is_manager": true,                                                         
                // Whether it is a simulation trading
                "is_sandbox": 0,                                                            
                // Live trading name
                "name": "Spread monitoring2",                                                         
                // Docker ID
                "node_id": 85960,                                                           
                // The exchange objects configured by live trading
                "pexchanges": {                                                             
                    // 14703 is pid, and "GateIO" is exchange name
                    "14703": "GateIO",                                                      
                    "15445": "ZB",
                    "42960": "OKEX",
                    "44314": "Huobi"
                },
                // label information of the exchange object configured by live trading
                "plabels": {                                                                
                    "14703": "Gate.IO (old name: BTER)",
                    "15445": "ZB",
                    "42960": "OKEX spot V3 test",
                    "44314": "Huobi - newest test"
                },
                "profit": 0,
                // Whether to show public
                "public": 0,                                                                
                // Recent active time
                "refresh": 1561989724000,                                                   
                "robot_args": "[[\"TickInterval\",500],[\"StrOnePair\",\"spot:Huobi:spot;spot:OKEX:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"spot:ZB:spot;spot:GateIO:spot;false;60;5;0;0\"],[\"StrThreePair\",\"null\"],[\"StrFourPair\",\"null\"],[\"StrSixPair\",\"null\"],[\"StrFivePair\",\"null\"],[\"ResetChart\",false]]",
                "start_time": "2019-07-01 22:00:54",
                // Live trading status
                "status": 4,                                                                
                "strategy_args": "[[\"TickInterval\",\"Detection frequency (ms)\",\"This is millisecond. Don't set it too small.\",500],[\"StrOnePair\",\"Combination1\",\"Spread Combination\",\"spot:Huobi:spot;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrTwoPair\",\"Combination2\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;spot:OKCoin:spot;false;60;5;0;0\"],[\"StrThreePair\",\"Combination3\",\"Spread Combination\",\"future:Futures_OKCoin:this_week;future:Futures_OKCoin:quarter;true;60;5;0;0\"],[\"StrFourPair\",\"Combination4\",\"Spread Combination\",\"null\"],[\"StrSixPair\",\"Combination6\",\"Combination\",\"null\"],[\"StrFivePair\",\"Combination5\",\"Combination\",\"null\"],[\"ResetChart\",\"whether to clear the previous chart\",\"clear the previous chart\",false]]",
                // Configured exchange objects, set trading pair information
                "strategy_exchange_pairs": "[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]",
                // Strategy ID
                "strategy_id": 21337,                                                       
                // Strategy's last modification time
                "strategy_last_modified": "2018-11-29 12:07:58",                            
                // Strategy name
                "strategy_name": "Digital currency spread monitoring and analysis",                                       
                "summary": "Polling time consuming: 500ms\n`[{\"type\":\"table\",\"title\":\"pair basic data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"UpdCycle\",\"isUSD\",\"Collect\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",60,false,\"612ms\"],[\"1 \",\"ZB/GateIO\",\"spot/spot\",60,false,\"501ms\"]]},{\"type\":\"table\",\"title\":\"pair ticker data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"A_Bids1\",\"B_Asks1\",\"Plus\",\"A_Asks1\",\"B_Bids1\",\"Minus\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",10518.02,10525.1,-7.08,10520,10523,-3],[\"1 \",\"ZB/GateIO\",\"spot/spot\",285.68,286,-0.32,285.8,285.85,-0.05]]},{\"type\":\"table\",\"title\":\"pair statistical data\",\"cols\":[\"ID\",\"NameA - NameB\",\"SymbolA - SymbolB\",\"Maximum spread\",\"Minimum spread\",\"Mean positive premium\",\"Mean negative premium\"],\"rows\":[[\"0 \",\"Huobi/OKEX\",\"spot/spot\",0,-3,0,-1.47],[\"1 \",\"ZB/GateIO\",\"spot/spot\",0.03,-0.05,0.03,-0.05]]}]`\n",
                // Whether to enable offline alert
                "wd": 0                                                                      
            }
        },
        "error": null
    }
}

..robotIdइस पैरामीटर का उपयोग उस लाइव ट्रेडिंग की आईडी निर्दिष्ट करने के लिए किया जाता है जिसके लिए विवरण प्राप्त किए जाने हैं।GetRobotListखाता के अंतर्गत लाइव ट्रेडिंग के बारे में जानकारी प्राप्त करने की विधि, जिसमें लाइव ट्रेडिंग आईडी शामिल है। रोबोट सच संख्या

..summaryलौटाए गए डेटा में विशेषता (बोट स्थिति पट्टी पर जानकारी; 10 सेकंड के लिए कैश; नवीनतम डेटा नहीं) वर्तमान में डेटा मात्रा सीमा (कैश डेटा) है. डेटा की मात्रा सीमा 200KB है, और अतिरिक्त डेटा काटा जाएगा. यदि आपको अधिक स्थिति पट्टी जानकारी डेटा की आवश्यकता है, तो आप उपयोग कर सकते हैंGetRobotLogsप्राप्त करने के लिए इंटरफ़ेस (जबGetRobotLogsस्थिति पट्टी, क्षेत्र की जानकारी प्राप्त करता हैsummaryनवीनतम आंकड़े हैं) ।

के गुण का वर्णनstrategy_exchange_pairsउदाहरण के लिए निम्नलिखित आंकड़े लें:

[60,[44314,42960,15445,14703],[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]]

पहले आंकड़े60प्रत्यक्ष व्यापार द्वारा निर्धारित डिफ़ॉल्ट K-लाइन अवधि का प्रतिनिधित्व करता है 1 मिनट, अर्थात् 60 सेकंड है।[44314,42960,15445,14703]विनिमय वस्तु हैpidलाइव ट्रेडिंग के लिए कॉन्फ़िगर किया गया है (जोड़ आदेश के अनुसार) ।[\"BTC_USDT\",\"BTC_USDT\",\"ETH_USDT\",\"ETH_USDT\"]लाइव ट्रेडिंग द्वारा विन्यस्त एक्सचेंज ऑब्जेक्ट के लिए सेट की गई ट्रेडिंग जोड़ी है (संकलन के क्रम में और एक-से-एक पत्राचार में)pid).

खाता प्राप्त करें

..GetAccountविधि का उपयोग खाता जानकारी प्राप्त करने के लिए किया जाता हैAPI KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के अनुरोध में।

{
    "code": 0, 
    "data": {
        "result": {
            "username": "littlelittledream",
            "level": 0,
            "consumed": 3235500000,
            "invitation_code": "1545967",
            "points": 25,
            // The value here, due to precision control, is expressed in integer. To convert it to actual value, you need to divide it by 1e8 (i.e. 10 to the 8th power), and the actual result here is: 65.421
            "balance": 6542100000               
        },
        "error": None
    }
}

GetExchangeList प्राप्त करें

..GetExchangeListएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म द्वारा समर्थित एक्सचेंजों की सूची और आवश्यक कॉन्फ़िगरेशन जानकारी प्राप्त करने के लिए विधि का उपयोग किया जाता है।

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "website": "https://www.huobi.pro/",
                "name": "Huobi",
                "priority": 1,
                "meta": "[{"desc": "Access Key", "required": true, "type": "string", "name": "AccessKey", "label": "Access Key"}, {"encrypt": true, "name": "SecretKey", "required": true, "label": "Secret Key", "type": "password", "desc": "Secret Key"}]",
                "eid": "Huobi",
                "logo": "huobi.png",
                "id": 1
            }, {
                "website": "https://www.kex.com/",
                "name": "KEX",
                "priority": -99,
                "meta": "[{"desc": "Access Key", "required": true, "type": "string", "name": "AccessKey", "label": "Access Key"}, {"encrypt": true, "name": "SecretKey", "required": true, "label": "Secret Key", "type": "password", "desc": "Secret Key"}, {"encrypt": true, "required": true, "type": "password", "name": "Password", "label": "Trading Password"}]",
                "eid": "KEX",
                "logo": "",
                "id": 43
            }, 

             ...
      
            ]
        },
        "error": null
    }
}

DeleteNode को हटाना

..DeleteNode(Nid)विधि का उपयोग डॉकर नोड को हटाने के लिए किया जाता हैAPI KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के अनुरोध में. हटाए गए डॉकर नोड आईडी डॉकर आईडी द्वारा निर्दिष्ट हैnid parameter.

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}

..nidपैरामीटर का उपयोग हटाने के लिए डॉकर की आईडी निर्दिष्ट करने के लिए किया जाता है.GetNodeListखाता के डॉकरों के बारे में जानकारी प्राप्त करने की विधि। निद सच संख्या

DeleteRobot को हटाएँ

..DeleteRobot(RobotId, DeleteLogs)विधि का प्रयोग प्रत्यक्ष व्यापार को हटाने के लिए किया जाता हैAPI KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के तहत अनुरोध में। हटाई गई लाइव ट्रेडिंग आईडीrobotId parameter.

// Return value after successful deletion
{
    "code": 0,
    "data": {
        "result": 0,
        "error": null
    }
}

पैरामीटरrobotIdलाइव ट्रेडिंग की आईडी निर्दिष्ट करने के लिए प्रयोग किया जाता है.GetRobotListखाता के अंतर्गत लाइव ट्रेडिंग की जानकारी प्राप्त करने की विधि, जिसमें लाइव ट्रेडिंग आईडी शामिल है। रोबोट सच संख्या दdeleteLogsपैरामीटर का प्रयोग यह निर्धारित करने के लिए किया जाता है कि यदि वास्तविक मूल्य पारित किया जाता है तो लाइव ट्रेडिंग लॉग को मिटाया जाए या नहीं (उदाहरण के लिएःtrue), लाइव ट्रेडिंग लॉग हटा दिया जाता है। deleteLogs सच बोल

GetStrategyList प्राप्त करें

..GetStrategyList()इस पद्धति का उपयोग रणनीति की जानकारी प्राप्त करने के लिए किया जाता है।API KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते के अनुरोध में।

{
    "code": 0,
    "data": {
        "result": {
            "strategies": [{
                "category": 0,
                "username": "yifidslei",
                "is_owner": true,
                "name": "fmz simulation trading test strategy",
                "language": 0,
                "hasToken": false,
                "args": "[]",
                "is_buy": false,
                "public": 0,
                "last_modified": "2018-01-18 12:36:03",
                "date": "2018-01-17 09:19:32",
                "forked": 0,
                "id": 63372
            }, {
                "category": 20,
                "username": "bifndslez",
                "is_owner": true,
                "name": "Plot library",
                "language": 0,
                "hasToken": false,
                "args": "[]",
                "is_buy": false,
                "public": 0,
                "last_modified": "2017-05-08 09:44:18",
                "date": "2017-04-19 10:38:14",
                "forked": 0,
                "id": 39677
            },
            
            ...
            ],
            "all": 20
        },
        "error": null
    }
}

न्यूरोबोट

..NewRobotविधि का उपयोग प्रत्यक्ष व्यापार के तहत बनाने के लिए किया जाता हैAPI KEYअनुरोध में एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म खाते से मेल खाता है।

// Create live trading successfully
{
    "code": 0,
    "data": {
        "result": 74260,
        "error": null
    }
}

लाइव ट्रेडिंग कॉन्फ़िगरेशन पैरामीटरsettingsमापदंडों का प्रारूप इस प्रकार है:

{
    "name": "hedge test",
    /*
    Strategy parameters; the order does not have to be in correspondence with the parameter order, but the name must be the same as the parameter name 
    Note: the second element in the parameter array ["MAType", 0, 75882] is an array including three elements,
    in which the first one "MAType" is the parameter on the pattern referred by the live trading-binding strategy
    The second one "0" is the specific value set by the parameter "MAType".
    The third element, 75882, is the ID of the template to which the MAType parameter belongs, and is used to identify which template the parameter belongs to
    */
    "args": [["Interval", 500], ["MAType", 0, 75882]],
    // Strategy ID, which can be obtained by "GetStrategyList" method
    "strategy": 25189,                      
    // K-line period parameter; "60" indicates 60 seconds
    "period": 60,                           
    // It can be specified to run on which docker; no writing of the attribute will lead to automatic assignment
    "node" : 52924,                         
    // Custom field
    "appid": "member2",
    // Specify live trading group
    "group": 1122,
    "exchanges": [
        // ZB; "pid" can be obtained by "GetPlatformList" method
        {"pid": 15445, "pair": "ETH_BTC"},     
        // OKEX
        {"pid": 13802, "pair": "BCH_BTC"},     
        // In addition to the exchanges configured by the FMZ dashboard (pid identification), you can also set exchange configuration information that has not been configured to operate the live trading
        {"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}},
        {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "xxx", "SecretKey": "yyy"}}
    ]
}

सेटिंग्स सच JSON ऑब्जेक्ट

जब आप संवेदनशील जानकारी का उपयोग करते हैं, जैसे कि मंचAPI KEY, सहित"meta":{"AccessKey":"xxx","SecretKey":"yyy"}के विन्यास मेंeid, आपको पता होना चाहिए कि एफएमजेड डेटा स्टोर नहीं करता है। डेटा सीधे डॉकर प्रोग्राम में भेजा जाएगा, इसलिए इस जानकारी को हर बार कॉन्फ़िगर किया जाना चाहिए जब लाइव ट्रेडिंग बनाई जाती है या फिर से शुरू की जाती है।

यदि आप लाइव व्यापार बनाने के लिए प्लगइन का उपयोग करता है कि मंच का समर्थन करने के लिए चाहते हैं, जब विन्यासsettingsपैरामीटर, आप के लिए निम्नलिखित सेटिंग्स करना चाहिएexchangesविशेषताः

{"eid": "Exchange", "label" : "testXXX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123", "SecretKey": "1234", "Front" : "http://127.0.0.1:6666/XXX"}}

labelविशेषता वर्तमान सामान्य प्रोटोकॉल द्वारा एक्सेस की गई एक्सचेंज ऑब्जेक्ट के लिए एक लेबल सेट करना है, जिसे प्राप्त किया जा सकता हैexchange.GetLabel()कार्यनीति में भूमिका निभाना।

प्लगइन चलाएँ

..PluginRunविधि का उपयोगडिबग उपकरणएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म का कार्य।

{
    "code": 0, 
    "data": {
        "result": "...", 
        "error": null
    }
}

डिबगिंग टूल में सेटिंग पैरामीटर,settingsकॉन्फ़िगरेशन, में परीक्षण कोड शामिलsourceविशेषता।settingsपैरामीटर प्रारूप निम्नानुसार है:

    # K-line period parameter, "60" indicates 60 seconds
    "period": 60,
    "source": "function main() {Log("Hello FMZ")}", 
    # The docker ID can specify which docker to run the bot on; if the value is -1, it means automatic assignment
    "node" : 54913,
    "exchanges": [
        {"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}},
        {"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}}
    ]
} ```
settings
true
JSON object

```{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}}```
```{"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}}```

For the ```exchanges``` attribute in the ```settings```, the attribute only needs to be set to 1, when calling the ```PluginRun``` interface (for only one exchange object can be supported when you use the "Debug Tool" page).
No error will be reported when you set 2 exchange objects  in ```settings```, but an error will be reported when the second exchange object is accessed in the code.


### GetRobotLogs

The ```GetRobotLogs``` method is used to get the log information of the live trading under the FMZ Quant Trading Platform account corresponding to the ```API KEY``` in the request. The Id of the live trading platform to be obtained is the live trading platform Id specified by the ```robotId``` parameter.

{ कोड: 0, डेटा: { परिणाम: { स्थिति: 1, अद्यतन समय: 1527049990197, wd: 0, // लॉग में पहला डेटा संरचना लाइव व्यापार डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है logs: [{
अधिकतम : 3984, Arr: [ [3977, 3, Futures_OKCoin, , 0, 0, Sell ((688.9, 2): 20016, 1526954372591, , ], [3976, 5, , , 0, 0, OKCoin:this_week excessive positions, long: 2, 1526954372410, , ] ], कुल : 1503, मिन: 2482 }, {
// लॉग में दूसरा डेटा संरचना लाइव ट्रेडिंग डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है अधिकतम: 0, Arr: [], कुल : 0, मिन: 0 }, {
// लॉग में तीसरा डेटा संरचना लाइव ट्रेडिंग डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है अधिकतम: 0, Arr: [], कुल : 0, मिन: 0 }], चित्र: , अभिनव: 1527049988000, संक्षिप्त: ..., "चार्टटाइम": 0, "node_id": 50755, "ऑनलाइन": सच }, "त्रुटि": शून्य } }



The ```robotId``` parameter is used to specify the Id of the live trading for which the log information is to be obtained. You can use the ```GetRobotList``` method to obtain information about the live trading under the account, which contains the live trading Id.
robotId
true
number
The ```logMinId``` parameter is used to specify the minimum Id of the Log.
logMinId
true
number
The ```logMaxId``` parameter is used to specify the maximum Id of the Log.
logMaxId
true
number
The ```logOffset``` parameter is used to set the offset, after determining the range  by ```logMinId``` and ```logMaxId```, offset based on the ```logOffset``` (how many records are skipped). Start as the starting position for fetching data.
logOffset
true
number
The parameter ```logLimit``` is used to set the number of data records to be selected after the starting position is determined.
logLimit
true
number
The ```profitMinId``` parameter is used to set the minimum Id of the profit log.
profitMinId
true
number
The parameter ```profitMaxId``` is used to set the maximum Id of the profit log.
profitMaxId
true
number
The parameter ```profitOffset``` is used to set the offset (how many records are skipped) as the starting position.
profitOffset
true
number
The parameter ```profitLimit``` is used to set the number of data records to be selected after the starting position is determined.
profitLimit
true
number
The parameter ```chartMinId``` is used to set the minimum Id of the chart data record.
chartMinId
true
number
The parameter ```chartMaxId``` is used to set the maximum Id of the chart data record.
chartMaxId
true
number
The parameter ```chartOffset``` is used to set the offset.
chartOffset
true
number
The parameter ```chartLimit``` is used to set the number of records to obtain.
chartLimit
true
number
The parameter ```chartUpdateBaseId``` is used to set the base Id after the query is updated.
chartUpdateBaseId
true
number
The parameter ```chartUpdateDate``` is used to set the data record update timestamp, and it will filter out records greater than this timestamp.
chartUpdateDate
true
number
The parameter ```summaryLimit``` is used to set the number of bytes of status bar data to be queried. The parameter is of integer type for querying the status bar data of the live trading.
Setting to "0" means there is no need to query the status bar information, and setting to non-zero number indicates the number of bytes of the status bar information to be queried (the interface does not limit the data quantity, so you can specify a larger ```summaryLimit``` parameter to get all status bar information). The status bar data is stored in the returned data ```summary```.

summaryLimit
true
number

- The strategy log table in the database
  The ```Arr``` attribute value in the first element of the ```Logs``` attribute value (array structure) in the return data (log data) is described as follows:
  

Arr: [ [3977, 3, Futures_OKCoin, , 0, 0, Sell ((688.9, 2): 20016, 1526954372591, , ], [3976, 5, , , 0, 0, OKCoin:this_week too many positions, long: 2, 1526954372410, , ] ],


| id | logType | eid | orderId | price | amount | extra | date | contractType | direction |
| - | - | - | - | - | - | - | - | - | - |
| 3977 | 3 | "Futures_OKCoin" | "" | 0 | 0 | "Sell(688.9, 2): 20016" | 1526954372591 | "" | "" |
| 3976 | 5 | "" | "" | 0 | 0 | "OKCoin:this_week too many positions, long: 2" | 1526954372410 | "" | "" |

```extra``` is the attached message of the printed log.

The specific log types represented by the ```logType``` values are described as follows:

| logType: | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
| - | - | - | - | - | - | - | - |
| Meaning of logType: | BUY | SALE | RETRACT | ERROR | PROFIT | MESSAGE | RESTART |

- Log table of the profit chart in the database
The data in the chart's log table is consistent with the profit log in the strategy log table.

Arr: [ [202, 2515.44, 1575896700315], [201, 1415.44, 1575896341568] ]


Take one of the log data as an example:

[202, 2515.44, 1575896700315]


```202``` is log ```ID```; ```2515.44``` is profit value; ```1575896700315``` is timestamp.
- Chart log table in the database

Arr: [ [23637, 0, {close:648,high:650.5,low:647,open:650,x:1575960300000}, [23636, 5, {x:1575960300000, y:3.0735}] ]


Take one of the log data as an example:

[23637, 0, {close:648,high:650.5,low:647,open:650,x:1575960300000},


```23637``` is the log ```ID```, ```0``` is the index of the chart data series, and the last data ```"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"``` is the log data; This data is the K-line data on the chart.
अंतर्निहित पुस्तकालय ट्रेडिंग टर्मिनल