设为首页收藏本站

 找回密码
 注册
查看: 3583|回复: 17
打印 上一主题 下一主题

请教老师调用的问题 [复制链接]

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
跳转到指定楼层
1#
发表于 2016-1-18 11:27:02 |只看该作者 |倒序浏览
请问老师我如何在5分钟上调用30分钟的AMA



以下为30分钟的:
DIR:=ABS(CLOSE-REF(CLOSE,14));
VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),14);
ER:=DIR/VIR;
CS:=ER*(2/3-2/31)+2/31;
CQ:=CS*CS;
AMA:EMA(DMA(CLOSE,CQ),2);

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
2#
发表于 2016-1-18 13:22:18 |只看该作者
请教老师问题?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2016-1-18 13:50:39 |只看该作者
有关跨周期的问题,请先看看该贴的内容。。应该是会有帮助 的
http://bbs.tb18.net/thread-2785-1-1.html

使用道具 举报

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
4#
发表于 2016-1-18 14:00:42 |只看该作者
我已经看过了,但是编起来还是有些吃力

使用道具 举报

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
5#
发表于 2016-1-18 14:51:22 |只看该作者
请老师帮忙编写

使用道具 举报

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
6#
发表于 2016-1-18 15:20:38 |只看该作者
请老师帮忙编写

使用道具 举报

Rank: 1

精华
0
UID
218483
积分
15
帖子
11
主题
2
阅读权限
10
注册时间
2015-8-30
最后登录
2016-2-4
7#
发表于 2016-1-18 16:19:05 |只看该作者
请老师帮忙  拜托

使用道具 举报

Rank: 1

精华
0
UID
160268
积分
4
帖子
4
主题
0
阅读权限
10
注册时间
2013-3-26
最后登录
2017-5-16
8#
发表于 2016-1-19 10:42:32 |只看该作者
zhanghaihua 发表于 2016-1-18 16:19
请老师帮忙  拜托

需要建立两个函数 mtbar ,mydma,一个公式应用getama.
其中mtbar是蔡云华老师论坛里面的代码。
mydma是按照你的思路写的跨周期调用dma的,
getama是求取ama指标的公式。
请按顺序编译。

使用道具 举报

Rank: 1

精华
0
UID
160268
积分
4
帖子
4
主题
0
阅读权限
10
注册时间
2013-3-26
最后登录
2017-5-16
9#
发表于 2016-1-19 10:43:07 |只看该作者
这是mtbar的代码
Params
        Numeric TimeFrame(1440);   
        // 目标时间周期:月线=40320,周线=10080,日线=1440,4小时线=240
        // 其他1小时内的周期等于相应的分钟数,如:1小时=60, 30分钟=30。。。
        // 支持不规则分钟数,如3分钟,8分钟,之类都行
        Numeric BarsBack(1);
        // 目标时间周期BAR偏移:
        // 1--表示将目标时间周期下的前1根K线数据作为与当前Bar对应的目标时间周期下的K线数据
        // 0--表示将目标时间周期下的截止到目前为止的数据转换为与当前BAR对应的目标时间周期下K线数据
        NumericRef oCurBar;                 // 目标时间周期下的Bar索引
        NumericRef oOPenHT;         // 目标时间周期下的开盘价
        NumericRef oHighHT;         // 目标时间周期下的最高价
        NumericRef oLowHT;          // 目标时间周期下的最低价  
        NumericRef oCloseHT;        // 目标时间周期下的收盘价
        NumericRef oVolHT;          // 目标时间周期下的成交量
        NumericRef oOpenIntHT;      // 目标时间周期下的持仓量
Vars
        NumericSeries barCnt;
        NumericSeries CurBar;
        NumericSeries barCntSum;
        NumericSeries OpenHT;
        NumericSeries HighHT;
        NumericSeries LowHT;
        NumericSeries CloseHT;
        NumericSeries VolHT;
        NumericSeries OpenIntHT;
        Numeric CurTime;
        Numeric PreTime;
        bool condition(false);
        Numeric i;
