编程遇到的问题 (文华财经WH8赢智V8.2)

投资者咨询:编程遇到的问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-10 18:57
 hi你好,我现在遇到的问题是:

我使用的是非过滤模型,以
FILTER(条件,3);
来开仓,为了避免三天之内如果每天开仓条件都满足的情况下三次开仓,
CHECKSIG_MIN(BK,'A',0,'C',0);//出信号立即下单,不复核
CHECKSIG_MIN(SP,'A',0,'C',0);//出信号立即下单,不复核
TRADE_AGAIN(10);
来收尾,
这样做复盘回测的时候,在新的一天开始之后,以布林线为例子,上午随着价格的上涨下跌,布林线从收缩到扩张,过程当中我的入场信号被触发开仓了,但是在下午收盘之前,布林线可能从扩张又变为收缩,导致实际上以收盘价来看我是的入场条件返回0,不应该开仓,而在回测的时候,这样的情况我都是会被开仓的。
我对这个倒是没有什么问题,因为毕竟不是收盘价模型。
但是问题是我发现如果是在这种情况下开的仓,FILTER(条件,3)这个函数会失去作用,因为第一天已经虽然开过仓了,但是收盘之后入场条件被抹平,导致对于第二天来说这又是新的一天是允许继续开仓的。
请问有没有办法在这种情况下可以开过一次仓之后,三天之内不允许再开第二次呢?

多谢多谢
技术人员回复
日期:2018-8-10 19:06
 可以在开仓条件中进行限制的

参考:

CON:COUNTSIG(BK,0)+COUNTSIG(SK,0);
WZ:REFSIG_PLACE(BK,1);//最近一次开仓信号的位置
(CON=0||WZ>=3)&&开仓条件,BK;
投资者咨询:编程遇到的问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-10 18:57
 好的太谢谢了!

那请问要是在做空开仓的情况下是这么写吗:

CON:COUNTSIG(BK,0)+COUNTSIG(SK,0);
WZ:REFSIG_PLACE(BK,1);
WZ2:REFSIG_PLACE(SK,1);
(CON=0||WZ>=3)&&开仓条件,BK;
(CON=0||WZ2>=3)&&开仓条件,SK;
技术人员回复
日期:2018-8-10 19:29
 是的
投资者咨询:编程遇到的问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-10 18:57
 额我试了一下这样开不了空仓啊,我把
CON:COUNTSIG(BK,0)+COUNTSIG(SK,0);
改成了
CON:COUNTSIG(BK,3)+COUNTSIG(SK,3);
倒是能开了,你能不能帮我解释一下这个CON:COUNTSIG(BK,3)+COUNTSIG(SK,3);加上CON=0之后组合起来是啥意思啊?

拜托拜托
投资者咨询:编程遇到的问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2018-8-10 18:57
 三个周期里买开和卖开的信号数量为0?
技术人员回复
日期:2018-8-10 19:39
参数为0,CON=0,表示历史k线上没有没有bk,sk信号

参数为3,CON=0,表示最近3个周期没有bk,sk,这种方式也可以对信号进行过滤