网格执行器
GridExecutor:是一个实现网格交易策略的复杂交易执行器。
关键概念:¶
-
网格交易:一种在定期价格区间(形成网格)放置多个买入和卖出订单的策略,试图从范围内的价格波动中获利。
-
网格级别:执行器在起始价格和结束价格之间创建多个价格级别,其中每个级别代表一个潜在的交易机会。
主要功能:¶
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)
执行器将:
-
在 30,000 美元和 40,000 美元之间创建网格级别
-
在这这些级别上部署 1000 USDT
-
维持订单之间最小 1%的价差
-
仅在当前价格的 2%范围内保持活跃订单
-
自动管理入场和平仓订单
这特别适用于:
-
盘整市场
-
做市策略
-
自动再平衡
-
风险管理的交易执行