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

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

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

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()
    
  • इंटरफ़ेस सेवा त्रुटिः

    • अपर्याप्त मापदंडः
      {
          "code":0,
          "data":{
              "result":null,
              "error":"Params length incorrect"
          }
      }
      

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
    }
}
  • सभीः परिवर्तनीय वस्तुओं की संख्या जोड़ी/संरचित की गई है।
  • प्लेटफार्म: विनिमय से संबंधित जानकारी।
    • eid: FMZ क्वांट ट्रेडिंग प्लेटफॉर्म पर एक्सचेंज का आईडी,eidकुछ विन्यासों और मापदंडों में इस्तेमाल किया जाएगा।

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

GetRobotसूची

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

{
    "code": 0,
    "data": {
        "result": {
            "all": 1,
            "concurrent": 0,
            "robots": [{
                "charge_time": 1731654846,
                "date": "2024-11-12 14:05:29",
                "end_time": "2024-11-15 14:56:32",
                "fixed_id": 4509153,
                "id": 591026,
                "is_sandbox": 0,
                "name": "test",
                "node_guid": "45891bcf3d57f99b08a43dff76ee1ea1",
                "node_id": 4519153,
                "node_public": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1731651257000,
                "start_time": "2024-11-15 14:56:30",
                "status": 3,
                "strategy_id": 411670,
                "strategy_isowner": true,
                "strategy_language": 0,
                "strategy_name": "test",
                "strategy_public": 0,
                "uid": "105ed6e511cc977921610fdbb7e2a1d6",
                "wd": 0
            }]
        },
        "error": null
    }
}
  • रोबोटः लाइव ट्रेडिंग जानकारी
    • group_id: लाइव ट्रेडिंग समूह आईडी. यदि रणनीति लाइव ट्रेडिंग डिफ़ॉल्ट समूह में है, तो कोई नहीं हैgroup_id field.

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

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

कमांडरोबोट

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

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • परिणामः इंटरैक्टिव कमांड सफलतापूर्वक भेजा गया है या नहीं; जब एक कमांड को लाइव ट्रेडिंग में भेजा जाता है जो चल नहीं रहा है, तो लौटे डेटा में परिणाम गलत होता है.

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

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

सीएमडी सच स्ट्रिंग

लाइव ट्रेडिंग रणनीति, यह मानते हुए कि यह रणनीति काम कर रही है, लाइव ट्रेडिंग आईडी 123 हैः

function main() {
    while (true) {
        var cmd = GetCommand()
        if (cmd) {
            Log(cmd)
        }
        Sleep(2000)
    }
}

यदि हम इस अध्याय में पायथन परीक्षण स्क्रिप्ट का उपयोग करते हैं, तो FMZ क्वांट ट्रेडिंग प्लेटफॉर्म के विस्तारित एपीआई तक पहुंचेंःapi("CommandRobot", 123, "test command"). आईडी 123 के साथ लाइव ट्रेडिंग इंटरैक्टिव कमांड प्राप्त करेगाःtest command, और फिर लॉग फ़ंक्शन आउटपुट के माध्यम से इसे प्रिंट करें।

रोकोरोबोट

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

{
    "code":0,
    "data":{
        "result":2,
        "error":null
    }
}
  • परिणाम: लाइव ट्रेडिंग स्टेटस कोड 2 है, जिसका अर्थ है बंद।

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

robotId सच संख्या

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

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

{
    "code":0,
    "data":{
        "result":1,
        "error":null
    }
}
  • परिणाम: लाइव ट्रेडिंग स्टेटस कोड, 1 का अर्थ है चल रहा है।

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

