Trader.engine

这个包里包含了vnpy的核心引擎MainEngine,以及交易用的三个功能类引擎,分别为,LogEngineOmsEngineEmailEngine

MainEngine

这个类是VNPY的核心类,用来协调各个模块。

MainEngine

mainEngine = Trader.engine.MainEngine(event_engine)

创建一个主引擎。

参数:

  • event_engine: 一个事件引擎,参见vnpy.event.EventEngine,默认为空,使用预设的事件引擎。

MainEngine.add_engine(engine_class)

funcEngine = mainEngine.add_engine(BaseEngine)

给主引擎添加一个功能引擎。

参数:

  • engine_class: 需要添加的功能引擎的类别。

返回值:

  • engine: 添加的事件引擎。

MainEngine.add_gateway(gateway_class)

gateway = mainEngine.add_gateway(BaseGateway)

给主引擎添加一个gateway。

参数:

  • gateway_class: 需要添加的gateway的类别。

返回值:

  • gateway: 所添加的gateway。

MainEngine.add_app(app_class)

app = mainEngine.add_app(BaseApp)

给主引擎添加一个功能类App。

参数:

  • app_class: 需要添加的app的类别。

返回值:

  • app: 所添加的app。

MainEngine.init_engines()

添加全部的内置功能引擎。创建时自动调用,无需手工调用。

MainEngine.write_log(msg, source)

msg = "Hello World!"
source = "Human"
mainEngine.write_log(msg, source)

添加日志信息。

参数:

  • msg: 所需要添加的信息内容,字符串。
  • source: 信息的发送者,默认为空。

MainEngine.get_gateway(gateway_name)

在主引擎的接口表中寻找名为gateway_name的接口。若不存在则返回空。

MainEngine.get_engine(engine_name)

在主引擎的接口表中寻找名为engine_name的功能引擎。若不存在则返回空。

MainEngine.get_default_setting(gateway_name)

在主引擎的接口表中寻找名为gateway_name的底层接口,并返回其默认设置。若不存在则返回空。

MainEngine.get_all_gateway_names()

返回一个list,内容为主引擎中的全部底层接口名称。

MainEngine.get_all_apps()

返回一个list,内容为主引擎中的全部app(对象)。

MainEngine.get_all_exchanges()

返回一个list,内容为所有账户的现金?

MainEngine.connect(setting, gateway_name)

按照设定的参数setting连接指定的接口。

MainEngine.subscribe(req, gateway_name)

订阅名为gateway_name的接口的req的行情信息。

setting = main_engine.get_default_setting('HUOBI')
setting['API Key'] = 'xxxxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxx'
setting['Secret Key'] = 'xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxx'
req = SubscribeRequest('topbtc', Exchange.HUOBI) # 创建一个订阅请求
main_engine.subscribe(req, 'HUOBI')    

以上为以火币网接口设置的一段请求。 MainEngine.send_order(req, gateway_name)

向名为gateway_name的接口下单。

MainEngine.cancel_order(req, gateway_name)

向名为gateway_name的接口取消订单。

MainEngine.send_orders(reqs, gateway_name)

向名为gateway_name的接口进行批量下单。 用法同MainEngine.send_order

MainEngine.cancel_orders(reqs, gateway_name)

向名为gateway_name的接口进行批量取消订单。 用法同MainEngine.cancel_order

MainEngine.query_history(reqs, gateway_name)

查询通过接口gateway_name的全部订单情况。

MainEngine.stop() 关闭依次关闭全部功能引擎,关闭接口,关闭主引擎。

BaseEngine

一个抽象类,用以实现功能类。

LogEngine

OmsEngine

EmailEngine