From dcf8ddb7ac69c392a3f83e9ffc1ee5c74f192849 Mon Sep 17 00:00:00 2001 From: EricWang Date: Tue, 28 Feb 2017 10:13:51 +0800 Subject: [PATCH] fix typo --- docs/source/_static/progress_bar.png | Bin 0 -> 22439 bytes docs/source/development/event_source.rst | 15 ++++++++++----- docs/source/intro/tutorial.rst | 4 ++-- rqalpha/examples/buy_and_hold.py | 2 +- 4 files changed, 13 insertions(+), 8 deletions(-) create mode 100644 docs/source/_static/progress_bar.png diff --git a/docs/source/_static/progress_bar.png b/docs/source/_static/progress_bar.png new file mode 100644 index 0000000000000000000000000000000000000000..258e7156f9d7a36364078939789df6bf7b8944dd GIT binary patch literal 22439 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 literal 0 HcmV?d00001 diff --git a/docs/source/development/event_source.rst b/docs/source/development/event_source.rst index cbe0b015c..4e70a6211 100644 --- a/docs/source/development/event_source.rst +++ b/docs/source/development/event_source.rst @@ -12,7 +12,7 @@ RQAlpha 大部分的组件是以 :code:`add_listener` 的方式进行事件的 * 当订单成交,则会触发 :code:`EVENT.TRADE` 事件,那么系统的账户模块因为注册了该事件,就可以立即计算成交以后的收益和资金变化。 * 当订单下单,则会触发 :code:`EVENT.ORDER_PENDING_NEW` 事件,前端风控模块注册了该事件,则可以立即对该订单进行审核,如果不满足风控要求,则直接指定执行 :code:`order._cancel(some_reason)` 来保证有问题的订单不会进入实际下单环节。 -程序化交易中很多需求,都可以以注册事件无缝插入到 RQAlpha 中的方式来满足和扩展。 +程序化交易中很多需求,都可以通过注册事件的方式无缝插入到 RQAlpha 中进行扩展。 事件源分类 ================== @@ -23,7 +23,7 @@ RQAlpha 大部分的组件是以 :code:`add_listener` 的方式进行事件的 * POST_USER_INIT: 策略的 :code:`init` 函数执行后触发 * MarketEvent: 市场及数据事件源 - + * POST_UNIVERSE_CHANGED: 策略证券池发生变化后触发 * PRE_BEFORE_TRADING: 执行 :code:`before_trading` 函数前触发 * BEFORE_TRADING: 该事件会触发策略的 :code:`before_trading` 函数 @@ -57,11 +57,16 @@ RQAlpha 大部分的组件是以 :code:`add_listener` 的方式进行事件的 事件源的订阅及使用 ================== -我们可以订阅我们需要的事件源,从而在该事件发生时实现我们的特定的需求。 +我们可以订阅需要的事件源,从而在该事件发生时实现指定需求。 + +下面以最简单的 Mod - ProgressMod 为例,介绍事件源的订阅和使用。 + +ProgressMod 需要实现的需求非常的简单:在命令行输出目前回测的进度条。 + +.. image:: ../_static/progress_bar.png -下面以最简单的 Mod - ProgressMod 为例,介绍以下事件源的订阅和使用。 ProgressMod 需要实现的需求非常的简单:在命令行输出目前回测的进度条。 -首先我们定义一个 ProgressMod 类,继承与接口类 :class:`~AbstractMod` +首先定义一个 ProgressMod 类,继承与接口类 :class:`~AbstractMod` .. code-block:: python3 diff --git a/docs/source/intro/tutorial.rst b/docs/source/intro/tutorial.rst index 4a188b259..5717ebe39 100644 --- a/docs/source/intro/tutorial.rst +++ b/docs/source/intro/tutorial.rst @@ -93,7 +93,7 @@ RQAlpha 的 API 主要分为三类:约定函数、数据查询和交易接口 # after_trading函数会在每天交易结束后被调用,当天只会被调用一次 def after_trading(context): - logger.info("开盘前执行after_trading函数") + logger.info("收盘后执行after_trading函数") 至此,我们写出了一个“完整”的策略,但是该策略实际上什么也没有做。 @@ -113,7 +113,7 @@ RQAlpha 的 API 主要分为三类:约定函数、数据查询和交易接口 * :func:`is_suspended` : 判断某股票当天是否停牌 * :func:`is_st_stock` : 判断某股票是否为 \*st -Ricequant 金融、财务、合约历史数据等数据接口,详情请查看 :ref:`api-extend-api` +Ricequant 金融、财务、合约历史数据等数据接口请查看 :ref:`api-extend-api` * bar_dict: 在 :func:`handle_bar` 中我们可以使用 `bar_dict` 来获取相应的 :class:`Bar` 数据,`bar_dict` 是一个字典类型变量,直接通过传 `key` 的方式就可以获取到对应的 :class:`Bar` 数据。 diff --git a/rqalpha/examples/buy_and_hold.py b/rqalpha/examples/buy_and_hold.py index c911a075a..999d57070 100644 --- a/rqalpha/examples/buy_and_hold.py +++ b/rqalpha/examples/buy_and_hold.py @@ -10,7 +10,7 @@ def init(context): context.fired = False -def before_trading(context, bar_dict): +def before_trading(context): pass