内置函数
Global
Log
Market
Trade
exchange.Buy
exchange.Sell
exchange.CreateOrder
exchange.CancelOrder
exchange.GetOrder
exchange.GetOrders
exchange.GetHistoryOrders
exchange.CreateConditionOrder
exchange.ModifyOrder
exchange.ModifyConditionOrder
exchange.CancelConditionOrder
exchange.GetConditionOrder
exchange.GetConditionOrders
exchange.GetHistoryConditionOrders
exchange.SetPrecision
exchange.SetRate
exchange.IO
exchange.Log
exchange.Encode
exchange.Go
Account
Futures
NetSettings
Threads
Web3
TA
Talib
talib.CDL2CROWS
talib.CDL3BLACKCROWS
talib.CDL3INSIDE
talib.CDL3LINESTRIKE
talib.CDL3OUTSIDE
talib.CDL3STARSINSOUTH
talib.CDL3WHITESOLDIERS
talib.CDLABANDONEDBABY
talib.CDLADVANCEBLOCK
talib.CDLBELTHOLD
talib.CDLBREAKAWAY
talib.CDLCLOSINGMARUBOZU
talib.CDLCONCEALBABYSWALL
talib.CDLCOUNTERATTACK
talib.CDLDARKCLOUDCOVER
talib.CDLDOJI
talib.CDLDOJISTAR
talib.CDLDRAGONFLYDOJI
talib.CDLENGULFING
talib.CDLEVENINGDOJISTAR
talib.CDLEVENINGSTAR
talib.CDLGAPSIDESIDEWHITE
talib.CDLGRAVESTONEDOJI
talib.CDLHAMMER
talib.CDLHANGINGMAN
talib.CDLHARAMI
talib.CDLHARAMICROSS
talib.CDLHIGHWAVE
talib.CDLHIKKAKE
talib.CDLHIKKAKEMOD
talib.CDLHOMINGPIGEON
talib.CDLIDENTICAL3CROWS
talib.CDLINNECK
talib.CDLINVERTEDHAMMER
talib.CDLKICKING
talib.CDLKICKINGBYLENGTH
talib.CDLLADDERBOTTOM
talib.CDLLONGLEGGEDDOJI
talib.CDLLONGLINE
talib.CDLMARUBOZU
talib.CDLMATCHINGLOW
talib.CDLMATHOLD
talib.CDLMORNINGDOJISTAR
talib.CDLMORNINGSTAR
talib.CDLONNECK
talib.CDLPIERCING
talib.CDLRICKSHAWMAN
talib.CDLRISEFALL3METHODS
talib.CDLSEPARATINGLINES
talib.CDLSHOOTINGSTAR
talib.CDLSHORTLINE
talib.CDLSPINNINGTOP
talib.CDLSTALLEDPATTERN
talib.CDLSTICKSANDWICH
talib.CDLTAKURI
talib.CDLTASUKIGAP
talib.CDLTHRUSTING
talib.CDLTRISTAR
talib.CDLUNIQUE3RIVER
talib.CDLUPSIDEGAP2CROWS
talib.CDLXSIDEGAP3METHODS
talib.AD
talib.ADOSC
talib.OBV
talib.ACOS
talib.ASIN
talib.ATAN
talib.CEIL
talib.COS
talib.COSH
talib.EXP
talib.FLOOR
talib.LN
talib.LOG10
talib.SIN
talib.SINH
talib.SQRT
talib.TAN
talib.TANH
talib.MAX
talib.MAXINDEX
talib.MIN
talib.MININDEX
talib.MINMAX
talib.MINMAXINDEX
talib.SUM
talib.HT_DCPERIOD
talib.HT_DCPHASE
talib.HT_PHASOR
talib.HT_SINE
talib.HT_TRENDMODE
talib.ATR
talib.NATR
talib.TRANGE
talib.BBANDS
talib.DEMA
talib.EMA
talib.HT_TRENDLINE
talib.KAMA
talib.MA
talib.MAMA
talib.MIDPOINT
talib.MIDPRICE
talib.SAR
talib.SAREXT
talib.SMA
talib.T3
talib.TEMA
talib.TRIMA
talib.WMA
talib.LINEARREG
talib.LINEARREG_ANGLE
talib.LINEARREG_INTERCEPT
talib.LINEARREG_SLOPE
talib.STDDEV
talib.TSF
talib.VAR
talib.ADX
talib.ADXR
talib.APO
talib.AROON
talib.AROONOSC
talib.BOP
talib.CCI
talib.CMO
talib.DX
talib.MACD
talib.MACDEXT
talib.MACDFIX
talib.MFI
talib.MINUS_DI
talib.MINUS_DM
talib.MOM
talib.PLUS_DI
talib.PLUS_DM
talib.PPO
talib.ROC
talib.ROCP
talib.ROCR
talib.ROCR100
talib.RSI
talib.STOCH
talib.STOCHF
talib.STOCHRSI
talib.TRIX
talib.ULTOSC
talib.WILLR
talib.AVGPRICE
talib.MEDPRICE
talib.TYPPRICE
talib.WCLPRICE
OS
结构体
内置变量
exchange.GetConditionOrders
exchange.GetConditionOrders()函数用于获取未完成的条件单(尚未触发或尚未取消的条件单)。
exchange.GetConditionOrders()
exchange.GetConditionOrders(symbol)示例
-
使用现货交易所对象创建多个条件单,然后查询未完成的条件单信息。
javascriptfunction main() { // 创建多个条件单 var condition1 = { ConditionType: ORDER_CONDITION_TYPE_TP, TpTriggerPrice: 65000, TpOrderPrice: 65000 } exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition1) var condition2 = { ConditionType: ORDER_CONDITION_TYPE_TP, TpTriggerPrice: 3200, TpOrderPrice: 3200 } exchange.CreateConditionOrder("ETH_USDT", "sell", 0.1, condition2) Sleep(1000) // 查询所有未完成条件单 var orders = exchange.GetConditionOrders() Log("Pending condition orders count:", orders.length) for (var i = 0; i < orders.length; i++) { Log("Condition order", i+1, ":", orders[i]) } }pythondef main(): # 创建多个条件单 condition1 = { "ConditionType": ORDER_CONDITION_TYPE_TP, "TpTriggerPrice": 65000, "TpOrderPrice": 65000 } exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition1) condition2 = { "ConditionType": ORDER_CONDITION_TYPE_TP, "TpTriggerPrice": 3200, "TpOrderPrice": 3200 } exchange.CreateConditionOrder("ETH_USDT", "sell", 0.1, condition2) Sleep(1000) # 查询所有未完成条件单 orders = exchange.GetConditionOrders() Log("Pending condition orders count:", len(orders)) for i in range(len(orders)): Log("Condition order", i+1, ":", orders[i])rustfn main() { // 创建多个条件单 let condition1 = OrderCondition { ConditionType: ORDER_CONDITION_TYPE_TP, TpTriggerPrice: 65000.0, TpOrderPrice: 65000.0, ..Default::default() }; let _ = exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, &condition1); let condition2 = OrderCondition { ConditionType: ORDER_CONDITION_TYPE_TP, TpTriggerPrice: 3200.0, TpOrderPrice: 3200.0, ..Default::default() }; let _ = exchange.CreateConditionOrder("ETH_USDT", "sell", 0.1, &condition2); Sleep(1000); // 查询所有未完成条件单 let orders = exchange.GetConditionOrders(None).unwrap(); Log!("Pending condition orders count:", orders.len()); for i in 0..orders.len() { Log!("Condition order", i + 1, ":", orders[i]); } }c++void main() { // 创建多个条件单 OrderCondition condition1 = {.ConditionType = ORDER_CONDITION_TYPE_TP, .TpTriggerPrice = 65000, .TpOrderPrice = 65000}; exchange.CreateConditionOrder("BTC_USDT", "sell", 0.01, condition1); OrderCondition condition2 = {.ConditionType = ORDER_CONDITION_TYPE_TP, .TpTriggerPrice = 3200, .TpOrderPrice = 3200}; exchange.CreateConditionOrder("ETH_USDT", "sell", 0.1, condition2); Sleep(1000); // 查询所有未完成条件单 auto orders = exchange.GetConditionOrders(); Log("Pending condition orders count:", orders.size()); for (int i = 0; i < orders.size(); i++) { Log("Condition order", i+1, ":", orders[i]); } } -
查询指定交易对的未成交条件单。
javascriptfunction main() { // 查询 BTC_USDT 交易对的未成交条件单 var orders = exchange.GetConditionOrders("BTC_USDT") Log("BTC_USDT pending condition orders:", orders) }pythondef main(): # 查询 BTC_USDT 交易对的未成交条件单 orders = exchange.GetConditionOrders("BTC_USDT") Log("BTC_USDT pending condition orders:", orders)rustfn main() { // 查询 BTC_USDT 交易对的未成交条件单 let orders = exchange.GetConditionOrders("BTC_USDT"); Log!("BTC_USDT pending condition orders:", orders); }c++void main() { // 查询 BTC_USDT 交易对的未成交条件单 auto orders = exchange.GetConditionOrders("BTC_USDT"); Log("BTC_USDT pending condition orders:", orders); }
返回值
| 类型 | 描述 |
|
返回的Order结构中包含 |
参数
| 名称 | 类型 | 必填 | 描述 |
symbol | string | 否 | 参数 对于现货交易所对象,未传入 对于期货交易所对象,未传入 |
参考
备注
在GetConditionOrders函数中,symbol参数的使用场景归纳如下:
| 交易所对象分类 | symbol参数 | 查询范围 | 备注 |
|---|---|---|---|
| 现货 | 不传symbol参数 | 查询所有现货交易对 | 适用于所有调用场景;若交易所接口不支持则报错并返回空值,以下不再赘述 |
| 现货 | 指定交易品种,symbol参数为:"BTC_USDT" | 查询指定的BTC_USDT交易对 | 对于现货交易所对象,参数symbol的格式为:"BTC_USDT" |
| 期货 | 不传symbol参数 | 查询当前交易对、合约代码维度范围内的所有交易品种 | 假如当前交易对为BTC_USDT,合约代码为swap,即查询所有USDT本位永续合约。等价于调用GetConditionOrders("USDT.swap") |
| 期货 | 指定交易品种,symbol参数为:"BTC_USDT.swap" | 查询指定的BTC的USDT本位永续合约 | 对于期货交易所对象,参数symbol的格式为:FMZ平台定义的交易对与合约代码组合,两者以字符"."间隔。 |
| 期货 | 指定交易品种范围,symbol参数为:"USDT.swap" | 查询所有USDT本位永续合约 | - |
| 支持期权的期货交易所 | 不传symbol参数 | 查询当前交易对维度范围内的所有期权合约 | 假如当前交易对为BTC_USDT,且合约设置为期权合约,例如币安期权合约:BTC-240108-40000-C |
| 支持期权的期货交易所 | 指定具体交易品种 | 查询指定的期权合约 | 例如对于币安期货交易所,symbol参数为:BTC_USDT.BTC-240108-40000-C |
| 支持期权的期货交易所 | 指定交易品种范围,symbol参数为:"USDT.option" | 查询所有USDT本位期权合约 | - |
在GetConditionOrders函数中,期货交易所对象的查询维度范围归纳如下:
| symbol参数 | 请求范围定义 | 备注 |
|---|---|---|
| USDT.swap | USDT本位永续合约范围。 | 对于交易所API接口不支持的维度,调用时会报错并返回空值。 |
| USDT.futures | USDT本位交割合约范围。 | - |
| USD.swap | 币本位永续合约范围。 | - |
| USD.futures | 币本位交割合约范围。 | - |
| USDT.option | USDT本位期权合约范围。 | - |
| USD.option | 币本位期权合约范围。 | - |
| USDT.futures_combo | 差价组合合约范围。 | Futures_Deribit交易所 |
| USD.futures_ff | 混合保证金交割合约范围。 | Futures_Kraken交易所 |
| USD.swap_pf | 混合保证金永续合约范围。 | Futures_Kraken交易所 |
当交易所对象exchange所代表的账户在查询范围内或指定的交易品种上没有未完成条件单时,调用该函数将返回空数组,即:[]。
条件单功能的支持情况取决于具体交易所,部分交易所可能不支持条件单功能。