以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  自动平仓 如何实现?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=172472)

--  作者:NH
--  发布时间:2019/10/17 16:18:55
--  自动平仓 如何实现?
如果我手动开仓后,想让程序化自动帮忙平仓  应该怎么来写程序化呢?     比如平仓就用MA5  交叉MA10 . 
--  作者:FireScript
--  发布时间:2019/10/17 16:32:44
--  
图表程序化还是后台程序化的?
--  作者:NH
--  发布时间:2019/10/17 22:11:23
--  
图表 


--  作者:FireScript
--  发布时间:2019/10/18 9:42:52
--  
 这个需要一些特殊的代码技巧。先在历史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线起始位置都行。

--  作者:FireScript
--  发布时间:2019/10/18 9:43:49
--  
 
图片点击可在新窗口打开查看此主题相关图片如下:temp.png
图片点击可在新窗口打开查看

实际效果就是这样子,只有死叉的平仓信号,只第一个K上有开仓信号,并且这个开仓信号肯定不会被执行到的。

--  作者:NH
--  发布时间:2019/10/19 1:28:45
--  
能否写成日内  和 隔夜 两个版本呢?十分感谢 老师的热心指导!!
--  作者:FireScript
--  发布时间:2019/10/21 9:57:59
--  
这个好像日内隔夜没啥区别吧。是要给日内的加一个收盘平仓?
--  作者:NH
--  发布时间:2019/10/24 20:16:35
--  
是的  老师


--  作者:FireScript
--  发布时间:2019/10/25 9:07:06
--  
 if time=closetime(0)  then sell(holding>0,1,market);

加上面一句代码就行了。


但是总体上你这个还是存在一定缺陷的,体现在平仓手数无法控制上。不能全平。半程序化半手工的,无法做到很精准控制。