Peraturanexchange.GetFundings()
Fungsi ini digunakan untuk mendapatkan data tingkat pendanaan untuk periode saat ini.
Peraturanexchange.GetFundings()
fungsi mengembalikan array struktur {@struct/Funding Funding} ketika permintaan data berhasil, dan mengembalikan nilai nol ketika permintaan data gagal.
{@struct/Funding Funding} array, nilai nol
pertukaran.GetFundings ((() exchange.GetFundings (simbol)
Parametersymbol
digunakan untuk mengaturSimbol transaksiataurentang simbol transaksiuntuk ditanyakan.symbol
Jika parameter tidak dilewati, data tingkat pendanaan saat ini dari semua instrumen akan diminta secara default dalam kisaran dimensi pasangan perdagangan saat ini dan kode kontrak.
lambang palsu string
/*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() + "`");
}
Gunakan obyek pertukaran berjangka untuk memanggilexchange.GetFundings()
fungsi dalam sistem backtesting. Sebelum memanggil fungsi pasar, GetFundings hanya mengembalikan data Pendanaan dari pasangan perdagangan default saat ini. Setelah memanggil fungsi pasar, ia mengembalikan data Pendanaan dari semua varietas yang diminta. Anda dapat merujuk pada contoh uji berikut:
Untuk bursa berjangka yang tidak mendukung batch query dari data tingkat pendanaan, jikasymbol
parameter ditentukan sebagai rentang kueri, misalnya:USDT.swap
atausymbol
parameter tidak diteruskan, antarmuka akan melaporkan kesalahan.GetFundings()
fungsi menggunakan jenis ini obyek pertukaran berjangka, Anda harus menentukansymbol
parameter sebagai jenis kontrak abadi tertentu untuk menanyakan data tingkat pendanaan saat ini dari jenis tersebut.
Peraturanexchange.GetFundings()
fungsi mendukung sistem perdagangan dan backtesting yang nyata.
Bursa yang tidak mendukung akuisisi batch data tingkat pendanaan: Futures_Bitget, Futures_OKX, Futures_MEXC, Futures_Deribit, Futures_Crypto.symbol
parameter dengan kode simbol khusus, misalnya:ETH_USDT.swap
.
Bursa yang tidak mendukungexchange.GetFundings()
Fungsi:
Nama Fungsi | Pertukaran Spot yang tidak didukung | Pertukaran Futures Tanpa Dukungan |
---|---|---|
GetFundings | – | Futures_DigiFinex |
{@struct/Pembiayaan Pendanaan}
exchange.GetContractType Pengaturan Jaringan