哪位老师指导我学习一下跨周期调用 [通达信]
-
咨询内容:
如题。先感谢了。回帖或短信都欢迎。如果我有收获,还会再感谢!!!
-
通达信技术部:
http://tdx.com.cn/dispbbs.asp?boardid=15&id=289447&page=&star=1
公式学习网址
http://tdx.com.cn/dispbbs.asp?boardid=12&Id=282467
http://tdx.com.cn/dispbbs.asp?boardid=47&Id=255723
上面的是实战的 照着写一些应该学的快些 下面网址偏理论
其实主要是自己ctrl+F 公式管理器里面 新建 插入函数
这个系统自带的东西 多看看 多用用 多实践
http://help.tdx.com.cn/book.asp 红宝书全系列 -
通达信客服:
谢谢版主指导。
以下是引用tdxluntan在2012-12-6 18:44:00的发言(摘自版主的帖子):
关于跨周期问题。红宝书是这样写的:
使用跨周期引用数据时要注意:
1.可供引用的周期类型有:
MIN1,MIN5,MIN15,MIN30,MIN60,DAY,WEEK,MONTH
分别表示将1,5,15,30,60分钟K线数据,以及日,周,月K线数据,代入被引用的公式,进行运算。
2.意义:
可将大周期内跑的数据,引用到小周期内来跑;也可将小周期内跑的数据,引用到大周期内来跑。3.切勿对开高低收以外的数据直接使用变周期转换!
4.切勿对大周期内跑的数据使用小周期转换!无论是开高低收等基本数据、还是自定义变量,都无法从大周期数据直接转换成小周期数据,只能通过公式引用来获得小周期数据。
上述2和4把我说糊涂了。只好实际试试了。 是否容许在大周期运行的公式里引用小周期数据呢?例如在周线中引用日线数据,如
c1:c#day;
k1:kdj.k#day;我刚才试了一下,在000422(湖北宜化)周线,最后三周3条K线上显示的数据分别为:
c1=9.74, k1=42.67; 9.03, 18.82; 9.23; 41.00
再去日线图,看最后三周周末那天的c和k,正是这3组数据。
这证明“在周线中引用日线数据”是成功的。
不过,以前我在日线中引用60分钟的数据,结果是不对的 -- 差1天,很有规律。(刚才没试,因为我没下载5分钟数据。)
所以,关于“大周期引用小周期”,我认为通达信的本意是允许的,只是存在BUGs。
-
网友交流:
以下是引用tdxluntan在2012-12-7 10:34:00的发言:原来如此,确实不太复杂。谢谢tdxluntan。
谢谢版主回复,虽然有点失望。跨周期引用哪有像您说的那么复杂啊?
一个大周期包含N个小周期,如下图N=4,相当于日线周期与小时周期的对应关系:
大周期K线: K K K K K K K (日K线)
小周期K线:KKKK KKKK KKKK KKKK KKKK KKKK KKKK (小时K线)
确定对应关系:大周期的K线与它所包含的N个小周期的最后一条K线对应,如日K线对应于15:00那条小时K线。
所谓跨周期引用,无论“小周期引用大周期”或“大周期引用小周期”,无非就是引用对应K线上的输出值。实现起来应该是很简单的,只要别把“对应”的K线找错了就行。
-
网友交流:
以下还是tdxluntan老师的回帖内容:
(1)20121206 问题:在日线里,求13周(或月)的最高值。 有2种办法。
A) 办法1. 在日线里根据日线数据直接求,你贴中给出了公式,但说 “{缺陷:如果哪个周一是节假日 就会多统计一周,但是已经是没有办法了}”。为什么用“周一”来判断啊?这个问题很好解决,这里不说这些了。
B) 办法2. 我们现在关心的是 “跨周期引用”,所以只用跨周期写法写。你贴中写的是
13周内的最高价线:
十三周最高:HHV(H,13)#WEEK;
13个月的最高价线:
十三月最高:HHV(H,13)#MONTH;
这种写法把概念弄错了。正确的写法如下:
{公式}十三周最高:AAA.hh#week(13);
十三月最高:AAA.hh#month(13);
--------
被调用的指标公式AAA:
{AAA}
{参数N=1,1000,5}
hh:hhv(h,N);
c0:c;
c1:ref(c,1);
ma1:ma(c,N);
(这个公式还将被下面的公式调用)
(2)20120820 能否烦请您写一个给我?
条件如下:
条件1:要求当月的收盘价与上月收盘价相比,涨幅大于20%
条件2:=要求当月的最后一个交易日的涨幅为9.5%以上。
条件1 与 条件2 同时满足。
甲) 只用日线数据。贴中给的公式仍有问题,因为也很简单,就写在这儿吧:
a:=barslast(month!=ref(month,1));
c/ref(c,a+1)-1>20/100 and c/ref(c,1)-1>9.5/100;
月收盘价和(最后交易日的)日收盘价是一回事。(不考虑历史阶段选股)乙) 用跨周期:
c0:=AAA.c0#month; {或 c0:=c;}
c1:=AAA.c1#month;
c0/c1-1>20/100 and c/ref(c,1)-1>9.5/100;
3) 20120825 #小周期引用大周期数据的问题,因为在小周期,连续的几个周期取的大周期的数值都是相等的。所以不能达到ma(c#week,5)就和周k线中的ma(c,5)一样的效果。所以下面的是一个在日线周期下面展示周均线的例子。... ...
在日线里不用跨周期而求5周均线,虽然可以,但当然是麻烦的。如果只关心在每一天的5周均线值,还是用跨周期简单,只须写:
五周均线:AAA.ma1#WEEK(5);
4) 20120914{分钟周期下的选股}
选股:日线满足C>MA(C,10), 同时60分钟线收盘价满足C>MA(C,30),应该怎么编呢,诚心求教 .
a) 用60分钟周期选股:c>ma(c,30) and c>AAA.ma1#DAY(10);
b) 日线周期选股:
c>ma(c,10) and c>AAA.ma1#MIN60(30);
{可惜实验表明在日线指标公式中#min60返回数据不对。}
以上公式都是理论上应该的写法。我做过指标公式若干,至于通达信是否支持“跨周期”选股,我不敢说。我也没有去试过。
我回此贴只想说明,“跨周期”其实就是如此简单而不是很复杂。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容