وسائل لوڈ ہو رہے ہیں... لوڈنگ...

توسیع شدہ API انٹرفیس

ایف ایم زیڈ کوانٹ نے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے مختلف افعال میں پروگراماتی کالوں کی حمایت کے لئے پلیٹ فارم کے توسیع شدہ اے پی آئی انٹرفیس کو کھول دیا ہے۔

ApiKey تخلیق کریں

FMZ کوانٹ ٹریڈنگ پلیٹ فارم اجازت کے انتظام کی حمایت کرتا ہے توسیع API انٹرفیس، اور کی اجازتAPI KEYمقرر کیا جا سکتا ہے. API انٹرفیس اختیار پر اکاؤنٹ کی ترتیبات (https://www.fmz.com/m/account) پلیٹ فارم کے صفحے پر، Create پر کلک کریں توسیع تخلیق کرنے کے لئے نئے ApiKey بٹنAPI KEY.

آپ API اجازت ان پٹ باکس میں ترمیم کر سکتے ہیں جب ایکAPI KEY، اور داخل کریں*تمام کو چالو کرنے کے لئے علامتتوسیع شدہ API انٹرفیساجازت نامے۔ اگر آپ مخصوص انٹرفیس اجازت نامے کی وضاحت کرنا چاہتے ہیں تو ، آپ کو اس کے مطابق توسیع شدہ API فنکشن کا نام درج کرنے کی ضرورت ہے۔ علیحدگی کے لئے کوما استعمال کریں ، مثال کے طور پر:GetRobotDetail,DeleteRobotاس سے یہ ملتا ہےAPI KEYکال کرنے کی اجازتبراہ راست ٹریڈنگ کی تفصیلی معلومات حاصل کریںانٹرفیسبراہ راست تجارت حذف کریں interface.

کےAPI KEYانتظام صفحہ بھی آپ کو اجازت دیتا ہےترمیم کرنا, غیر فعال کرنا, حذف کریںجو پیدا کیا گیا ہےAPI KEY.

توسیع شدہ API انٹرفیس ریٹرن کوڈ

توسیع شدہ API انٹرفیس کی طرف سے واپس کردہ ساخت کا ایک مثال مندرجہ ذیل ہے:

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

کےcodeفیلڈ is: کال کے نتائج کی حالت کا کوڈ جب توسیعی API انٹرفیس کو بلایا جاتا ہے تو واپس کیا جاتا ہے۔

تفصیل کوڈ
کامیاب عملدرآمد 0
غلط API کلید 1
غلط دستخط 2
نانسی غلطی 3
غلط طریقہ 4
غلط پیرامیٹر 5
اندرونی نامعلوم غلطی 6

براہ راست ٹریڈنگ کوڈ

کےGetRobotListانٹرفیس،GetRobotDetailانٹرفیس اورGetRobotLogsانٹرفیس میں ڈیٹا واپسstatusفیلڈ کے لئے: براہ راست ٹریڈنگ کی حیثیت کا کوڈ۔

  • معمول کا آغاز
    حیثیت کوڈ
    بیکار 0
    آپریشن میں 1
    روکنا 2
    دستخط شدہ 3
    رک گیا 4
    حکمت عملی میں غلطیاں ہیں 5
  • غیر معمولی
    حیثیت کوڈ
    حکمت عملی ختم ہو گیا ہے، اور براہ مہربانی دوبارہ اسے خریدنے کے لئے مصنف سے رابطہ کریں -1
    کوئی ڈوکر نہیں ملا -2
    حکمت عملی مرتب کرنے میں خرابی -3
    لائیو ٹریڈنگ پہلے ہی چل رہا ہے -4
    ناکافی توازن -5
    متوازی حکمت عملیوں کی تعداد حد سے زیادہ ہے -6

تصدیق کے طریقے

توسیع API انٹرفیس کو کال کرتے وقت توثیق کے دو طریقے ہیں، کی حمایت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ایک انٹرایکٹو کمانڈ پیغام بھیجنے کے لئے مندرجہ ذیل لنک دیکھیں لائیو ٹریڈنگ ID کے ساتھ لائیو ٹریڈنگ186515، پیغام مواد ایک تار ہے:"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 پر توسیع API کا استعمال کریں سگنل ٹریڈنگ

توسیع شدہ API انٹرفیس کی وضاحت

  • ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کا توسیع شدہ API انٹرفیس سوالات کے پیرامیٹرز شامل کریں (کی طرف سے الگ?درخواست کے فورا بعدhttps://www.fmz.com/api/v1مندرجہ ذیل درخواست پیرامیٹرز ہیں جو استعمال کرتے ہوئے ظاہر ہوتے ہیںPython:

    {
        "version"   : "1.0",
        "access_key": "xxx",
        "method"    : "GetNodeList",
        "args"      : [],
        "nonce"     : 1516292399361,
        "sign"      : "085b63456c93hfb243a757366600f9c2"
    }
    
    کھیت ہدایات
    ورژن ورژن نمبر۔
    رسائی_کی AccessKey، اکاؤنٹ مینجمنٹ کے صفحے پر اس کے لئے درخواست دیں.
    طریقہ کار مخصوص کال کرنے کا طریقہ۔
    آرگس مخصوص طریقہ کار کے پیرامیٹر کی فہرست بلایا.
    نونس ٹائم اسٹیمپ ، ملی سیکنڈ میں ، معیاری ٹائم اسٹیمپ سے 1 گھنٹے کی غلطی کی اجازت دیتا ہے۔ نانسی کو آخری رسائی کی نانسی ویلیو سے بڑا ہونا چاہئے۔
    نشان Signature.

    ہر پیرامیٹر کا نام حرف سے الگ ہے&، اور پیرامیٹر کے نام اور اقدار علامت کے ساتھ منسلک کر رہے ہیں=مکمل درخواست یو آر ایل (حاصل کرنے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خفیہ کاری الگورتھم کو خفیہ کرنے کے لئے سٹرنگ اور اسے تبدیل کرنے کے لئے ایک hexadecimal ڈیٹا سٹرنگ قدر، پیرامیٹر کی قدر کا حوالہ دیاsignدستخط کے حصے کے لئے، ملاحظہ کریںPythonکوڈ توسیع API انٹرفیستصدیق کے طریقے :

    # 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 ایک نجی ڈاکر کی نشاندہی کرتا ہے، غلط ایک عوامی ڈاکر کی نشاندہی کرتا ہے.
    • لوڈ: لوڈ، حکمت عملی کے واقعات کی تعداد.
    • عوامی: 0 ایک نجی ڈاکر کا اشارہ کرتا ہے، 1 ایک عوامی ڈاکر کا اشارہ کرتا ہے.
    • علاقہ: جغرافیائی محل وقوع
    • ورژن: ڈوکر کے تفصیلی ورژن کی معلومات.
    • wd: آف لائن الارم کو چالو کرنے کی ضرورت ہے یا نہیں، 0 کا مطلب چالو نہیں ہے۔ ایک کلک کی تعیناتی ڈوکر کچھ اضافی معلومات پر مشتمل ہے. کھیتوں کے ساتھ شروع prefixesecs_اورunit_، جو ایک کلک تعیناتی ڈوکر سرور (آپریٹر کا نام، ترتیب، حیثیت، وغیرہ) ، بلنگ سائیکل، قیمت اور دیگر معلومات کی متعلقہ معلومات ریکارڈ کرتا ہے، جو یہاں بار بار نہیں کیا جائے گا.

کوئی پیرامیٹر نہیں

GetRobotGroupList حاصل کریں

GetRobotGroupList()لائیو ٹریڈنگ گروپ کی فہرست واپس کرتا ہے ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کے مطابقAPI KEYدرخواست میں۔

{
    "code": 0,
    "data": {
        "result": {
            "items": [{
                "id": 3417,
                "name": "Test"
            }, {
                "id": 3608,
                "name": "Live trading demo"
            }]
        },
        "error": null
    }
}
  • اشیاء: براہ راست تجارت کے گروپ کی معلومات۔
    • id: لائیو ٹریڈنگ گروپ ID.
    • نام: لائیو ٹریڈنگ گروپ کا نام۔ کے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: ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر ایکسچینج کا آئی ڈی،eidکچھ ترتیبات اور پیرامیٹرز میں استعمال کیا جائے گا.

کوئی پیرامیٹر نہیں

GetRobotList حاصل کریں

کےGetRobotListطریقہ کار کو زندہ کی فہرست حاصل کرنے کے لئے استعمال کیا جاتا ہے FMZ Quant Trading Platform اکاؤنٹ کے تحت تجارت کے مطابق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.

پیجنگ سوال آفسیٹ کی ترتیب. آفسیٹ غلط نمبر پیجنگ استفسار کی لمبائی کی ترتیب. لمبا غلط نمبر براہ راست ٹریڈنگ کی حیثیت کی وضاحت کریں، توسیع API انٹرفیس کا حوالہ دیتے ہیںبراہ راست ٹریڈنگ کوڈ، پاس-1تمام زندہ تجارت حاصل کرنے کے لئے. روبوٹحالت غلط نمبر براہ راست ٹریڈنگ کا اپنی مرضی کے مطابق لیبل بتائیں جسے آپ سوال کرنا چاہتے ہیں، اور آپ اس لیبل کے تمام براہ راست ٹریڈنگ کو فلٹر کرسکتے ہیں. لیبل غلط سٹرنگ مطلوبہ الفاظ تلاش کریں۔ کلیدی لفظ غلط سٹرنگ

لے لوPythonlanguages توسیع API انٹرفیستصدیق کے طریقےمثال کے طور پر: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زندہ کی معلومات حاصل کرنے کے لئے طریقہ اکاؤنٹ کے تحت ٹریڈنگ، جس میں براہ راست ٹریڈنگ آئی ڈی شامل ہے۔

روبوٹ سچ نمبر پیرامیٹرcmdروبوٹ کو بھیجا انٹرایکٹو کمانڈ ہے؛ کمانڈ فنکشن کی طرف سے قبضہ کر لیا جائے گاGetCommand()، جو حکمت عملی میں انٹرایکٹو منطق کو متحرک کرتا ہے۔ حکمت عملی کے کوڈ میں انٹرایکٹو منطق کے مخصوص نفاذ کے لئے ، براہ کرم ملاحظہ کریںGetCommand()میں کردارایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم API دستی.

سی ایم ڈی سچ سٹرنگ

لائیو ٹریڈنگ کی حکمت عملی، فرض کرتے ہوئے کہ یہ حکمت عملی کام کر رہی ہے، لائیو ٹریڈنگ ID 123 ہے:

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

اگر ہم اس باب میں پائتھون ٹیسٹ اسکرپٹ کا استعمال کرتے ہیں تو ، ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے توسیع شدہ API تک رسائی حاصل کریں:api("CommandRobot", 123, "test command"). ID 123 کے ساتھ لائیو ٹریڈنگ انٹرایکٹو کمانڈ حاصل کریں گے:test command، اور پھر لاگ ان فنکشن آؤٹ پٹ کے ذریعے اسے پرنٹ.

روبوٹ کو روکیں

StopRobot(RobotId)کی درخواست کرنے کے لئے استعمال کیا جاتا ہےAPI KEYFMZ Quant Trading کی براہ راست تجارت سے متعلق پلیٹ فارم اکاؤنٹ. چلانے کو روکنے کے لئے لائیو ٹریڈنگ ID زندہ ہے ٹریڈنگ آئی ڈیrobotId parameter.

{
    "code":0,
    "data":{
        "result":2,
        "error":null
    }
}
  • نتیجہ: لائیو ٹریڈنگ اسٹیٹس کوڈ 2 ہے، جس کا مطلب ہے کہ رک گیا ہے۔

پیرامیٹرrobotIdکی شناخت کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے براہ راست ٹریڈنگ کو روکنے کے لئے.GetRobotListکے تحت لائیو ٹریڈنگ کی معلومات حاصل کرنے کا طریقہ اکاؤنٹ، جس میں براہ راست ٹریڈنگ آئی ڈی شامل ہے۔

روبوٹ سچ نمبر

روبوٹ دوبارہ شروع کریں

کےRestartRobotکے تحت لائیو ٹریڈنگ کو دوبارہ شروع کرنے کے لئے استعمال کیا جاتا ہےAPI KEYدرخواست میں ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کے مطابق۔ دوبارہ شروع شدہ لائیو ٹریڈنگ کا آئی ڈی لائیو ٹریڈنگ آئی ڈی ہےrobotId parameter.

{
    "code":0,
    "data":{
        "result":1,
        "error":null
    }
}
  • نتیجہ: لائیو ٹریڈنگ اسٹیٹس کوڈ، 1 کا مطلب چل رہا ہے۔

کےrobotIdپیرامیٹر کی ID کی وضاحت کرنے کے لئے استعمال کیا جاتا براہ راست ٹریڈنگ دوبارہ شروع کرنے کے لئے.GetRobotListکے تحت لائیو ٹریڈنگ کی معلومات حاصل کرنے کا طریقہ اکاؤنٹ، جس میں براہ راست ٹریڈنگ آئی ڈی شامل ہے۔

روبوٹ سچ نمبر لائیو ٹریڈنگ ترتیب پیرامیٹرز، پیرامیٹرز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 لائن کی مدت K لائن مدت پیرامیٹر، 60 کا مطلب ہے 60 سیکنڈ.
  • حکمت عملی: حکمت عملی ID اس کا استعمال کرتے ہوئے حاصل کیا جا سکتا ہےGetStrategyList method.

ترتیبات غلط JSON آبجیکٹ

اگر ایک زندہ ٹریڈنگ توسیع API کی طرف سے پیدا کیا جاتا ہے تو، توسیع APIRestartRobot (RobotId, Settings)دوبارہ شروع کرنے کے لئے استعمال کیا جانا چاہئے، اورsettingsپیرامیٹر کو منتقل کرنا ضروری ہے۔ پلیٹ فارم کے صفحے پر تخلیق کردہ براہ راست تجارت کو توسیع شدہ API کے ذریعے یا صفحے پر بٹن پر کلک کرکے دوبارہ شروع کیا جاسکتا ہے۔ آپ پاس کرسکتے ہیں یا پاس نہیں کرسکتے ہیں۔settingsپیرامیٹر. اگر آپ صرف پاسRobotIdپیرامیٹر، موجودہ لائیو ٹریڈنگ کی ترتیبات کے مطابق لائیو ٹریڈنگ شروع کریں.

GetRobotDetail حاصل کریں

کے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
    }
}
  • چارج_ٹائم: اگلی کٹوتی کا وقت موجودہ کٹوتی کے بعد موثر ختم ہونے کا وقت ہے۔
  • چارج: وقت پہلے ہی استعمال کیا گیا ہے.
  • استعمال شدہ: استعمال شدہ مقدار (0.125 USD = 12500000 / 1e8) ۔
  • تاریخ: تخلیق کی تاریخ۔
  • fixed_id: جب لائیو ٹریڈنگ چل رہی ہے تو ڈوکر ID تفویض کیا جاتا ہے۔ اگر یہ خودکار ہے تو ، قیمت -1 ہے۔
  • is_manager: کیا آپ کو اس لائیو ٹریڈنگ کو منظم کرنے کا اختیار ہے.
  • is_sandbox: یہ ایک تخروپن ٹریڈنگ ہے یا نہیں.
  • نام: براہ راست تجارت کا نام۔
  • node_id: ڈوکر ID。
  • پی ایکس ایکسچینجز: لائیو ٹریڈنگ کا تبادلہ اعتراض ، 123 پی آئی ڈی ہے ، اور فیوچر_ او کے کوئن تبادلہ نام ہے۔
  • plabels: براہ راست ٹریڈنگ میں تشکیل کردہ ایکسچینج آبجیکٹ کی ٹیگ کی معلومات۔
  • منافع: لائیو ٹریڈنگ منافع کے اعداد و شمار۔
  • عوامی: کیا براہ راست تجارت عوامی ہے.
  • تازہ کاری: آخری فعال وقت.
  • strategy_exchange_pairs: تبادلہ کے لیے ترتیب دیا گیا آبجیکٹ، ٹریڈنگ جوڑی کی معلومات مقرر کریں۔
  • wd: آف لائن الارم کو فعال کرنا یا نہیں.

کےrobotIdپیرامیٹر کا استعمال براہ راست تجارت کی شناخت کی وضاحت کرنے کے لئے کیا جاتا ہے جس کے لئے تفصیلات حاصل کی جائیں گی۔GetRobotListاکاؤنٹ کے تحت براہ راست ٹریڈنگ کے بارے میں معلومات حاصل کرنے کا طریقہ، جس میں براہ راست ٹریڈنگ آئی ڈی شامل ہے۔

روبوٹ سچ نمبر

کی صفت کی وضاحت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
    }
}
  • بیلنس: اکاؤنٹ بیلنس یہاں کی قدر درستگی کنٹرول کی وجہ سے ایک عدد ہے۔ اسے اصل قدر میں تبدیل کرنے کے ل you ، آپ کو اسے 1e8 (یعنی 10 کی 8 ویں طاقت) میں تقسیم کرنے کی ضرورت ہے۔ یہاں کی اصل قیمت یہ ہے: 229.44702436

