量化交易软件QMT推荐吗?QMT如何设定函数?

QMT系统函数的设定涉及多个方面,主要是基于策略的需求来配置的。以下是从初始化配置到交易策略函数编写的关键步骤和方法,以及对常见函数的介绍和设置:

初始化函数和配置(Init 函数)

Init 函数的角色: 初始化函数init在整个策略中只运行一次,它用于设定那些只需执行一次的参数。例如交易佣金、滑点、基准、资金账号、股票代码等,都可以通过该函数来配置。

行情事件处理(Handlebar 函数)

Handlebar 函数的角色: Handlebar 函数用于处理每根 K 线和每个 tick 数据,它在每根 K 线上(或在实时行情的 tick 到来时)运行一次。函数内将执行实际的策略逻辑,例如基于市场数据(开盘价、最高价、最低价、收盘价、交易量等)进行计算,以作出交易决策。

ContextInfo 策略环境对象

在QMT系统的函数中,ContextInfo 是一个重要的策略运行环境对象,它被 init() 和 handlebar() 两个基本函数用作参数传递,并提供以下常用的属性和方法设定:

设定股票池(ContextInfo.set_universe(stocklist)): 用于设置策略考虑的股票代码列表,以确保只针对指定的股票执行操作。

设定交易账号(ContextInfo.set_account(account)): 配置用于执行交易操作的账号信息。需要注意的是,如果需要多个账号进行交易,应该在 init() 阶段配置好所有的账号,之后的订单传递则会按设定来。

设定回测时间(ContextInfo.start, ContextInfo.end): 当进行历史数据回测时,指定测试的起止时间,用于生成测试结果并优化策略参数。

设定初始资金(ContextInfo.capital): 为历史数据回测过程中的虚拟账号指定起始资金。

设定策略回测滑点(ContextInfo.set_slippage()): 回测过程中的交易价格会基于实际情况存在一定误差(滑点),设置该值可以更好地模拟实盘交易中的情况。

函数实现的示例框架

以Python编写策略的上下文来看,通常包括以下两部分内容:

初始化函数(init函数示例代码片段):

行情处理函数(Handlebar 函数示例代码框架):

在实际使用过程中,具体调用的API、数据参数格式(如股票代码的格式、买卖下单的方法名称及参数等)将根据你所使用的QMT系统版本及其支持的Python库和API的不同而有所不同。建议参照所使用的QMT平台的官方API文档进行实际的调用和功能设置。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值