设为首页收藏本站

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

老师给看看这个程序哪里错了吧! [复制链接]

Rank: 2

精华
0
UID
1086
积分
77
帖子
7
主题
3
阅读权限
30
注册时间
2008-1-18
最后登录
2008-9-1
跳转到指定楼层
1#
发表于 2008-8-28 12:12:08 |只看该作者 |倒序浏览
Params
NUMERIC  RISK(9);
NUMERIC  AllBars(250);
Numeric BuyLots(1);

  
Vars
  Numeric val1buffer;
   NUMERIC val2buffer;
   
   Numeric up(0);
   numeric dn(0);
   Numeric x1(70);
   Numeric x2(30);
   Numeric Value10(10);
  NUMERIC  bvalue2;
   NUMERIC Value1;
   NumericSeries Value2;
   NUMERIC value3;
   NUMERIC value11;
   Numeric TrueCount;
   Numeric counter;
   Numeric MRO1;
   Numeric MRO2;
   NUMERIC i;
   Numeric i1;
   numeric Range;
   numeric AvgRange;
   numeric val1;
   numeric val2;
   numericseries Table_value2(500);
   NUMERIC counted_bars;
   numeric shift;
numeric oversold;
  BEGIN
   value10=3+RISK*2;//风险比较初始中间值
   x1=67+RISK;//上限值
   x2=33-RISK;//下限值
   value11=value10;
   
   iif((counted_bars<0),-1,0);//如果条件成立说明指标调用运行错误。则退出程序。
   if(counted_bars>0);
   counted_bars=counted_bars-1;
    shift = CurrentBar-counted_bars-1;
   if (shift > AllBars) shift = AllBars;
               
while(i>0)
     i=shift;
         i=i-1;
   {
      counter=i;
      Range=0;
      AvgRange=0;
      if(counter==i )
          counter<=i+9;
          counter=counter+1;
      {
         AvgRange=AvgRange+Abs(High[counter]-Low[counter]);//计算十日内最高最低价差的绝对值
      }
      Range=AvgRange/10;//计算十日价差绝对值的平均值
      counter=i;
      TrueCount=0;
      while (counter<i+9 && TrueCount<1)
      {
         if (Abs(Open[counter]-Close[counter+1])>=Range*2.0 )
               TrueCount=TrueCount+1;
         counter= counter+1;
                 //从当前K线往历史找到第一个满足 开盘价收盘价差绝对值大于Range*2的K线位置
      }
          if (TrueCount>=1)
            MRO1=counter ;
      else
            MRO1=-1;
            counter=i;
      TrueCount=0;
      while (counter<i+6 && TrueCount<1)
      {
           if(Abs(Close[counter+3]-Close[counter])>=Range*4.6)
            {TrueCount=TrueCount+1;}
           counter=counter+1;
                   //从当前K线往历史找到第一个满足 前第3日收盘价和当日价收盘价差绝对值大于Range*4.6的K线位置
      }
      if(TrueCount>=1)
            MRO2=counter;
      else
            MRO2=-1;
        if (MRO1>-1)
            value11=3; //如果找到则value11赋值为3
      else
            value11=value10;//如果没找到则value11赋值为第一风险中间值
         if (MRO2>-1)
            value11=4; //如果找到则value11赋值为4
      else
           value11=value10;//如果没找到则value11赋值为第一风险中间值
      value2=100-Abs(PercentR(value11));//100-威廉指标的绝对值
        if(Table_value2==i&&Table_value2[0]==i)
                 if(Table_value2==value2&&Table_value2[1]==value2)
                  val1=0;
          val2=0;
        value3=0;
          if (value2<x2 )  //  x2 = 30
          
      {
         i1=1;
        while(Table_value2[i+i1]>=x2 && Table_value2[1]>=x2 &&Table_value2[i+i1]<=x1&&Table_value2[1]<=x1)
         {i1=i1+1;}//求出连续第一个满足风险上下限的K线位置

         if (Table_value2[i+i1]>x1&&Table_value2[1]>x1)
         {
            value3=High+Range*0.5;//取得这个位置的K线最高价+Range*0.5
            Val1=value3;
         }
      }
      if ( value2>=x1) // x1 = 70
      {  
            i1=1;
            while (Table_value2[i+i1]>=x2 && Table_value2[1]>=x2 &&Table_value2[i+i1]<=x1&&Table_value2[1]<=x1)
            {i1=i1+1;}//求出连续第一个满足风险上下限的K线位置
            
            if (Table_value2[i+i1]< x2&&Table_value2[1]< x2)
            {
               value3=Low-Range*0.5;//取得这个位置的K线最高价-Range*0.5
               Val2=value3;
            } //上面两个K线位置就分别是多空入场的位置。
      }
      {if (val2!=0 && up==0 )
          
      {i=val1buffer;
          val1buffer= val2-1*midPoint;
       
           up=1;
           dn=0;
           if(shift<=2)
           {
Buy(BuyLots,Close);
            }
      }  

      if (val1 !=0 && dn==0)
          
      {i=val2buffer;
          val2buffer= val1+1*midPoint;
            dn=1;
            up=0;
            if(shift<=2)
            {
                        SellShort(BuyLots,Close);;
            }
      }
          }
          }
END
我的想法是把多空入场位的两个地方加入买开仓,卖开仓指令。
老师给看看哪里错了,运行通过,但没有指令。

Rank: 4

精华
0
UID
857
积分
585
帖子
79
主题
18
阅读权限
50
注册时间
2007-12-2
最后登录
2013-4-26
2#
发表于 2008-8-28 17:26:13 |只看该作者
tian.

zhe me chang.

peifu

使用道具 举报

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

bottom

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

GMT+8, 2024-5-8 22:49

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部