跳转至内容

网格执行器

GridExecutor:是一个实现网格交易策略的复杂交易执行器。

关键概念:

  1. 网格交易:一种在定期价格区间(形成网格)放置多个买入和卖出订单的策略,试图从范围内的价格波动中获利。

  2. 网格级别:执行器在起始价格和结束价格之间创建多个价格级别,其中每个级别代表一个潜在的交易机会。

主要功能:

1. 网格生成

  • 在 start_price 和 end_price 之间创建等距的价格级别

  • 每个级别都有相关的订单金额和止盈目标

  • 支持现货和永续期货交易

2. 订单管理

  • 在不同网格级别下单并监控订单

  • 管理开仓(入场)和平仓(出场)订单

  • 自动取消超出激活范围的订单

  • 实施批量订单处理以避免使交易所超载

3. 风险管理

  • 三重障碍系统:

  • 止损

  • 止盈

  • 时间限制

  • 追踪止损功能

  • 头寸规模限制

  • 最大未平仓订单控制

4. 状态管理

网格级别可以处于不同状态:

  • NOT_ACTIVE:未下单

  • OPEN_ORDER_PLACED:入场订单激活

  • OPEN_ORDER_FILLED:入场订单完成

  • CLOSE_ORDER_PLACED:出场订单激活

  • COMPLETE:入场和出场订单均已成交

5. 性能跟踪

  • 跟踪已实现和未实现的盈亏

  • 监控费用和执行成本

  • 计算头寸指标

  • 记录成交和失败的订单

示例用法:

config = GridExecutorConfig(
    connector_name="binance",
    trading_pair="BTC-USDT",
    start_price=30000,
    end_price=40000,
    total_amount_quote=1000,  # Total USDT to deploy
    min_spread_between_orders=0.01,  # 1% minimum spread
    activation_bounds=0.02,  # 2% activation bounds
)
executor = GridExecutor(strategy=my_strategy, config=config)

执行器将:

  1. 在 30,000 美元和 40,000 美元之间创建网格级别

  2. 在这这些级别上部署 1000 USDT

  3. 维持订单之间最小 1%的价差

  4. 仅在当前价格的 2%范围内保持活跃订单

  5. 自动管理入场和平仓订单

这特别适用于:

  • 盘整市场

  • 做市策略

  • 自动再平衡

  • 风险管理的交易执行