資源の読み込みに... 荷物...

フューチャー

exchange.GetPositions

についてexchange.GetPositions()位置情報を取得するために使用されます.GetPositions()交換オブジェクト {@var/EXCHANGE exchange} のメンバー関数である.GetPositions()交換オブジェクトにリンクした交換口座の位置情報を取得します.exchangeメンバーの機能 (方法) の目的exchange対象は,単に関連しているexchange繰り返されないでしょう

についてexchange.GetPositions()この関数は,データ要求が成功した場合に {@struct/Position Position} 構造の配列を返し,データ要求が失敗した場合に null 値を返します. {@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; 
}

複数の異なる取引ペアと契約コードのための市場オーダーを配置するために先物交換オブジェクトを使用します.複数の方法でポジションをクエリします.

仮想通貨先物契約は,ポジションの論理的概念のみを有する仮想通貨スポットとは異なります. FMZ Quant Tradingプラットフォームのシステムでは,特定のタイプの仮想通貨先物契約は,トレーディングペア, 契約コード{@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType} の関数を参照してください. についてGetPositionsfunction,シンボルのパラメータの使用シナリオは,以下のように要約されます.

エクスチェンジオブジェクト分類 パラメータ クエリの範囲 コメント
フューチャー シンボルのパラメータを通さない 現在の取引ペアと契約コードの次元範囲内のすべての取引製品を検索する. 現在の取引ペアがBTC_USDTで,契約コードがスワップである場合,すべてのUSDTベースの永続契約がクエリされます. これは,呼び出しに相当しますGetPositions("USDT.swap")
フューチャー 取引商品を指定する,シンボルのパラメータは: BTC_USDT.swap 指定されたBTCのUSDTベースの永続契約をクエリする フューチャー取引対象のパラメータシンボルの形式は:トレーディングペアそして契約コードFMZプラットフォームで定義され,文字で区切られています."..
フューチャー 取引商品の範囲を指定します. シンボルのパラメータは: USDT.swap すべてのUSDTベースの永続契約をクエリ -
オプションをサポートする先物取引 シンボルのパラメータを通さない 現在の取引ペアサイズ範囲内のすべてのオプション契約をクエリする 現在の取引ペアが BTC_USDTである場合,契約はオプション契約に設定されます.例えば,Binanceオプション契約: BTC-240108-40000-C
オプションをサポートする先物取引 特定の取引商品を指定する 指定されたオプション契約をクエリ たとえば,Binance 期貨取引所では,シンボルのパラメータは: BTC_USDT.BTC-240108-40000-C
オプションをサポートする先物取引 取引商品の範囲を指定します,シンボルのパラメータは: USDT.option すべてのUSDTベースのオプション契約をクエリ -

についてGetPositions機能,先物取引対象 問い合わせの寸法範囲は次のように要約されます.

パラメータ 要求範囲の定義 コメント
USDT.swap USDTベースの永続契約範囲 について

Exchange API インターフェースでサポートされていない次元 エラーが報告され, null 値が返されます. 呼び出しています

送料契約の範囲です 送料契約の範囲です

通貨ベースの永続的な取引の範囲 契約です

貨幣による配送の範囲 契約です

USDTのオプションです USDTベースのオプション契約の範囲です

通貨ベースのオプション契約の範囲です

  • |

USDT.futures_combo CFDの組み合わせの範囲 FUTURES_DERIBIT 取引所

USD.futures_ff ミックス・マーージン・デリバリー・コントラクトの範囲 フューチャーズ_クラッケン取引所

USD.swap_pf ミックス・マーージン・パーペチュアル・コントラクト・レンジ フューチャーズ_クラッケン取引所

互換性exchange.GetPosition()呼び出しGetPositionこの式は,GetPositions.

取引対象となる口座がexchange市場におけるポジションがない問い合わせ範囲または特定取引手段についてexchange.GetPositions()function は空の配列を返します 例えば:[].

{@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@struct/Position Position}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}, {@fun/Futures/exchange.SetContractType}, {@fun/Futures/exchange.SetCurrency}, {@fun/Futures/exchange.SetCurrency}, {@fun/Futures/exchange.SetCurrency}, {@fun/Futures/exchange.SetContractType exchange.SetContractType}

exchange.SetMarginLevel

についてexchange.SetMarginLevel()取引対または契約のレバレッジ値を設定するために使用されます.symbolパラメータ. パラメータを入力するだけで対応marginLevel{@var/EXCHANGE exchange} 取引対象の現在の取引ペアまたは契約のレバレッジ値を設定する.

