Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共6 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:这个问题如何产生的?

1楼
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;
2楼
leiting99 发表于:2017/9/28 0:03:29
图片
3楼
leiting99 发表于:2017/9/28 0:06:37

图片点击可在新窗口打开查看此主题相关图片如下:错误.png
图片点击可在新窗口打开查看
4楼
wenarm 发表于:2017/9/28 8:35:27
探针:1000;
 X2:=REFX2;上面的语段。而REFX2=ref(X2,1);取得的结果其实是前两个时的x2的值。

 

这种类似的问题,你可以输出你相应的条件,看他是在进入的是那个分支语句进而判断逻辑上的问题

5楼
leiting99 发表于:2017/9/28 12:18:17
那么我想让X在这种情况取前一根k线x2的值应该怎么改?谢谢
6楼
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;
 
 
共6 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.04688 s, 3 queries.