について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} の関数を参照してください.
についてGetPositions
function,シンボルのパラメータの使用シナリオは,以下のように要約されます.
エクスチェンジオブジェクト分類 | パラメータ | クエリの範囲 | コメント |
---|---|---|---|
フューチャー | シンボルのパラメータを通さない | 現在の取引ペアと契約コードの次元範囲内のすべての取引製品を検索する. | 現在の取引ペアがBTC_USDTで,契約コードがスワップである場合,すべてのUSDTベースの永続契約がクエリされます. これは,呼び出しに相当しますGetPositions("USDT.swap") |
フューチャー | 取引商品を指定する,シンボルのパラメータは: |
指定されたBTCのUSDTベースの永続契約をクエリする | フューチャー取引対象のパラメータシンボルの形式は:トレーディングペアそして契約コードFMZプラットフォームで定義され,文字で区切られています.". . |
フューチャー | 取引商品の範囲を指定します. シンボルのパラメータは: |
すべてのUSDTベースの永続契約をクエリ | - |
オプションをサポートする先物取引 | シンボルのパラメータを通さない | 現在の取引ペアサイズ範囲内のすべてのオプション契約をクエリする | 現在の取引ペアが BTC_USDTである場合,契約はオプション契約に設定されます.例えば,Binanceオプション契約: BTC-240108-40000-C |
オプションをサポートする先物取引 | 特定の取引商品を指定する | 指定されたオプション契約をクエリ | たとえば,Binance 期貨取引所では,シンボルのパラメータは: BTC_USDT.BTC-240108-40000-C |
オプションをサポートする先物取引 | 取引商品の範囲を指定します,シンボルのパラメータは: |
すべての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()
取引対または契約のレバレッジ値を設定するために使用されます.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()
この関数は,先物契約の注文を出すとき, {@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()
この関数は {@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_USDT
FMZのプラットフォームで,そしてそれを使用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()
この関数は {@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()
この関数は,データリクエストが成功した場合に {@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 資金提供}
口座 ネットワーク設定