exchange.SetMarginLevel ((マーク,マージンLevel) を設定する) 交換. 設定 マージンレベル (マージンレベル)

についてsymbolこのパラメータは,レバレッジ値を調整する必要がある取引ペアまたは契約を指定するために使用されます.symbolパラメータSetMarginLevel()機能は,その形式と一致しているsymbolパラメータGetTicker()機能 シンボル 偽り 文字列 についてmarginLevelこのパラメータはレバレッジ値を設定するために使用され,通常は取引所の整数であり,一部の取引所の浮動点レバレッジ値設定もサポートします. マージンレベル 本当 番号

function main() {
    exchange.SetMarginLevel(10)
    // Set the leverage of BTC’s USDT-margined perpetual contract to 15
    exchange.SetMarginLevel("BTC_USDT.swap", 15)
}
def main():
    exchange.SetMarginLevel(10)
    exchange.SetMarginLevel("BTC_USDT.swap", 15)
void main() {
    exchange.SetMarginLevel(10);
    exchange.SetMarginLevel("BTC_USDT.swap", 15); 
}

についてexchange.SetMarginLevel()バックテストシステムは,暗号通貨の先物取引対象のみをサポートします.exchange.SetMarginLevel()引き上げ値を設定する機能です. 仮想通貨先物契約の為,レバレッジメカニズムは仮想通貨先物契約取引所により均一ではない.一部の取引所で,先物契約のレバレッジ値は,注文配置インターフェースのパラメータである.exchange.SetMarginLevel()この関数はネットワークリクエストを生成せず,基となる FMZ システム (オーダー配置インターフェースのパラメータを通すのに使用される) にレバレッジ変数を設定するだけです.一部の取引先先先物契約のレバレッジ値は,取引所のウェブサイトページまたは API インターフェースを使用して設定する必要がある取引所の設定です.exchange.SetMarginLevel()この関数はネットワークリクエストを生成し,レバレッジを設定できない可能性があります.その理由はたくさんあります.例えば,現在のポジションまたは待機中のオーダーがあり,この取引ペアまたは契約に新しいレバレッジ値を設定することが不可能になります. 支援しない取引所exchange.SetMarginLevel()機能:

機能名 サポートされていないスポット交換 サポートされていない先物取引
マージンレベルを設定 期貨_dYdX / 期貨_Deribit

{@var/EXCHANGE exchange} 交換する

exchange.SetDirection

についてexchange.SetDirection()この関数は,先物契約の注文を出すとき, {@fun/Trade/exchange.Buy exchange.Buy}関数, {@fun/Trade/exchange.Sell exchange.Sell}関数のオーダー方向を設定するために使用されます.

交換.設定方向 (方向)

についてdirectionこのパラメータは,オーダーを投じたときに先物契約の方向を設定するために使用されます.オプション値は:"buy", "closesell", "sell", "closebuy"- わかった 方向性 本当 文字列

function main(){
    // For example, set to OKX futures contract of this week
    exchange.SetContractType("this_week")    
    // Set leverage to 5 times
    exchange.SetMarginLevel(5)
    // Set the order type to long
    exchange.SetDirection("buy")
    // Place an order for 2 contracts at 10,000
    exchange.Buy(10000, 2)              
    exchange.SetMarginLevel(5)
    exchange.SetDirection("closebuy")
    exchange.Sell(1000, 2)
}
def main():
    exchange.SetContractType("this_week")
    exchange.SetMarginLevel(5)
    exchange.SetDirection("buy")
    exchange.Buy(10000, 2)
    exchange.SetMarginLevel(5)
    exchange.SetDirection("closebuy")
    exchange.Sell(1000, 2)
void main() {
    exchange.SetContractType("this_week");
    exchange.SetMarginLevel(5);
    exchange.SetDirection("buy");
    exchange.Buy(10000, 2);
    exchange.SetMarginLevel(5);
    exchange.SetDirection("closebuy");
    exchange.Sell(1000, 2);
}

についてexchange.SetDirection()この関数は,先物契約取引の方向とオーダー配置関数の間の対応を設定します.

注文の配送機能 SetDirection 関数のパラメータによって設定された方向 コメント
exchange.Buy 買って ロングポジションの購入と開設
exchange.Buy 閉店する ショートポジションの購入と閉じる
exchange.Sell 売る 売り出し・開いたショートポジション
exchange.Sell 近売り ロングポジションを売り,閉じる

