昨天和一位朋友根据之前的想法重写了一个策略。在图上有些明显不正常的地方:
此主题相关图片如下:qq图片20190612182111.png
这个蓝灰色的线是显示做多。
此主题相关图片如下:qq图片20190612182453.png
我们的代码第一句就先定了做多时,需要先满足持仓为零。
从图中看,蓝灰色的线开始了就说明已经持有多仓了。那之后就应该不再尝试开多仓了。
但是图中还是持续出现很多白箭头。
请问 这是什么问题啊?
你这个是空头方向的未成交价格。委托价格超过价格检查的条件范围之外。你可以在开平语句上,加IGNORECHECKPRICE函数。忽略价格检查
这些白箭头是朝上的吧?应该 不是空头方向的白箭头吧?
这个无效信号为啥会产生啊?明明代码里没有这个规则。
比如下图。
此主题相关图片如下:3.png
左侧的1号位置是平多失败。中间2号是开多失败。这个理解对吧。
但是右侧的3号位置,应该就是无效信号了。为啥会产生无效信号啊?
是的。
限价委托的价格,超出当根k线的最高最低价,就会被视为无效下单信号。这样做,主要是让图表更贴近实盘。
你可以在你的指令中加入忽略信号检测的函数。这种方式就不会再出现白色无效信号了。
例如:buy(1,1,....),IGNORECHECKPRICE;
如果不这样做,你实盘时候会无法发单的。回测里认为价格超过当前K范围是无效的,但是实盘时候你只要不超过涨跌停,你发什么价格都是有效的。