Cácexchange.GetPositions()
chức năng được sử dụng để có được thông tin vị trí;GetPositions()
hàm là một hàm thành viên của đối tượng trao đổi {@var/EXCHANGE exchange}.GetPositions()
chức năng nhận được thông tin vị trí của tài khoản trao đổi gắn liền với đối tượng trao đổiexchange
Mục đích của các chức năng thành viên (các phương pháp)exchange
đối tượng chỉ liên quan đếnexchange
và sẽ không được lặp lại ở đây.
Cácexchange.GetPositions()
hàm trả về một mảng cấu trúc {@struct/Position Position} nếu yêu cầu dữ liệu thành công, và nó trả về giá trị null nếu yêu cầu dữ liệu thất bại.
{@struct/Position Position} mảng, giá trị không
trao đổi.GetPositions ((() trao đổi.GetPositions (bản biểu tượng)
Các thông sốsymbol
được sử dụng để thiết lậpBiểu tượng giao dịchhoặcphạm vi ký hiệu giao dịchđể được thẩm vấn.
Nếusymbol
Nếu tham số không được truyền, mặc định là yêu cầu dữ liệu vị trí của tất cả các biểu tượng trong phạm vi kích thước của cặp giao dịch hiện tại và mã hợp đồng.
biểu tượng sai chuỗi
/*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;
}
Sử dụng các đối tượng trao đổi tương lai để đặt lệnh thị trường cho nhiều cặp giao dịch và mã hợp đồng khác nhau.
Hợp đồng tương lai tiền điện tử khác với hợp đồng tương lai tiền điện tử, chỉ có khái niệm hợp lý về vị trí.các cặp giao dịch, mã hợp đồngVui lòng tham khảo các hàm {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}
TrongGetPositions
chức năng, các kịch bản sử dụng của tham số biểu tượng được tóm tắt như sau:
Phân loại đối tượng Exchange | biểu tượng Parameter | Phạm vi truy vấn | Nhận xét |
---|---|---|---|
Tiền tương lai | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các sản phẩm giao dịch trong phạm vi kích thước cặp giao dịch và mã hợp đồng hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT và mã hợp đồng là swap, tất cả các hợp đồng vĩnh viễn dựa trên USDT sẽ được truy vấn.GetPositions("USDT.swap") |
Tiền tương lai | Xác định sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm hợp đồng vĩnh viễn dựa trên USDT của một BTC cụ thể | Đối với các đối tượng giao dịch tương lai, định dạng biểu tượng tham số là: sự kết hợp củacặp giao dịchvàmã hợp đồngđược xác định bởi nền tảng FMZ, được tách bởi các ký tự". . |
Tiền tương lai | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng vĩnh viễn dựa trên USDT | - |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Không vượt qua tham số biểu tượng | Tìm kiếm tất cả các hợp đồng quyền chọn trong phạm vi kích thước cặp giao dịch hiện tại | Nếu cặp giao dịch hiện tại là BTC_USDT, hợp đồng được thiết lập thành hợp đồng quyền chọn, ví dụ, hợp đồng quyền chọn Binance: BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định sản phẩm giao dịch cụ thể | truy vấn hợp đồng tùy chọn được chỉ định | Ví dụ, đối với Binance Futures Exchange, tham số biểu tượng là: BTC_USDT.BTC-240108-40000-C |
Các sàn giao dịch tương lai hỗ trợ các tùy chọn | Xác định phạm vi các sản phẩm giao dịch, tham số biểu tượng là: |
Tìm kiếm tất cả các hợp đồng quyền chọn dựa trên USDT | - |
TrongGetPositions
chức năng, đối tượng giao dịch tương lai
phạm vi kích thước truy vấn được tóm tắt như sau:
biểu tượng Parameter | Định nghĩa phạm vi yêu cầu | Nhận xét |
---|---|---|
USDT.swap | Phạm vi hợp đồng vĩnh viễn dựa trên USDT. | Đối với |
kích thước không được hỗ trợ bởi giao diện API trao đổi, một lỗi sẽ được báo cáo và một giá trị null sẽ được trả về khi gọi.
USDT.futures. USDT dựa trên hợp đồng giao hàng.
USD.swap. hợp đồng.
USD.futures. phạm vi giao hàng dựa trên tiền tệ hợp đồng.
USDT.option. USDT-based options contract range.
USD.option. Tùy chọn dựa trên đồng tiền.
USDT.futures_combo Một loạt các sự kết hợp CFD. Futures_Deribit Exchange.
USD.futures_ff. phạm vi của hợp đồng giao dịch ký quỹ hỗn hợp. Futures_Kraken Exchange.
USD.swap_pf. Futures_Kraken Exchange.
Tương thích vớiexchange.GetPosition()
gọi,GetPosition
là chính xác giống nhưGetPositions
.
Khi tài khoản được đại diện bởi đối tượng trao đổiexchange
không có vị trí trongphạm vi truy vấnhoặcCác công cụ giao dịch cụ thể, cácexchange.GetPositions()
hàm trả về một mảng trống, ví dụ:[]
.
{@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}
Tài khoản exchange.SetMarginLevel