| 以文本方式查看主题 
 -  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
 --  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
 ----  这个问题如何产生的?  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=158315)
 
 
 | 
    
    
      | --  作者:leiting99 --  发布时间:2017/9/28 0:02:58
 --  这个问题如何产生的?
 当前价1925明明大于“前次高”,按照公式X值应该为1,怎么还是-10呢?而且前1根k线时X值就已经变成1了,公式如下
 
 Variable:X2=0; REFX2:=ref(X2,1); 前高:ref(C,20)+4,COLORRED; 前次高:ref(C,20)+2,COLORMAGENTA; 前低:ref(C,20)-4,COLORGREEN; 前次低:ref(C,20)-2,COLORCYAN; If C>前高 then begin  X2:=10;  end  else if C<前低 then begin  X2:=-10;  end  else if X2=-10 and C>前次高 then begin  X2:=1;  end  else if X2=10 and C<前次低 then begin  X2:=-1;  end  else begin  探针:1000;  X2:=REFX2;  end  X:X2,COLORWHITE;
 | 
    
      | --  作者:leiting99 --  发布时间:2017/9/28 0:03:29
 --
 图片
 
 | 
    
      | --  作者:leiting99 --  发布时间:2017/9/28 0:06:37
 --
 
 
  此主题相关图片如下:错误.png 
  
 
 | 
    
      | --  作者:wenarm --  发布时间:2017/9/28 8:35:27
 --
 探针:1000;
  X2:=REFX2;上面的语段。而REFX2=ref(X2,1);取得的结果其实是前两个时的x2的值。   这种类似的问题,你可以输出你相应的条件,看他是在进入的是那个分支语句进而判断逻辑上的问题 
 | 
    
      | --  作者:leiting99 --  发布时间:2017/9/28 12:18:17
 --
 那么我想让X在这种情况取前一根k线x2的值应该怎么改?谢谢
 
 | 
    
      | --  作者:wenarm --  发布时间:2017/9/28 12:38:47
 --
 
 
		Variable:X2=0; REFX2:=ref(X2,1); 前高:ref(C,20)+4,COLORRED; 前次高:ref(C,20)+2,COLORMAGENTA; 前低:ref(C,20)-4,COLORGREEN; 前次低:ref(C,20)-2,COLORCYAN; If C>前高 then begin  X2:=10;  end  else if C<前低 then begin  X2:=-10;  end  else if X2=-10 and C>前次高 then begin  X2:=1;  end  else if X2=10 and C<前次低 then begin  X2:=-1;  end  X:REFX2,COLORWHITE;     
 |