以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 为什么REFX引用不到后面K线的值呢? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=47548) |
-- 作者:g13977133201 -- 发布时间:2013/1/8 22:45:28 -- 为什么REFX引用不到后面K线的值呢? 公式如下,序列模式 EMA4:=EMA(Close,4); EMA9:=EMA(Close,9); UpCross:=Cross(EMA4,EMA9); DownCross:=Cross(EMA9,EMA4); W:BARSLAST(UpCross OR DownCross OR BARPOS=1),LINETHICK0; WW:=BARSLAST(REFX(W,1)=0 OR ISLASTBAR OR BARPOS=1); ST:=SetVal(WW=0,W+1,-W,W+1); A1:=HHVBars(High,ST); A2:=If(WW=0,A1,0); DrawNumber(1,Low,A2,0,ColorWhite); A3:=REFX(A2,A2); DrawNumber(1,High,A3,0,ColorYellow); 到A2为止,能正确计算出A2的值,如图所示。 然后我想让A3引用A2周期后的A2值,但A3都为0,为何引用不上呢? 请高手指教。
|
-- 作者:g13977133201 -- 发布时间:2013/1/8 22:56:26 -- 补个更清楚的图 这张图更清楚点,标明了A3出问题的K线 [此贴子已经被作者于2013-1-8 22:57:16编辑过]
|
-- 作者:jinzhe -- 发布时间:2013/1/9 8:56:18 -- 逻辑错误
第一个圈的地方求的是 refx(a2,0),那么A3是0 第二个圈的地方求的是 refx(a2,6),那么A3还是0 |
-- 作者:g13977133201 -- 发布时间:2013/1/9 9:58:07 -- 是哦,这么简单的错误!真是脑子进水了。谢谢Jinzhe提醒。 再请教一下,一楼公式中A3赋值语句改成如下代码: If A2>0 then A3:=5; DrawNumber(1,High,A3,0,COLORMAGENTA); A3依然不能成功赋值,显示为-1,又是为何啊?
|
-- 作者:jinzhe -- 发布时间:2013/1/9 10:05:46 -- 代码有问题,A3肯定在公式里面还有其他的定义 |
-- 作者:g13977133201 -- 发布时间:2013/1/9 12:24:26 -- 没有其他代码了,全部代码如下,您可以试试 //序列模式 EMA4:=EMA(Close,4); EMA9:=EMA(Close,9); UpCross:=Cross(EMA4,EMA9); DownCross:=Cross(EMA9,EMA4); W:BARSLAST(UpCross OR DownCross OR BARPOS=1),LINETHICK0; WW:=BARSLAST(REFX(W,1)=0 OR ISLASTBAR OR BARPOS=1); ST:=SetVal(WW=0,W+1,-W,W+1); A1:=HHVBars(High,ST); A2:=If(WW=0,A1,0); DrawNumber(1,Low,A2,0,ColorWhite); If A2>0 then A3:=5; DrawNumber(1,High,A3,0,COLORMAGENTA); [此贴子已经被作者于2013-1-9 12:25:41编辑过]
|