设为首页收藏本站

 找回密码
 注册
楼主: 追涨杀跌
打印 上一主题 下一主题

跨周期数据转换函数以及跨周期技术指标调用的实现 [复制链接]

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
151#
发表于 2012-9-18 08:51:27 |只看该作者
本帖最后由 flyfish 于 2012-9-18 10:36 编辑

参考了mtmacd和mtkdj,尝试写了mtWR,不知道有没有问题,请高手看看

Params
        Numeric TimeFrame(15); // 目标时间周期参数,参数说明参见MtBar
        Numeric BarsBack(1); // 目标时间周期BAR偏移参数,说明见MtBar函数
        Numeric Length(30); // 均线周期

        NumericRef oWRvalue; // 以目标时间周期下的K线数据计算出的WR值
Vars
        NumericSeries mtBarCnt;
        Numeric refCurBar;
        Numeric refOpen;
        Numeric refHigh;
        Numeric refLow;
        Numeric refClose;
        Numeric refVol;
        Numeric refOpenInt;

        NumericSeries mtHigh;
        NumericSeries mtLow;
        NumericSeries mtClose;
        Numeric HH;
        Numeric Divisor;
Begin
        mtBarCnt = MtBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);
        mtHigh = refHigh;
        mtLow = refLow;
        mtClose = refClose;
        HH = Highest(mtHigh, Length);
        Divisor = HH - Lowest(mtLow, Length);
        If(Divisor <> 0) oWRvalue = 100 - (HH-mtClose)/Divisor*100;
        Else oWRvalue = Divisor;
        Return mtBarCnt;
End

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
152#
发表于 2012-9-18 09:16:28 |只看该作者
测试了一下MtWR,似乎不对,计算出来的目标周期的WR值不正确。

Params
        Numeric TimeFrame(15);
        Numeric BarsBack(1);   
        Numeric Length(30);                        
Vars
        NumericSeries WRvalue;
                Numeric oWRvalue;
        Numeric PreBar;
Begin
        PreBar = MtWR(TimeFrame,BarsBack,Length,oWRvalue);
        WRvalue = oWRvalue;

        PlotNumeric("WR",WRvalue);
        PlotNumeric("Ref1",20);
        PlotNumeric("Ref2",80);
End

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
15203
积分
1411
帖子
397
主题
35
阅读权限
60
注册时间
2010-8-14
最后登录
2017-12-29
153#
发表于 2012-9-18 12:04:08 |只看该作者
找到问题了,原来是5m周期下的Length设置不对。

比如我想计算15m周期下的WR(30),那么在5m周期下就要计算MTWR(90)才行。计算MTWR(30)就不对了。

使用道具 举报

Rank: 2

精华
0
UID
111878
积分
96
帖子
46
主题
12
阅读权限
30
注册时间
2012-8-4
最后登录
2013-3-22
154#
发表于 2012-9-25 16:47:55 |只看该作者
很好很强大,留个板凳,慢慢细看

使用道具 举报

Rank: 2

精华
0
UID
96760
积分
111
帖子
21
主题
9
阅读权限
30
注册时间
2012-2-10
最后登录
2017-6-22
155#
发表于 2012-9-27 14:54:34 |只看该作者
好贴。花了一个上午认真看代码,总算搞明白了。

使用道具 举报

Rank: 4

精华
0
UID
112065
积分
369
帖子
39
主题
9
阅读权限
50
注册时间
2012-8-15
最后登录
2015-7-8
156#
发表于 2012-9-29 21:52:05 |只看该作者
老师帮我写个SAR的跨周期策略(5分钟取30分钟的SAR呢)?

使用道具 举报

Rank: 4

精华
0
UID
112065
积分
369
帖子
39
主题
9
阅读权限
50
注册时间
2012-8-15
最后登录
2015-7-8
157#
发表于 2012-9-29 21:52:29 |只看该作者
老师帮我写个SAR的跨周期策略(5分钟取30分钟的SAR呢)?

使用道具 举报

Rank: 2

精华
0
UID
111878
积分
96
帖子
46
主题
12
阅读权限
30
注册时间
2012-8-4
最后登录
2013-3-22
158#
发表于 2012-10-24 13:56:27 |只看该作者
看得半懂半不懂的,哪位大大来帮忙解惑

CurTime,PreTime 分别代表是么意思,dateDiff为何起点从19700105开始

使用道具 举报

Rank: 2

精华
0
UID
111878
积分
96
帖子
46
主题
12
阅读权限
30
注册时间
2012-8-4
最后登录
2013-3-22
159#
发表于 2012-10-24 14:09:04 |只看该作者
慕容表哥 发表于 2012-10-24 13:56
看得半懂半不懂的,哪位大大来帮忙解惑

CurTime,PreTime 分别代表是么意思,dateDiff为何起点从19700105 ...

哪位大大帮忙“详细解释”下下面对时间处理的代码?
If (TimeFrame == 40320)                 // 月线
        {
                CurTime = Month;
                PreTime = Month[1];
        }
        Else If (TimeFrame == 10080)                        // 周线
        {
                CurTime = IntPart(DateDiff(19700105,Date)/7);
                PreTime = IntPart(DateDiff(19700105,Date[1])/7);
        }
        Else                                                                        // 其他时间周期
        {
                CurTime = IntPart((DateDiff(19700105,date)*1440 + Hour*60 + Minute)/TimeFrame);
                PreTime = IntPart((DateDiff(19700105,date[1])*1440 + Hour[1]*60 + Minute[1])/TimeFrame);
        }
        condition = CurTime != PreTime;

使用道具 举报

Rank: 1

精华
0
UID
113141
积分
32
帖子
6
主题
1
阅读权限
10
注册时间
2012-10-28
最后登录
2013-7-21
160#
发表于 2012-10-30 22:03:20 |只看该作者
老大,在1分钟周期里面怎么获取5日均线的数据呢?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-18 10:39

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部