Вexchange.GetPositions()
Функция используется для получения информации о положении;GetPositions()
функция является членом функции обмена объекта {@var/EXCHANGE exchange}.GetPositions()
функция получает информацию о позиции обменного счета, связанного с обменным объектомexchange
Цель функций (методов) членовexchange
Объект связан только сexchange
и не повторится здесь.
Вexchange.GetPositions()
функция возвращает массив {@struct/Position Position} структур, если запрос на данные удается, и возвращает нулевое значение, если запрос на данные не удается.
{@struct/Position Position} массивы, нулевые значения
Обмен.GetPositions ((() Обмен.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 и код контракта swap, все постоянные контракты на основе USDT будут запрошены.GetPositions("USDT.swap") |
Фьючерсы | Укажите торговый продукт, параметр символа: |
Запрос постоянного контракта на основе USDT определенного BTC | Для фьючерсных обменных объектов формат символа параметра: комбинацияторговые парыикод контрактаопределены платформой FMZ, разделенные символами". . |
Фьючерсы | Укажите диапазон торговых продуктов, параметр символа: |
Запрос всех бессрочных контрактов на основе USDT | - |
Фьючерсные биржи, поддерживающие опционы | Не передавать параметр символа | Запрос всех опционных контрактов в пределах текущего диапазона размеров торговых пар | Если текущая торговая пара BTC_USDT, контракт устанавливается на опционный контракт, например, опционный контракт Binance: BTC-240108-40000-C |
Фьючерсные биржи, поддерживающие опционы | Укажите конкретный товар торговли | Запрос указанного опциона | Например, для Binance Futures Exchange параметр символа: BTC_USDT.BTC-240108-40000-C |
Фьючерсные биржи, поддерживающие опционы | Укажите диапазон торговых продуктов, параметр символа: |
Запрос всех контрактов на опционы на основе USDT | - |
ВGetPositions
Функция, объект биржи фьючерсов
диапазон измерений запроса обобщается следующим образом:
символ Параметры | Определение сферы применения запроса | Примечание |
---|---|---|
USDT.swap | Периодический контрактный диапазон на основе USDT. | Для |
размеры, которые не поддерживаются интерфейсом API обмена, будет сообщена ошибка и возвращено нулевое значение, когда звонит.
USDT.futures. USDT-основанный диапазон контрактов на доставку.
∙ ∙ ∙ USD.swap ∙ ∙ ∙ Сфера постоянного обмена на основе валюты Контракты.
USD.futures. Обхват доставки на основе валюты Контракты.
Оптимизация USDT.Опция USDT.Опционный контракт на основе USDT.
Оптиции в долларах США. Оптиции в валютах.
∙ ∙ USDT.futures_combo ∙ Ряд комбинаций CFD. ∙ Фьючерс_Дерибит Биржа
Ограничения контрактов на поставку смешанной маржи. Фьючерс_Кракен Биржа.
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}
Счет exchange.SetMarginLevel