Hummingbot Strategies v2
组件
v2 对比 v1 来说,架构做了调整,多了几个组件更好的工作和解耦
脚本(Script):所有策略的入口点,这个Python文件负责协调整个策略的执行。它可以是一个包含所有策略逻辑的简单文件,或者是一个加载一个或多个控制器的文件。
市场数据提供器(Market Data Provider):用于访问交易所的市场数据的单一入口,比如历史OHCLV(开盘价、高点、低点、收盘价、成交量)K线数据、订单簿数据和交易记录。
执行器(Executor):根据用户预设管理订单和仓位,确保根据策略指令下单、修改或取消订单。
控制器(Controller):基于策略控制器的基础类(如方向性策略或做市策略)定义一个交易策略。
继承关系
V1 策略
策略基类(StrategyBase):
StrategyBase
是所有策略的 Cython 基类,而StrategyPyBase
继承自它,并作为所有 Python 基础策略的根类。V1 脚本(Scripts):
ScriptStrategyBase
是在上述类的基础上构建的,创建简单策略变得更加容易。这个类目前仍然支持,但后面可能会被弃用。所以建议在新脚本实现中使用StrategyV2Base
。
控制器与 V2 脚本
- V2 策略基类(StrategyV2Base):
StrategyV2Base
继承自ScriptStrategyBase
,但它使用执行器(Executors)来管理订单,而不再通过buy()
/sell()
方法。控制器(Controllers)在此基础上进一步扩展,作为通过事件队列松散耦合的附加组件。
请务必牢记继承结构,这会大大帮助理解如何编写自己的自定义策略。
参考资料
Hummingbot Strategies v2
https://konbluesky.github.io/2024/11/15/hummingbot_strategy_v2/