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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 想用编程手段把跨周期引用,本地化

   

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


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

主题:想用编程手段把跨周期引用,本地化

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
想用编程手段把跨周期引用,本地化  发帖心情 Post By:2016/3/25 23:49:00    Post IP:116.20.248.225[显示全部帖子]

尊敬的工程师:

        您好,策略是10分钟,多品种使用,跨周期引用日线,数据都是复权。但因为经常以为没逐个刷日线图表,而经常出现10分钟的信号出错。(数据是绝对补好的,但没刷图表可能就不一样了)

        现在想把日线本周期话。本来是要引用日线的MA(C,20),写了以下语句:

 



DAYCLOSE:=IFELSE(DATE<>REF(DATE,1),REF(C,1),0),NOAXIS;//读取每天最后一支线的收盘价
NO_DAY:=IFELSE(DATE<>REF(DATE,1),1,0),NOAXIS;//标记交易日数目(因为金字塔没有交易日函数)
20DAYS:=SUMBARS(NO_DAY,20),NOAXIS;//返回前20个交易日到现在的周期总数
RXMA:SUM(DAYCLOSE,20DAYS)/20;//加总各天收盘价并除以20

RXDAYCLOSE:VALUEWHEN(DATE<>REF(DATE,1),REF(C,1));//把昨收用VALUEWHEN固定以写条件

CONDLONG:=RXDAYCLOSE>RXMA;//多头过滤条件

 

本来看上去是成功了。但发现问题不少。(如图)

一、由于商品有15分钟休息,故总交易时间不能整除10分钟,故最后一根K线收盘不一定是当日收盘;

二、短周期事实上是没有完全复权的,对吗?

 

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160325225814.png
图片点击可在新窗口打开查看

 

恳请工程师帮帮忙想想办法。


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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/3/26 10:44:30    Post IP:113.69.179.241[显示全部帖子]

关于复权的日线的收盘数据与复权的10分钟线最后一根的收盘数据有差别的问题在其他地方都有。这数据问题的BUG能解决嘛?

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/3/28 13:18:43    Post IP:116.20.237.209[显示全部帖子]

金哲工程师,谢谢您的回答。但我不太明白。你告诉我的方式,始终是要跨周期引用数据啊?能不能再细看一下我贴的图所陈述的数据问题。

我是不想调用日周期的数据,这样就不用天天补充日线,执行收盘。真正可以无人值守。


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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/3/28 16:39:53    Post IP:116.20.237.209[显示全部帖子]

简单的说,我就是发现复权后的数据,日线的收盘价与10分钟线当天最后一根的收盘价有差别。比如,上图的例子。2007年5月16日后连续几天的TA00日线收盘价,与当天最后一根10分钟线收盘价就不同了。而且后几天是等差的,这证明可能是复权处理时有问题。

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/3/29 14:11:23    Post IP:113.69.212.139[显示全部帖子]

是的,左边那副

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/4/1 15:10:00    Post IP:116.20.97.161[显示全部帖子]

金哲,我再重新说一遍,看看你能否明白。

左边的红线:是直接跨周期引用的日线收盘价(-1)

右边的红线:是在图表本周期,通过序列计算出的日线收盘价。采样数据源是前一天最后一根10分钟K线的收盘价。

 

理论上说,两边的红色是应该在所有历史数据中都一致的。

但事实上,大部分是一致的,有小部分不一致,图表呈现的就是小部分。

为什么呢?是数据错误,还是我编得有问题呢?

 

 

附:右边红线的编码

以下内容为程序代码:

1 DAYCLOSE:=IFELSE(DATE<>REF(DATE,1),REF(C,1),0),NOAXIS;//读取每天最后一支线的收盘价
2 NO_DAY:=IFELSE(DATE<>REF(DATE,1),1,0),NOAXIS;//标记交易日数目(因为金字塔没有交易日函数)
3 20DAYS:=SUMBARS(NO_DAY,20),NOAXIS;//返回前20个交易日到现在的周期总数
4 RXMA:SUM(DAYCLOSE,20DAYS)/20;//加总各天收盘价并除以20
5
6 RXDAYCLOSE:VALUEWHEN(DATE<>REF(DATE,1),REF(C,1));//把昨收用VALUEWHEN固定以写条件
7
8 CONDLONG:=RXDAYCLOSE>RXMA;//多头过滤条件

 

红线就是RXDAYCLOSE

[此贴子已经被作者于2016/4/1 15:10:46编辑过]

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/4/5 14:30:36    Post IP:113.72.57.94[显示全部帖子]

是的,是这样写得

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


加好友 发短信
等级:论坛游侠 帖子:421 积分:1318 威望:0 精华:0 注册:2011/1/19 22:31:12
  发帖心情 Post By:2016/4/5 14:33:08    Post IP:113.72.57.94[显示全部帖子]

以下是引用jinzhe在2016/4/1 16:24:46的发言:
还有关于除权的问题,分钟线上除权也是有效的,但是需要有除权日显示在k线图上,看用户的k线图是可以除权的,而且已经除权了的

“但是需要有除权日显示在k线图上,看用户的k线图是可以除权的,而且已经除权了的 。”

你这句话是什么意思哦?不太明白。麻烦解答。

 

我研究针对的数据是商品期货。举例的图表是TA00。2007年5月15日后的几天。麻烦再检查看看数据

[此贴子已经被作者于2016/4/5 14:34:08编辑过]

 回到顶部