以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  想用编程手段把跨周期引用,本地化  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=95147)

--  作者:伍星亮
--  发布时间:2016/3/25 23:49:00
--  想用编程手段把跨周期引用,本地化

尊敬的工程师:

        您好,策略是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
图片点击可在新窗口打开查看

 

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


--  作者:伍星亮
--  发布时间:2016/3/26 10:44:30
--  
关于复权的日线的收盘数据与复权的10分钟线最后一根的收盘数据有差别的问题在其他地方都有。这数据问题的BUG能解决嘛?
--  作者:jinzhe
--  发布时间:2016/3/28 9:49:04
--  

日线非引用ma20计算方法1:

枚举法:

c1:=callstock(stklabel,vtclose,6,-1);
c2:=callstock(stklabel,vtclose,6,-2);
c3:=callstock(stklabel,vtclose,6,-3);
c4:=callstock(stklabel,vtclose,6,-4);
c5:=callstock(stklabel,vtclose,6,-5);
c6:=callstock(stklabel,vtclose,6,-6);
c7:=callstock(stklabel,vtclose,6,-7);
c8:=callstock(stklabel,vtclose,6,-8);
c9:=callstock(stklabel,vtclose,6,-9);
c10:=callstock(stklabel,vtclose,6,-10);
c11:=callstock(stklabel,vtclose,6,-11);
c12:=callstock(stklabel,vtclose,6,-12);
c13:=callstock(stklabel,vtclose,6,-13);
c14:=callstock(stklabel,vtclose,6,-14);
c15:=callstock(stklabel,vtclose,6,-15);
c16:=callstock(stklabel,vtclose,6,-16);
c17:=callstock(stklabel,vtclose,6,-17);
c18:=callstock(stklabel,vtclose,6,-18);
c19:=callstock(stklabel,vtclose,6,-19);
ma20_1:(c1+c2+c3+c4+c5+c6+c7+c8+c9+c10+c11+c12+c13+c14+c15+c16+c17+c18+c19+c)/20;

 

方法2:

计算式:

ma20_2:(stkindi(\'\',\'ma.ma3\',0,6,-1)*20-callstock(stklabel,vtclose,6,-20)+c)/20;

 


--  作者:伍星亮
--  发布时间:2016/3/28 13:18:43
--  

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

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


--  作者:jinzhe
--  发布时间:2016/3/28 13:28:31
--  
我看不懂你对于除权问题的描述
--  作者:伍星亮
--  发布时间:2016/3/28 16:39:53
--  
简单的说,我就是发现复权后的数据,日线的收盘价与10分钟线当天最后一根的收盘价有差别。比如,上图的例子。2007年5月16日后连续几天的TA00日线收盘价,与当天最后一根10分钟线收盘价就不同了。而且后几天是等差的,这证明可能是复权处理时有问题。
--  作者:jinzhe
--  发布时间:2016/3/28 17:17:08
--  

粉红的那条是日线引用的收盘价吗?


--  作者:伍星亮
--  发布时间:2016/3/29 14:11:23
--  
是的,左边那副
--  作者:jinzhe
--  发布时间:2016/3/29 14:20:03
--  

左边的没看明白你在讲什么的,右边的你讲的是“没除权却和日线匹配了”


--  作者:jinzhe
--  发布时间:2016/3/29 14:41:14
--  
右边的情况是,在除权的情况下引用除权后的数据,没除权就引用没除权的数据。从你的图片上看,你是除权了的,所以会引用的是除权后的数据,从结果上看没问题