exchange.SetContractType
exchange.SetContractType()函数用于设置exchange交易所对象当前的合约代码。
exchange.SetContractType(symbol)示例
-
将当前合约设置为当周合约:
javascriptfunction main() { // 设置为当周合约 exchange.SetContractType("this_week") }pythondef main(): exchange.SetContractType("this_week")rustfn main() { // 设置为当周合约 exchange.SetContractType("this_week").unwrap(); }c++void main() { exchange.SetContractType("this_week"); } -
在设置以
USDT作为保证金的合约时,需要在代码中切换交易对(也可以在添加交易所对象时直接设置交易对):javascriptfunction main() { // 默认交易对为BTC_USD,设置合约为当周,合约为币本位合约 exchange.SetContractType("this_week") Log("ticker:", exchange.GetTicker()) // 切换交易对,然后设置合约,切换成USDT作为保证金的合约,区别于币本位合约 exchange.IO("currency", "BTC_USDT") exchange.SetContractType("swap") Log("ticker:", exchange.GetTicker()) }pythondef main(): exchange.SetContractType("this_week") Log("ticker:", exchange.GetTicker()) exchange.IO("currency", "BTC_USDT") exchange.SetContractType("swap") Log("ticker:", exchange.GetTicker())rustfn main() { // 默认交易对为BTC_USD,设置合约为当周,合约为币本位合约 exchange.SetContractType("this_week").unwrap(); Log!("ticker:", exchange.GetTicker(None)); // 切换交易对,然后设置合约,切换成USDT作为保证金的合约,区别于币本位合约 exchange.IO(("currency", "BTC_USDT")).unwrap(); exchange.SetContractType("swap").unwrap(); Log!("ticker:", exchange.GetTicker(None)); }c++void main() { exchange.SetContractType("this_week"); Log("ticker:", exchange.GetTicker()); exchange.IO("currency", "BTC_USDT"); exchange.SetContractType("swap"); Log("ticker:", exchange.GetTicker()); } -
打印
exchange.SetContractType()函数的返回值:javascriptfunction main(){ // 设置合约为当周 var ret = exchange.SetContractType("this_week") // 返回当周合约的信息 Log(ret) }pythondef main(): ret = exchange.SetContractType("this_week") Log(ret)rustfn main() { // 设置合约为当周 let ret = exchange.SetContractType("this_week").unwrap(); // 返回当周合约的信息 Log!(ret); }c++void main() { auto ret = exchange.SetContractType("this_week"); Log(ret); }
返回值
| 类型 | 描述 |
object |
|
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 是 |
加密货币期货合约中的交割合约代码如无特殊说明,一般包括:
加密货币期货合约中的永续合约代码如无特殊说明,一般包括:
|
参考
备注
在加密货币期货合约策略中,以切换至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的币本位永续合约。
详细介绍平台支持的加密货币期货合约交易所,各交易所的合约命名方式如下:
-
Futures_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,然后使用exchange.SetContractType("HMSTR-USDT-250207")设置该合约。
对于支持symbol参数的函数(例如exchange.GetTicker()、exchange.CreateOrder()等),可以将symbol参数指定为HMSTR_USDT.HMSTR-USDT-250207,以获取该合约的行情数据或进行下单等操作。 -
Futures_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()函数设置合约。 -
Futures_BitMEX(BitMEX)
设置为永续合约:exchange.SetContractType("swap")。
Futures_BitMEX交易所的交割合约为月度合约,合约代码如下(一月至十二月):code"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"设置交割合约:
exchange.SetContractType("December")。例如,将交易对设置为XBT_USDT时,调用exchange.SetContractType("December")函数即可设置BTC的USDT本位十二月交割合约(对应的实际合约代码为XBTUSDTZ23)。Futures_BitMEX合约信息汇总
Futures_BitMEX定义的合约代码 在FMZ对应的交易对 在FMZ对应的合约代码 备注 DOGEUSD DOGE_USD swap 美元计价,XBT结算。XBT即BTC。 DOGEUSDT DOGE_USDT swap USDT计价,USDT结算。 XBTETH XBT_ETH swap ETH计价,XBT结算。 XBTEUR XBT_EUR swap 欧元计价(EUR),XBT结算。 USDTUSDC USDT_USDC swap USDC计价,XBT结算。 ETHUSD_ETH ETH_USD_ETH swap 美元计价,ETH结算。 XBTH24 XBT_USD March 到期日:24年3月,月份代码为H;美元计价,XBT结算。 ETHUSDZ23 ETH_USD December 到期日:23年12月,月份代码为Z;美元计价,XBT结算。 XBTUSDTZ23 XBT_USDT December 到期日:23年12月,月份代码为Z;USDT计价,USDT结算。 ADAZ23 ADA_XBT December 到期日:23年12月,月份代码为Z;XBT计价,XBT结算。 P_XBTETFX23 USDT_XXX P_XBTETFX23 到期日:23年11月;以百分比计价,USDT结算。 -
Futures_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()函数设置合约。 -
Futures_Deribit
设置为永续合约:exchange.SetContractType("swap")。
支持Deribit的USDC合约。
交割合约有:"this_week","next_week","month","quarter","next_quarter","third_quarter","fourth_quarter"。
差价合约(future_combo):"this_week,swap","next_week,swap","next_quarter,this_week","third_quarter,this_week","month,next_week"等多种组合。
对于期权合约,需要传入交易所定义的具体期权合约代码,详情请参阅Deribit官网。 -
Futures_KuCoin
币本位合约:例如将交易对设置为BTC_USD,再设置合约代码,即为币本位合约。
设置为永续合约:exchange.SetContractType("swap")。
设置为当季合约:exchange.SetContractType("quarter")。
设置为次季合约:exchange.SetContractType("next_quarter")。以USDT作为保证金的合约:
例如将交易对设置为BTC_USDT,再设置合约代码,即为以USDT作为保证金的合约。
设置为永续合约:exchange.SetContractType("swap")。 -
Futures_Binance
币安期货交易所默认为当前交易对的永续合约,合约代码:swap。
设置为永续合约:exchange.SetContractType("swap")。币安的永续合约支持以USDT作为保证金,例如BTC的USDT本位永续合约,需将交易对设置为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表示看涨期权。
期权的具体类型(欧式期权或美式期权)可查阅交易所期权合约的相关资料。
交易所可能对期权卖方有所限制,需单独申请资格。币安期权即需要申请卖方资格。 -
Futures_Bibox
Bibox永续合约的合约代码:swap。
设置为永续合约:exchange.SetContractType("swap")。 -
Futures_Bybit
默认为当前交易对的永续合约,合约代码:swap。
当周合约代码:this_week。
次周合约代码:next_week。
第三周合约代码:third_week。
月度合约代码:month。
次月合约代码:next_month。
季度合约代码:quarter。
次季度合约代码:next_quarter。
第三季度合约代码:third_quarter。
直接使用交易所的合约命名:例如ETHUSDT-04APR25。由于bybit交易所的部分合约品种并无明确的周期性,因此直接使用交易所定义的合约代码进行命名。 -
Futures_Kraken
默认为当前交易对的永续合约,合约代码:swap。
swap:永续合约。
month:当月合约。
quarter:季度合约。
next_quarter:次季合约。
third_quarter:第三季度合约。
swap_pf:混合保证金永续合约。
quarter_ff:混合保证金季度合约。
month_ff:混合保证金当月合约。
next_quarter_ff:混合保证金次季度合约。
third_quarter_ff:混合保证金第三季度合约。
直接使用交易所的合约命名:例如FF_ETHUSD_250307。由于Kraken交易所的部分合约品种并无明确的周期性,因此直接使用交易所定义的合约代码进行命名。 -
Futures_Bitfinex
默认为当前交易对的永续合约,合约代码:swap。 -
Futures_Bitget
默认为当前交易对的永续合约,合约代码:swap。
将交易对设置为BTC_USD即为币本位合约,将交易对设置为BTC_USDT即为USDT结算的合约。模拟合约可将交易对设置为SBTC_USD、BTC_SUSDT。 -
Futures_dYdX (v4)
dYdX永续合约的合约代码:swap。
设置为永续合约:exchange.SetContractType("swap")。dYdX仅有USD.swap品种维度,使用的保证金为USDC。 -
Futures_MEXC
MEXC(抹茶)永续合约的合约代码:swap。
设置为永续合约:exchange.SetContractType("swap")。将交易对设置为BTC_USD即为币本位合约,将交易对设置为BTC_USDT即为USDT结算的合约。 -
Futures_Crypto
crypto.com交易所账户中的代币可折算为以USD计价的额度,用作合约交易的保证金。
设置为永续合约:exchange.SetContractType("swap")。例如,将交易对设置为BTC_USD时,调用exchange.SetContractType("swap")函数即可设置BTC的永续合约。
crypto.com交易所的交割合约为月度合约,合约代码如下(一月至十二月):code"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"设置交割合约:
exchange.SetContractType("October")。例如,将交易对设置为BTC_USD时,调用exchange.SetContractType("October")函数即可设置BTC的十月交割合约。
当前时刻对应的合约代码为BTCUSD-231027。 -
Futures_WOO
Futures_WOO交易所支持USDT本位合约,永续合约代码为swap。例如,将交易对设置为BTC_USDT时,调用exchange.SetContractType("swap")函数即可将当前合约设置为BTC的USDT本位永续合约。 -
Futures_Hyperliquid
Futures_Hyperliquid交易所支持USDC本位合约,永续合约代码为swap。例如,将交易对设置为ETH_USD时,调用exchange.SetContractType("swap")函数即可将当前合约设置为ETH的USDC本位永续合约。
Futures_Hyperliquid仅有USD.swap品种维度,使用的保证金为USDC。
Futures_Hyperliquid支持HIP-3品种。 -
Futures_Lighter
Futures_Lighter交易所支持USDC本位合约,永续合约代码为swap。例如,将交易对设置为BTC_USDC时,调用exchange.SetContractType("swap")函数即可将当前合约设置为BTC的USDC本位永续合约。
Futures_Lighter仅支持永续合约。 -
Futures_Backpack
Futures_Backpack交易所支持USDC本位合约,永续合约代码为swap。例如,将交易对设置为ETH_USDC时,调用exchange.SetContractType("swap")函数即可将当前合约设置为ETH的USDC本位永续合约。 -
Futures_edgeX
Futures_edgeX交易所支持USDT本位合约,永续合约代码为swap。例如,将交易对设置为BTC_USDT时,调用exchange.SetContractType("swap")函数即可将当前合约设置为BTC的USDT本位永续合约。 -
Futures_WOOFI
Futures_WOOFI交易所支持USDC本位合约,永续合约代码为swap。例如,将交易对设置为ETH_USDC时,调用exchange.SetContractType("swap")函数即可将当前合约设置为ETH的USDC本位永续合约。 -
Futures_Coinw
Futures_Coinw交易所支持USDT本位合约,永续合约代码为swap。例如,将交易对设置为ETH_USDT时,调用exchange.SetContractType("swap")函数即可将当前合约设置为ETH的USDT本位永续合约。 -
Futures_Aster
Futures_Aster交易所支持USDT本位合约,永续合约代码为swap。例如,将交易对设置为ETH_USDT时,调用exchange.SetContractType("swap")函数即可将当前合约设置为ETH的USDT本位永续合约。 -
Futures_DeepCoin
币本位合约:例如将交易对设置为BTC_USD,再设置合约代码,即为币本位合约。
设置为永续合约:exchange.SetContractType("swap")。以USDT作为保证金的合约:
例如将交易对设置为BTC_USDT,再设置合约代码,即为以USDT作为保证金的合约。
设置为永续合约:exchange.SetContractType("swap")。