GetExchangeList حاصل کریں

کےGetExchangeListطریقہ کار کو ایکسچینج کی فہرست اور FMZ کوانٹ ٹریڈنگ پلیٹ فارم کی حمایت کردہ مطلوبہ ترتیب کی معلومات حاصل کرنے کے لئے استعمال کیا جاتا ہے۔

جب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کے تحت لائیو ٹریڈنگ کی معلومات حاصل کرنے کا طریقہ اکاؤنٹ، جس میں براہ راست ٹریڈنگ آئی ڈی شامل ہے۔

روبوٹ سچ نمبر کے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طریقہ کار کا استعمال کیا جاتا ہےڈیبگ ٹولایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کی تقریب؛ صرف جاوا اسکرپٹ زبان کی حمایت کی جاتی ہے۔

{
    "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، لیکن ایک غلطی کی اطلاع دی جائے گی جب دوسرا تبادلہ اعتراض کوڈ میں تک رسائی حاصل کی جاتی ہے.

GetRobotLogs

کےGetRobotLogsطریقہ کار FMZ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کے تحت لائیو ٹریڈنگ کی لاگ ان معلومات حاصل کرنے کے لئے استعمال کیا جاتا ہے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
    }
}
  • logs: لاگ ان معلومات: Arr فیلڈ میں کئی لاگ ان اعداد و شمار کے آئٹم پائے جاتے ہیں۔ لاگ میں پہلا ڈیٹا ڈھانچہ براہ راست ٹریڈنگ ڈیٹا بیس میں حکمت عملی لاگ ٹیبل میں لاگ ریکارڈ ہے۔ لاگ میں دوسرا ڈیٹا ڈھانچہ براہ راست ٹریڈنگ ڈیٹا بیس میں حکمت عملی لاگ ٹیبل میں لاگ ریکارڈ ہے۔ لاگ میں تیسرا ڈیٹا ڈھانچہ لائیو ٹریڈنگ ڈیٹا بیس میں حکمت عملی لاگ ٹیبل میں لاگ ریکارڈ ہے.
  • خلاصہ: لائیو ٹریڈنگ کی حالت بار ڈیٹا.

