如果我手动开仓后,想让程序化自动帮忙平仓 应该怎么来写程序化呢? 比如平仓就用MA5 交叉MA10 .
这个需要一些特殊的代码技巧。先在历史K上(必须保证这个K不是最新K)下足够的单子,然后后续就可以只执行平仓操作。
if BARPOS=1 then buy(1,100,market);//图表在第一个K 开足够仓位。否则后面无法进行平仓
ma5:ma(c,5);
ma10:ma(c,10);
sell(cross(ma10,ma5),1,MARKET);//每次死叉平一手,理论上100次死叉之后就不会有信号,这时候可以调整前面的开仓手数,或者修改下K线起始位置都行。

此主题相关图片如下:temp.png

实际效果就是这样子,只有死叉的平仓信号,只第一个K上有开仓信号,并且这个开仓信号肯定不会被执行到的。
能否写成日内 和 隔夜 两个版本呢?十分感谢 老师的热心指导!!
这个好像日内隔夜没啥区别吧。是要给日内的加一个收盘平仓?
if time=closetime(0) then sell(holding>0,1,market);
加上面一句代码就行了。
但是总体上你这个还是存在一定缺陷的,体现在平仓手数无法控制上。不能全平。半程序化半手工的,无法做到很精准控制。