以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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=138256)

--  作者:四季长安
--  发布时间:2016/8/19 8:05:48
--  求助:有持仓的情况下出现信号不再加仓
请教,有持仓的情况下出现下单信号不再加仓,并且平仓后10个周期内不再下单的编写。谢谢
--  作者:jinzhe
--  发布时间:2016/8/19 9:22:37
--  

1.开仓条件加入holding=0

2.开仓条件加入(typ(1)=0 or (type(1)=2 and exitbars>10))


--  作者:四季长安
--  发布时间:2016/8/21 20:08:39
--  
在开单条件里加入TYPEBAR函数或是(type(1)=0 or (type(1)=2 and exitbars>10)),结果是所有信号都没了,是不是因为加入条件后因为没有第一个平仓信号,所以程序就没法显示后面的开平仓信号?加入间隔周期是因为有回撤比例平仓的条件,有时候回撤达到设定平仓后,条件还处于开单条件内,这样就会造成刚平的多单又开了一个多单,怎样避免这种情况?请老师帮忙,谢谢!!
--  作者:jinzhe
--  发布时间:2016/8/22 9:51:53
--  

那就要做全局变量去记录开仓情况了

 

variable:bj=0;

 

if bj=0 and holding=0 and 开仓条件 then begin

   buy();

   bj:=1;

end

 

 

if holding=0 and exitbars>10 and 开仓条件 then begin

    buy.....;

end

 

类似这样的,做一个标记,记录下第一次开仓状态,后续的开仓就可以用exitbars>10去执行判断了


--  作者:四季长安
--  发布时间:2016/8/22 18:22:15
--  
好的,谢谢老师
--  作者:四季长安
--  发布时间:2016/8/23 16:52:31
--  
为什么全局变量赋值不起作用?做了一个示例,老师帮忙看看哪里有问题,程序运行后并没有执行带EXITBARS>100条件的语句,所以图上只有开多信号没有开空信号,并且变量bz的值始终是0。


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160823165128.png
图片点击可在新窗口打开查看

ma10:=ma(c,10);
ma60:=ma(c,60);

VARIABLE:bz=0;

if HOLDING=0 and bz=0 and CROSS(ma10,ma60) THEN
   BEGIN
   buy (1,1,MARKET);
   bz=1;
   END
   
if CROSS(ma60,ma10) THEN SELL(1,0,MARKETR);   

if HOLDING=0 and CROSS(ma10,ma60) and EXITBARS>100 THEN buy (1,1,MARKET);
  
if CROSS(ma60,ma10) THEN SELL(1,0,MARKETR);   

if HOLDING=0 and CROSS(ma60,ma10) and EXITBARS>100  THEN BUYSHORT (1,1,MARKET); 

if CROSS(ma10,ma60) THEN SELLSHORT(1,0,MARKETR); 

m:bz;


--  作者:jinzhe
--  发布时间:2016/8/23 17:04:45
--  

BEGIN

   buy (1,1,MARKET);
   bz=1;
 END

少冒号,bz:=1;