设为首页收藏本站

 找回密码
 注册
查看: 1908|回复: 3

请各位老师看看 为什么编译通不过?谢谢 [复制链接]

Rank: 1

精华
0
UID
177429
积分
13
帖子
7
主题
5
阅读权限
10
注册时间
2013-12-13
最后登录
2018-3-22
发表于 2018-3-22 14:36:21 |显示全部楼层
// 简称: DualThrust
// 名称: 首创版5分钟
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
        
        Numeric K1(0.5);
        Numeric K2(0.5);
        Numeric Mday(1);
        Numeric Nday(1);
        Numeric Lots(1);
        Numeric offset(0);
        
Vars
        Numeric BuyRange(0);
        Numeric SellRange(0);
        Numeric BuyTrig(0);
        Numeric SellTrig(0);
        Numeric HH;
        Numeric LL;
        Numeric HC;
        Numeric LC;
        Numeric i_offset;
        Numeric BuyPosition;
        Numeric SellPosition;
      

Begin

        If(CurrentBar > 44*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改
        {
                i_offset = offset*MinMove*PriceScale;
                HH = Highest(HighD(1),Mday);
                HC = Highest(CloseD(1),Mday);
                LL = Lowest(LowD(1),Mday);
                LC = Lowest(CloseD(1),Mday);
                If((HH - LC) >= (HC - LL))
                {
                        SellRange = HH - LC;
                }
                Else
                {
                        SellRange = HC - LL;
                }
                HH = Highest(HighD(1),Nday);
                HC = Highest(CloseD(1),Nday);
                LL = Lowest(LowD(1),Nday);
                LC = Lowest(CloseD(1),Nday);

                If((HH - LC) >= (HC - LL))
                {
                        BuyRange = HH - LC;
                }
                Else
                {
                        BuyRange = HC - LL;
                }
                BuyTrig = K1*BuyRange;
                SellTrig = K2*SellRange;
                BuyPosition = OpenD(0)+BuyTrig;
                SellPosition = OpenD(0)-SellTrig;
                PlotNumeric("BuyPosition",BuyPosition);
                PlotNumeric("SellPosition",SellPosition);
                If(MarketPosition==0)
                        { If(High>=BuyPosition)
                              {    Buy(lots,Max(Open,BuyPosition)+i_offset);
                                 Return;            }
                                If(Low<=SellPosition)
                                {         SellShort(lots,Min(Open,SellPosition)-i_offset);
                                    Return; }
                              }
                If(MarketPosition==-1)
                {
                     { If(High>=BuyPosition)
                              {    Buy(lots,Max(Open,BuyPosition)+i_offset);
                                    Return;            }  
                    }

                  If(MarketPosition==1)
                     {
                                      If(Low<=SellPosition)
                                {         SellShort(lots,Min(Open,SellPosition)-i_offset);
                                    Return; }
                              }

             }
             End



//------------------------------------------------------------------------
// 编译版本:        2018-03-22 142440
// 内核版本:        V2.7.2.14
// 版权所有        haqh100867599
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
发表于 2018-3-22 21:50:07 |显示全部楼层
Params
        
        Numeric K1(0.5);
        Numeric K2(0.5);
        Numeric Mday(1);
        Numeric Nday(1);
        Numeric Lots(1);
        Numeric offset(0);
        
Vars
        Numeric BuyRange(0);
        Numeric SellRange(0);
        Numeric BuyTrig(0);
        Numeric SellTrig(0);
        Numeric HH;
        Numeric LL;
        Numeric HC;
        Numeric LC;
        Numeric i_offset;
        Numeric BuyPosition;
        Numeric SellPosition;
      

Begin

        If(CurrentBar <= 44*Max(Mday,Nday))//使用的是5分钟周期,其它的周期自己做相应修改
                        Return;

                                i_offset = offset*MinMove*PriceScale;
                HH = Highest(HighD(1),Mday);
                HC = Highest(CloseD(1),Mday);
                LL = Lowest(LowD(1),Mday);
                LC = Lowest(CloseD(1),Mday);
                If((HH - LC) >= (HC - LL))
                {
                        SellRange = HH - LC;
                }
                Else
                {
                        SellRange = HC - LL;
                }
                HH = Highest(HighD(1),Nday);
                HC = Highest(CloseD(1),Nday);
                LL = Lowest(LowD(1),Nday);
                LC = Lowest(CloseD(1),Nday);

                If((HH - LC) >= (HC - LL))
                {
                        BuyRange = HH - LC;
                }
                Else
                {
                        BuyRange = HC - LL;
                }
                BuyTrig = K1*BuyRange;
                SellTrig = K2*SellRange;
                BuyPosition = OpenD(0)+BuyTrig;
                SellPosition = OpenD(0)-SellTrig;
                PlotNumeric("BuyPosition",BuyPosition);
                PlotNumeric("SellPosition",SellPosition);
                If(MarketPosition==0)
                        { If(High>=BuyPosition)
                              {    Buy(lots,Max(Open,BuyPosition)+i_offset);
                                 Return;            }
                                If(Low<=SellPosition)
                                {         SellShort(lots,Min(Open,SellPosition)-i_offset);
                                    Return; }
                              }
                If(MarketPosition==-1)
                {
                     If(High>=BuyPosition)
                              {    Buy(lots,Max(Open,BuyPosition)+i_offset);
                                    Return;            }  
                    }

                  If(MarketPosition==1)
                     {
                                      If(Low<=SellPosition)
                                {         SellShort(lots,Min(Open,SellPosition)-i_offset);
                                    Return; }
                              }

              
             End

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
0
UID
119549
积分
3071
帖子
2946
主题
2
阅读权限
200
注册时间
2013-5-23
最后登录
2020-5-27
发表于 2018-3-23 08:45:35 |显示全部楼层
Yuen_Lee 发表于 2018-3-22 21:50
Params
        
        Numeric K1(0.5);

编译不了提示什么

使用道具 举报

Rank: 4

精华
0
UID
110114
积分
380
帖子
314
主题
16
阅读权限
50
注册时间
2012-4-20
最后登录
2021-12-29
发表于 2018-3-23 23:12:51 |显示全部楼层
我发现了两个问题,第一个是在第76行多了一个大括号“{”,还有一个就是不能在If语句中使用Highest(),所以我将Highest()提了出来。这样就可以编译了。

错误提示如附件图。
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

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

bottom

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

GMT+8, 2024-3-29 21:54

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部