jrqh116098 发表于 2014-4-19 17:42:04

代码出问题了,请老师看下是哪里出问题了?

//------------------------------------------------------------------------
// 简称: WaddahAttar
// 名称: WaddahAttar日内策略
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------

Params

      Numeric            K1(0.618);
          Numeric            K2(0.618);
          
Vars

      NumericSeries      PreDayLow;
          NumericSeries      PreDayHigh;
          NumericSeries      PreDayClose;
          NumericSeries      PreDayOpen;
          
          NumericSeries      UpBuffer;
          NumericSeries      DownBuffer;
          
          NumericSeries      BestUp;
          NumericSeries      BestDown;
          NumericSeries      Middle;
          
Begin
      
      If(CurrentBar>89)
            {
                PreDayLow=LowD(1);
                Commentary("PreDayLow:"+Text(PreDayLow));
               
                PreDayHigh=HighD(1);
                Commentary("PreDayHigh:"+Text(PreDayHigh));
               
                PreDayClose=CloseD(1);
                Commentary("PreDayClose:"+Text(PreDayClose));
               
                PreDayOpen=OpenD(1);
                Commentary("PreDayOpen:"+Text(PreDayOpen));
               
               
                If(CloseD(1)>OpenD(1))
                  {
                  UpBuffer=CloseD(1)+(HighD(1)-CloseD(1))/2;
                  //PlotNumeric("UpBuffer", UpBuffer);
                  
                  DownBuffer=LowD(1)+(OpenD(1)-LowD(1))/2;
                  //PlotNumeric("DownBuffer", DownBuffer);
                  }
                  Else
                    {
                        If(CloseD(1)<OpenD(1))
                          {
                          UpBuffer=OpenD(1)+(HighD(1)-OpenD(1))/2;
                          //PlotNumeric("UpBuffer", UpBuffer);
                          
                          DownBuffer=LowD(1)+(CloseD(1)-LowD(1))/2;
                          //PlotNumeric("DownBuffer", DownBuffer);
                          }
                        }
                PlotNumeric("UpBuffer", UpBuffer);
                PlotNumeric("DownBuffer", DownBuffer);
                }
               
          Middle=(UpBuffer+DownBuffer)/2;
          PlotNumeric("Middle", Middle);
          
          BestUp=UpBuffer+(UpBuffer-DownBuffer)*K1;
          PlotNumeric("BestUp", BestUp);
          
          BestDown=DownBuffer-(UpBuffer-DownBuffer)*K2;
          PlotNumeric("BestDown", BestDown);
          
          
          
End
          
          
          
          
          
          

//------------------------------------------------------------------------
// 编译版本        GS2010.12.08
// 用户版本        2014/04/13 18:41
// 版权所有        jrqh116098
// 更改声明        TradeBlazer Software保留对TradeBlazer平台
//                        每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------


从显示的图形看,绩效肯定是不好的,但让人生气的是这么简单的代码居然会写错,而且检查不出来哪里错了,这样的问题之前也碰到过,期望老师指点。

jrqh116098 发表于 2014-4-19 17:47:12

出错的图像请看附件

jrqh116098 发表于 2015-5-28 07:37:55

几乎是一年的时间,没有老师回复,可能真的老师太忙;好在我刚刚知道是怎么回事了,还得靠自己呢。

jrqh116098 发表于 2015-5-28 07:39:08

是变量PreDayClose,PreDayOpen没有用对。
页: [1]
查看完整版本: 代码出问题了,请老师看下是哪里出问题了?