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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教问题怎么解决?谢谢

   

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


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

主题:请教问题怎么解决?谢谢

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


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2016/10/15 14:16:15
请教问题怎么解决?谢谢  发帖心情 Post By:2018/12/16 13:11:45    Post IP:182.138.92.212[只看该作者]

1时收:CALLSTOCKEX('RB00',vtCLOSE,5,0,0);
4时收:CALLSTOCKEX('RB00',vtCLOSE,13,0,0);
日收:CALLSTOCKEX('RB00',vtCLOSE,6,0,0);
周收:CALLSTOCKEX('RB00',vtCLOSE,7,0,0);

1时均:ma(1时收,2),LINETHICK2;
4时均:ma(4时收,45),LINETHICK2;
日均:ma(日收,17),LINETHICK2;
周均:ma(周收,2),LINETHICK2;

1时做多:=ref(CROSS(1时收-0.79,1时均),1) and 1时收-0.79>1时均;
1时做空:=ref(CROSS(1时均,1时收+0.79),1) and 1时均>1时收+0.79;
4时做多:=ref(CROSS(4时收,4时均),1) and 4时收>4时均;
4时做空:=ref(CROSS(4时均,4时收),1) and 4时均>4时收;
日做多:=ref(CROSS(日收,日均),1) and 日收>日均;
日做空:=ref(CROSS(日均,日收),1) and 日均>日收;
周做多:=ref(CROSS(周收-1,周均),1) and 周收-1>周均;
周做空:=ref(CROSS(周均,周收+1),1) and 周均>周收+1;

当前资金:ASSET,NOAXIS;
持仓量:=HOLDING;

IF 1时做多 THEN
BEGIN
PLAYSOUND(HOLDING<0,'E:\Alarm.WAV');
SELLSHORT(HOLDING<0,0,MARKET);
BUY(HOLDING=0,仓1时%,MARKET);
END

IF 4时做多 THEN
BEGIN
PLAYSOUND(HOLDING<0,'E:\Alarm.WAV');
SELLSHORT(HOLDING<0,0,MARKET);
BUY(HOLDING=0,仓4时%,MARKET);
END

IF 日做多 THEN
BEGIN
PLAYSOUND(HOLDING<0,'E:\Alarm.WAV');
SELLSHORT(HOLDING<0,0,MARKET);
BUY(HOLDING=0,仓日%,MARKET);
END

IF 周做多 THEN
BEGIN
PLAYSOUND(HOLDING<0,'E:\Alarm.WAV');
SELLSHORT(HOLDING<0,0,MARKET);
BUY(HOLDING=0,仓周%,MARKET);
END

IF 1时做空 THEN
BEGIN
PLAYSOUND(HOLDING>0,'E:\Alarm.WAV');
SELL(HOLDING>0,0,MARKET);
BUYSHORT(HOLDING=0,仓1时%,MARKET);
END

IF 4时做空 THEN
BEGIN
PLAYSOUND(HOLDING>0,'E:\Alarm.WAV');
SELL(HOLDING>0,0,MARKET);
BUYSHORT(HOLDING=0,仓4时%,MARKET);
END

IF 日做空 THEN
BEGIN
PLAYSOUND(HOLDING>0,'E:\Alarm.WAV');
SELL(HOLDING>0,0,MARKET);
BUYSHORT(HOLDING=0,仓日%,MARKET);
END

IF 周做空 THEN
BEGIN
PLAYSOUND(HOLDING>0,'E:\Alarm.WAV');
SELL(HOLDING>0,0,MARKET);
BUYSHORT(HOLDING=0,仓周%,MARKET);
END
------------------------------------------------------
现在遇到的问题是:一小时图表中,日线的 开仓/反手 信号在当天的第一个小时就出现了。正常正确的应该是:在 日线图表中 单独加载 日线的 开仓/反手 信号,当天日线收盘价定K才出现 信号才对。周线的 开仓/反手 信号在当周的第一个小时就出现了,正常正确的应该是:周五最后一个小时定周线K才出现信号才对。2小时、4小时问题 同理。
我如何才能实现:一小时图表中,4小时、日线、周线等跨周期的信号在正确的位置出现 开平仓信号?同时反过来,在周线图表中,我如何能够实现日线、4小时、1小时等 小周期的信号和仓位的问题?同时,在 日线图表中,能否实现 跨大小周期的 周线、4小时线、1小时的 信号和不同的仓位问题?
谢谢

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/12/17 10:45:47    Post IP:180.169.30.6[只看该作者]

 你这个需求描述的太笼统了啊。 毕竟是代码问题,建议还是详细描述,比如需要用代码实现什么样的具体操作。
简单看了下代码,看到一个可能存在的问题。
1时收:CALLSTOCKEX('RB00',vtCLOSE,5,0,0);
4时收:CALLSTOCKEX('RB00',vtCLOSE,13,0,0);
日收:CALLSTOCKEX('RB00',vtCLOSE,6,0,0);
周收:CALLSTOCKEX('RB00',vtCLOSE,7,0,0);

1时均:ma(1时收,2),LINETHICK2;
4时均:ma(4时收,45),LINETHICK2;
日均:ma(日收,17),LINETHICK2;
周均:ma(周收,2),LINETHICK2;

这里的均线是想求什么均线,指定周期上的均线值?如果是这样的话,这样计算是不对的。举个例子吧:
比如你1分钟周期,你想求五分钟周期的均线,你应该新建一个均线指标,然后在1分钟上引用五分钟周期的均线指标来获取这个值,这个要用stkind函数去实现。你这样把数据引用过来计算均值是有问题的。
比如你1分钟你引用大周期的五分钟,这样你连续几个1分钟K引用到的都会是一个大周期五分钟的值,这种情况下你求的均值根本不是五分钟周期上均线值的。
[此贴子已经被作者于2018/12/17 10:46:44编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
菩提长江
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2016/10/15 14:16:15
  发帖心情 Post By:2018/12/17 11:48:33    Post IP:110.185.168.25[只看该作者]

@FireScript 你的理解是对的,能否帮忙将上述我的代码用 stkind函数 来实现?谢谢
我的目的就是:在1小时图表下,引用4小时、日线、周线 这三个大周期图表中的均线值,并且满足相对应的图表中 收盘价和均线值的关系,然后 开仓/反手,不同的周期对应不同的 开仓的 仓位。

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


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2018/12/17 12:19:06    Post IP:180.169.30.6[只看该作者]

 stkind的使用有专门说明帖的,你先参考下这个帖子里面的说明尝试下:


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
菩提长江
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:19 积分:0 威望:0 精华:0 注册:2016/10/15 14:16:15
  发帖心情 Post By:2018/12/19 14:30:15    Post IP:182.138.95.73[只看该作者]

内容被屏蔽

 回到顶部