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)在此基础上进一步扩展,作为通过事件队列松散耦合的附加组件。

请务必牢记继承结构,这会大大帮助理解如何编写自己的自定义策略。

参考资料
Author

Gavin

Posted on

2024-11-15

Updated on

2024-11-15

Licensed under

Comments