设为首页收藏本站

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

如何获取上一个MACD的交叉情况? [复制链接]

Rank: 4

精华
0
UID
202052
积分
598
帖子
12
主题
3
阅读权限
50
注册时间
2015-1-20
最后登录
2015-1-30
跳转到指定楼层
1#
发表于 2015-1-28 10:57:37 |只看该作者 |倒序浏览
以下是MACD的程序
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars
        NumericSeries MACDValue;
        Numeric AvgMACD;
        Numeric MACDDiff;
Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
        AvgMACD = XAverage(MACDValue,MACDLength);
        MACDDiff = MACDValue - AvgMACD;
        PlotNumeric("MACD",MACDValue);
        PlotNumeric("MACDAvg",AvgMACD);
        If (MACDDiff >= 0)       
                PlotNumeric("MACDDiff",MACDDiff,0,Red);
        Else
                PlotNumeric("MACDDiff",MACDDiff,0,Green);
        PlotNumeric("零线",0);          
End

我的一个交易策略是需要上一个MACD的交叉来作为开仓信号的
举个例:
      If(MACDValue[1] > AvgMACD[1] and marketposition != 1)
      {
            Buy(0,Open);
      }

我尝试过把MACD的变量数值型改为变量序列数值型
即:Vars
            NumericSeries AvgMACD
            NumericSeries MACDValue

但是这样编程来的程序我回测过,感觉是不正确的,
请问我想要达到,以上一个MACD的交叉作为开仓信号该如何设置,谢谢!

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2015-1-28 14:00:08 |只看该作者
表述不太明确。
是要求上一个bar是否交叉,还是要求距离当前位置最近的一次交叉是金叉还是死叉?

使用道具 举报

Rank: 4

精华
0
UID
202052
积分
598
帖子
12
主题
3
阅读权限
50
注册时间
2015-1-20
最后登录
2015-1-30
3#
发表于 2015-1-28 14:54:03 |只看该作者
小米 发表于 2015-1-28 14:00
表述不太明确。
是要求上一个bar是否交叉,还是要求距离当前位置最近的一次交叉是金叉还是死叉? ...

想要知道上一个bar,(快线 > 慢线) 还是 (慢线 < 快线)

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2015-1-28 16:11:15 |只看该作者
CWQ_dylan 发表于 2015-1-28 14:54
想要知道上一个bar,(快线 > 慢线) 还是 (慢线 < 快线)


如果只是判断大于小于,就是你的那个写法啊。

使用道具 举报

Rank: 4

精华
0
UID
202052
积分
598
帖子
12
主题
3
阅读权限
50
注册时间
2015-1-20
最后登录
2015-1-30
5#
发表于 2015-1-28 20:23:31 |只看该作者
小米 发表于 2015-1-28 16:11
如果只是判断大于小于,就是你的那个写法啊。

好的,谢谢!我之前回测过感觉不大对劲,现在懂了!

使用道具 举报

Rank: 1

精华
0
UID
284844
积分
3
帖子
3
主题
0
阅读权限
10
注册时间
2019-10-16
最后登录
1970-1-1
6#
发表于 2019-10-22 19:59:44 |只看该作者
小米 发表于 2015-1-28 14:00
表述不太明确。
是要求上一个bar是否交叉,还是要求距离当前位置最近的一次交叉是金叉还是死叉? ...

版主你好,我想在当前BAR时引用分别引用前两个BAR的MACD值,如何实现。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2019-10-23 15:42:56 |只看该作者
shyhaiyu1018 发表于 2019-10-22 19:59
版主你好,我想在当前BAR时引用分别引用前两个BAR的MACD值,如何实现。

新建一个公式,将系统自带的MACD代码复制过来,并修改MACDDIFF的声明为numericeseries
MACDDIFF[2]就是你想要的前两个bar的值 。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-12 15:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部