以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  条件过滤  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=84202)

--  作者:aback
--  发布时间:2015/8/19 23:34:18
--  条件过滤
有两个同品种同周期的策略想合并成一个,但开平仓又不能相互影响,如何能做到?
--  作者:aback
--  发布时间:2015/8/19 23:49:14
--  
举个例子,比如开盘向上突破后,A策略开仓,,再往上突破后,B开仓.怎么控制A只开仓一次。然后第二天回落,可能只触发B平仓一次,这个信号如何过滤啊
--  作者:jinzhe
--  发布时间:2015/8/20 8:51:57
--  

要求只开仓一次的,用全局变量来限定,比如假定策略A的开仓条件为c>o:

variable:bj=0;

if bj=0 and c>o and holding=0 then begin

   buy(1,1,market);

   bj:=1;

end

 

下面这一句写在代码的最后

if time=closetime(0) then bj:=0;


--  作者:aback
--  发布时间:2015/8/20 8:59:57
--  
开仓和平仓语句都有很多条,那就要用很多变量.两个模型放一起需要几十个变量,太多了吧?
[此贴子已经被作者于2015/8/20 9:00:24编辑过]

--  作者:jinzhe
--  发布时间:2015/8/20 9:08:46
--  
用上面的框架,然后全部都占用一个变量
--  作者:aback
--  发布时间:2015/8/20 13:01:44
--  
没想明白,如果A策略有每天有一次开仓机会,满足就开2手,对应两个平仓条件,满足一个平仓一手(一个条件只能平一手)。
                   B策略也有每天有一次开仓机会,满足就开2手,对应三个平仓条件,满足一个平仓一手(一个条件只能平一手)。

怎么写?
[此贴子已经被作者于2015/8/20 13:02:36编辑过]

--  作者:jinzhe
--  发布时间:2015/8/20 13:18:57
--  

variable:bj1=0,bj2=0;

variable:p1=0,p2=0,p3=0,p4=0,p5=0;

if 条件A and bj1=0 then begin

   buy.....;

   bj1:=1;

end

 

if 条件B and bj2=0 then begin

    buy.......;

    bj2:=1;

end

 

if bj1=1 and 平仓A1 and p1=0 then begin

    sell....;

     p1:=1;

end

 

if bj1=1 and 平仓A2 and p2=0 then begin

    sell....;

     p2:=1;

end

 

if bj2=1 and 平仓b1 and p3=0 then begin

    sell....;

    p3:=1;

end

 

if bj2=1 and 平仓b2 and p4=0 then begin

    sell....;

    p4:=1;

end

 

if bj2=1 and 平仓b3 and p5=0 then begin

    sell....;

    p5:=1;

end

if time=closetime(0) then begin

   bj1:=0;

   bj2:=0;

   p1:=0;p2:=0;p3:=0;p4:=0;p5:=0;

end


--  作者:aback
--  发布时间:2015/8/20 13:24:54
--  
好的,谢谢!