1.打印日志
1.1 在代码中添加运行到特定部分的提示:
如果我们在用户日志未能看到“调用到OnQuote事件”文字,说明其之前的代码就出了问题,导致程序无法运行到OnQuote函数里的提示部分。解决方案为仔细检查该部分之前的代码是否出现问题。
1.2 打印变量进行检查
当我们订阅行情后,可以将订阅到的价格打印出来进行检查,来确实是否订阅了正确的合约:
2.分析系统日志
账户交易的信息,包括委托、成交的状态信息会记录在系统日志中。可以通过点击“系统”选项卡,及“展开”按钮进行查看:
2.1 分析交易错误提示
如果下单委托失败,一般可以在系统日志里检查以下问题:
2.1.1 可平数量不足:
原因一般为未及时更新持仓,程序要交易的持仓数量与实际持仓数量不一致。解决方案可以尝试用OnTradeDeal函数监控交易引起的仓位变化,进行持仓数据更新,以及利用开盘事件来定期刷新持仓数据。
2.1.2 非交易时间禁止交易:
原因一般为程序收到交易时间段的行情数据,比如郑商所发出的集合竞价数据,系统的行情监听函数OnQuote会监听到这些数据并尝试交易,导致报单被拒绝。解决方案为为委托添加时间约束,比如不在交易时段内就不发送委托。
2.1.3 交易参数错误:
原因一般为委托的价格和数量错误,比如委托股票时,下单数量不是100的整数倍,或者委托价格错误。解决方案为修正委托的参数,比如价格和手数,确保其在交易所可接受的范围内。
3.Python语法错误
3.1 缩进错误:
原因一般为代码未按照Python的格式规范进行对齐。解决方案为根据系统日志报错的信息的行数来调整相应函数代码的对齐。
3.2 符号错误:
原因一般为标点符号错误地使用了中文标点,例如英文冒号 ":" 变成了中文冒号":",或者成对的符号,比如单引号和双引号未能配对,或其中一个引号误用了中文标点。解决方案为根据系统日志的报错行数,仔细检查符号使用是否存在问题。
转载于:https://blog.51cto.com/14258357/2373066