کےrobotIdپیرامیٹر کی ID کی وضاحت کرنے کے لئے استعمال کیا جاتا لائیو ٹریڈنگ جس کے لئے لاگ ان کی معلومات حاصل کی جائیں۔ آپ کو استعمال کر سکتے ہیںGetRobotListمعلومات حاصل کرنے کا طریقہ اکاؤنٹ کے تحت براہ راست ٹریڈنگ کے بارے میں، جس میں لائیو ٹریڈنگ ID.

روبوٹ سچ نمبر کےlogMinIdپیرامیٹر لاگ کی کم از کم ID کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.

logMinId سچ نمبر کےlogMaxIdپیرامیٹر لاگ کی زیادہ سے زیادہ ID کی وضاحت کرنے کے لئے استعمال کیا جاتا ہے.

logMaxId سچ نمبر کےlogOffsetپیرامیٹر آفسیٹ مقرر کرنے کے لئے استعمال کیا جاتا ہے، کی طرف سے رینج کا تعین کرنے کے بعدlogMinIdاورlogMaxId، کی بنیاد پر آفسیٹlogOffset(کتنے ریکارڈ کو چھوڑ دیا جاتا ہے). اعداد و شمار کو حاصل کرنے کے لئے ابتدائی پوزیشن کے طور پر شروع کریں.

