exchange.GetConditionOrders()函数用于获取未完成的条件单(未触发或未取消的条件单)。
exchange.GetConditionOrders()函数请求数据成功时返回{@struct/Order Order}结构数组,请求数据失败时返回空值。
返回的Order结构中包含{@struct/Condition Condition}字段,该字段记录了条件单的详细配置信息(触发价格、执行价格、条件类型等)。 {@struct/Order Order}数组 / 空值
exchange.GetConditionOrders() exchange.GetConditionOrders(symbol)
参数symbol用于设置需要查询的交易品种或交易品种范围。
对于现货交易所对象,不传symbol参数时,将请求所有现货品种的未完成条件单数据。
对于期货交易所对象,不传symbol参数时,默认按当前交易对、合约代码所在维度范围请求所有品种的未完成条件单数据。
symbol
false
string
”`javascript function 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])
}
}
python
def 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])```
”`cpp void main() { // 创建多个条件单 json condition1 = R”({ “ConditionType”: ORDER_CONDITION_TYPE_TP, “TpTriggerPrice”: 65000, “TpOrderPrice”: 65000 })“_json; exchange.CreateConditionOrder(“BTC_USDT”, “sell”, 0.01, condition1);
json condition2 = R"({
"ConditionType": ORDER_CONDITION_TYPE_TP,
"TpTriggerPrice": 3200,
"TpOrderPrice": 3200
})"_json;
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]);
}
}
使用现货交易所对象,创建多个条件单后查询未完成的条件单信息。
javascript
function main() {
// 查询BTC_USDT交易对的未完成条件单
var orders = exchange.GetConditionOrders(“BTC_USDT”)
Log(“BTC_USDT pending condition orders:”, orders)
}
python
def main():
# 查询BTC_USDT交易对的未完成条件单
orders = exchange.GetConditionOrders(“BTC_USDT”)
Log(“BTC_USDT pending condition orders:”, orders)
cpp
void main() {
// 查询BTC_USDT交易对的未完成条件单
auto orders = exchange.GetConditionOrders(“BTC_USDT”);
Log(“BTC_USDT pending condition orders:”, orders);
}“`
查询指定交易对的未完成条件单。
在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代表的账户在查询范围内或指定的交易品种中没有未完成条件单时,调用此函数将返回空数组,即:[]。
条件单功能的支持情况取决于具体交易所,部分交易所可能不支持条件单功能。
{@struct/Order Order}, {@fun/Trade/exchange.GetConditionOrder exchange.GetConditionOrder}, {@fun/Trade/exchange.GetHistoryConditionOrders exchange.GetHistoryConditionOrders}