设为首页收藏本站

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

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

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
1#
发表于 2017-9-19 14:23:27 |显示全部楼层
本帖最后由 noego345 于 2017-9-19 14:25 编辑

写了一个Cmo指标,测试基本正确,供参考:

//------------------------------------------------------------------------
// 简称: MtCMO
// 名称: MtCMO
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------

Params
        Numeric TimeFrame(5);        // 目标时间周期参数,参数说明参见MtBar
        Numeric BarsBack(1);                // 目标时间周期BAR偏移参数,说明见MtBar函数
        Numeric Length(20);                        // 均线周期
        NumericRef oCMO;             // 以目标时间周期下的K线数据计算出的移动平均线
Vars
        NumericSeries mtBarCnt;
        NumericSeries mtClose;
                NumericSeries CloseUp;
                NumericSeries CloseDown;       
                Numeric refCurBar;
        Numeric refOpen;
        Numeric refHigh;
        Numeric refLow;
        Numeric refClose;
        Numeric refVol;
        Numeric refOpenInt;
        
        Numeric SumValue(0);
        Numeric i;
        Numeric j(0);
                Numeric SumCloseUp;
                Numeric SumCloseDown;
Begin
        If(CurrentBar == 0)
        {
                oCMO= 0;
        }
        Else
        {
                mtBarCnt = MtBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);
        mtClose = refClose;
                If(mtClose > mtClose[mtBarCnt])
                {
                        CloseUp=mtClose - mtClose[mtBarCnt];
                        CloseDown=0;
                }
               
                If(mtClose < mtClose[mtBarCnt])
                {
                        CloseUp=0;
                        CloseDown=mtClose[mtBarCnt] - mtClose;
                }
               
                If(mtClose == mtClose[mtBarCnt])
                {
                        CloseUp=0;
                        CloseDown=0;
                }
               
                SumCloseUp = MtSummation(CloseUp,mtBarCnt,Length);
                SumCloseDown = MtSummation(CloseDown,mtBarCnt,Length);
                If(SumCloseUp + SumCloseDown <> 0)
                        oCMO =( SumCloseUp - SumCloseDown)/(SumCloseUp + SumCloseDown)*100;               
        }
        Return mtBarCnt;
End


//------------------------------------------------------------------------
// 编译版本        GS2015.12.25
// 用户版本        2017/09/19 09:40:58
// 版权所有        noego345
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
2#
发表于 2017-10-2 07:43:22 |显示全部楼层
mm000yy 发表于 2015-1-5 12:40
NumericRef  这种变量到底怎么用啊?实在是搞不懂。

把它当成指针或者引用

使用道具 举报

Rank: 2

精华
0
UID
231361
积分
90
帖子
64
主题
17
阅读权限
30
注册时间
2016-4-1
最后登录
2017-11-11
3#
发表于 2017-10-3 10:16:56 |显示全部楼层
扶老二 发表于 2014-5-11 19:00
大家一直期待的“MtParabolicSAR,跨周期抛物线转向ParabolicSAR函数”出炉了,有需要的帅哥美女拿去用吧, ...

计算结果对不上啊

使用道具 举报

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

bottom

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

GMT+8, 2024-5-6 13:14

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部