لاگ آفسیٹ سچ نمبر پیرامیٹرlogLimitشروعاتی پوزیشن کا تعین کرنے کے بعد منتخب ہونے والی ڈیٹا ریکارڈز کی تعداد مقرر کرنے کے لئے استعمال کیا جاتا ہے۔

logLimit سچ نمبر کےprofitMinIdپیرامیٹر منافع لاگ کی کم از کم ID مقرر کرنے کے لئے استعمال کیا جاتا ہے.

منافع MinId سچ نمبر پیرامیٹرprofitMaxIdمنافع لاگ کی زیادہ سے زیادہ ID مقرر کرنے کے لئے استعمال کیا جاتا ہے.

منافعMaxId سچ نمبر پیرامیٹرprofitOffsetافتتاحی پوزیشن کے طور پر آفسیٹ (کتنے ریکارڈز کو چھوڑ دیا جاتا ہے) مقرر کرنے کے لئے استعمال کیا جاتا ہے.

منافع آفسیٹ سچ نمبر پیرامیٹرprofitLimitشروعاتی پوزیشن کا تعین کرنے کے بعد منتخب ہونے والی ڈیٹا ریکارڈز کی تعداد مقرر کرنے کے لئے استعمال کیا جاتا ہے۔

منافع حد سچ نمبر پیرامیٹرchartMinIdچارٹ ڈیٹا ریکارڈ کی کم از کم ID مقرر کرنے کے لئے استعمال کیا جاتا ہے.

