以文本方式查看主题

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

--  作者:yuanhang
--  发布时间:2016/12/14 10:01:14
--  连续 开仓
我想写一个加仓策略,依次加仓,3手满仓,剩下就开始依次减仓。不想满仓后,减了一手,然后又加一手,持仓又回到三手。
holding=0and开仓条件1,开;
holding=1and开仓条件2,(1);
holding=2and开仓条件3,(1);
holding=2and平仓条件1平1手;
holding>2and平仓条件2,平1手;
平仓条件3,平仓。
我的问题是,1、当满仓之后,如何分别制定第二个和第三个持仓的 平仓条件,(我的思路是根据开盘价高出多少点位,主动平仓)
2、当满仓,平掉1手后,如何避免 再次执行holding=2and开仓条件3,导致仓位再次满仓。

--  作者:jinzhe
--  发布时间:2016/12/14 10:06:34
--  

用全局变量来记录

 

variable:n=0;

 

if n=0 and holding=0 and 开仓条件1 then begin

   buy.....;

   n:=1;

end

 

if n=1 and holding=0 and 开仓条件2 then begin

   buy.....;

   n:=2;

end

if n=2 and holding=0 and 开仓条件3 then begin

   buy.....;

   n:=3;

end

 

if holding=3 and 平仓条件3 then sell.......;

if holding=2 and 平仓条件2  then sell......;

if holding=1 and 平仓条件1 then begin

   sell.......;

   n:=0;

end

 

差不多是这样的格式,你把自己的条件开平语句写进去即可


--  作者:yuanhang
--  发布时间:2016/12/14 11:22:49
--  
variable:KDYL:=0,n=0;


if n=1 and holding=0 and 开仓条件2 then begin

   buy.....;

   n:=2;

end

KDYL:=HHV(H,ENTERBARS)-ENTERPRICE;    


if n=2 and holding=0 and 开仓条件3 then begin

   buy.....;

   n:=3;

end

 

请问我插入的编码里的,ENTERBARS,和ENTERPRICE,随着新的开仓会变为新的开仓值么?还是会固定为第一次开仓值


--  作者:jinzhe
--  发布时间:2016/12/14 11:28:31
--  

会,每开一个仓就会变成新仓的值

如果要获取第一个开仓到现在的周期和开仓价,那么这样改:

eb:barslast(cross(n=1,0.5));

ep:ref(enterprice,eb);

 

 


--  作者:Amber_S
--  发布时间:2016/12/14 12:43:24
--  
额,提个疑问:

if n=1 and holding=0 and 开仓条件2 then begin

   buy.....;

   n:=2;

end

if n=2 and holding=0 and 开仓条件3 then begin

   buy.....;

   n:=3;

end

第一次已经开过仓了,账户holding已经不=0了呀,后面两次加仓还用holding=0来控制不是一直满足不了条件??


--  作者:jinzhe
--  发布时间:2016/12/14 13:10:16
--  
这里忘记改了,你改下对应的持仓