Global
_CDelay - 设置容错重试间隔
设置或获取 _C 函数的重试间隔时间。
语法
python
# 获取当前重试间隔
delay = _CDelay()
# 设置重试间隔为 5 秒
_CDelay(5000)参数
| 参数名 | 类型 | 必选 | 默认值 | 说明 |
|---|---|---|---|---|
| milliseconds | number | 否 | 无 | 重试间隔(毫秒)。• 不传参数时返回当前间隔• 传入参数时设置新的间隔 |
返回值
返回当前的重试间隔(毫秒,number)。
示例
示例1: 查看默认间隔
python
# 查看默认重试间隔
delay = _CDelay()
Log(f"默认重试间隔: {delay} 毫秒") # 输出: 3000示例2: 设置重试间隔
python
# 设置为 5 秒重试一次
_CDelay(5000)
# 使用 _C 函数,失败后会等待 5 秒再重试
ticker = _C(exchange.GetTicker)示例3: 临时调整间隔
python
# 保存原始间隔
original_delay = _CDelay()
# 设置较短的间隔用于快速重试
_CDelay(1000) # 1 秒
# 执行需要快速重试的操作
account = _C(exchange.GetAccount)
# 恢复原始间隔
_CDelay(original_delay)示例4: 根据网络状况动态调整
python
error_count = 0
while True:
try:
ticker = exchange.GetTicker()
if ticker:
error_count = 0
_CDelay(3000) # 恢复正常间隔
else:
error_count += 1
except Exception as e:
error_count += 1
# 错误增多时增加重试间隔
if error_count > 5:
_CDelay(10000) # 10 秒
Log("网络不稳定,增加重试间隔")
elif error_count > 3:
_CDelay(5000) # 5 秒
Sleep(1000)示例5: 不同场景使用不同间隔
python
# 行情数据可以较短间隔重试
_CDelay(1000)
ticker = _C(exchange.GetTicker)
# 交易操作使用较长间隔避免频繁请求
_CDelay(5000)
order_id = _C(exchange.Buy, price, amount)
# 查询订单使用中等间隔
_CDelay(3000)
order = _C(exchange.GetOrder, order_id)注意事项
-
全局设置:
_CDelay设置的间隔是全局的,会影响所有后续的_C调用 -
默认值:默认重试间隔为 3000 毫秒(3秒)
-
配合 _C 使用:此函数只影响
_C函数的重试间隔,不影响其他函数 -
合理设置:
- 太短:可能导致频繁请求被限流
- 太长:响应变慢,影响策略效率
- 建议根据交易所 API 限制合理设置
-
单位是毫秒:与
Sleep函数相同,使用毫秒为单位