Begin
        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;
        If (CurrentBar==0)                // 如果是第一根Bar, CurBar=0
        {
                barCnt = 0;
                CurBar = 0;
                OpenHT = Open;
                HighHT = High;
                LowHT = Low;
                CloseHT = Close;
                VolHT = Vol;
                OpenIntHT = OpenInt;
        }
        Else
        {
                If(Condition)               
                // 如果在目标周期下,属于另一根K线,则CurBar加1
                {
                        barCnt = 1;
                        CurBar = CurBar[1] + 1;
                        OpenHT = Open;
                        HighHT = High;
                        LowHT = Low;
                        VolHT = Vol;
                }Else
                // 如果在目标周期下,属于同一根K线,则CurBar不变,但最高价和最低价要记录价格的变化,成交量要累加
                {
                        barCnt = barCnt[1] + 1;
                        CurBar = CurBar[1];
                        OpenHT = OpenHT[1];
                        HighHT = Max(HighHT[1],High);
                        LowHT = Min(LowHT[1],Low);
                        VolHT = VolHT[1] + Vol;
                }
                CloseHT = Close;
                OpenIntHT = OpenInt;
        }
        // 上面的程序,在每根小周期的K线上,记录了它所属的大时间周期下的开高低收等值的变化。
        // 接下来,要把在大的时间周期级别上,属于同一根K线的开高低收这些数据,记录在这一组小周期K线的最后一根上。
        barCntSum = barCnt ;
        If(BarsBack == 0)
        // 如果Bar偏移参数为0,则取每根小周期K线上保留的大时间周期截止到这根小周期K线为止的BAR数据
        {
                barCntSum = 0 ;
        }Else If(BarsBack == 1)
        // 如果Bar偏移参数为1,则取大时间周期的上一根K线的BAr数据
        {
                barCntSum = barCnt ;
        }Else
        // 如果BAR偏移参数为其他,则取大时间周期的指定偏移后的那根K线的BAR数据
        {
                For i = 2 To BarsBack
                {
                        barCntSum = barCntSum + barCnt[barCntSum];
                }
        }
        // 最后将相应的K线数据作为引用参数返回
        oCurBar = CurBar;
        oOpenHT = OpenHT[barCntSum];
        oHighHT = HighHT[barCntSum];
        oLowHT = LowHT[barCntSum];
        oCloseHT = CloseHT[barCntSum];
        oVolHT = VolHT[barCntSum];
        oOpenIntHT = OpenIntHT[barCntSum];
        Return barCnt;
End

使用道具 举报

Rank: 1

精华
0
UID
160268
积分
4
帖子
4
主题
0
阅读权限
10
注册时间
2013-3-26
最后登录
2017-5-16
10#
发表于 2016-1-19 10:43:28 |只看该作者
//------------------------------------------------------------------------
// 简称: MYDMA
// 名称:
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
//使用注意:请先编译蔡云华老师的跨周期基础函数mtbar;

/*原指标
DIR:=ABS(CLOSE-REF(CLOSE,14));
VIR:=SUM(ABS(CLOSE-REF(CLOSE,1)),14);
ER:=DIR/VIR;
CS:=ER*(2/3-2/31)+2/31;
CQ:=CS*CS;
AMA:EMA(DMA(CLOSE,CQ),2);

DMA计算公式 DMA(CLOSE,CQ)=CQ*close-(1-CQ)*P',P'=上周期P值;
EMA计算公式 P=EMA(P1,P2), P=[2*P1+(P2-1)*P']/(P2+1),P'=上周期P值
如果P2等于2,那么P=2*P1-P';
*/
Params

        Numeric TimeFrame(30);        // 目标时间周期参数,参数说明参见MtBar
        Numeric BarsBack(1);         // 目标时间周期BAR偏移参数,说明见MtBar函数
                NumericRef MYDMAREF;
Vars
        NumericSeries mtBarCnt;
        NumericSeries mtOpen;
        NumericSeries mtHigh;
        NumericSeries mtLow;
        NumericSeries mtClose;
        NumericSeries mtVol;
        NumericSeries mtOpenInt;
        Numeric refCurBar;
        Numeric refOpen;
        Numeric refHigh;
        Numeric refLow;
        Numeric refClose;
        Numeric refVol;
        Numeric refOpenInt;

        Numeric i;
        Numeric j1;
                Numeric j2;
                Numeric j3;
                Numeric j14;
                Numeric temp;
                Numeric MYVIR;
                Numeric MYDIR;
                Numeric MYER;
                Numeric MYCS;
                Numeric MYCQ;
Begin
        mtBarCnt = MtBar(TimeFrame,BarsBack,refCurBar,refOpen,refHigh,refLow,refClose,refVol,refOpenInt);
        for i=1 to BarsBack
                {
                j1=j1+mtbarcnt[j1];
                }
        j2=j1+mtbarcnt[j1];
        j3=j2+mtbarcnt[j2];
        j14=j1;
        for i=1 to 14
                {
                temp=Close[j14];
                j14 = j14 + mtBarCnt[j14];
                MYVIR=MYVIR+Abs(Close[j14]-temp);
                }
        MYDIR=Abs(close[j1]-Close[j14]);
        MYER=MYDIR/MYVIR;
        MYCS=MYER*(2/3-2/31)+2/31;
        MYCQ=MYCS*MYCS;
       
        MYDMAREF=MYCQ*Close[j1]+(1-MYCQ)*Close[j2];
        Return mtBarCnt;
End


//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2016/01/19 09:01:07
// 版权所有        xhqh10102076
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

使用道具 举报

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

bottom

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

GMT+8, 2024-5-19 12:00

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部