设为首页收藏本站

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

参照多周期集合贴里面例子修改后出现问题,请指教 [复制链接]

Rank: 1

精华
0
UID
97487
积分
14
帖子
2
主题
2
阅读权限
10
注册时间
2012-2-16
最后登录
2023-1-20
跳转到指定楼层
1#
发表于 2020-7-28 21:30:12 |只看该作者 |倒序浏览
利用用户函数:MinsXAverage
参照下面的应用公式下面MACERS的应用公式
修改开仓条件
最后编辑出现错误缺少Return语句,我有点看不懂;帮忙看一下哪里修改
Params
        Numeric FastLength(12);
        Numeric SlowLength(26);
        Numeric MACDLength(9);
Vars
        NumericSeries MACDValue1;
      
        NumericSeries MACDValue15;
      
        Numeric AvgMACD1;
      
        Numeric AvgMACD15;
        NumericSeries MACDDiff1;
        NumericSeries MACDDiff15;
        Bool LongEntryCon;
        Bool ShortEntryCon;
        Bool LongExitCon;
        Bool ShortExitCon;
Begin
        MACDValue1 = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );        
        AvgMACD1 = XAverage(MACDValue1,MACDLength);
        MACDDiff1 = MACDValue1 - AvgMACD1;
        
        MACDValue15 = MinsXAverage(15, Close, FastLength ) - MinsXAverage(15, Close, SlowLength );        
        AvgMACD15 = MinsXAverage(15,MACDValue15,MACDLength);
        MACDDiff15 = MACDValue15 - AvgMACD15;
        LongEntryCon = AvgMACD1 > 0   && AvgMACD15 > 0 && MACDDiff1 > MACDDiff1[1] && High > High [1] && High> High[15];
        ShortEntryCon = AvgMACD1 < 0   && AvgMACD15 < 0 && MACDDiff1 < MACDDiff1[1] && High <  High[1] && High < High[15];
        
        LongExitCon =  low <= Lowest(low,150);
        ShortExitCon = High>= Highest(High,150);
        
        Commentary("MACDDiff1="+Text(MACDDiff1));
        Commentary("MACDDiff3="+Text(MACDDiff3));
        Commentary("MACDDiff5="+Text(MACDDiff5));
        Commentary("MACDDiff15="+Text(MACDDiff15));
        Commentary("MACDDiff30="+Text(MACDDiff30));
        
        If(MarketPosition == 0)
        {
                If(LongEntryCon)
                {
                        Buy(1,NextOpen,True);
                }Else if(ShortEntryCon)
                {
                        SellShort(1,NextOpen,True);
                }               
        }Else If(MarketPosition == 1 && LongExitCon)
        {
                Sell(1,NextOpen,True);
        }Else if(MarketPosition == -1 && ShortExitCon)
        {
                BuyToCover(1,NextOpen,True);
        }
        
   
End
您需要登录后才可以回帖 登录 | 注册

bottom

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

GMT+8, 2024-5-19 13:35

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部