xchangeList()
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(Nid)
ڈاکر نوڈ کو حذف کرتا ہے (ID
ہےNid
) کے مطابقAPI KEY
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کی درخواست میں۔
پیرامیٹرNid
انٹیجر کی قسم ہے، یعنی ڈاکرID
.
واپسی کی قیمت
{
"code":0,
"data":{
"result":true,
"error":null
}
}
DeleteRobot(RobotId, DeleteLogs)
مخصوص ID کے ساتھ روبوٹ کو خارج کر دیتا ہے (روبوٹID
: RobotId
) کے مطابقAPI KEY
FMZ Quant اکاؤنٹ کے تحت درخواست میں۔
پیرامیٹرRobotId
انٹیجر قسم کی ہے، یعنی روبوٹID
حذف کیا جائے۔DeleteLogs
بولیائی قسم کا ہے۔DeleteLogs
یہ فیصلہ کرنے کے لئے کہ آیا لاگ کو حذف کرنا ہے یا نہیں؛true
لاگ کو حذف کرنے کی نشاندہی کرتا ہے۔
واپسی کی قیمت
// Return value after successful deletion
{
"code": 0,
"data": {
"result": 0,
"error": null
}
}
GetStrategyList()
کے مطابق حکمت عملی کی معلومات حاصلAPI KEY
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کی درخواست میں۔
پیرامیٹر کوئی نہیں
واپسی کی قیمت
{
"code": 0,
"data": {
"result": {
"strategies": [{
"category": 0,
"username": "yifidslei",
"is_owner": true,
"name": "fmz simulation market 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": "Line drawing 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(Settings)
پیرامیٹر کی ترتیبات کے مطابق ایک نیا بوٹ بناتا ہے،API KEY
FMZ Quant اکاؤنٹ کی درخواست میں۔
پیرامیٹرSettings
ہےJSON
آبجیکٹ کی قسمSettings
ہےJSON
روبوٹ کی طرف سے تشکیل اعتراض.
کےSettings
وضاحت مندرجہ ذیل ہے:
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 bot-binding strategy, and the second one "0" is the specific value set by the parameter "MAType", and the third one "75882" is the pattern ID containing the parameter "MAType"
*/
"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 a bot 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 bot
{"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()
اسٹریٹجی میں کردار.
ٹیسٹ کی حکمت عملی:
حکمت عملی پیرامیٹرInterval
JavaScript
حکمت عملی کا کوڈ
function main(){
Log(exchange.GetAccount())
Log(exchange.GetTicker())
Log(exchange.GetDepth())
Log("Interval:", Interval)
}
واپسی کی قیمت
// Create the bot successfully
{
"code": 0,
"data": {
"result": 74260,
"error": null
}
}
PluginRun(Settings)
کال کرنے کے لئے توسیع API استعمال کرتا ہےڈیبگنگ کا آلہ function.
پیرامیٹرSettings
ہےJSON
اعتراض، یعنی ڈیبگنگ کے آلے میں ترتیبات (Settings
خصوصیت میں لکھا ٹیسٹ کوڈ پر مشتمل ہےsource
).
ٹیسٹ کوڈPython
مثال:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
import md5
import urllib
import json
# API KEY has been blurred; you can use your own API KEY to test
accessKey = 'f77XXXXXXXXXXXXXXX757'
# API KEY has been blurred; you can use your own API KEY to test
secretKey = 'd8XXXXXXXXXXXXXXXX41ca97ea15'
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)).hexdigest()
return json.loads(urllib.urlopen('https://www.fmz.com/api/v1', urllib.urlencode(d)).read())
code = '''
function main() {
Log(exchange.GetTicker())
exchange.SetTimeout(2000);
return exchanges[0].GetTicker()
}
'''
settings = {
# K-line period parameter "60" indicates 60 seconds
"period": 60,
"source": code,
# 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"}}
]
}
print api("PluginRun", settings)
نوٹ:{"eid": "OKEX", "pair": "ETH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}}
{"eid": "Huobi", "pair": "BCH_BTC", "meta" :{"AccessKey": "123abc", "SecretKey": "123abc"}}
کے لئےexchanges
میں وصفترتیبات، وصف صرف 1 پر مقرر کرنے کی ضرورت ہے، جب کال کرنے کے لئےPluginRun
انٹرفیس (صرف ایک تبادلہ اعتراض کے لئے حمایت کی جا سکتی ہے جب آپ
واپسی کی قیمتapi("PluginRun", settings)
لوٹائے گئے نتائج:
{
u'code': 0,
u'data': {
u'result': u'{"logs":[{"PlatformId":"","OrderId":"0","LogType":5,"Price":0,"Amount":0,"Extra":"{\\"Info\\":{\\"date\\":\\"1523715057\\",\\"ticker\\":{\\"high\\":\\"0.06400845\\",\\"vol\\":\\"117648.31546800\\",\\"last\\":\\"0.06204514\\",\\"low\\":\\"0.06178666\\",\\"buy\\":\\"0.06200001\\",\\"sell\\":\\"0.06208728\\"}},\\"High\\":0.06400845,\\"Low\\":0.06178666,\\"Sell\\":0.06208728,\\"Buy\\":0.06200001,\\"Last\\":0.06204514,\\"Volume\\":117648.315468,\\"OpenInterest\\":0,\\"Time\\":1523715057726}","Instrument":"","Direction":"","Time":1523715057726}],"result":"{\\"Info\\":{\\"date\\":\\"1523715057\\",\\"ticker\\":{\\"vol\\":\\"117648.31546800\\",\\"last\\":\\"0.06204514\\",\\"low\\":\\"0.06178666\\",\\"buy\\":\\"0.06200001\\",\\"sell\\":\\"0.06208728\\",\\"high\\":\\"0.06400845\\"}},\\"High\\":0.06400845,\\"Low\\":0.06178666,\\"Sell\\":0.06208728,\\"Buy\\":0.06200001,\\"Last\\":0.06204514,\\"Volume\\":117648.315468,\\"OpenInterest\\":0,\\"Time\\":1523715057774}"}\n',
u'error': None
}
}
GetRobotLogs(robotId, logMinId, logMaxId, logOffset, logLimit, profitMinId, profitMaxId, profitOffset, profitLimit, chartMinId, chartMaxId, chartOffset, chartLimit, chartUpdateBaseId, chartUpdateDate, summaryLimit)
روبوٹ لاگ کی معلومات حاصل کرتا ہے (روبوٹID
: robotId
), کے مساویAPI KEY
FMZ Quant اکاؤنٹ کی درخواست میں۔
پیرامیٹر
پیرامیٹر کا نام | قسم | تبصرے |
---|---|---|
روبوٹ | عدد | بوٹ آئی ڈی |
ٹیبل لاگڈیٹا بیس ٹیبل کے لاگ ڈیٹا سے پوچھتا ہے:
پیرامیٹر کا نام | قسم | تبصرے |
---|---|---|
logMinId | عدد | لاگ کی کم از کم شناخت |
logMaxId | عدد | ریکارڈ کی زیادہ سے زیادہ شناخت |
لاگ آفسیٹ | عدد | logMinId اور logMaxId کی طرف سے رینج کا تعین کیا جاتا ہے کے بعد، logOffset آفسیٹ (کتنے ریکارڈ کو چھوڑ دیا جاتا ہے) ڈیٹا حاصل کرنے کے لئے ابتدائی پوزیشن کے طور پر استعمال کیا جا کرنے کے لئے شروع ہوتا ہے |
logLimit | عدد | ابتدائی پوزیشن کا تعین کرنے کے بعد، منتخب کردہ ڈیٹا ریکارڈز کی تعداد |
ٹیبل منافعڈیٹا بیس ٹیبل کے منافع کے اعداد و شمار کو پوچھتا ہے:
پیرامیٹر کا نام | قسم | تبصرے |
---|---|---|
منافع MinId | عدد | ریکارڈ کی کم از کم شناخت |
منافعMaxId | عدد | ریکارڈ کی زیادہ سے زیادہ شناخت |
منافع آفسیٹ | عدد | آفسیٹ (کتنے ریکارڈ کو چھوڑ دیا جاتا ہے) شروع ہونے والی پوزیشن کے طور پر استعمال کیا جا کرنے کے لئے شروع ہوتا ہے |
منافع حد | عدد | ابتدائی پوزیشن کا تعین کرنے کے بعد، منتخب کردہ ڈیٹا ریکارڈز کی تعداد |
ٹیبل گرافڈیٹا بیس ٹیبل کے چارٹ کے اعداد و شمار کو پوچھتا ہے:
پیرامیٹر کا نام | قسم | تبصرے |
---|---|---|
چارٹ | عدد | ریکارڈ کی کم از کم شناخت |
چارٹMaxId | عدد | ریکارڈ کی زیادہ سے زیادہ شناخت |
چارٹ آفسیٹ | عدد | آفسیٹ |
چارٹ حد | عدد | حاصل کیے جانے والے ریکارڈوں کی تعداد |
چارٹUpdateBaseId | عدد | تازہ کاری شدہ بیس آئی ڈی کو دریافت کریں |
چارٹUpdateDate | عدد | ڈیٹا ریکارڈ ٹائم اسٹیمپ کو اپ ڈیٹ کرتا ہے جو اس ٹائم اسٹیمپ سے بڑے ریکارڈ کو فلٹر کرے گا |
خلاصہ حدحالت بار کے اعداد و شمار کو پوچھتا ہے:
یہ بوٹ کے اسٹیٹس بار ڈیٹا سے استفسار کرتا ہے۔ پیرامیٹر کی قسم عدد ہے۔ summaryLimit
تمام حیثیت بار کی معلومات حاصل کرنے کے لئے پیرامیٹر). حالت بار کے اعداد و شمار واپس اعداد و شمار میں محفوظ کیا جاتا ہےsummary
.
Python
مثال:
api('GetRobotLogs', 63024, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) # For the specific code, please refer to the above content: 4. Simple examples, which will not be repeated here; here only write the call and pass of "GetRobotLogs"
واپسی کی قیمت واپس کیے گئے ڈیٹا:
{
"code": 0,
"data": {
"result": {
"status": 1,
"updateTime": 1527049990197,
"wd": 0,
// The first data structure in logs is the log records in the strategy log table in the bot database
"logs": [{
"Max": 3984,
"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, "", ""]
],
"Total": 1503,
"Min": 2482
}, {
// The second data structure in logs is the log records in the strategy log table in the bot database
"Max": 0,
"Arr": [],
"Total": 0,
"Min": 0
}, {
// The third data structure in logs is the log records in the strategy log table in the bot database
"Max": 0,
"Arr": [],
"Total": 0,
"Min": 0
}],
"chart": "",
"refresh": 1527049988000,
"summary": "...",
"chartTime ": 0,
"node_id ": 50755,
"online ": true
},
"error ": null
}
}
ڈیٹا بیس میں حکمت عملی لاگ ٹیبل
کےArr
مندرجہ بالا واپس کیے گئے نتائج کے اعداد و شمار میں صفات کی قدر کا بیان:
"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 | 1526954372591 | "" | "" | ||
3976 | 5 | "" | "" | 0 | 0 | 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}"
لاگ ڈیٹا ہے۔ یہ ڈیٹا چارٹ پر K لائن ڈیٹا ہے۔
تجارتی ٹرمینل کے افعال کو بہتر بنانے اور دستی تجارت کو بہتر بنانے کے لئے ، اب ایک پلگ ان فنکشن دستیاب ہے۔ مقام مندرجہ ذیل دکھایا گیا ہے۔
اصول ڈیبگنگ ٹول کی طرح ہی ہے: ڈاکر کو
صفحہ Trading Plugin
، جو حمایت کرتا ہےJavaScript
, Python
, cpp
اورMyLanguage
.
پلگ ان کوڈ ایک وقت کی مدت کے لئے عملدرآمد کر سکتے ہیں، اور یہ کچھ سادہ آپریشن انجام دے سکتے ہیں، جیسےآئس برگ آرڈر, زیر التواء احکامات, آرڈر منسوخیاورآرڈر کا حساب. اسی طرحڈیبگنگ کا آلہ، یہ استعمال کرتا ہےreturn
نتائج واپس کرنے کے لئے، اور یہ بھی براہ راست چارٹ اور میزیں واپس کر سکتے ہیں. یہاں چند مثالیں ہیں، اور دیگر افعال کو خود کی طرف سے دریافت کیا جا سکتا ہے.
گہرائی اسنیپ شاٹ پر واپس جائیں
// Return to the depth snapshot
function main() {
var tbl = {
type: 'table',
title: 'snapshot of the order depth @ ' + _D(),
cols: ['#', 'Amount', 'Ask', 'Bid', 'Amount'],
rows: []
}
var d = exchange.GetDepth()
for (var i = 0; i < Math.min(Math.min(d.Asks.length, d.Bids.length), 15); i++) {
tbl.rows.push([i, d.Asks[i].Amount, d.Asks[i].Price+'#ff0000', d.Bids[i].Price+'#0000ff', d.Bids[i].Amount])
}
return tbl
}
def main():
tbl = {
"type": "table",
"title": "snapshot of the order depth @ " + _D(),
"cols": ["#", "Amount", "Ask", "Bid", "Amount"],
"rows": []
}
d = exchange.GetDepth()
for i in range(min(min(len(d["Asks"]), len(d["Bids"])), 15)):
tbl["rows"].append([i, d["Asks"][i]["Amount"], str(d["Asks"][i]["Price"]) + "#FF0000", str(d["Bids"][i]["Price"]) + "#0000FF", d["Bids"][i]["Amount"]])
return tbl
void main() {
json tbl = R"({
"type": "table",
"title": "abc",
"cols": ["#", "Amount", "Ask", "Bid", "Amount"],
"rows": []
})"_json;
tbl["title"] = "snapshot of the order depth @" + _D();
auto d = exchange.GetDepth();
for(int i = 0; i < 5; i++) {
tbl["rows"].push_back({format("%d", i), format("%f", d.Asks[i].Amount), format("%f #FF0000", d.Asks[i].Price), format("%f #0000FF", d.Bids[i].Price), format("%f", d.Bids[i].Amount)});
}
LogStatus("`" + tbl.dump() + "`");
// C++ does not support "return json" to display the table, and you can create a bot to display the table of the status bar
}
کراس پیریڈ اسپریڈز کا تعین کریں
// Draw cross-period spreads
var chart = {
__isStock: true,
title : { text : 'spread analysis chart'},
xAxis: { type: 'datetime'},
yAxis : {
title: {text: 'spread'},
opposite: false
},
series : [
{name : "diff", data : []}
]
}
function main() {
exchange.SetContractType('quarter')
var recordsA = exchange.GetRecords(PERIOD_M5)
exchange.SetContractType('this_week')
var recordsB = exchange.GetRecords(PERIOD_M5)
for(var i = 0; i < Math.min(recordsA.length, recordsB.length); i++){
var diff = recordsA[recordsA.length - Math.min(recordsA.length, recordsB.length) + i].Close - recordsB[recordsB.length - Math.min(recordsA.length, recordsB.length) + i].Close
chart.series[0].data.push([recordsA[recordsA.length - Math.min(recordsA.length, recordsB.length) + i].Time, diff])
}
return chart
}
chart = {
"__isStock": True,
"title": {"text": "spread analysis chart"},
"xAxis": {"type": "datetime"},
"yAxis": {
"title": {"text": "spread"},
"opposite": False
},
"series": [
{"name": "diff", "data": []}
]
}
def main():
exchange.SetContractType("quarter")
recordsA = exchange.GetRecords(PERIOD_M5)
exchange.SetContractType("this_week")
recordsB = exchange.GetRecords(PERIOD_M5)
for i in range(min(len(recordsA), len(recordsB))):
diff = recordsA[len(recordsA) - min(len(recordsA), len(recordsB)) + i].Close - recordsB[len(recordsB) - min(len(recordsA), len(recordsB)) + i].Close
chart["series"][0]["data"].append([recordsA[len(recordsA) - min(len(recordsA), len(recordsB)) + i]["Time"], diff])
return chart
// C++ does not support "return json" structure drawing
ٹریڈنگ ٹرمینل کے پلگ ان ماڈیول شامل کریں
جیسا کہ شبیہہ میں دکھایا گیا ہے،
پلگ ان چلائیں
پلگ ان چلانے کا وقت پلگ ان کا زیادہ سے زیادہ چلانے کا وقت 3 منٹ ہے۔ اور یہ 3 منٹ سے زیادہ ہونے کے بعد خود بخود چلانے سے باز آجائے گا۔
تجزیہ فارمولا مارکیٹ کوٹ کے حساب کے طریقہ کار کا حوالہ دیتا ہےalpha101
کےworldquant
: http://q.fmz.com/chart/doc/101_Formulaic_Alphas.pdf، جو بنیادی طور پر اس کے گرامر کے ساتھ مطابقت رکھتا ہے (غیر نافذ کردہ خصوصیات کی وضاحت کے ساتھ) ، اور بہتر بنایا گیا ہے۔
یہ وقت کی سیریز پر تیزی سے حساب کتاب کرنے اور خیالات کی توثیق کے لئے استعمال کیا جاتا ہے،ایڈریس استعمال کریں.
صفحہ تعارف:
"{}" ذیل میں پلیس ہولڈر کی نمائندگی کرتا ہے، تمام اظہار بڑے اور چھوٹے حرف کے حساس نہیں ہیں، اور
abs(x), log(x), sign(x)
لفظی طور پر مطلق قدر، لوگرتھم اور علامت فنکشن کا مطلب ہے، بالترتیب.مندرجہ ذیل آپریٹرز، بشمول+, -, *, /, >, <
، ان کے معیار کے معنی بھی پورا کرتے ہیں؛==
||
کا مطلب ہے x? y: z
ترنری آپریٹر کی نشاندہی کرتا ہے.
rank(x)
: ٹرانس سیکشن کی درجہ بندی، جس میں مقام کی فیصد واپس آتی ہے۔ متعدد امیدواروں کے ہدف پول کی وضاحت کرنا ضروری ہے ، جو ایک واحد مارکیٹ کے لئے حساب نہیں لگایا جاسکتا ہے اور براہ راست اصل نتیجہ واپس کرے گا۔delay(x, d)
: تسلسل کے d مدت سے پہلے کی قدر.sma(x, d)
: ترتیب کے d مدت کا سادہ چلتا ہوا اوسط.correlation(x, y, d)
: پچھلے d ادوار کے دوران وقت کی سیریز x اور y کے correlation ضارب.covariance(x, y, d)
: گزشتہ d ادوار میں وقت سیریز x اور y کے covariance.scale(x, a)
: یہ اعداد و شمار کو معمول پر لاتا ہے، تاکہsum(abs(x)) = a
(delta(x, d)
: وقت کی سیریز x کی موجودہ قیمت منہا مدت d سے پہلے کی قیمت.signedpower(x, a)
: x^a
.decay_linear(x, d)
: وقت کی سیریز x کے وزن شدہ d-period چلتی اوسط، وزن کے ساتھ d، d-1، d-2... 1 (معمولی).indneutralize(x, g)
: صنعت کی درجہ بندی کے لئے غیر جانبدار پروسیسنگ ts_{O}(x, d)
: ماضی کے d ادوار میں ٹائم سیریز x پر ts_min(x, d)
: پچھلی d مدت کی کم از کم قیمت.ts_max(x, d)
: گذشتہ d ادوار کی زیادہ سے زیادہ قیمت.ts_argmax(x, d)
: ts_max(x, d)
position.ts_argmin(x, d)
: ts_min(x, d)
position.ts_rank(x, d)
: گذشتہ d ادوار کے وقت سیریز x اقدار کی چھانٹ (فیصد چھانٹ).min(x, d)
: ts_min(x, d)
.max(x, d)
: ts_max(x, d)
.sum(x, d)
: گذشتہ d ادوار کا مجموعہproduct(x, d)
: پچھلے d ادوار کی پیداوارstddev(x, d)
: پچھلی d مدت کے معیاری انحراف.ان پٹ کے اعداد و شمار بڑے اور چھوٹے حرفوں پر حساس نہیں ہیں؛ ڈیفالٹ ڈیٹا ویب صفحے پر منتخب کردہ علامت ہے، یا یہ براہ راست مخصوص کیا جا سکتا ہے، جیسے:binance.ada_bnb
returns
: اختتامی قیمت کی واپسی.open, close, high, low, volume
: یعنی کھلنے کی قیمت، بند ہونے کی قیمت، سب سے زیادہ قیمت، سب سے کم قیمت اور مدت کے دوران ٹریڈنگ کا حجم.vwap
: حجم وزن شدہ عملدرآمد شدہ قیمت، ابھی تک لاگو نہیں کیا گیا، جو فی الحال اختتامی قیمت ہے.cap
: کل مارکیٹ ویلیو، ابھی تک لاگو نہیں کیا گیا ہے۔IndClass
: صنعت کی درجہ بندی، ابھی تک لاگو نہیں کیا گیا ہے.ایک ہی وقت میں متعدد نتائج (فہرست کے ذریعہ ظاہر کردہ) آؤٹ پٹ کی حمایت کی جاتی ہے۔ مثال کے طور پر ،[sma(close, 10), sma(high, 30)]
چارٹ پر دو لائنیں کھینچیں گے۔ وقت کی سیریز کے اعداد و شمار کو ان پٹ کرنے کے علاوہ ، یہ ایک سادہ کیلکولیٹر کے طور پر بھی استعمال کیا جاسکتا ہے۔
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے لئے جس نے ابھی تک ایکسچینج اے پی آئی انٹرفیس کو احاطہ نہیں کیا ہے ، اس تک عام پروٹوکول پلگ ان پروگرام لکھ کر رسائی حاصل کی جاسکتی ہے۔ آپ اس عام پروٹوکول کو کسی بھی تبادلے تک رسائی حاصل کرنے کے لئے استعمال کرسکتے ہیں جو تجارت کے لئے API انٹرفیس فراہم کرتا ہے ، اور مندرجہ ذیل دو پروٹوکول تعاون یافتہ ہیں:
REST
پروٹوکول:حوالہ دستاویزات.FIX
پروٹوکول:حوالہ اشارہ.کے درمیان فرقFIX
پروٹوکول پلگ ان پروگرام اورREST
پروٹوکول پلگ ان پروگرام صرف پروٹوکول پلگ ان پروگرام اور تبادلے کے انٹرفیس کے مابین تعامل ہے۔ پروٹوکول پلگ ان پروگرام میں ڈوکر پروگرام کے تعامل اور ڈیٹا فارمیٹ کی ایک جیسی تفصیل سے پروسیسنگ ہے جیسے ایف ایم زیڈ کوانٹ۔ تفصیلات کے لئے ، براہ کرم مذکورہ بالا لنکس میں مثالوں کا حوالہ دیں۔
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم ایک ماڈیولر اور حسب ضرورت
ڈیبگ ٹولصفحہ صرف حمایت کرتے ہوئے، بوٹ کی طرف سے تیزی سے کوڈ کی جانچ کرنے کے لئے ایک ماحول فراہم کرتا ہےJavaScript
currently.
یہ مقامی ایڈیٹر FMZ مقدار ٹریڈنگ پلیٹ فارم کے لئے ریموٹ ہم وقت سازی کی حکمت عملی کوڈ کی حمایت کرتا ہے اور یہ حمایت کرتا ہےSublime Text
/Atom
/Vim
/VSCode
ایڈیٹر۔ حکمت عملی میں ترمیم کے صفحے پر ، کلک کریں
کلک کریں
مختلف ایڈیٹرز کے پلگ ان کی تنصیب کے طریقے قدرے مختلف ہیں۔ آپ مخصوص ریموٹ ہم وقت سازی پلگ ان آئٹم پر جانے کے لئے ڈاؤن لوڈ کے بٹن پر کلک کر سکتے ہیں۔
لائیو ٹریڈنگ چلانے کے دوران، آپ کو حقیقی بوٹ کی ترتیب کے پیرامیٹر ڈیٹا کو بچانے کی ضرورت ہے، آپ JSON
فائل، اور برآمد کی حکمت عملی پیرامیٹر کی ترتیب بھی حقیقی بوٹ میں دوبارہ درآمد کیا جا سکتا ہے. کلک کریں
ماخذ کوڈ ڈاؤن لوڈ کریں
حکمت عملی ماخذ کوڈ برآمد کریں، اور برآمد فائل کی قسم حکمت عملی پروگرامنگ زبان پر مبنی ہے. جاوا اسٹریٹجی توسیع کے ساتھ فائلوں برآمد کرتا ہےjs
؛ python حکمت عملی توسیع کے ساتھ فائلوں کو برآمد کرتا ہےpy
; C ++ حکمت عملی توسیع کے ساتھ فائلوں کو برآمدcpp
; مائی لینگویج حکمت عملی توسیع کے ساتھ فائلوں کو برآمد کرتا ہےtxt
. نوٹ کریں کہ صرف حکمت عملی کا ماخذ کوڈ برآمد کیا جاتا ہے، حکمت عملی کے پیرامیٹرز، ٹیمپلیٹ کے حوالہ جات وغیرہ شامل نہیں.
برآمداتی حکمت عملی
مکمل حکمت عملی برآمد کریں، بشمول تمام حکمت عملی کی معلومات، جیسے حکمت عملی کا ماخذ کوڈ اور پیرامیٹر ڈیزائن. برآمد فائل ایک ہےxml
file.
درآمد کی حکمت عملی
استعمال کریںxml
فائل xml
درآمد کرنے کے لئے ، یعنی ، آپ ایک مکمل حکمت عملی درآمد کرسکتے ہیں۔ درآمد کرنے کے بعد ، آپ کو حکمت عملی کو محفوظ کرنے کے لئے
حکمت عملی کے نام اور حکمت عملی پیرامیٹر کی وضاحت میں لکھا جا سکتا ہےChinese|English
، ویب صفحات کی طرف سے تسلیم زبان میں خود کار طریقے سے دکھایا جاتا ہے.
دوسری جگہوں پر، جیسے:حکمت عملی کی تفصیل, استعمال کی ہدایاتاور دیگر نصوص میںMarkdown
شکل، استعمال کرتے ہوئے[trans]Chinese|English[/trans]
یا[trans]Chinese||English[/trans]
خود کار طریقے سے شناخت کا اثر بھی حاصل کرسکتا ہے۔ مندرجہ بالا مثال کا اثر مندرجہ ذیل شکل میں دکھایا گیا ہے:
چینی زبان میں صفحہ دکھائیں:
صفحہ انگریزی میں دکھائیں:
زبان تبدیل کرنے کے بعد، یہ ویب صفحہ کو تازہ کرنے کے بعد اثرات لے گا.
افعال جو حکمت عملی کوڈ میں تار لکھ سکتے ہیں وہ بھی زبان سوئچنگ کی حمایت کرتے ہیں ، جیسے فنکشنLog
، فنکشنLogStatus
، وغیرہ
function main() {
Log("[trans]日志|log[/trans]")
var table = {
type: "table",
title: "[trans]操作|option[/trans]",
cols: ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"],
rows: [
["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}] // Note: It doesn't need to add [trans] tag in the button
]
}
LogStatus("[trans]信息|message[/trans]", "\n`" + JSON.stringify(table) + "`")
throw "[trans]错误|error[/trans]"
}
import json
def main():
Log("[trans]日志|log[/trans]")
table = {
"type": "table",
"title": "[trans]操作|option[/trans]",
"cols": ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"],
"rows": [
["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}]
]
}
LogStatus("[trans]信息|message[/trans]", "\n`" + json.dumps(table) + "`")
raise Exception("[trans]错误|error[/trans]")
void main() {
Log("[trans]日志|log[/trans]");
json table = R"({
"type": "table",
"title": "[trans]操作|option[/trans]",
"cols": ["[trans]列1|col1[/trans]", "[trans]列2|col2[/trans]", "[trans]操作|option[/trans]"],
"rows": [
["[trans]比特币|BTC[/trans]", "[trans]以太坊|ETH[/trans]", {"type": "button", "cmd": "coverAll", "name": "平仓|cover", "description": "描述|description"}]
]
})"_json;
LogStatus("[trans]信息|message[/trans]", "\n`" + table.dump() + "`");
Panic("[trans]错误|error[/trans]");
}
ڈوکر سافٹ ویئر ڈاؤن لوڈ کرنے کے بعد، ڈکمپریشن کے بعد قابل عمل فائل (فائل کا نام:robot
) ڈوکر پروگرام ہے؛ ڈوکر پروگرام کے لئے پیرامیٹرز کو ڈوکر کی تعیناتی کے دوران مخصوص کیا جاسکتا ہے۔
-v
: موجودہ docker پروگرام کے ورژن اور تالیف وقت سمیت معلومات کی جانچ پڑتال.
مکمل عملدرآمد کمانڈ پر مبنی ہےApple Mac System
: ./robot -v
.-s
: ڈوکر پروگرام چلانے کے دوران FMZ کوانٹ ٹریڈنگ پلیٹ فارم کے ساتھ بات چیت کرنے کے لئے مخصوص ایڈریس.
مکمل عملدرآمد کمانڈ پر مبنی ہےApple Mac System
: ./robot -s node.fmz.com/xxxxxxx
; xxxxxxx
ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم پر ہر اکاؤنٹ کا منفرد شناختی ID ہے۔ کمانڈ کو انجام دینے کے بعد ، متعلقہ ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم اکاؤنٹ کے پاس ورڈ کو داخل کرنے کا اشارہ ہوگا۔-p
: آپ کو براہ راست پاس ورڈ درج کرنے کے لئے چلانے کے حکم میں پیرامیٹر کی وضاحت کر سکتے ہیں، جس کی سفارش نہیں کی جاتی ہے، کیونکہ پاس ورڈ پیرامیٹر موجودہ نظام ریکارڈ میں چھوڑ دیا جائے گا.node.fmz.com/xxxxxxx
ہے:abc123456
.
مکمل عملدرآمد کمانڈ پر مبنی ہےApple Mac System
: ./robot -s node.fmz.com/xxxxxxx -p abc123456
.-n
: چل رہا ہے ڈوکر پروگرام کو لیبل کی معلومات منسلک.
مکمل عملدرآمد کمانڈ پر مبنی ہےApple Mac System
: ./robot -n macTest -s node.fmz.com/xxxxxxx
. ایک ہو جائے گاmacTest
پلیٹ فارم ڈوکر مینجمنٹ پیج پر ڈوکر کی معلومات میں ٹیکسٹ لیبل۔-l
: موجودہ ڈوکر کی طرف سے حمایت کی تبادلہ کی فہرست پرنٹ.
مکمل عملدرآمد کمانڈ پر مبنی ہےApple Mac System
: ./robot -l
، یعنی، حمایت کی تبادلے کے ناموں کو آؤٹ پٹ کیا جا سکتا ہے.exchange.Go
فنکشن، کوئی معقول نہیں ہےwait
آپریشن کے دوران coroutine کے اختتام کا انتظار کرنے کے لئے، coroutines کی ایک بڑی تعداد کے نتیجے میں.Decrypt: Secret key decrypt failed
، جو لائیو ٹریڈنگ شروع کرنے میں ناکامی کا سبب بنے گا۔ غلطی کی وجہ یہ ہے کہ ایف ایم زیڈ اکاؤنٹ کا پاس ورڈ تبدیل کرنے سے تمام تشکیل شدہAPI KEY
غیر قانونی ہونا۔ مسئلہ حل کرنے کے لئے ،API KEY
دوبارہ ترتیب دینے کی ضرورت ہے، اور ڈاکر کو دوبارہ شروع کرنے کی ضرورت ہے.ValueError: bad marshal data (unknown type code)
. اپ گریڈ یا حکمت عملی کی طرف سے چلایا جاتا ہے کہ حکمت عملی کی طرف سے حمایت ورژن میں سے ایک پر پطرون ماحول نصب:Python 2.7
, Python 3.5
اورPython 3.6
.interrupt
غلطی؛ غلطی اس وجہ سے ہے کہ صارف کلک کرتا ہےروکو بوٹجب پروگرام ایک آپریشن انجام دیتا ہے (جیسے پلیٹ فارم انٹرفیس تک رسائی حاصل کرنا) ، اور بوٹ موجودہ آپریشن کے ذریعہ طباعت شدہ غلطی کا پیغام روکتا ہے اور اسے روکتا ہے۔ غلطی کا کوئی اثر نہیں ہوتا ہے اور یہ صرف لاگ ریکارڈ ہے۔ایف ایم زیڈ کوانٹ ٹریڈنگ پلیٹ فارم کے
ذیلی اکاؤنٹ
پلیٹ فارم میں لاگ ان ہونے کے بعد،
ذیلی اکاؤنٹس محدود اجازت ہے؛ صرف مجاز بوٹس کی ترتیبات میںدستیاب اجازتیںذیلی اکاؤنٹس میں دیکھا جا سکتا ہے. مجاز بوٹ کے پاس پیرامیٹرز کو تبدیل کرنے ، رواں تجارت کو روکنے اور دوبارہ شروع کرنے کا اختیار ہے ، لیکن وہ بوٹ کے ذریعہ تشکیل کردہ تبادلے کے اعتراض کو تبدیل نہیں کرسکتا ہے۔ ذیلی اکاؤنٹس کے استعمال کے منظرنامے عام پر ہیں:
لائیو ٹریڈنگ ویو
ایف ایم زیڈ پلیٹ فارم کی بوٹس کی فہرست میںبوٹ صفحہ، موجودہ صف کے بوٹس کو عوامی طور پر ظاہر کرنے کے لئے
پر
حکمت عملی کا اشتراک
عوامی اشتراک
اندرونی اشتراک
حکمت عملی کرایہ
عوامی فروخت
اندرونی فروخت
اہم نوٹ:
تخلیق اور تقسیم کرتے وقتحکمت عملی ٹوکن، براہ کرم اس بات کی احتیاط سے تصدیق کریں کہ یہ
function returnAnalyze(totalAssets, profits, ts, te, period, yearDays) {
// force by days
period = 86400000
if (profits.length == 0) {
return null
}
var freeProfit = 0.03 // 0.04
var yearRange = yearDays * 86400000
var totalReturns = profits[profits.length - 1][1] / totalAssets
var annualizedReturns = (totalReturns * yearRange) / (te - ts)
// MaxDrawDown
var maxDrawdown = 0
var maxAssets = totalAssets
var maxAssetsTime = 0
var maxDrawdownTime = 0
var maxDrawdownStartTime = 0
var winningRate = 0
var winningResult = 0
for (var i = 0; i < profits.length; i++) {
if (i == 0) {
if (profits[i][1] > 0) {
winningResult++
}
} else {
if (profits[i][1] > profits[i - 1][1]) {
winningResult++
}
}
if ((profits[i][1] + totalAssets) > maxAssets) {
maxAssets = profits[i][1] + totalAssets
maxAssetsTime = profits[i][0]
}
if (maxAssets > 0) {
var drawDown = 1 - (profits[i][1] + totalAssets) / maxAssets
if (drawDown > maxDrawdown) {
maxDrawdown = drawDown
maxDrawdownTime = profits[i][0]
maxDrawdownStartTime = maxAssetsTime
}
}
}
if (profits.length > 0) {
winningRate = winningResult / profits.length
}
// trim profits
var i = 0
var datas = []
var sum = 0
var preProfit = 0
var perRatio = 0
var rangeEnd = te
if ((te - ts) % period > 0) {
rangeEnd = (parseInt(te / period) + 1) * period
}
for (var n = ts; n < rangeEnd; n += period) {
var dayProfit = 0.0
var cut = n + period
while (i < profits.length && profits[i][0] < cut) {
dayProfit += (profits[i][1] - preProfit)
preProfit = profits[i][1]
i++
}
perRatio = ((dayProfit / totalAssets) * yearRange) / period
sum += perRatio
datas.push(perRatio)
}
var sharpeRatio = 0
var volatility = 0
if (datas.length > 0) {
var avg = sum / datas.length;
var std = 0;
for (i = 0; i < datas.length; i++) {
std += Math.pow(datas[i] - avg, 2);
}
volatility = Math.sqrt(std / datas.length);
if (volatility !== 0) {
sharpeRatio = (annualizedReturns - freeProfit) / volatility
}
}
return {
totalAssets: totalAssets,
yearDays: yearDays,
totalReturns: totalReturns,
annualizedReturns: annualizedReturns,
sharpeRatio: sharpeRatio,
volatility: volatility,
maxDrawdown: maxDrawdown,
maxDrawdownTime: maxDrawdownTime,
maxAssetsTime: maxAssetsTime,
maxDrawdownStartTime: maxDrawdownStartTime,
winningRate: winningRate
}
}
فیوچر_بائننس
یہ بائننس فیوچر کی دوہری پوزیشن موڈ کی حمایت کرتا ہے؛ آپ استعمال کر سکتے ہیںexchange.IO
تبدیل کرنے کے لئے:
function main() {
var ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true")
// ret : {"code":200,"msg":"success"}
Log(ret)
}
def main():
ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=false")
Log(ret)
void main() {
auto ret = exchange.IO("api", "POST", "/fapi/v1/positionSide/dual", "dualSidePosition=true");
Log(ret);
}
یہ کراس پوزیشن / الگ تھلگ پوزیشن کے درمیان سوئچنگ کی حمایت
function main() {
exchange.SetContractType("swap")
exchange.IO("cross", true) // Switch to crossed position
exchange.IO("cross", false) // Switch to isolated position
}
def main():
exchange.SetContractType("swap")
exchange.IO("cross", True)
exchange.IO("cross", False)
void main() {
exchange.SetContractType("swap");
exchange.IO("cross", true);
exchange.IO("cross", false);
}
مستقبل_HuobiDM
یہ دستخط میں حصہ لینے والے Huobi فیوچر کے ایڈریس کو تبدیل کرنے کی حمایت کرتا ہے، جو ڈیفالٹ کی طرف سے سوئچ نہیں کیا جاتا ہے۔ اگر آپ کو اس فنکشن کو غیر فعال کرنے کی ضرورت ہے تو، آپ استعمال کر سکتے ہیںexchange.IO("signHost", "")
ایک خالی تار مقرر کرنے کے لئے.
استعمالexchange.IO("signHost", "https://aaa.xxx.xxx")
دستخط کی تصدیق میں حصہ لینے والے Huobi Futures کے بیس ایڈریس کو تبدیل کرنا۔
استعمالexchange.IO("base", "https://bbb.xxx.xxx")
یاexchange.SetBase("https://bbb.xxx.xxx")
پلیٹ فارم انٹرفیس کے بیس ایڈریس کو تبدیل کرنے کے لئے.
جب ٹریڈنگ جوڑی پر سیٹ کیا جاتا ہےXXX_USDT
، فنکشن استعمال کریںexchange.SetContractType("swap")
معاہدے کا کوڈ مقرر کرنے کے لئےswap
مستقل معاہدہ، استعمال کرتے ہوئےexchange.IO("cross", true)
تبدیل کر سکتے ہیںUSDT
کراس پوزیشن موڈ میں مارجنڈ دائمی معاہدہ.exchange.IO("cross", false)
الگ تھلگ پوزیشن موڈ پر واپس سوئچ کرنے کے لئے. ابتدائی ڈیفالٹ الگ تھلگ پوزیشن موڈ ہے.
ہوبی
یہ Huobi اسپاٹ لیوریج ٹوکن کی حمایت کرتا ہے، جیسے:LINK*(-3)
; تبادلہ کے ذریعہ بیان کردہ کوڈ یہ ہے:link3susdt
، جس میں لکھا جاتا ہے جب FMZ ٹریڈنگ جوڑی مقرر کرتا ہےLINK3S_USDT
.
یہ بھی ممکن ہے کہ حکمت عملی میں ٹریڈنگ کے جوڑوں کو تبدیل کیا جائے:
function main() {
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
}
def main():
exchange.SetCurrency("LINK3S_USDT")
Log(exchange.GetTicker())
void main() {
exchange.SetCurrency("LINK3S_USDT");
Log(exchange.GetTicker());
}
OKX
OKX انٹرفیس OKX کی تخروپن بوٹ ٹیسٹنگ ماحول پر سوئچ کر سکتے ہیں؛ کا استعمال کرتے ہوئےexchange.IO("simulate", true)
آپ سیمولیٹڈ ٹریڈنگ ماحول میں سوئچ کر سکتے ہیں۔ اگر آپ حقیقی ٹریڈنگ ماحول میں سوئچ کرنا چاہتے ہیں تو،exchange.IO("simulate", false)
تبدیل کرنے کے لئے. ابتدائی ڈیفالٹ حقیقی تجارتی ماحول ہے.
یہ اکاؤنٹ مارجن طریقوں سوئچنگ کی حمایت کرتا ہے؛ استعمالexchange.IO("cross", true)
کراس پوزیشن موڈ پر سوئچ کرنے اور استعمال کرنے کے لئےexchange.IO("cross", false)
الگ تھلگ پوزیشن موڈ پر سوئچ کرنے کے لئے، ابتدائی ڈیفالٹ کراس پوزیشن موڈ ہے.
فیوچر_بی باکس
استعمالexchange.IO("cross", true)
کراس پوزیشن موڈ پر سوئچ کرنے اور استعمال کرنے کے لئےexchange.IO("cross", false)
الگ تھلگ پوزیشن موڈ پر سوئچ کرنے کے لئے؛ ابتدائی ڈیفالٹ کراس پوزیشن موڈ ہے.
تبادلے موجودہ زیر التواء احکامات اور مارکیٹ کے تاریخی ٹریڈنگ ریکارڈ کو تلاش کرنے کے لئے انٹرفیس کی درخواست کی حمایت نہیں کرتا، توGetOrders
اورGetTrades
افعال کی حمایت نہیں کر رہے ہیں.
فیوچر_بٹ گیٹ
استعمالexchange.IO("cross", true)
کراس پوزیشن موڈ پر سوئچ کرنے اور استعمال کرنے کے لئےexchange.IO("cross", false)
الگ تھلگ پوزیشن موڈ پر سوئچ کرنے کے لئے.
مستقبل_AOFEX
استعمالexchange.IO("cross", true)
کراس پوزیشن موڈ پر سوئچ کرنے اور استعمال کرنے کے لئےexchange.IO("cross", false)
الگ تھلگ پوزیشن موڈ پر سوئچ کرنے کے لئے.
فیوچر_MEXC
استعمالexchange.IO("cross", true)
کراس پوزیشن موڈ پر سوئچ کرنے اور استعمال کرنے کے لئے` ` تبادلہ.IO("کراس"،