以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4) ---- 重复开仓 (http://www.weistock.com/bbs/dispbbs.asp?boardid=4&id=72244) |
-- 作者:skylands -- 发布时间:2014/11/21 13:21:00 -- 重复开仓 我有两个独立的开仓条件,某根K线里两个条件先后满足了,然后在同一根K线内重复开仓了,但开仓的条件判断里有holding=0才开仓的,而图表上显示持仓仍是1手。理论上同根K线里不应重复开仓的啊,是不是?求解答。 sellshort(开多信号1 and holding<0,holding,limitr,open+mindiff*1),ORDERQUEUE; buy(开多信号1 and holding=0,1,limitr,open+mindiff*1),ORDERQUEUE; sellshort(开多信号2 and holding<0,holding,limitr,open+mindiff*1),ORDERQUEUE; buy(开多信号2 and holding=0,1,limitr,open+mindiff*1),ORDERQUEUE; |
-- 作者:yukizzc -- 发布时间:2014/11/21 13:33:57 -- 代码顺序问题,比如你上面如果开多信号2满足了,然后开多信号1也满足 此时因为开多1在前面所以其实holding还是=0的。
|
-- 作者:skylands -- 发布时间:2014/11/21 14:56:01 -- 但图表显示持仓为1手,这样就会导致虚拟和实际持仓不一致……这不麻烦了么,有什么办法解决这个问题? |
-- 作者:yukizzc -- 发布时间:2014/11/21 15:07:08 -- 你从哪里看到图表持仓是1手的,看下当时图表上有几个信号? 另外你的开仓条件是否有闪烁,比如开仓1满足了,过了不久这个信号消失,开仓2又满足了。这种情况是会开2次仓的 |
-- 作者:skylands -- 发布时间:2014/11/21 15:13:16 -- 图表显示就是k线图上啊,有holding输出显示虚拟持仓的。当时图表上就只有一个信号,确定没有信号闪烁,我一直盯着的。 |
-- 作者:yukizzc -- 发布时间:2014/11/21 15:32:42 -- ho:holding;
你或者在开仓语句各自加上一个 buy(开多信号1 and holding=0 and not(开多信号2),1,limitr,open+mindiff*1),ORDERQUEUE; //这样如果开多2成立,那么第一条开仓也不会执行
|
-- 作者:skylands -- 发布时间:2014/11/21 17:53:49 -- 诚如所言,确是第二个开仓语句先触发的,然后很快在同一根k线内第一个开仓语句也触发了。“后面的开仓语句不会影响前面的持仓”,这是我以前没有想到的。 你的建议是,第一个开仓语句中加not(开多信号2),第二个开仓语句中加not(开多信号1),就能避免重复开仓了?
|
-- 作者:FexTel -- 发布时间:2014/11/21 23:20:17 -- cond1:开多信号1 OR 开多信号2;
sellshort(COND2 and holding<0,holding,limitr,open+mindiff*1),ORDERQUEUE;
buy(COND1 and holding=0,1,limitr,open+mindiff*1),ORDERQUEUE; |
-- 作者:skylands -- 发布时间:2014/11/22 14:02:16 -- 哪来的COND2?是不是笔误? 能理解,但实践中这样行不通。因为我的模型两个开多信号时完全不同的,下单语句并不一样,并非都是limitr,open+mindiff这么简单。 上面yukizzc的加not限制之解答是否可行?
|
-- 作者:yukizzc -- 发布时间:2014/11/22 23:35:45 -- buy(开多信号1 and holding=0 and not(开多信号2),1,limitr,open+mindiff*1),ORDERQUEUE; buy(开多信号2 and holding=0,1,limitr,open+mindiff*1),ORDERQUEUE;
如果开多信号1成立,那么holding=1了下面开仓语句不会去执行。如果开多信号2成立那么由于not(开多信号2)的存在第一条开仓语句不会执行。
|