robotId सच संख्या लाइव ट्रेडिंग कॉन्फ़िगरेशन पैरामीटर, पैरामीटरsettingsप्रारूप इस प्रकार हैः

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123},
        {"pair":"ETH_USDT","pid":456}
    ],
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • appid: कस्टम फ़ील्ड टैग को परिभाषित किया जा सकता है।
  • args: रणनीति पैरामीटर सेटिंग्स संरचना एक सरणी है, प्रत्येक तत्व एक पैरामीटर है. उदाहरण के लिए अगर रणनीति एक पैरामीटर हैInterval, और आप सेट करना चाहते हैंInterval500 पर जब रणनीति फिर से शुरू, तोargsइसमें:["Interval", 500], अर्थात्:"args": [["Interval", 500]].
  • एक्सचेंजः लाइव ट्रेडिंग के लिए एक्सचेंज ऑब्जेक्ट कॉन्फ़िगरेशन संरचना एक सरणी है, जहां प्रत्येक तत्व एक विनिमय वस्तु विन्यास है।
    • यह एक्सचेंज ऑब्जेक्ट जो मंच पर कॉन्फ़िगर किया गया है करने के लिए बाध्य कर सकते हैं यानी, उपयोगpidविन्यास:{"pair":"SOL_USDT","pid":123}; pidके माध्यम से जांच की जा सकती हैGetPlatformListइंटरफेस, औरidलौटाए गए डेटा के क्षेत्र में विनिमय हैpid.
    • हम सीधे विन्यास जानकारी में पारित कर सकते हैं और विनिमय ऑब्जेक्ट्स को बांध सकते हैं यानी, उपयोगeidविन्यास:{"eid":"Huobi","label":"test Huobi","meta":{"AccessKey":"123","SecretKey":"123"},"pair":"BCH_BTC"}; संवेदनशील जानकारी जैसेAPI KEYएफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म द्वारा संग्रहीत नहीं किया जाता है, और ये डेटा सीधे डॉकर प्रोग्राम को अग्रेषित किए जाते हैं। यदि इस प्रकार के विन्यास का उपयोग किया जाता है, तो प्रत्येक बार लाइव ट्रेडिंग बनाए जाने या फिर से शुरू होने पर जानकारी को विन्यस्त किया जाना चाहिए।
    • यह बांध सकता हैकस्टम प्रोटोकॉलविनिमय वस्तु यह कॉन्फ़िगरेशन जानकारी में पारित कर सकता हैः{"eid":"Exchange","label":"test exchange","pair":"BTC_USDT","meta":{"AccessKey":"123","SecretKey":"123","Front":"http://127.0.0.1:6666/test"}}. labelविशेषता वर्तमान द्वारा एक्सेस विनिमय वस्तु के लिए एक लेबल सेट करने के लिए हैकस्टम प्रोटोकॉल, जिसे प्राप्त किया जा सकता हैexchange.GetLabel()कार्यनीति में भूमिका निभाना।
  • नाम: रणनीति का नाम
  • नोडः डॉकर आईडी निर्दिष्ट करता है कि कौन सा डॉकर चलाना है. यदि यह विशेषता सेट नहीं है, तो डॉकर को स्वचालित रूप से चलाने के लिए सौंपा जाएगा.
  • अवधिः डिफ़ॉल्ट K-लाइन अवधि के-लाइन अवधि पैरामीटर, 60 का अर्थ है 60 सेकंड.
  • रणनीति: रणनीति आईडी इसे प्राप्त किया जा सकता हैGetStrategyList method.

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

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

GetRobotविवरण

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

