以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  [求助]请问如何限制当前k线出现平仓信号后不再重新开仓?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=169690)

--  作者:alohamora
--  发布时间:2019/5/6 9:16:51
--  [求助]请问如何限制当前k线出现平仓信号后不再重新开仓?
假设本来持有空单,当前k线如果出现平空信号,并且执行了平空单操作。但因为价格变动剧烈,平仓后,再次满足了做空条件,策略继续开空单。我想在出现平空信号后,即使价格变动剧烈,再次满足做空信号,也限制不再重新开出新的空单。当前k先结束后,后面的周期满足开空条件则正常下单。
--  作者:banzhuan
--  发布时间:2019/5/6 9:26:26
--  
在开空条件中加上 exitbars 试试,exitbars在本根K上返回值为-1 
--  作者:yukizzc
--  发布时间:2019/5/6 9:26:40
--  
一根k线同一个信号只会下单一次的,并不会重复下单
exitbars>0,在开仓条件里加上这个控制平仓历史大于0

--  作者:alohamora
--  发布时间:2019/5/6 9:35:57
--  
好的。我先试一下。
--  作者:alohamora
--  发布时间:2019/5/6 9:54:13
--  
以下是引用yukizzc在2019/5/6 9:26:40的发言:
一根k线同一个信号只会下单一次的,并不会重复下单
exitbars>0,在开仓条件里加上这个控制平仓历史大于0

我在开仓条件里加入了exitbars<>0,看起来信号正常,请问这样是不是当前k线如果有平仓出现,就不再开仓了呢?我加上exitbars>0的话,信号就不正常了。


--  作者:wenarm
--  发布时间:2019/5/6 10:16:58
--  

exitbars函数受交易指令(本周期交易指令和次周期交易指令的影响)

您可以根据下面的测试代码看下

buy(BARPOS=10,1,MARKET);
sell(BARPOS=15,1,MARKET);//次周期
//sell(BARPOS=15,1,MARKETR);//本周期
aa:exitbars;//返回值不同

 

因为不同的交易指令exitbars返回值不同。所以,需要根据当前平仓语句中的指令决定。进而调整exitbars作为条件的限制。建议用"本周期指令"。便于区分之前没有平仓时的状态。

从未平过仓的状态是-1.而在平仓位置时:

次周期时,从-1开始,应该是exitbars+2。(许多用户习惯把开仓第一根记为1.)

本周期时,从0开始,应该是exitbars+1。所以,只要判断exitbars+1=1,或者exitbars=0 时,就是平仓位置,在这个位置不开仓即可。