回测相关

Q:为什么我的策略代码无法运行?

A:代码无法可能有很多原因,请查看您的系统日志翻到最后,看看日志中的提示。

 

Q:为什么我在OnBar或者OnQuote中下单,但是没有任何成交?

A:这可能是因为没有订阅行情导致的,请检查有没有通过SubscribeQuote或者SubscribeBar订阅对应的行情或K线

 

Q:为什么我在OnBar或者OnQuote中下一次单,实际提交了多次?

A:这可能是因为订阅了多个行情导致的,对于每个订阅的行情都会进一次OnBarOnQuote函数。可以将不需要的行情退订或者在OnBarOnQuote中过滤,例如:


 

Q:为什么我的回测策略只在某一段时间有成交,其他时间就没有了?

A:这可能是因为只订阅了一次合约行情,当这个合约到期了,没有订阅新的合约。建议在OnMarketQuotationInitialEx事件中重新订阅合约行情。

 

Q:为什么回测中我的下单没有成功?

A:下单不成功可能是有很多原因,例如下单价格不是最小变动价位的整数倍,下单时间是非交易时间,下单时资金不足,下单的手数非整数等,您可以检查下单条件或者打开系统日志查看具体的下单失败原因。

 

Q:为什么我明明有仓位但是下平仓单时提示平仓失败,可平数量不足?

A:可能是您只有10手仓位而试图平11手,也可能是因为您的仓位是今仓,而您没有使用平今指令————上期所对平仓分为平今和平昨,必须分别使用。



QOnQuote事件在回测时的触发频率是怎样的?

AOnQuote事件是根据您订阅的行情进行触发,回测时行情的频率跟您选择的回测方式有关,每天的回测,OnQuote在每天1500触发一次,分钟回测在交易时间段每分钟触发一次,tick回测则是每个tick触发一次。


Q:如果我订阅了K线,OnBar事件会怎么触发?

A:如果订阅的是日线,会在每个交易日收盘时(基本都是15:00)触发;如果订阅的是分钟线会在交易时间段每个整分钟触发。例如90090114481459

 

Q:回测时该如何设置滑点?

A: 日线和分钟回测的滑点可以通过在下单价格上追加点位实现,例如采用PriceType(PbPriceType.Limit,limit_price_type=16,limit_price_offset=2),调整这里的limit_price_offset,采用超价下单成交。


Q:要是一不小心把整个代码删了,有办法撤销么?

A: 还没有推出编辑页面的话可以通过ctrl+z撤销,如果退出保存的话,目前是无法撤销的,请及时保存好您的代码。之后将推出代码版本管理功能。


 

Q:如果我下单要求下一个类似1314.159265的价单,真格会自动按照最小变动价位调准么?

A:不会,这个下单会被拒绝,请您注意下单价格需要是最小变动价位的整数倍。



Q:为何我用GetVarietyInfo获取到的结果,打印出来是一些乱码。

A:这是python内部转码问题,不影响访问,但是如果需要打印日志,可以通过如下代码将其打印出来(需要import json)

info = GetVarietyInfo2('m')

print json.dumps(info, encoding="UTF-8", ensure_ascii=False)


Q:真格平台分钟K线的时间是怎么划分的?

A:真格平台,分钟K线的时间是往前计的,K线的时间可以通过GetHisDataAsDF函数返回的数据的datetime字段看到,例如9:05分的分钟线,表示的是9:04:01秒到9:05:00秒的K线.


Q:系统报错委托价格不对,价格超出涨跌停价范围!是怎么回事?

A:先检查下下单价位是用的实际数字还是PriceType类,用PriceType类的情况下,可以从系统日志里看到委托的具体价格,是否是在没有行情或者挂单的情况下单,没有行情的情况下,可能会发生对手价为0之类的情况,建议在需要下单时,对行情数据做一个判断。


Q:为什么有时候在GetQuote里获取不到合约的最新价?

A:当合约不活跃,当天没有发生成交的时候,GetQuote里的最新价将会是0


Q:我自己有一些计算出来的数据,真格量化能读入这个数据然后应用么?

A:可以的,您可以通过附件将您的文件上传至服务器,然后在策略中读取文件,上传的文件默认在当前路径下。


Q可以用大商所和郑商所的套利指令么?

A:目前回测暂时不支持套利指令,模拟的话,上期技术simnow柜台也不支持套利指令,但是在量化平台上实盘是可以支持的。


Q:在OnBar或者OnQuote中,可以获取不是这个合约的行情数据么?
A:可以的,OnBarOnQuote的主要作用是通知到您有新行情,并不影响您获取行情数据。
  .


Q:下单以后持仓查询不到?我下单开仓以后查我的持仓为什么查不到?

A:真格量化的策略运行和下单是异步的,您可以理解为,您刚下完单,您的下单信息还未提交到交易所,当然不可能发生成交,也不可能会有持仓。如果您希望查询持仓,推荐您下一次下单之前查持仓,或者在委托回报和成交回报中查询持仓。

 

Q:为什么我设置的止盈止损没有触发?

A:目前止盈止损的触发需要对合约的行情进行订阅,也就是需要SubscribeQuote合约才能生效。


Q:为什么我获取期货主力对应的期权,用GetAtmOptionContract无法获取到?

A:因为商品期货期权,会比对应的期货提前到期,例如5月的白糖期权,到期日可能会在三月底,如果您在3月底以后去获取,就会无法获取到对应的期权,因为它们都已经到期了。


模拟/实盘相关 


Q:模拟运行提示“交易账号登录失败”,这是为什么?

A:请注意下您的账户是否用的回测账户登陆,模拟运行时需要将账号换成您对应的模拟账户

 

Q: 策略回测效果不错,我想要上模拟/实盘,需要改动么?

A:将回测的策略上架之前需要注意几个地方(不限于这些地方):将账户改成模拟/实盘账户;注意模拟/实盘每天开盘以后需要对账户进行重新登陆处理;注意账户资金对开仓量的影响。

 

Q:在架上运行的策略,平台升级或者断线后,那些g.这种全局变量会清空吗

A:如果进程仍在执行就不会,但若涉及到需要停止模拟或实盘进程的升级,就会清空,需要重新下架上架运行。这种升级我们会保证在盘后进行,同时会通过博易app消息通知到您,为了及时得知消息,推荐下载我们的真格量化app

 

Q:我的策略在实盘/模拟时,我手动对账号进行开仓操作,策略会收到成交回报么?

A:会的,或者您一个账号在运行两个策略,两个策略都会受到成交回报和委托回报,所以请您注意在处理回报时做好筛选。