开仓时机
在程序化交易中,我推崇的是“大道至简”原则,以最简单的思路和代码来架构我的系统。对于我们来说,这可以更好地进行量化和编程,而且可以防止冗长的代码导致过度拟合。这篇主要会讲箱体策略的开仓的方法。而开仓中最容易出现的两个问题,重复下单与过度拟合,我会在《TB编程常见错误》的系列博文中给大家讲解。
简单来说,箱体策略基本思路就是如果突破了箱体,就顺势开仓,而为了防止在假突破的震荡行情中错误开仓,我们还需要加一些过滤条件。这里我们就以最简单的突破开始,后面根据实际情况再考虑过滤信号。下面是一个示例,重点是解释突破。
(注意:此策略只用于示范,不具备实盘意义)
由于上下轨线是根据当期收盘价来确定的,所以做突破判断时,需要以前一期的轨线作比较。下图是此策略是效果图,用来判断开仓位置是否正确。以上一根Bar的信号状态作为开仓依据的好处是可以防止信号闪现的问题。这里的平仓就是简单的止盈止损,可以大致了解一下,具体会在后面的博文再做详细讲解。另外,源码中的 MarketPosition 是TB读取当前图表持仓信息而不是账户持仓信息。图表持仓信息就是下图中的箭头,紫色箭头是空单,黄色箭头是多单。
可以看出,开仓位置都是在突破位,但只依靠收盘价上下轨作为开仓标准,很多突破都是无效无效,例如趋势结束的反转和震旦区间的假突破。如果无法过滤部分信号提高准确率,此策略是无法赚钱的。
下一篇将会在此基础上加上一些过滤方法,敬请期待。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。