Cácexchange.GetFundings()
chức năng được sử dụng để lấy dữ liệu tỷ lệ tài trợ cho giai đoạn hiện tại.
Cácexchange.GetFundings()
hàm trả về một mảng {@struct/Funding Funding} cấu trúc khi yêu cầu dữ liệu thành công, và trả về một giá trị null khi yêu cầu dữ liệu thất bại.
{@struct/Funding Funding} mảng, giá trị không
trao đổi.GetFundings() trao đổi.GetFundings (thông hiệu)
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 hỏi.symbol
Nếu tham số này không được vượt qua, dữ liệu tỷ lệ tài trợ hiện tại của tất cả các công cụ sẽ được yêu cầu theo mặc định trong phạm vi kích thước của cặp giao dịch và mã hợp đồng hiện tại.
biểu tượng sai chuỗi
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
*/
function main() {
// LPT_USDT.swap 4-hour period
var symbols = ["SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"]
for (var symbol of symbols) {
exchange.GetTicker(symbol)
}
var arr = []
var arrParams = ["no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"]
for (p of arrParams) {
if (p == "no param") {
arr.push(exchange.GetFundings())
} else {
arr.push(exchange.GetFundings(p))
}
}
var tbls = []
var index = 0
for (var fundings of arr) {
var tbl = {
"type": "table",
"title": arrParams[index],
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": [],
}
for (var f of fundings) {
tbl["rows"].push([f.Symbol, f.Interval / 3600000, _D(f.Time), f.Rate * 100 + " %"])
}
tbls.push(tbl)
index++
}
LogStatus(_D(), "\n Requested market types:", symbols, "\n`" + JSON.stringify(tbls) + "`")
}
'''backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
'''
import json
def main():
# LPT_USDT.swap 4-hour period
symbols = ["SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"]
for symbol in symbols:
exchange.GetTicker(symbol)
arr = []
arrParams = ["no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"]
for p in arrParams:
if p == "no param":
arr.append(exchange.GetFundings())
else:
arr.append(exchange.GetFundings(p))
tbls = []
index = 0
for fundings in arr:
tbl = {
"type": "table",
"title": arrParams[index],
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": [],
}
for f in fundings:
tbl["rows"].append([f["Symbol"], f["Interval"] / 3600000, _D(f["Time"]), str(f["Rate"] * 100) + " %"])
tbls.append(tbl)
index += 1
LogStatus(_D(), "\n Requested market types:", symbols, "\n`" + json.dumps(tbls) + "`")
/*backtest
start: 2024-10-01 00:00:00
end: 2024-10-23 00:05:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"SOL_USDC"}]
*/
void main() {
// LPT_USDT.swap 4-hour period
json arrSymbol = R"([])"_json;
std::string symbols[] = {"SOL_USDT.swap", "ETH_USDT.swap", "LTC_USDT.swap", "SOL_USDC.swap", "ETH_USDC.swap", "BTC_USD.swap", "BTC_USDT.quarter", "LPT_USDT.swap"};
for (const std::string& symbol : symbols) {
exchange.GetTicker(symbol);
arrSymbol.push_back(symbol);
}
std::vector<std::vector<Funding>> arr = {};
std::string arrParams[] = {"no param", "LTC_USDT.swap", "USDT.swap", "USD.swap", "USDC.swap", "USDT.futures", "BTC_USDT.quarter"};
for (const std::string& p : arrParams) {
if (p == "no param") {
arr.push_back(exchange.GetFundings());
} else {
arr.push_back(exchange.GetFundings(p));
}
}
json tbls = R"([])"_json;
int index = 0;
for (int i = 0; i < arr.size(); i++) {
auto fundings = arr[i];
json tbl = R"({
"type": "table",
"cols": ["Symbol", "Interval", "Time", "Rate"],
"rows": []
})"_json;
tbl["title"] = arrParams[index];
for (int j = 0; j < fundings.size(); j++) {
auto f = fundings[j];
// json arrJson = {f.Symbol, f.Interval / 3600000, _D(f.Time), string(f.Rate * 100) + " %"};
json arrJson = {f.Symbol, f.Interval / 3600000, _D(f.Time), f.Rate};
tbl["rows"].push_back(arrJson);
}
tbls.push_back(tbl);
index++;
}
LogStatus(_D(), "\n Requested market types:", arrSymbol.dump(), "\n`" + tbls.dump() + "`");
}
Sử dụng đối tượng trao đổi tương lai để gọiexchange.GetFundings()
trước khi gọi bất kỳ chức năng thị trường nào, GetFundings chỉ trả về dữ liệu Funding của cặp giao dịch mặc định hiện tại. Sau khi gọi chức năng thị trường, nó trả về dữ liệu Funding của tất cả các giống được yêu cầu. Bạn có thể tham khảo ví dụ kiểm tra sau:
Đối với các sàn giao dịch tương lai không hỗ trợ truy vấn hàng loạt dữ liệu tỷ lệ tài trợ, nếusymbol
tham số được chỉ định là phạm vi truy vấn, ví dụ:USDT.swap
hoặcsymbol
tham số không được thông qua, giao diện sẽ báo cáo một lỗi.GetFundings()
chức năng sử dụng loại này của tương lai trao đổi đối tượng, bạn phải chỉ định cácsymbol
tham số như một loại hợp đồng vĩnh viễn cụ thể để truy vấn dữ liệu tỷ lệ tài trợ hiện tại của loại hợp đồng đó.
Cácexchange.GetFundings()
chức năng hỗ trợ các hệ thống giao dịch và backtesting thực tế.
Các sàn giao dịch không hỗ trợ mua hàng loạt dữ liệu tỷ lệ tài trợ: Futures_Bitget, Futures_OKX, Futures_MEXC, Futures_Deribit, Futures_Crypto.symbol
tham số với mã biểu tượng cụ thể, ví dụ:ETH_USDT.swap
.
Các sàn giao dịch không hỗ trợexchange.GetFundings()
chức năng:
Tên chức năng | Không hỗ trợ trao đổi tại chỗ | Giao dịch tương lai không được hỗ trợ |
---|---|---|
GetFundings | – | Tiền tương lai_DigiFinex |
{@struct/Funding Funding}
exchange.GetContractType NetSettings