..exchange.GetPositions()
स्थिति की जानकारी प्राप्त करने के लिए कार्य का उपयोग किया जाता है;GetPositions()
फ़ंक्शन एक्सचेंज ऑब्जेक्ट {@var/EXCHANGE exchange} का सदस्य फ़ंक्शन है।GetPositions()
कार्य विनिमय वस्तु से बंधे विनिमय खाते की स्थिति की जानकारी प्राप्त करता हैexchange
. सदस्य कार्यों का उद्देश्य (प्रणाली)exchange
ऑब्जेक्ट केवल संबंधित हैexchange
और यहाँ दोहराया नहीं जाएगा।
..exchange.GetPositions()
फ़ंक्शन {@struct/Position Position} संरचनाओं की एक सरणी लौटाता है यदि डेटा के लिए अनुरोध सफल होता है, और यदि डेटा के लिए अनुरोध विफल होता है तो यह शून्य मान लौटाता है.
{@struct/Position Position} सरणी, शून्य मान
विनिमय.GetPositions ((() exchange.GetPositions (प्रतीक)
पैरामीटरsymbol
सेट करने के लिए प्रयोग किया जाता हैव्यापारिक चिह्नयाट्रेडिंग प्रतीक श्रेणीपूछताछ की जाए।
यदिsymbol
पैरामीटर पारित नहीं किया जाता है, डिफ़ॉल्ट रूप से वर्तमान ट्रेडिंग जोड़ी और अनुबंध कोड के आयाम सीमा में सभी प्रतीकों के स्थिति डेटा का अनुरोध करना है।
चिह्न झूठी स्ट्रिंग
/*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) {
exchange.CreateOrder(symbol, "buy", -1, 1)
exchange.CreateOrder(symbol, "sell", -1, 1)
}
var defaultPositions = exchange.GetPositions()
var swapPositions = exchange.GetPositions("USDT.swap")
var futuresPositions = exchange.GetPositions("USDT.futures")
var btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap")
var tbls = []
var arr = [defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions]
var tblDesc = ["defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"]
for (var index in arr) {
var positions = arr[index]
var tbl = {type: "table", title: tblDesc[index], cols: ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"], rows: [] }
for (var pos of positions) {
tbl.rows.push([pos.Symbol, pos.MarginLevel, pos.Amount, pos.FrozenAmount, pos.Price, pos.Profit, pos.Type, pos.ContractType, pos.Margin])
}
tbls.push(tbl)
}
LogStatus("`" + JSON.stringify(tbls) + "`")
// Print out the information once and then return to prevent the order from being executed during the subsequent backtest and affecting data observation
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:
exchange.CreateOrder(symbol, "buy", -1, 1)
exchange.CreateOrder(symbol, "sell", -1, 1)
defaultPositions = exchange.GetPositions()
swapPositions = exchange.GetPositions("USDT.swap")
futuresPositions = exchange.GetPositions("USDT.futures")
btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap")
tbls = []
arr = [defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions]
tblDesc = ["defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"]
for index in range(len(arr)):
positions = arr[index]
tbl = {"type": "table", "title": tblDesc[index], "cols": ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"], "rows": []}
for pos in positions:
tbl["rows"].append([pos["Symbol"], pos["MarginLevel"], pos["Amount"], pos["FrozenAmount"], pos["Price"], pos["Profit"], pos["Type"], pos["ContractType"], pos["Margin"]])
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) {
exchange.CreateOrder(symbol, "buy", -1, 1);
exchange.CreateOrder(symbol, "sell", -1, 1);
}
auto defaultPositions = exchange.GetPositions();
auto swapPositions = exchange.GetPositions("USDT.swap");
auto futuresPositions = exchange.GetPositions("USDT.futures");
auto btcUsdtSwapPositions = exchange.GetPositions("BTC_USDT.swap");
json tbls = R"([])"_json;
std::vector<std::vector<Position>> arr = {defaultPositions, swapPositions, futuresPositions, btcUsdtSwapPositions};
std::string tblDesc[] = {"defaultPositions", "swapPositions", "futuresPositions", "btcUsdtSwapPositions"};
for (int index = 0; index < arr.size(); index++) {
auto positions = arr[index];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "MarginLevel", "Amount", "FrozenAmount", "Price", "Profit", "Type", "ContractType", "Margin"],
"rows": []
})"_json;
tbl["title"] = tblDesc[index];
for (const auto& pos : positions) {
json arrJson = R"([])"_json;
arrJson.push_back(pos.Symbol);
arrJson.push_back(pos.MarginLevel);
arrJson.push_back(pos.Amount);
arrJson.push_back(pos.FrozenAmount);
arrJson.push_back(pos.Price);
arrJson.push_back(pos.Profit);
arrJson.push_back(pos.Type);
arrJson.push_back(pos.ContractType);
arrJson.push_back(pos.Margin);
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
}
LogStatus(_D(), "\n", "`" + tbls.dump() + "`");
return;
}
कई अलग-अलग ट्रेडिंग जोड़े और अनुबंध कोडों के लिए बाजार के आदेश रखने के लिए वायदा विनिमय वस्तुओं का उपयोग करें। कई तरीकों से प्रश्न स्थिति।
क्रिप्टोक्यूरेंसी वायदा अनुबंध क्रिप्टोक्यूरेंसी स्पॉट से अलग हैं, जिसमें केवल स्थिति की तार्किक अवधारणा है। एफएमजेड क्वांट ट्रेडिंग प्लेटफॉर्म की प्रणाली में, क्रिप्टोक्यूरेंसी वायदा अनुबंधों के विशिष्ट प्रकारों की पहचान इस प्रकार की जाती हैव्यापारिक जोड़े, अनुबंध कोडकृपया {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType} फ़ंक्शन देखें।
मेंGetPositions
फंक्शन, प्रतीक पैरामीटर के उपयोग के परिदृश्यों को इस प्रकार संक्षेप में प्रस्तुत किया गया हैः
एक्सचेंज ऑब्जेक्ट वर्गीकरण | प्रतीक पैरामीटर | क्वेरी का दायरा | टिप्पणियाँ |
---|---|---|---|
वायदा | प्रतीक पैरामीटर पास न करें | वर्तमान ट्रेडिंग जोड़ी और अनुबंध कोड आयाम सीमा के भीतर सभी ट्रेडिंग उत्पादों को क्वेरी करें | यदि वर्तमान ट्रेडिंग जोड़ी BTC_USDT है और अनुबंध कोड स्वैप है, तो सभी USDT-आधारित स्थायी अनुबंधों को क्वेरी किया जाएगा। यह कॉल करने के बराबर हैGetPositions("USDT.swap") |
वायदा | ट्रेडिंग उत्पाद निर्दिष्ट करें, प्रतीक पैरामीटर हैः |
किसी निर्दिष्ट बीटीसी के यूएसडीटी आधारित स्थायी अनुबंध की क्वेरी करें | वायदा विनिमय वस्तुओं के लिए पैरामीटर प्रतीक का प्रारूप हैःव्यापारिक जोड़ीऔरअनुबंध कोडएफएमजेड प्लेटफॉर्म द्वारा परिभाषित, अक्षरों से अलग". . |
वायदा | ट्रेडिंग उत्पादों की श्रेणी निर्दिष्ट करें, प्रतीक पैरामीटर हैः |
सभी USDT आधारित स्थायी अनुबंधों की क्वेरी करें | - |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | प्रतीक पैरामीटर पास न करें | वर्तमान ट्रेडिंग जोड़ी आयाम सीमा के भीतर सभी विकल्प अनुबंध पूछताछ करें | यदि वर्तमान ट्रेडिंग जोड़ी BTC_USDT है, तो अनुबंध एक विकल्प अनुबंध पर सेट किया जाता है, उदाहरण के लिए, Binance विकल्प अनुबंधः BTC-240108-40000-C |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | विशिष्ट व्यापारिक उत्पाद निर्दिष्ट करें | निर्दिष्ट विकल्प अनुबंध की क्वेरी करें | उदाहरण के लिए Binance Futures Exchange के लिए, प्रतीक पैरामीटर हैः BTC_USDT.BTC-240108-40000-C |
विकल्पों का समर्थन करने वाले फ्यूचर्स एक्सचेंज | ट्रेडिंग उत्पादों की श्रेणी निर्दिष्ट करें, प्रतीक पैरामीटर हैः |
सभी USDT आधारित विकल्प अनुबंधों की खोज करें | - |
मेंGetPositions
कार्य, वायदा विनिमय वस्तु
क्वेरी आयाम सीमा निम्नानुसार संक्षेप में प्रस्तुत की जाती हैः
प्रतीक पैरामीटर | अनुरोध दायरे की परिभाषा | टिप्पणियाँ |
---|---|---|
USDT.swap | यूएसडीटी आधारित स्थायी अनुबंध सीमा। | के लिए |
आयाम जो एक्सचेंज एपीआई इंटरफ़ेस द्वारा समर्थित नहीं हैं, एक त्रुटि की सूचना दी जाएगी और शून्य मान लौटाया जाएगा जब बुला रहा है.
∙ ∙ USDT.futures ∙ ∙ USDT आधारित वितरण अनुबंध रेंज ∙ ∙
USD.swap. मुद्रा आधारित स्थायी विनिमय का दायरा अनुबंध।
∙ ∙ USD.futures ∙ मुद्रा आधारित वितरण का दायरा अनुबंध।
∙ ∙ USDT.option ∙ ∙ ∙ USDT आधारित विकल्प अनुबंध रेंज ∙ ∙ ∙
USD.option. मुद्रा आधारित विकल्प अनुबंध रेंज.
USDT.futures_combo CFD संयोजनों की एक श्रृंखला। फ्यूचर्स_डेरिबिट एक्सचेंज
USD.futures_ff मिश्रित मार्जिन वितरण अनुबंधों का दायरा। फ्यूचर्स_क्रैकेन एक्सचेंज
USD.swap_pf मिश्रित मार्जिन स्थायी अनुबंध सीमा। फ्यूचर्स_क्रैकेन एक्सचेंज
संगतexchange.GetPosition()
कॉल करना,GetPosition
के समान ही हैGetPositions
.
जब विनिमय वस्तु द्वारा दर्शाया गया खाताexchange
में कोई पद नहीं हैक्वेरी सीमायाविनिर्दिष्ट व्यापारिक साधन,exchange.GetPositions()
फ़ंक्शन एक खाली सरणी लौटाता है, उदाहरण के लिएः[]
.
{@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@fun/Futures/exchange.
खाता exchange.SetMarginLevel