Sumber dimuat naik... memuat...

exchange.GetFundings

Peraturanexchange.GetFundings()fungsi digunakan untuk mendapatkan data kadar pembiayaan untuk tempoh semasa.

Peraturanexchange.GetFundings()fungsi mengembalikan pelbagai struktur {@struct/Funding Funding} apabila permintaan data berjaya, dan mengembalikan nilai sifar apabila permintaan data gagal. {@struct/Funding Funding} array, nilai sifar

pertukaran.GetFundings() pertukaran.GetFundings ((simbol)

Parametersymboldigunakan untuk menetapkansimbol transaksiatauJulat simbol transaksiyang akan ditanya.symbolJika parameter ini tidak diteruskan, data kadar pembiayaan semasa semua instrumen akan diminta secara lalai dalam julat dimensi pasangan dagangan semasa dan kod kontrak.

simbol palsu senar

/*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 objek pertukaran niaga hadapan untuk memanggilexchange.GetFundings()fungsi dalam sistem backtesting. Sebelum memanggil mana-mana fungsi pasaran, GetFundings hanya mengembalikan data Pembiayaan pasangan dagangan lalai semasa. Selepas memanggil fungsi pasaran, ia mengembalikan data Pembiayaan semua jenis yang diminta. Anda boleh merujuk kepada contoh ujian berikut:

Untuk bursa niaga hadapan yang tidak menyokong pertanyaan kumpulan data kadar pembiayaan, jikasymbolparameter ditentukan sebagai julat pertanyaan, contohnya:USDT.swapatausymbolparameter tidak lulus, antara muka akan melaporkan ralat.GetFundings()fungsi menggunakan objek pertukaran niaga hadapan jenis ini, anda mesti menentukansymbolparameter sebagai jenis kontrak kekal tertentu untuk menyoal data kadar pembiayaan semasa jenis. Perkhidmatanexchange.GetFundings()fungsi menyokong sistem perdagangan dan backtesting sebenar. Bursa yang tidak menyokong pemerolehan kumpulan data kadar pembiayaan: Futures_Bitget, Futures_OKX, Futures_MEXC, Futures_Deribit, Futures_Crypto. Perlu lulus dalamsymbolparameter dengan kod simbol tertentu, contohnya:ETH_USDT.swap.

Bursa yang tidak menyokongexchange.GetFundings()fungsi:

Nama Fungsi Pertukaran Spot yang tidak disokong Pertukaran niaga hadapan tanpa sokongan
GetFundings Futures_DigiFinex

{@struct/Pembiayaan Pembiayaan}

exchange.GetContractType Tetapan Rangkaian