TB老师好,我按照海龟策略进行了改造,通过均线和最高最低价的组合定义了进出场策略。
多头进场条件是
BuyCondition = Marketposition <> 1 and MA[1] > MA[2] and crossover(high,HH);
if(BuyCondition == True)
{buy(1,max(Open,HH));}
空头进场条件是
SellCondition = Marketposition <> -1 and MA[1] < MA[2] and crossunder(low,LL);
if(SellCondition == True)
{sellshort(1,min(Open,LL));}
策略当中只有开仓条件,没有单独设置平仓条件,等于我所有的平仓只能是反方向的开仓条件来触发;所有开仓条件都进行了回溯,不会出现信号闪烁问题。同时在开仓之时也使用了Max和Min函数取值开仓瞬间的最大值和最小值,不会出现偷价情况,尽可能出现开仓过程的滑点。策略现在也在进行模拟盘的信号测试,图表发出的信号,在账户函数当中也可以发单,并未存在信号不一致的情况。
除了在第一笔开仓情况下,后续所有的平仓都应该是平仓的同时,再反方向开一笔交易。但却出现了在图表当中出现了单独的平仓情况,并没有发出开仓单。整个系统只有Buy和SellShort指令,没有Sell和Buytocover。希望老师可以帮忙解答一下
只发部分代码是没办法诊断的。
建议自己在每个信号命令下面用commentary加个标记,这样你就直到图上的信号是哪一句代码执行出来的结果了