چارٹ سچ نمبر پیرامیٹرchartMaxIdچارٹ ڈیٹا ریکارڈ کی زیادہ سے زیادہ ID مقرر کرنے کے لئے استعمال کیا جاتا ہے.

چارٹMaxId سچ نمبر پیرامیٹرchartOffsetآفسیٹ سیٹ کرنے کے لئے استعمال کیا جاتا ہے۔

چارٹ آفسیٹ سچ نمبر پیرامیٹرchartLimitکی تعداد مقرر کرنے کے لئے استعمال کیا جاتا ہے ریکارڈ حاصل کرنے کے لئے.

چارٹ حد سچ نمبر پیرامیٹرchartUpdateBaseIdبیس ID مقرر کرنے کے لئے استعمال کیا جاتا ہے سوال کو اپ ڈیٹ کرنے کے بعد.

chartUpdateBaseId سچ نمبر پیرامیٹرchartUpdateDateاعداد و شمار قائم کرنے کے لئے استعمال کیا جاتا ہے ریکارڈ اپ ڈیٹ ٹائم اسٹیمپ، اور یہ ریکارڈ زیادہ فلٹر کرے گا اس ٹائم اسٹیمپ سے.

چارٹUpdateDate سچ نمبر پیرامیٹر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 too many positions, long: 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]
    

    202log ہے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}"لاگ ڈیٹا ہے۔ یہ ڈیٹا چارٹ پر K لائن ڈیٹا ہے۔

بلٹ ان لائبریری ٹریڈنگ ٹرمینل