{
    "code": 0,
    "data": {
        "result": {
            "robot": {
                "charge_time": 1732246539,
                "charged": 5850000,
                "consumed": 5375000000,
                "date": "2018-12-28 14:34:51",
                "favorite": {
                    "added": false,
                    "type": "R"
                },
                "fixed_id": 123,
                "hits": 1,
                "id": 123,
                "is_deleted": 0,
                "is_manager": true,
                "is_sandbox": 0,
                "name": "test",
                "node_id": 123,
                "pexchanges": {
                    "123": "Futures_OKCoin"
                },
                "phash": {
                    "123": "ca1aca74b9cf7d8624f2af2dac01e36d"
                },
                "plabels": {
                    "123": "OKEX futures V5"
                },
                "priority": 0,
                "profit": 0,
                "public": 0,
                "refresh": 1732244453000,
                "robot_args": "[]",
                "start_time": "2024-11-22 11:00:48",
                "status": 1,
                "strategy_args": "[]",
                "strategy_exchange_pairs": "[60,[123],[\"ETH_USDT\"]]",
                "strategy_id": 123,
                "strategy_last_modified": "2024-11-21 16:49:25",
                "strategy_name": "test",
                "strategy_public": "0",
                "uid": "105ed6e51bcc17792a610fdbb7e2a1d6",
                "username": "abc",
                "wd": 0
            }
        },
        "error": null
    }
}
  • charge_time: अगली कटौती का समय वर्तमान कटौती के बाद प्रभावी समाप्ति का समय है।
  • चार्जः समय पहले ही समाप्त हो चुका है।
  • उपभोगः उपभोग की गई राशि (0.125 USD = 12500000 / 1e8) ।
  • तिथि: सृजन की तिथि।
  • fixed_id: जब लाइव ट्रेडिंग चल रही हो तो असाइन किया गया डॉकर आईडी. यदि यह स्वचालित है, तो मान -1 है.
  • is_manager: क्या आपके पास इस लाइव ट्रेडिंग को प्रबंधित करने का अधिकार है.
  • is_sandbox: क्या यह एक सिमुलेटेड ट्रेडिंग है.
  • नाम: लाइव ट्रेडिंग का नाम।
  • node_id: डॉकर आईडी。
  • pexchanges: लाइव ट्रेडिंग का एक्सचेंज ऑब्जेक्ट, 123 पीआईडी है, और Futures_OKCoin एक्सचेंज का नाम है।
  • plabels: लाइव ट्रेडिंग में कॉन्फ़िगर की गई एक्सचेंज ऑब्जेक्ट की टैग जानकारी।
  • लाभः प्रत्यक्ष व्यापारिक लाभ के आंकड़े।
  • सार्वजनिकः क्या लाइव ट्रेडिंग सार्वजनिक है।
  • ताज़ा करें: अंतिम सक्रिय समय.
  • strategy_exchange_pairs: विनिमय ऑब्जेक्ट को कॉन्फ़िगर किया गया है, ट्रेडिंग जोड़ी की जानकारी सेट की गई है।
  • wd: ऑफ़लाइन अलार्म सक्षम करना या नहीं।

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

robotId सच संख्या

के गुण का वर्णन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":{
            "balance":22944702436,
            "concurrent":0,
            "consumed":211092719653,
            "currency":"USD",
            "email":"123@qq.com",
            "openai":false,
            "settings":null,
            "sns":{"wechat":true},
            "uid":"105ea6e51bcc177926a10fdbb7e2a1d6",
            "username":"abc"
        },
        "error":null
    }
}
  • शेष राशिः खाता शेष राशि यहाँ मूल्य सटीक नियंत्रण के कारण एक पूर्णांक है। इसे वास्तविक मूल्य में परिवर्तित करने के लिए, आपको इसे 1e8 (यानी 10 को 8 वीं शक्ति) से विभाजित करने की आवश्यकता है। यहाँ वास्तविक मूल्य हैः 229.44702436

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

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

जबisSummaryपैरामीटर हैfalse, लौटाए गए डेटा हैंः

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "meta": "[{\"desc\": \"Access Key\", \"qr\":\"apiKey\",\"required\": true, \"type\": \"string\", \"name\": \"AccessKey\", \"label\": \"Access Key\"}, {\"encrypt\": true, \"qr\":\"secretKey\",\"name\": \"SecretKey\", \"required\": true, \"label\": \"Secret Key\", \"type\": \"password\", \"desc\": \"Secret Key\"}]",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "stocks": "BTC_USDT,ETH_USDT,ETH_USD",
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}

जबisSummaryपैरामीटर हैtrue, लौटाए गए डेटा हैंः

