```exchange.GetOrders()```函数请求数据成功时返回{@struct/Order Order}结构数组,请求数据失败时返回空值。
{@struct/Order Order}数组、空值
exchange.GetOrders()
exchange.GetOrders(symbol)
参数```symbol```用于设置所要查询的**交易品种**或者**交易品种的范围**。
对于现货交易所对象,不传```symbol```参数时,请求所有现货品种的未完成订单数据。
对于期货交易所对象,不传```symbol```参数时,默认以当前交易对、合约代码所在维度范围请求所有品种的未完成订单数据。
symbol
false
string
```javascript
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"]
for (var symbol of arrSymbol) {
var t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t.Last / 2, 0.01)
}
var spotOrders = exchange.GetOrders()
var tbls = []
for (var orders of [spotOrders]) {
var tbl = {type: "table", title: "test GetOrders", cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
for (var order of orders) {
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// 打印输出一次信息后返回,防止后续回测时订单成交,影响数据观察
return
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"]
for symbol in arrSymbol:
t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t["Last"] / 2, 0.01)
spotOrders = exchange.GetOrders()
tbls = []
for orders in [spotOrders]:
tbl = {"type": "table", "title": "test GetOrders", "cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], "rows": []}
for order in orders:
tbl["rows"].append([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
tbls.append(tbl)
LogStatus("`" + json.dumps(tbls) + "`")
return
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"ETH_USDT", "BTC_USDT", "LTC_USDT", "SOL_USDT"};
for (const auto& symbol : arrSymbol) {
auto t = exchange.GetTicker(symbol);
exchange.CreateOrder(symbol, "buy", t.Last / 2, 0.01);
}
auto spotOrders = exchange.GetOrders();
json tbls = R"([])"_json;
std::vector<std::vector<Order>> arr = {spotOrders};
for (const auto& orders : arr) {
json tbl = R"({
"type": "table",
"title": "test GetOrders",
"cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"],
"rows": []
})"_json;
for (const auto& order : orders) {
json arrJson = R"([])"_json;
arrJson.push_back("Symbol");
arrJson.push_back("Id");
arrJson.push_back(order.Price);
arrJson.push_back(order.Amount);
arrJson.push_back(order.DealAmount);
arrJson.push_back(order.AvgPrice);
arrJson.push_back(order.Status);
arrJson.push_back(order.Type);
arrJson.push_back(order.Offset);
arrJson.push_back(order.ContractType);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
एक वस्तु का उपयोग करके, कई अलग-अलग व्यापारिक जोड़े का भुगतान करें, वर्तमान मूल्य के आधे हिस्से के लिए नीचे की ओर ऑर्डर करें, और फिर अधूरे ऑर्डर की जानकारी का पता लगाएं।
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
function main() {
var arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for (var symbol of arrSymbol) {
var t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t.Last / 2, 1)
exchange.CreateOrder(symbol, "sell", t.Last * 2, 1)
}
var defaultOrders = exchange.GetOrders()
var swapOrders = exchange.GetOrders("USDT.swap")
var futuresOrders = exchange.GetOrders("USDT.futures")
var btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap")
var tbls = []
var arr = [defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders]
var tblDesc = ["defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"]
for (var index in arr) {
var orders = arr[index]
var tbl = {type: "table", title: tblDesc[index], cols: ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], rows: []}
for (var order of orders) {
tbl.rows.push([order.Symbol, order.Id, order.Price, order.Amount, order.DealAmount, order.AvgPrice, order.Status, order.Type, order.Offset, order.ContractType])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// 打印输出一次信息后返回,防止后续回测时订单成交,影响数据观察
return
}
'''backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
'''
import json
def main():
arrSymbol = ["BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"]
for symbol in arrSymbol:
t = exchange.GetTicker(symbol)
exchange.CreateOrder(symbol, "buy", t["Last"] / 2, 1)
exchange.CreateOrder(symbol, "sell", t["Last"] * 2, 1)
defaultOrders = exchange.GetOrders()
swapOrders = exchange.GetOrders("USDT.swap")
futuresOrders = exchange.GetOrders("USDT.futures")
btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap")
tbls = []
arr = [defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders]
tblDesc = ["defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"]
for index in range(len(arr)):
orders = arr[index]
tbl = {"type": "table", "title": tblDesc[index], "cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"], "rows": []}
for order in orders:
tbl["rows"].append([order["Symbol"], order["Id"], order["Price"], order["Amount"], order["DealAmount"], order["AvgPrice"], order["Status"], order["Type"], order["Offset"], order["ContractType"]])
tbls.append(tbl)
LogStatus("`" + json.dumps(tbls) + "`")
return
/*backtest
start: 2024-05-21 00:00:00
end: 2024-09-05 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
void main() {
auto arrSymbol = {"BTC_USDT.swap", "BTC_USDT.quarter", "ETH_USDT.swap", "ETH_USDT.quarter"};
for (const auto& symbol : arrSymbol) {
auto t = exchange.GetTicker(symbol);
exchange.CreateOrder(symbol, "buy", t.Last / 2, 1);
exchange.CreateOrder(symbol, "sell", t.Last * 2, 1);
}
auto defaultOrders = exchange.GetOrders();
auto swapOrders = exchange.GetOrders("USDT.swap");
auto futuresOrders = exchange.GetOrders("USDT.futures");
auto btcUsdtSwapOrders = exchange.GetOrders("BTC_USDT.swap");
json tbls = R"([])"_json;
std::vector<std::vector<Order>> arr = {defaultOrders, swapOrders, futuresOrders, btcUsdtSwapOrders};
std::string tblDesc[] = {"defaultOrders", "swapOrders", "futuresOrders", "btcUsdtSwapOrders"};
for (int index = 0; index < arr.size(); index++) {
auto orders = arr[index];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "Id", "Price", "Amount", "DealAmount", "AvgPrice", "Status", "Type", "Offset", "ContractType"],
"rows": []
})"_json;
tbl["title"] = tblDesc[index];
for (const auto& order : orders) {
json arrJson = R"([])"_json;
arrJson.push_back(order.Symbol);
arrJson.push_back(to_string(order.Id)); // Order订单结构中的Id属性类型为TId,使用FMZ平台内置的一个C++函数to_string编码
arrJson.push_back(order.Price);
arrJson.push_back(order.Amount);
arrJson.push_back(order.DealAmount);
arrJson.push_back(order.AvgPrice);
arrJson.push_back(order.Status);
arrJson.push_back(order.Type);
arrJson.push_back(order.Offset);
arrJson.push_back(order.ContractType);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
फ्यूचर्स एक्सचेंज के ऑब्जेक्ट का उपयोग करके, कई अलग-अलग ट्रेडिंग जोड़े, अनुबंध कोड की किस्मों पर ऑर्डर करें; ऑर्डर की कीमत को अपने डिस्क प्रतिद्वंद्वी मूल्य से दूर रखें, ऑर्डर को निष्क्रिय रखें, ऑर्डर को कई तरीकों से जांचें।
function main() {
var orders = exchange.GetOrders("BTC_USDT") // 现货品种举例
// var orders = exchange.GetOrders("BTC_USDT.swap") // 期货品种举例
Log("orders:", orders)
}
def main():
orders = exchange.GetOrders("BTC_USDT") # 现货品种举例
# orders = exchange.GetOrders("BTC_USDT.swap") # 期货品种举例
Log("orders:", orders)
void main() {
auto orders = exchange.GetOrders("BTC_USDT"); // 现货品种举例
// auto orders = exchange.GetOrders("BTC_USDT.swap"); // 期货品种举例
Log("orders:", orders);
}
कॉल करेंexchange.GetOrders()
फ़ंक्शन के समय में प्रवेश करेंSymbol
पैरामीटर अनुरोधित विशिष्ट लेन-देन जोड़े, अनुबंध कोड के लिए आदेश डेटा निर्दिष्ट करता है।
मेंGetOrders
फ़ंक्शन में, symbol पैरामीटर के उपयोग के परिदृश्यों को संक्षेप में प्रस्तुत किया गया हैः
एक्सचेंज ऑब्जेक्ट्स का वर्गीकरण | symbol पैरामीटर | पूछताछ का दायरा | नोट्स |
---|---|---|---|
नकदी | कोई प्रतीक पैरामीटर नहीं | सभी नकदी लेनदेन के लिए पूछताछ करें | सभी कॉल परिदृश्य, यदि एक्सचेंज इंटरफेस समर्थित नहीं है, तो त्रुटि रिटर्न रिक्त मान, और अधिक नहीं। |
नकदी | ट्रेडों के प्रकार को निर्दिष्ट करें, प्रतीक पैरामीटर हैः |
BTC_USDT लेनदेन जोड़े की जांच करें | प्रत्यक्ष एक्सचेंज ऑब्जेक्ट के लिए, पैरामीटर प्रतीक प्रारूप हैः |
वायदा | कोई प्रतीक पैरामीटर नहीं | वर्तमान लेनदेन जोड़े, अनुबंध कोड आयाम के सभी लेनदेन किस्मों की जांच करें | यदि वर्तमान लेन-देन जोड़ी BTC_USDT है, तो कॉन्ट्रैक्ट कोड swap है, यानी सभी USDT स्थानिक स्थायी अनुबंधों का पता लगाएं.GetOrders("USDT.swap") |
वायदा | विनिमय प्रकार निर्दिष्ट करें, प्रतीक पैरामीटर हैः |
बीटीसी के लिए यूएसडीटी स्थायी ठेके की जांच करें | फ्यूचर्स एक्सचेंज ऑब्जेक्ट के लिए, पैरामीटर प्रतीक प्रारूपःसौदा सहीके साथअनुबंध कोडसंयोजन, अक्षरों के साथ"." यह एक बहुत ही दिलचस्प लेख है। |
वायदा | 指定交易品种范围,symbol参数为:”USDT.swap” | USDT के सभी स्थायी ठेके देखें | - |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | कोई प्रतीक पैरामीटर नहीं | सभी विकल्प अनुबंधों के लिए आयाम सीमा पर वर्तमान लेनदेन की जांच करें | यदि वर्तमान ट्रेडिंग जोड़ी BTC_USDT है, तो अनुबंध को विकल्प अनुबंध के रूप में सेट करें, उदाहरण के लिए, बिनान विकल्प अनुबंधः BTC-240108-40000-C |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | विशिष्ट लेन-देन की किस्में निर्दिष्ट करें | निर्दिष्ट विकल्प अनुबंध की जांच करें | उदाहरण के लिए, विनय वायदा एक्सचेंज के लिए, प्रतीक पैरामीटरः BTC_USDT.BTC-240108-40000-C |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | 指定交易品种范围,symbol参数为:”USDT.option” | सभी USDT स्थानीय विकल्प अनुबंध देखें | - |
मेंGetOrders
फ़ंक्शन में, फ्यूचर्स एक्सचेंज ऑब्जेक्ट क्वेरी आयाम सीमा को समेकित किया जाता हैः
symbol पैरामीटर | अनुरोध का दायरा | नोट्स |
---|---|---|
USDT.swap | USDT के स्थायी अनुबंध का दायरा। | एक्सचेंज एपीआई इंटरफेस द्वारा समर्थित नहीं किए गए आयामों के लिए, कॉल करने पर एक त्रुटि लौटाई जाएगी। |
USDT.futures | USDT की स्थानीय विनिमय दर लगभग है। | - |
USD.swap | इस तरह के एक नए नियम के तहत, मुद्रा विनिमय के लिए स्थायी अनुबंध का दायरा। | - |
USD.futures | मुद्रा विनिमय दर लगभग दायरे में है। | - |
USDT.option | USDT स्थानीय विकल्प अनुबंधों का दायरा। | - |
USD.option | मुद्रा स्थानिक विकल्प अनुबंधों का दायरा। | - |
USDT.futures_combo | यह एक बहुत ही अच्छा तरीका है। | Futures_Deribit एक्सचेंज |
USD.futures_ff | मिश्रित प्रतिभूतियों का भुगतान अनुपात लगभग दायरा। | Futures_Kraken एक्सचेंज |
USD.swap_pf | मिश्रित प्रतिभूतियों के लिए स्थायी अनुबंध का दायरा। | Futures_Kraken एक्सचेंज |
जब एक्सचेंज वस्तुexchange
प्रतिनिधि के खाते मेंपूछताछ के दायरे मेंयाविनिर्दिष्ट व्यापारिक किस्मजब कोई पेंडिंग ऑर्डर नहीं होता है, तो इस फ़ंक्शन को रिक्त सरणी को वापस करने के लिए कहा जाता है, अर्थात्ः[]
..
निम्नलिखित एक्सचेंजों के इंटरफेस को वर्तमान में अधूरे ऑर्डर के लिए पूछताछ करने के लिए विविधता पैरामीटर को पास करना होगा, इन एक्सचेंजों का उपयोग करके GetOrders फ़ंक्शन को बुलाया जाता है, जब प्रतीक पैरामीटर को पास नहीं किया जाता है तो केवल वर्तमान विविधता के अधूरे ऑर्डर का अनुरोध किया जाता है, न कि सभी विविधताओं के अधूरे ऑर्डर ((क्योंकि एक्सचेंज इंटरफ़ेस समर्थित नहीं है) ।) ।
ज़ाइफ, मेक्ससी, एलबैंक, कोर्बिट, कॉइन, बिटमार्ट, बिथंब, बिटफ्लायर, बिगोन।
समर्थन नहींexchange.GetOrders()
फ़ंक्शन के लिए एक्सचेंजः
फ़ंक्शन का नाम | असमर्थित मुद्रा विनिमय | गैर-समर्थित फ्यूचर्स एक्सचेंज |
---|---|---|
GetOrders प्राप्त करें | – | वायदा_बिबॉक्स |
{@struct/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@struct/Trade/Order Order}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetOrder exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOrders exchange.GetHistoryOrders}, {@fun/Trade/exchange.GetOrder exchange.GetOrder exchange.GetOrder exchange.GetOrder}, {@fun/Trade/exchange.GetHistoryOr
exchange.GetOrder exchange.GetHistoryOrders