设为首页收藏本站

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

MACD模型 请高手帮忙看看 [复制链接]

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
跳转到指定楼层
1#
发表于 2009-11-21 16:50:14 |只看该作者 |倒序浏览
MACD模型,具体思路是当MACD由绿柱变为红柱时,开多1手,当MACD红柱出现衰减时平掉多单1手;
反之,当MACD由红柱变为绿柱时,开空1手,当MACD绿柱出现递增时平掉空单1手;

Params
    Numeric FastLength(12);
    Numeric SlowLength(26);
    Numeric MACDLength(9);
Vars   
    NumericSeries MACDValue;
    NumericSeries AvgMACD;
    NumericSeries MACDDiff;
    Bool con1;
    Bool con2;
Begin
    MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;       
    AvgMACD = XAverage(MACDValue,MACDLength);
    MACDDiff = MACDValue - AvgMACD;
    con1=macddiff<macddiff[1];
    con2=abs(macddiff)>abs(macddiff[1]);

    IF(CrossOver(macddiff,0))
    Buy(1,Close);
    If(MarketPosition==1&&con1)
    SellShort(1,Close);

    if(CrossUnderHor(macddiff,0))
    Sell(1,Close);
    If(MarketPosition==-1&&con2)
    buy(1,Close);
End
只有开多信号,无开空信号,请大家帮忙看看,小女子感激不尽。。。。。。

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25132
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
2#
发表于 2009-11-21 21:52:33 |只看该作者
你这段代码图上有开空信号啊
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

Rank: 2

精华
0
UID
5345
积分
115
帖子
28
主题
3
阅读权限
30
注册时间
2009-9-2
最后登录
2019-3-24
3#
发表于 2009-11-22 08:33:56 |只看该作者

效果不一样

虽然有开空信号,但和我的模型思想差距太大啦,恳请帮我编写一下吧,谢谢你们

[ 本帖最后由 sdcgj209 于 2009-11-22 08:36 编辑 ]
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
11
UID
1
积分
25132
帖子
6291
主题
149
阅读权限
255
注册时间
2007-7-20
最后登录
2024-4-22
4#
发表于 2009-11-22 09:52:39 |只看该作者
Params
    Numeric FastLength(12);
    Numeric SlowLength(26);
    Numeric MACDLength(9);
Vars   
    NumericSeries MACDValue;
    NumericSeries AvgMACD;
    NumericSeries MACDDiff;
    Bool con1;
    Bool con2;
Begin
    MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;        
    AvgMACD = XAverage(MACDValue,MACDLength);
    MACDDiff = MACDValue - AvgMACD;
    con1=macddiff<macddiff[1];
    con2=abs(macddiff)>abs(macddiff[1]);
        If(MarketPosition == 0)
        {
                If(CrossOverHor(MACDDiff,0))
                {
                        Buy(1,close);
                }Else If(CrossUnderHor(MACDDiff,0))
                {
                        SellShort(1,close);
                }
        }Else If(MarketPosition == 1)
        {
                If(con1)
                {
                        Sell;
                }
        }Else If(MarketPosition == -1)
        {
                If(con2)
                {
                        BuyToCover;
                }
        }
End
交易开拓者 - 期货程序化与量化系统自动交易领航者

网站已支持在线开通模拟账户功能

使用道具 举报

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

bottom

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

GMT+8, 2024-5-22 17:21

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部