以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请问图表模式下,HOLDING=0不是判断为空仓吗  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=141851)

--  作者:netlife88
--  发布时间:2016/10/26 15:33:22
--  请问图表模式下,HOLDING=0不是判断为空仓吗
请问图表模式下,HOLDING=0不是判断为空仓吗
函数的说明:得到当前交易系统的持仓总量,多仓返回正数空仓返回负数

为什么我已经持有多单了,又开了个空单?


if d1 AND HOLDING=0 then begin //开多
   BUY(1,num,limitr,做多),orderqueue;   
end
 
if k1 AND HOLDING=0 then begin  //开空
   BUYSHORT(1,num,limitr,做空),orderqueue;
end

--  作者:jinzhe
--  发布时间:2016/10/26 16:01:12
--  

判断当前的信号持仓是不是没有持仓

有了多又开空说明前面多仓的信号消失了,导致了信号持仓也一起消失


--  作者:netlife88
--  发布时间:2016/10/26 16:07:35
--  
你好  我看了下  是多单达到条件开了多单,然后又出现开空把开多覆盖了,没有未来(用的最高价,最低价作为判断条件)

请问怎么让它出了开多就不出开空信号了, 直到开多平仓.

--  作者:jinzhe
--  发布时间:2016/10/26 16:09:49
--  

是多单达到条件开了多单,然后又出现开空把开多覆盖了,

这个就是信号消失了,多信号消失,所以才会出空信号,不是什么“空信号覆盖多信号”。你看看你代码里面是不是引用大周期的数据了


--  作者:netlife88
--  发布时间:2016/10/26 16:30:11
--  
没有引用大周期 就是引用了前一日的价格
--  作者:jinzhe
--  发布时间:2016/10/26 16:48:41
--  
发一下你的全部代码
--  作者:netlife88
--  发布时间:2016/10/26 16:58:07
--  
d1:=HIGH>=REF(HIGH,1);
k1:=LOW<=REF(LOW,1);

num:=1;//开仓手数
开多:BUY(d1 AND HOLDING=0,num,limitr,REF(HIGH,1)),orderqueue; 
开空:BUYSHORT(k1 AND HOLDING=0,num,limitr,REF(LOW,1)),orderqueue;

平空:Sellshort(holding<0 and enterbars=1,0,limitr,o),ignorecheckprice;
平多:sell(holding>0 and enterbars=1,0,limitr,o),ignorecheckprice; 
[此贴子已经被作者于2016-10-26 16:59:05编辑过]

--  作者:netlife88
--  发布时间:2016/10/26 17:00:09
--  
第二日开盘平仓
--  作者:netlife88
--  发布时间:2016/10/26 17:00:59
--  
第二个周期
--  作者:jinzhe
--  发布时间:2016/10/26 17:07:44
--  
就这么些吗?那么这个代码不会出现你讲的问题