{
    "code": 0,
    "data": {
        "result": {
            "exchanges": [{
                "category": "加密货币||Crypto",
                "eid": "Futures_Binance",
                "id": 74,
                "logo": "/upload/asset/d8d84b23e573e9326b99.svg",
                "name": "币安期货|Futures_Binance",
                "priority": 200,
                "website": "https://accounts.binance.com/zh-TC/register?ref=45110270"
            }]
        },
        "error": null
    }
}
  • मेटाः विनिमय विन्यास मेटाडेटा.

..isSummaryपैरामीटर का उपयोग यह निर्दिष्ट करने के लिए किया जाता है कि लौटाए गए डेटा संक्षिप्त जानकारी है या नहीं।

संक्षेप में सच बोल

DeleteNode को हटाना

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

{
    "code":0,
    "data":{
        "result":true,
        "error":null
    }
}
  • परिणाम: क्या संबंधित डॉकर प्रोग्राम सफलतापूर्वक हटाया गया है.

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

निद सच संख्या

DeleteRobot को हटाएँ

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

{
    "code":0,
    "data":{
        "result":0,
        "error":null
    }
}
  • परिणामः लाइव ट्रेडिंग हटाने के कार्य के परिणाम। 0: सामान्य रूप से मिटाएं. -2: हटाना सफल रहा, लेकिन लाइव ट्रेडिंग से जुड़े डॉकर से संपर्क नहीं किया जा सका. कृपया फ़ाइल 123.db3 को मैन्युअल रूप से हटा दें!

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

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

deleteLogs सच बोल

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

..GetStrategyListप्लेटफार्म रणनीति की जानकारी प्राप्त करने के लिए विधि का प्रयोग किया जाता है।

{
    "code": 0,
    "data": {
        "result": {
            "all": 123,
            "strategies": [{
                "category": 9,
                "date": "2024-11-10 20:40:04",
                "description": "",
                "forked": 0,
                "hits": 0,
                "id": 123,
                "is_buy": false,
                "is_owner": false,
                "language": 2,
                "last_modified": "2024-11-11 17:23:52",
                "name": "HedgeGridStrategy",
                "profile": {
                    "avatar": "...",
                    "nickname": "abc",
                    "uid": "4ed225440db1eda23fe05ed10184113e"
                },
                "public": 0,
                "tags": "",
                "uid": "4ed225440db1eda23fe05ed10184113e",
                "username": "abc"
            }]
        },
        "error": null
    }
}
  • सभीः फ़िल्टर क्वेरी द्वारा पाई गई रणनीतियों की कुल संख्या।
  • रणनीतियाँ: विशिष्ट रणनीतियों की जानकारी मांगी जाती है।

..offsetपैरामीटर का उपयोग क्वेरी करते समय ऑफसेट सेट करने के लिए किया जाता है।

विस्थापन सच संख्या दlengthपैरामीटर का उपयोग क्वेरी की लंबाई निर्धारित करने के लिए किया जाता है.

लम्बाई सच संख्या दstrategyTypeपैरामीटर का उपयोग क्वेरी की जाने वाली रणनीति प्रकार को सेट करने के लिए किया जाता है.

  • strategyTypeपैरामीटर सेटिंग0सभी रणनीतियाँ।
  • strategyTypeपैरामीटर सेटिंग1: यह रणनीति सार्वजनिक है।
  • strategyTypeपैरामीटर सेटिंग2: समीक्षा की जाने वाली रणनीति।

रणनीतिप्रकार सच संख्या दcategoryपैरामीटर का उपयोग क्वेरी की जाने वाली रणनीति श्रेणी निर्धारित करने के लिए किया जाता है।

  • categoryपैरामीटर सेटिंग-1सभी रणनीतियाँ।
  • categoryपैरामीटर सेटिंग0कस्टम रणनीति।