{@fun/Trade/exchange.buy exchange.buy} {@fun/Trade/exchange.sell exchange.sell} {@fun/Trade/exchange.exchange.buy} {@fun/Trade/exchange.sell exchange.sell} {@fun/Trade/exchange.sell} {@fun/Trade/exchange.exchange.buy} {@fun/Trade/exchange.exchange.sell} {@fun/Trade/exchange.sell} {@fun/Trade/exchange.exchange.sell} {@fun/Trade/exchange.sell.sell} {@fun/Trade/exchange.sell} {@fun/Trade/exchange.sell} {@fun/Trade/exchange.sell.sell}

exchange.SetContractType

についてexchange.SetContractType()この関数は {@var/EXCHANGE exchange} 交換オブジェクトの現在の契約コードを設定するために使用されます.

についてexchange.SetContractType()この関数は,現在の契約コードに対応する取引契約コードを含む構造を返します.例えば,Binance Futures 取引所の場合,現在の契約コードはquarterこの関数の返し値構造は:{"InstrumentID": "BTCUSD_230630", "instrument": "BTCUSD_230630"}- わかった オブジェクト

exchange.SetContractType (符号)

についてsymbolパラメータは契約コードを設定するために使用され,オプション値は:"this_week", "next_week", "quarter", "next_quarter", "swap"など 暗号通貨の先物契約納品契約指定されていないコードは,一般的に次のとおりです.

  • this_week契約は今週の契約です
  • next_week次の週の契約です
  • quarter契約は四半期ごとに
  • next_quarter次の四半期契約です永住契約暗号通貨の先物契約のコードは,指定されていない場合,一般的に以下のとおりである.
  • swap永久契約

シンボル 本当 文字列

function main() {
    // Set to this week contract
    exchange.SetContractType("this_week") 
}
def main():
    exchange.SetContractType("this_week")
void main() {
    exchange.SetContractType("this_week");
}

現在の契約を現在の週の契約として設定します.

function main() {
    // The default trading pair is BTC_USD, set the contract for this week, and the contract is a currency standard contract
    exchange.SetContractType("this_week")
    Log("ticker:", exchange.GetTicker())
    
    // Switching trading pairs, then setting up contracts, switching to USDT as margin contracts, as opposed to currency standard contracts
    exchange.IO("currency", "BTC_USDT")   
    exchange.SetContractType("swap")
    Log("ticker:", exchange.GetTicker())
}
def main():
    exchange.SetContractType("this_week")
    Log("ticker:", exchange.GetTicker())
    exchange.IO("currency", "BTC_USDT")
    exchange.SetContractType("swap")
    Log("ticker:", exchange.GetTicker())
void main() {
    exchange.SetContractType("this_week");
    Log("ticker:", exchange.GetTicker());
    exchange.IO("currency", "BTC_USDT");
    exchange.SetContractType("swap");
    Log("ticker:", exchange.GetTicker());
}

契約を締結する際にはUSDT取引対をコードで切り替える必要があります (交換オブジェクトを追加するときに直接取引対を設定することもできます):

function main(){
    // Set the contract for this week
    var ret = exchange.SetContractType("this_week")     
    // Return information about the current week's contracts
    Log(ret)
}
def main():
    ret = exchange.SetContractType("this_week")
    Log(ret)
void main() {
    auto ret = exchange.SetContractType("this_week");
    Log(ret);
}

復元値を印刷するexchange.SetContractType()機能:

