设为首页收藏本站

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

求一个macd相关的模型 [复制链接]

Rank: 1

精华
0
UID
224164
积分
31
帖子
19
主题
12
阅读权限
10
注册时间
2015-11-30
最后登录
2022-10-20
跳转到指定楼层
1#
发表于 2015-12-16 09:03:29 |只看该作者 |倒序浏览
公式的要求:快慢线在0轴以上,发生一次死叉后,再次发生金叉,就进场做多。在0轴以下,发生一次金叉后,再次发生死叉,进场做空。

Rank: 1

精华
0
UID
224164
积分
31
帖子
19
主题
12
阅读权限
10
注册时间
2015-11-30
最后登录
2022-10-20
2#
发表于 2015-12-16 09:04:58 |只看该作者
海阔天空 8:26:00
公式的要求:快慢线在0轴以上,发生一次死叉后,再次发生金叉,就进场做多。
海阔天空 8:26:10
见图
海阔天空 8:26:35
Params
        Numeric FastLength(12); //12
        Numeric SlowLength(26);//26
        Numeric MACDLength(9);//9
Vars
        NumericSeries MACDValue; 
        Numeric AvgMACD;
        NumericSeries MACDDiff;        
        BoolSeries        condition1;
        BoolSeries        condition2;
        
Begin
        MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;        
        AvgMACD = XAverage(MACDValue,MACDLength);
        MACDDiff = MACDValue - AvgMACD;
        PlotNumeric("MACDValue",MACDValue);
        PlotNumeric("AvgMACD",AvgMACD);
        /*if (MACDDiff>0)
                PlotNumeric("macddiff",macddiff,0,Red);
        Else
                PlotNumeric("macddiff",macddiff,0,Green);
        PlotNumeric("零线",0);*/
        
        condition1=CrossOver(MACDValue,AvgMACD);//金叉做多
        condition2=CrossUnder(MACDValue,AvgMACD);//死叉做空
        
        if(condition1[1] )
        {
                Buy(1,open);
        }
        
        if(condition2[1])
        {
                SellShort(1,open);
        } 
End
以上公式,没有办法确定0轴上的第一个死叉,0轴下的第一个金叉。该如何解决?

使用道具 举报

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

bottom

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

GMT+8, 2024-4-20 12:09

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部