श्रेणी सच संख्या दneedArgsपैरामीटर का उपयोग यह निर्धारित करने के लिए किया जाता है कि क्या क्वेरी की जाने वाली रणनीति में पैरामीटर हैं.

  • needArgsपैरामीटर सेटिंग0सभी रणनीतियाँ।

needArgs सच संख्या दlanguageपैरामीटर का उपयोग क्वेरी की जाने वाली रणनीति की प्रोग्रामिंग भाषा सेट करने के लिए किया जाता है।

  • languageपैरामीटर सेटिंग्स0जावास्क्रिप्ट भाषा।
  • languageपैरामीटर सेटिंग्स1पायथन भाषा।
  • languageपैरामीटर सेटिंग्स2: सी++ भाषा।
  • languageपैरामीटर सेटिंग्स3विज़ुअलाइज़ेशन रणनीति।
  • languageपैरामीटर सेटिंग्स4मेरी भाषा।
  • languageपैरामीटर सेटिंग्स5: पाइन भाषा।

भाषा सच संख्या दkwपैरामीटर का उपयोग क्वेरी की जाने वाली रणनीति के कीवर्ड को सेट करने के लिए किया जाता है।

  • एक खाली स्ट्रिंग सेट करने का अर्थ है कि कोई कीवर्ड फ़िल्टरिंग का उपयोग नहीं किया जाता है.

क्वि सच स्ट्रिंग

न्यूरोबोट

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

{
    "code":0,
    "data":{
        "result":591988,
        "error":null
    }
}
  • परिणाम: निर्माण सफल रहा और लाइव ट्रेडिंग आईडी लौटा दी गई।

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

{
    "appid":"test",
    "args":[],
    "exchanges":[
        {"pair":"SOL_USDT","pid":123}
    ],
    "group":123,
    "name":"test",
    "node":123,
    "period":60,
    "strategy":123
}
  • समूह: लाइव ट्रेडिंग समूह निर्दिष्ट करें।
  • args: रणनीति पैरामीटर, या एक खाली सरणी अगर रणनीति कोई पैरामीटर है.
  • एक्सचेंजः एक्सचेंज ऑब्जेक्ट कॉन्फ़िगरेशन के लिए, कृपया एक्सचेंज ऑब्जेक्ट कॉन्फ़िगरेशन देखें।RestartRobot interface.

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

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

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

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

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

प्लगइन चलाएँ

..PluginRunविधि का उपयोगडिबग उपकरणFMZ क्वांट ट्रेडिंग प्लेटफॉर्म का कार्य; केवल जावास्क्रिप्ट भाषा समर्थित है।

{
    "code": 0,
    "data": {
        "result": "{\"logs\":[{\"PlatformId\":\"\",\"OrderId\":\"0\",\"LogType\":5,\"Price\":0,\"Amount\":0,\"Extra\":\"Hello FMZ\",\"Currency\":\"\",\"Instrument\":\"\",\"Direction\":\"\",\"Time\":1732267473108}],\"result\":\"\"}",
        "error": null
    }
}
  • परिणाम: डिबगिंग टूल पास जावास्क्रिप्ट कोड को सफलतापूर्वक निष्पादित करने के बाद परीक्षण परिणाम डेटा लौटाता है.

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

{
    "exchanges":[{"pair":"SOL_USDT","pid":123}],
    "node":123,
    "period":60,
    "source":"function main() {Log(\"Hello FMZ\")}"
}
  • स्रोतः कोड जिसे डिबगिंग की आवश्यकता है.
  • नोड: डॉकर आईडी, आप निर्दिष्ट कर सकते हैं कि कौन सा डॉकर लाइव ट्रेडिंग चलाने के लिए। यदि मान -1 है, तो इसका मतलब है स्वचालित आवंटन।
  • एक्सचेंजः एक्सचेंज ऑब्जेक्ट कॉन्फ़िगरेशन के लिए, कृपया एक्सचेंज ऑब्जेक्ट कॉन्फ़िगरेशन देखें।RestartRobot interface.

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

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