暗号通貨の先物契約戦略では,BTC_USDTトレーディングペア: 取引ペアを切り替えるときexchange.SetCurrency("BTC_USDT")またはexchange.IO("currency", "BTC_USDT")機能,スイッチした後,あなたは使用する必要がありますexchange.SetContractType()新しい取引ペアで実行される現在の契約を決定するために契約をリセットする機能.通貨標準契約またはUSDT標準契約例えば,取引ペアがBTC_USDT薬剤をexchange.SetContractType("swap")契約コードを設定する機能swapこの時点で,それはBTCについてUSDT標準取引相手が,BTC_USD薬剤をexchange.SetContractType("swap")契約コードを設定する機能swapこの時点で,それはBTCほら通貨標準永久契約です サポートされている暗号通貨先物取引所の詳細,各取引所の契約名:

  • フューチャー=OKCoin (OKX) 永久契約に設定:exchange.SetContractType("swap")今週の契約に設定:exchange.SetContractType("this_week")来週の契約に設定:exchange.SetContractType("next_week")月間契約に設定:exchange.SetContractType("month")来月の契約に設定:exchange.SetContractType("next_month")決算された四半期契約:exchange.SetContractType("quarter")次の四半期に設定された契約:exchange.SetContractType("next_quarter")

    OKXには,市場前の取引契約があります.契約の納期日は固定時間です.取引所によって定義される契約コードは,例えば:HMSTR-USDT-250207. 取引ペアをHMSTR_USDTFMZのプラットフォームで,そしてそれを使用exchange.SetContractType("HMSTR-USDT-250207")契約書を作るために サポートする機能のためにsymbolパラメータは次の通りですexchange.GetTicker(), exchange.CreateOrder(), etc. 指定することができますsymbolパラメータは:HMSTR_USDT.HMSTR-USDT-250207この契約の市場データを入手したり,注文をしたりする.

  • フューチャーズ_HuobiDM (フューチャーズ) 今週の契約に設定:exchange.SetContractType("this_week")- わかった 来週の契約に設定:exchange.SetContractType("next_week")- わかった 決算された四半期契約:exchange.SetContractType("quarter")- わかった 次の四半期に設定された契約:exchange.SetContractType("next_quarter")- わかった 永久契約に設定:exchange.SetContractType("swap")- わかった 契約を支えるUSDTマージンとしてBTC契約例:使用exchange.IO("currency", "BTC_USDT")契約に切り替えるUSDTマージンとして または現在の取引ペアをBTC_USDT取引ペアを切り替えた後,呼び出す必要があります.exchange.SetContractType()契約を設定するために再び機能します.

  • 取引先は,取引先の取引先と関連している. 永久契約に設定:exchange.SetContractType("swap")- わかった Futures_BitMEX 取引所配送契約は,以下の契約コード (1月から12月まで) を有する月間契約です.

    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
    

    納品契約の作成exchange.SetContractType("December")例えば,取引ペアがXBT_USDTについてexchange.SetContractType("December")BTC に基づく USDT で12月の配送の契約を設定します (実際の契約コードに対応します)XBTUSDTZ23).

    フューチャーズ_BitMEX 契約情報要約

    Futures_BitMEX で定義された契約コード FMZ に対応する取引対 FMZにおける対応契約コード コメント
    ドッグスード DOGE_USD スワップ USDで決算され,XBTはBTCです.
    ドーゲュスト DOGE_USDT スワップ USDTで表され,USDTで決済されます.
    XBTETH XBT_ETH スワップ ETHで決済 XBTで決済
    XBTEUR XBT_EUR スワップ EURで決済され,XBTで決済されます.
    USDTUSDC USDT_USDC スワップ USDCで決済され XBTで決済されます
    ETHUSD_ETH ETH_USD_ETH スワップ USDで決済され,ETHで決済される.
    XBTH24 XBT_USD 3月 効用期限: 3月24日 月コードは: H; ドルで表され,XBTで決済.
    ETHUSDZ23 ETH_USD 12月 効用期限: 12月23日 月コードは: Z; ドルで表され,XBTで決済.
    XBTUSDTZ23 XBT_USDT 12月 効用期限: 12月23日 月コードは: Z; USDTで表され,USDTで決済される.
    ADAZ23 ADA_XBT 12月 期限: 12月23日 月コードは: Z ; XBTで請求,XBTで決済.
    P_XBTETFX23 USDT_XXX P_XBTETFX23 期限: 11/23/23; 割合で表し,USDTで決済する.
  • フューチャーズ_GateIO 今週の契約に設定:exchange.SetContractType("this_week")- わかった 来週の契約に設定:exchange.SetContractType("next_week")- わかった 決算された四半期契約:exchange.SetContractType("quarter")- わかった 次の四半期に設定された契約:exchange.SetContractType("next_quarter")- わかった 永久契約に設定:exchange.SetContractType("swap")- わかった 契約を支えるUSDTマージンとしてBTC契約例:使用exchange.IO("currency", "BTC_USDT")契約に切り替えるUSDTマージンとして または現在の取引ペアをBTC_USDT取引ペアを切り替えた後,呼び出す必要があります.exchange.SetContractType()契約を設定するために再び機能します.

  • フューチャーズ_デリビット 永久契約に設定:exchange.SetContractType("swap")- わかった デリビットをサポートします.USDC契約 納品契約は次のとおりです."this_week", "next_week", "month", "quarter", "next_quarter", "third_quarter", "fourth_quarter"- わかった CFD (フューチャー_コンボ):"this_week,swap", "next_week,swap", "next_quarter,this_week", "third_quarter,this_week", "month,next_week",多くの組み合わせがあります. オプション契約については,取引所によって定義された特定のオプション契約コードを入力する必要があります.詳細については Deribit のウェブサイトを参照してください.

  • フューチャー=KuCoin 例えば,取引ペアがBTC_USDコードが設定されれば,通貨に基づく契約です. 永久契約に設定:exchange.SetContractType("swap")- わかった 決算された四半期契約:exchange.SetContractType("quarter")- わかった 次の四半期に設定された契約:exchange.SetContractType("next_quarter").

    保証金契約としてUSDT: 例えば,取引ペアがBTC_USDT契約コードを設定します. これは,USDTを保全金として使用する契約です. 永久契約に設定:exchange.SetContractType("swap").

  • フューチャー=Binance バイナンス・フューチャーズ・エクスチェンジは,現在の取引ペアの永続契約のデフォルト,契約コード:swap- わかった 永久契約に設定:exchange.SetContractType("swap")Binanceの永続契約にはUSDT例えば,この2つの要素はUSDT標準の永続契約BTC取引ペアが設定されている場合BTC_USDT例えば,コインを担保金として使用する永続契約もサポートします.BTC取引ペアを設定してBTC_USD- わかった 決算された四半期契約:exchange.SetContractType("quarter"), 配送契約には通貨標準契約 (つまり,通貨を保証金として使用する) があります.BTC取引対は,次のように設定されます.BTC_USDそして契約を設定しますexchange.SetContractType("quarter")設定されているBTC通貨スタンダード契約と四半期契約. 次の四半期に設定された契約:exchange.SetContractType("next_quarter")例えばBTC通貨スタンダード四半期契約の取引対は,以下に設定される:BTC_USD契約書を作ってexchange.SetContractType("next_quarter")- わかった バイナンスではUSDTマージン付与契約として,BTC例えば,取引対をBTC_USDT契約コードを設定します

    バイナンスオプション契約のサポート: オプション契約コードの形式は,取引所によって定義されたオプション契約コードに基づいています.BTC-241227-15000-C, XRP-240112-0.5-C, BTC-241227-15000-Pバイナンスオプション契約コードをBTC-241227-15000-P例えば,BTCはオプション通貨コード,241227は行使日,15000は行使価格,Pは販売オプション,Cはコールオプションです. オプションの種類については,欧州オプションかアメリカオプションかについては,取引所のオプション契約の関連情報を参照してください. 取引所はオプション販売者を制限し,資格を別々に申請することを要求することがあります.バイナンスオプションには販売者の資格が必要です.

  • フューチャーズ_ビボックス バイボックスの永続契約の契約コード:swap- わかった 永久契約に設定:exchange.SetContractType("swap").

  • フューチャーズ_Bybit 既定は,現在の取引対の永続契約,契約コード:swap- わかった 今週の契約コード:this_week- わかった 来週の契約コード:next_week- わかった 第3週間の契約コード:third_week- わかった 月間契約コード:month- わかった 次の月の契約コード:next_month- わかった 四半期契約コード:quarter- わかった 次の四半期契約コード:next_quarter- わかった 第3四半期契約コード:third_quarter.

  • フューチャーズ_クラケン 既定は,現在の取引ペアの永続契約,契約コード:swap. swap永久契約month: 現月契約.quarter契約は四半期ごとにnext_quarter次の四半期契約ですswap_pf: 混合保証金付き永続契約quarter_ff: 混同保証金による四半期契約month_ff: 混同保証金 流動月契約next_quarter_ff: 混同利益率の契約

  • フューチャー=Bitfinex 契約コードは,現在の取引対の永久契約です.swap.

  • フューチャー=Bitget 契約コードは,現在の取引対の永久契約です.swap- わかった 取引対は,BTC_USD通貨標準契約の場合,取引対はBTC_USDT決済された契約の場合USDTデモコンタクトは,以下のような取引対で設定できます.SBTC_USD, BTC_SUSDT.

  • フューチャーズ_dYdX dYdX 永続契約の契約コード:swap- わかった 永久契約に設定:exchange.SetContractType("swap"), dYdXはUSDT標準契約のみを持っています.

  • フューチャーズ_MEXC MEXCの永続契約の契約コード:swap- わかった 永久契約に設定:exchange.SetContractType("swap"). 取引対をBTC_USD通貨標準契約であり,取引ペアをBTC_USDTこれはUSDT- 契約が決まった

  • フューチャー=仮想通貨 トークンcrypto.com契約取引のための保証金として使用するために,ドルで表記されたクレジットに変換することができます. 永久契約に設定:exchange.SetContractType("swap")呼び出す例exchange.SetContractType("swap")取引ペアが設定されているとき BTCの永久契約を設定する機能BTC_USD- わかった についてcrypto.com交換配送契約は,次の契約コードを持つ月間契約 (1月から12月まで) である.

    "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
    

    配送契約を設定する:exchange.SetContractType("October")例えば,取引ペアがBTC_USD,関数を呼び出すexchange.SetContractType("October")BTCの10月の配達契約を設定する 合同コードは,現在,次のとおりです.BTCUSD-231027.

  • フューチャーズ フューチャーズ_WOO 交換サポートUSDT永続契約のコードでswap例えば,取引ペアがBTC_USDT機能についてexchange.SetContractType("swap")現行の契約を BTC の USDT ベースの永続契約に設定します

