以文本方式查看主题
- 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp)
-- 公式模型编写问题提交 (http://www.weistock.com/bbs/list.asp?boardid=4)
---- 这个问题如何产生的? (http://www.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;
|