के लिएexchangesमें विशेषताsettings, केवल एक सेट करने की जरूरत है जब कॉलPluginRunविधि (डिबग टूल पृष्ठ में उपयोग किए जाने पर केवल एक एक्सचेंज ऑब्जेक्ट समर्थित है) जब आप 2 एक्सचेंज ऑब्जेक्ट सेट करते हैं तो कोई त्रुटि रिपोर्ट नहीं की जाएगीsettings, लेकिन कोड में दूसरी एक्सचेंज ऑब्जेक्ट तक पहुंचने पर एक त्रुटि की सूचना दी जाएगी।

GetRobot लॉग्स

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

{
    "code": 0,
    "data": {
        "result": {
            "chart": "",
            "chartTime": 0,
            "logs": [{
                "Total": 20,
                "Max": 20,
                "Min": 1,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }, {
                "Total": 0,
                "Max": 0,
                "Min": 0,
                "Arr": []
            }],
            "node_id": 123,
            "online": true,
            "refresh": 1732201544000,
            "status": 4,
            "summary": "...",
            "updateTime": 1732201532636,
            "wd": 0
        },
        "error": null
    }
}
  • लॉग: लॉग जानकारी: Arr फ़ील्ड में कई लॉग डेटा आइटम पाए जाते हैं। लॉग में पहला डेटा संरचना लाइव ट्रेडिंग डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है। लॉग में दूसरा डेटा संरचना लाइव ट्रेडिंग डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है। लॉग में तीसरा डेटा संरचना लाइव ट्रेडिंग डेटाबेस में रणनीति लॉग तालिका में लॉग रिकॉर्ड है।
  • सारांश: लाइव ट्रेडिंग स्टेटस बार डेटा।

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

robotId सच संख्या दlogMinIdपैरामीटर का उपयोग लॉग की न्यूनतम आईडी निर्दिष्ट करने के लिए किया जाता है।

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

logMaxId सच संख्या दlogOffsetपैरामीटर का उपयोग किया जाता है, के द्वारा सीमा निर्धारित करने के बाद, विस्थापन सेट करने के लिएlogMinIdऔरlogMaxId, के आधार पर ऑफसेटlogOffset(कितने रिकॉर्ड को छोड़ दिया जाता है) डेटा लाने के लिए प्रारंभिक स्थिति के रूप में शुरू करें.

लॉगऑफसेट सच संख्या पैरामीटरlogLimitप्रारंभ स्थिति निर्धारित होने के बाद चयनित किए जाने वाले डेटा रिकॉर्ड की संख्या निर्धारित करने के लिए प्रयोग किया जाता है।

लॉगलिमिट सच संख्या दprofitMinIdपरिमिति का उपयोग लाभ लॉग की न्यूनतम आईडी निर्धारित करने के लिए किया जाता है।

लाभMinId सच संख्या पैरामीटरprofitMaxIdलाभ लॉग की अधिकतम आईडी निर्धारित करने के लिए प्रयोग किया जाता है।

लाभMaxId सच संख्या पैरामीटरprofitOffsetप्रारंभ स्थिति के रूप में ऑफसेट (कितने रिकॉर्ड छोड़ दिए जाते हैं) को सेट करने के लिए उपयोग किया जाता है।

लाभऑफसेट सच संख्या पैरामीटरprofitLimitप्रारंभ स्थिति निर्धारित होने के बाद चयनित किए जाने वाले डेटा रिकॉर्ड की संख्या निर्धारित करने के लिए प्रयोग किया जाता है।

लाभसीमा सच संख्या पैरामीटरchartMinIdचार्ट डेटा रिकॉर्ड की न्यूनतम आईडी सेट करने के लिए प्रयोग किया जाता है।

चार्ट सच संख्या पैरामीटरchartMaxIdचार्ट डेटा रिकॉर्ड की अधिकतम आईडी सेट करने के लिए प्रयोग किया जाता है।