{@fun/Futures/exchange.GetContractType exchange.GetContractType}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Futures/exchange.GetContractType exchange.GetContractType}, {@fun/Account/exchange.SetCurrency exchange.SetCurrency}, {@fun/Account/exchange.SetCurrency.SetCurrency}, {@fun/Futures/Futures/exchange.GetContractType exchange.GetContractType}, {@fun/Account/exchange.SetCurrency.SetCurrency}, {@fun/Account/exchange.SetCurrency.SetCurrency.SetCurrency}

exchange.GetContractType

についてexchange.GetContractType()この関数は {@var/EXCHANGE exchange} exchange オブジェクトの現在の設定の契約コードを取得するために使用されます.

についてexchange.GetContractType()FMZ プラットフォームで定義された契約コードを返します 例えば:this_week, swapなど 文字列

exchange.GetContractType (契約型を取得する)

function main () {
    Log(exchange.SetContractType("this_week")) 
    Log(exchange.GetContractType())
}
def main():
    Log(exchange.SetContractType("this_week"))
    Log(exchange.GetContractType())
void main() {
    Log(exchange.SetContractType("this_week"));
    Log(exchange.GetContractType());
}

{@fun/Futures/exchange.SetContractType exchange.SetContractType} 契約の種類を表示する

exchange.GetFundings

