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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教3模型组合为1单手模型?

   

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


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

主题:请教3模型组合为1单手模型?

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


加好友 发短信
等级:小飞侠 帖子:2046 积分:2707 威望:0 精华:1 注册:2011/6/14 14:49:49
请教3模型组合为1单手模型?  发帖心情 Post By:2014/9/3 0:37:13    Post IP:171.213.8.234[只看该作者]

现有模型A,B,C。分别运行于3、5、8分钟周期。 如何引用它们的holding持仓量以达到以下目的: 1、当ABC皆为1即做多,则新模型做多buy。 2、当ABC皆为-1即做空,则新模型做空buy short 3、其余时候都全平,持仓为0 请问该如何写?运行于哪个周期?
[此贴子已经被作者于2014/9/3 0:37:44编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:381 积分:0 威望:0 精华:0 注册:2013/10/2 12:35:58
  发帖心情 Post By:2014/9/3 7:33:35    Post IP:110.84.162.236[只看该作者]

分别设置3个公式,买入卖出改为holdings=1或者=0或者=-1

在策略里引用三个holdings的值,三者相加=3则做多,=-3做空

新策略要运行在1分钟周期,才能保证以更小时间间隔执行三个策略而不漏单


版主评定:好评,获得1个金币奖励好评,获得1个金币奖励
(理由:奖励)
 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/9/3 8:09:16    Post IP:42.94.16.80[只看该作者]

r1:=todaybar-1;
//********************************
rr1:=stkindiex('if00','tears25.持仓',0,22,80,0);
rr2:=stkindiex('if00','tears25.持仓',0,22,90,0);
rr3:=stkindiex('if00','qq25.持仓',0,22,125,0),noaxis;

r12:rr1+rr2+rr3,linethick0;

//*************第一遍*************
if r12=3 and p3<=xdd then 
begin
buy(holding<cx,tn,limitr,jgx+hd1+hdd);
end
if r12=-3 and p3<=xdk then 
begin
buyshort(abs(holding)<cx,tn,limitr,jgs-hd1-hdk);
end
//*************第二遍*************
if r12=3 and p3<=xdd then 
begin
buy(holding<cx,tn,limitr,jgx+hd1+hdd);
end
if r12=-3 and p3<=xdk then 
begin
buyshort(abs(holding)<cx,tn,limitr,jgs-hd1-hdk);
end
//*************第三遍*************
if r12=3 and p3<=xdd then 
begin
buy(holding<cx,tn,limitr,jgx+hd1+hdd);
end
if r12=-3 and p3<=xdk then 
begin
buyshort(abs(holding)<cx,tn,limitr,jgs-hd1-hdk);
end
//********************************
if abs(r12)<=2 and p3<=xdk then
begin
sell(holding>0,0,limitr,jgs-hd1-hdk);
end
if abs(r12)<=2 and p3<=xdd then
begin
sellshort(holding<0,0,limitr,jgx+hd1+hdk);
end

//********************************
交易总数:totaltrade,colorwhite,linethick0;
盈亏:asset-1000000,colorred,linethick1,noaxis;
日盈亏:asset-ref(asset,todaybar),noaxis,colorred,linethick0;
虚拟持仓:holding,colorwhite,linethick0;

variable:hc=0;
回撤:hhv(盈亏,30000)-盈亏,linethick0,coloryellow;
if 回撤>hc then hc:=回撤;
最大回撤:hc,linethick0,coloryellow;

[此贴子已经被作者于2014/9/3 8:10:35编辑过]

版主评定:好评,获得5个金币奖励好评,获得5个金币奖励
(理由:good)
 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/9/3 8:16:23    Post IP:42.94.16.80[只看该作者]

如果是用后台交易,开仓只要写一遍,就可以了。
如果是标准版图表交易,可以用小一点的周期,看看再同一根k线有几个同时下单的可能就用几遍。
一般使用轮询,什么周期都可以。
原程序信号不能闪,如果有闪的问题,可以适当延长扫描时间。

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


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/9/3 8:30:37    Post IP:42.94.16.80[只看该作者]

重新整理一下,前面说的不对,前面说的是净单交易:

r1:=todaybar-1;
//********************************
rr1:=stkindiex('if00','tears25.持仓',0,22,80,0);
rr2:=stkindiex('if00','tears25.持仓',0,22,90,0);
rr3:=stkindiex('if00','tears25.持仓',0,22,125,0),noaxis;

r12:rr1+rr2+rr3,linethick0;

//*****************************
if r12=3 then 
begin
buy(holding=0,tn,limitr,c);
end
if r12=-3  then 
begin
uyshort(abs(holding)=0,tn,limitr,c);
end

//********************************
if abs(r12)<=2 then
begin
sell(holding=0,0,limitr,c);
end
if abs(r12)<=2 then
begin
sellshort(holding=0,0,limitr,c);
end
//********************************
交易总数:totaltrade,colorwhite,linethick0;
盈亏:asset-1000000,colorred,linethick1,noaxis;
日盈亏:asset-ref(asset,todaybar),noaxis,colorred,linethick0;
虚拟持仓:holding,colorwhite,linethick0;

variable:hc=0;
回撤:hhv(盈亏,30000)-盈亏,linethick0,coloryellow;
if 回撤>hc then hc:=回撤;
最大回撤:hc,linethick0,coloryellow;

什么周期都可以,不要太大(8分,10分都可以)。
要使用轮询,原程序的信号不能闪,否则会来回交易,可以适当延长扫描时间来缓解“信号闪”的问题。
也可以在任意周期上使用k线走完模式交易,注意这样做图表结果和实盘是有差异的。如果图表k线周期大于你原程序周期则一致。


版主评定:好评,获得5个金币奖励好评,获得5个金币奖励
(理由:good)
 回到顶部
帅哥哟,离线,有人找我吗?
qwer123
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小飞侠 帖子:1966 积分:0 威望:0 精华:1 注册:2013/6/15 21:56:35
  发帖心情 Post By:2014/9/3 8:50:54    Post IP:42.94.16.80[只看该作者]

重新修改一下:
r1:=todaybar-1;
tn:=1;
//********************************
rr1:=stkindiex('if00','tears25.持仓',0,22,80,0);
rr2:=stkindiex('if00','tears25.持仓',0,22,90,0);
rr3:=stkindiex('if00','tears25.持仓',0,22,125,0),noaxis;

r12:rr1+rr2+rr3,linethick0;

//*****************************
if r12=3 then 
begin
buy(holding=0,tn,limitr,c);
end
if r12=-3  then 
begin
buyshort(abs(holding)=0,tn,limitr,c);
end

//********************************
if abs(r12)<=2 then 
begin
sell(holding>0,0,limitr,c);
end
if abs(r12)<=2 then
begin
sellshort(holding<0,0,limitr,c);
end
//********************************
交易总数:totaltrade,colorwhite,linethick0;
盈亏:asset-1000000,colorred,linethick1,noaxis;
日盈亏:asset-ref(asset,todaybar),noaxis,colorred,linethick0;
虚拟持仓:holding,colorwhite,linethick0;

variable:hc=0;
回撤:hhv(盈亏,30000)-盈亏,linethick0,coloryellow;
if 回撤>hc then hc:=回撤;
最大回撤:hc,linethick0,coloryellow;

如果不是一根k线走完,图表结果和实盘结果有差异,实盘会比图表好。

 回到顶部