chartMaxId सच संख्या पैरामीटरchartOffsetऑफसेट सेट करने के लिए प्रयोग किया जाता है।

चार्टऑफसेट सच संख्या पैरामीटरchartLimitकी संख्या निर्धारित करने के लिए प्रयोग किया जाता है प्राप्त करने के लिए रिकॉर्ड।

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

chartUpdateBaseId सच संख्या पैरामीटरchartUpdateDateडेटा सेट करने के लिए प्रयोग किया जाता है रिकॉर्ड अद्यतन टाइमस्टैम्प, और यह अधिक से अधिक रिकॉर्ड फ़िल्टर करेगा इस समय के मुहर की तुलना में.

चार्टअपडेट दिनांक सच संख्या पैरामीटरsummaryLimitकी संख्या निर्धारित करने के लिए प्रयोग किया जाता है स्थिति पट्टी के डेटा के बाइट की क्वेरी करने के लिए. पैरामीटर के है लाइव के स्थिति पट्टी डेटा की क्वेरी के लिए पूर्णांक प्रकार व्यापार करना। 0 पर सेट करने का अर्थ है कि स्थिति पट्टी में क्वेरी करने की कोई आवश्यकता नहीं है जानकारी, और शून्य से भिन्न संख्या पर सेट करने से संख्या का संकेत मिलता है स्थिति पट्टी की जानकारी के बाइट्स की जांच की जानी है (द इंटरफ़ेस डेटा मात्रा को सीमित नहीं करता है, तो आप एक निर्दिष्ट कर सकते हैं बड़ाsummaryLimitसभी स्थिति पट्टी प्राप्त करने के लिए पैरामीटर स्थिति पट्टी डेटा वापस डेटा में संग्रहीत किया जाता हैsummary.

सारांश सीमा सच संख्या

  • डेटाबेस में रणनीति लॉग तालिका दArrविशेषता मान में पहले तत्वLogsरिटर्न डेटा (लॉग डेटा) में विशेषता मान (सरणी संरचना) निम्नानुसार वर्णित हैः

    "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, "", ""]
    ],
    
    आईडी लॉग प्रकार ईद आदेशित मूल्य राशि अतिरिक्त तिथि अनुबंधप्रकार दिशा
    3977 3 फ्यूचर्स_ओकेकोइन "" 0 0 बिक्री ((688.9, 2): 20016 1526954372591 "" ""
    3976 5 "" "" 0 0 OKCoin:this_week बहुत अधिक पद, लंबाः 2 1526954372410 "" ""

    extraमुद्रित लॉग का संलग्न संदेश है।

    विशिष्ट लॉग प्रकारों का प्रतिनिधित्व करता हैlogTypeमान निम्नानुसार वर्णित हैं:

    लॉग प्रकारः 0 1 2 3 4 5 6
    logType का अर्थः खरीदना बिक्री वापस लेना त्रुटि लाभ संदेश पुनः आरंभ करें
  • डेटाबेस में लाभ चार्ट की लॉग तालिका चार्ट की लॉग तालिका में डेटा रणनीति लॉग तालिका में लाभ लॉग के अनुरूप है।

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

    उदाहरण के रूप में लॉग डेटा में से एक को लेंः

    [202, 2515.44, 1575896700315]
    

    202है लॉगID; 2515.44लाभ मूल्य है;1575896700315समय-स्टैम्प है।

  • डेटाबेस में चार्ट लॉग तालिका

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

    उदाहरण के रूप में लॉग डेटा में से एक को लेंः

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

    23637लॉग हैID, 0चार्ट डेटा श्रृंखला का सूचकांक है, और अंतिम डेटा"{\"close\":648,\"high\":650.5,\"low\":647,\"open\":650,\"x\":1575960300000}"लॉग डेटा है; यह डेटा चार्ट पर के-लाइन डेटा है।

अंतर्निहित पुस्तकालय ट्रेडिंग टर्मिनल