についてexchange.GetFundings()この関数は,現在の期間の資金調達の割合のデータを得るのに使用されます.

についてexchange.GetFundings()この関数は,データリクエストが成功した場合に {@struct/Funding Funding} 構造の配列を返し,データリクエストが失敗した場合に null 値を返します. {@struct/Funding Funding}配列,ゼロ値

交換.GetFundings (資金調達) exchange.GetFundings (シンボル)

パラメータsymbol設定するために使用されます.トランザクションシンボルまたはトランザクションシンボルの範囲問いかけられる.symbolパラメータが通過されない場合,すべてのインstrumentの現在の資金調達のレートのデータは,現在の取引ペアと契約コードの次元範囲でデフォルトで要求されます.

シンボル 偽り 文字列

/*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() + "`");
}

フューチャー交換オブジェクトを呼び出すexchange.GetFundings()バックテストシステムにおける関数.任意の市場関数を呼び出す前に,GetFundingsは現在のデフォルト取引ペアの資金提供データを返します.市場関数を呼び出す後,すべての要求された多様性の資金提供データを返します.以下のテスト例を参照してください:

資金調達の割合のデータの一連のクエリをサポートしない先物取引所では,symbolパラメータはクエリ範囲として指定されます 例えば:USDT.swapまたはsymbolパラメータが送信されない場合,インターフェースはエラーを報告します.GetFundings()このタイプの先物交換オブジェクトを指定する必要があります.symbolパラメータは特定の永続契約の種類として,そのタイプの現在の資金調達の割合のデータをクエリする. についてexchange.GetFundings()機能は実際の取引とバックテストシステムをサポートします. 資金調達のレートのデータをバッチ取得をサポートしない取引所:Futures_Bitget,Futures_OKX,Futures_MEXC,Futures_Deribit,Futures_Cryptosymbolパラメータの特定のシンボルのコード,例えば:ETH_USDT.swap.

支援しない取引所exchange.GetFundings()機能:

機能名 サポートされていないスポット交換 サポートされていない先物取引
GetFundings について フューチャーズ_DigiFinex

{@struct/Funding 資金提供}

口座 ネットワーク設定