欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教2个策略叠加的写法

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2271人关注过本帖树形打印复制链接

主题:请教2个策略叠加的写法

帅哥哟,离线,有人找我吗?
daviwang
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/8/20 15:46:56
请教2个策略叠加的写法  发帖心情 Post By:2016/12/28 10:14:41    Post IP:61.141.248.174[只看该作者]

思路是2个策略叠加,分别用开多条件1,开多条件2等,我想2个策略各开各的仓位,互相不影响,这样写有没有问题?为什么这样运行后总的开仓数量不等于2个策略开仓数量的和,开仓数量比单个策略里开仓数量稍多的那个还少?

VARIABLE:holding1=0,HOLDINGd=0;

开多条件2:=**;

平多条件2:=**;

开空条件2:=**;

平空条件2:=c** ;

多仓止损条件2:=**;

空仓止损条件2:=**;


if   holdingd=0 and 开多条件2=1  THEN BEGIN;

buy(1,1,MARKETR);

holdingd:=1;

end;


if   holdingd=0 and  开空条件2=1 THEN BEGIN;

BUYSHORT(1,1,MARKETR);

holdingd:=-1;

end;


if  holdingd=1 and (平多条件2=1 or 多仓止损条件2=1) THEN BEGIN;

sell(1,1,MARKETR);

HOLDINGd:=0;

end;


if  holdingd=-1 and (平空条件2=1 or 空仓止损条件2=1) THEN BEGIN;

SELLSHORT(1,1,MARKETR);

HOLDINGd:=0;

end;

开多条件1:=**;

平多条件1:=c**;

开空条件1:=c**;

平空条件1:=** ;

多仓止损条件1:=c**;

空仓止损条件1:=c**;


if holding1=0 and 开多条件1=1  THEN BEGIN;

buy(1,1,MARKETR);

Holding1:=1;

end;


if holding1=0 and  开空条件1=1 THEN BEGIN;

BUYSHORT(1,1,MARKETR);

holdingh:=-1;

end;


if  holding1=1 and (平多条件1=1 or 多仓止损条件1=1) THEN BEGIN;

sell(1,1,MARKETR);

Holding1:=0;

end;


if  holding1=-1 and (平空条件1=1 or 空仓止损条件1=1) THEN BEGIN;

SELLSHORT(1,1,MARKETR);

Holding1:=0;

end;





 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/12/28 10:20:47    Post IP:180.169.30.6[只看该作者]

有多又有空的两个策略加一起能难实现你要的。因为当策略1出开多信号而策略2出开空信号时,是做不到即开多又开空的


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
daviwang
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/8/20 15:46:56
  发帖心情 Post By:2016/12/28 10:29:11    Post IP:61.141.248.174[只看该作者]

那这样写,除了开仓后未平仓前无法反向开仓,还有别的可能存在的冲突吗?


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/12/28 10:34:04    Post IP:180.169.30.6[只看该作者]

if   holdingd=0 and 开多条件2=1  THEN BEGIN

这样句子,每句都要加上holding判断

 

if   holdingd=0 and 开多条件2=1 and holding=0  THEN BEGIN

 

毕竟holdingd不是实际的信号持仓,要用holding来限定住实际的信号持仓,根据我上面讲的,一旦出现双向开仓的情况,holdingd的值是会有误差的



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
daviwang
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/8/20 15:46:56
  发帖心情 Post By:2016/12/28 10:42:26    Post IP:61.141.248.174[只看该作者]

开仓时都增加了holding=0,改成如下后,未平仓前就不会再开仓了,最多持有1手。按之前的写法可以同时持仓2手。之前的写法测试结果会更好。

if   holdingd=0 and holding=0 and 开多条件2=1  THEN BEGIN;


 回到顶部
帅哥哟,离线,有人找我吗?
daviwang
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/8/20 15:46:56
  发帖心情 Post By:2016/12/28 10:48:25    Post IP:61.141.248.174[只看该作者]

您说出现双向开仓的情况,holdingd的值是会有误差 ,您指的双向开仓是1个策略开多,另外1个策略开空吗?这种情况在测试中没有发生。

 

用全局变量holdingd来限定持仓,在1个策略开多,另外1个策略也开多的情况下会出现误差吗?


 回到顶部
帅哥哟,离线,有人找我吗?
jinzhe
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2016/12/28 11:14:48    Post IP:180.173.41.99[只看该作者]

开多holding判断写成holding>=0

开空holding判断写成holding<=0



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
daviwang
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:117 积分:0 威望:0 精华:0 注册:2016/8/20 15:46:56
  发帖心情 Post By:2016/12/28 11:19:34    Post IP:61.141.248.174[只看该作者]

明白,谢谢


 回到顶部