以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- IF后使用REF的烦恼 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=25345) |
-- 作者:haifan1986 -- 发布时间:2012/9/10 11:03:50 -- IF后使用REF的烦恼 input:N(15,0,80,1);//// If (DATE=REF(DATE,1)) THEN Xi:=Xi+1; 我想表达这样的逻辑;基本上上面能够看懂了,但是金字塔不支持在IF语句后面 使用REF, 请咨询如何实现我代码表达的意思; |
-- 作者:jinzhe -- 发布时间:2012/9/10 11:04:31 -- 处理中,争取在今天写出 |
-- 作者:haifan1986 -- 发布时间:2012/9/10 11:07:28 -- 谢谢,我会即使更新的, 题外话,在解决这个问题上TB就非常容易的,他的向前引用不受IF语句的影响。如果能弄的像TB一样方便就好了 申明;我是金字塔的忠实拥护者;哈哈 |
-- 作者:阿火 -- 发布时间:2012/9/10 11:16:33 -- c[barpos-1] 即可
或者用一个变量在if....then .... 结构外记录一下 [此贴子已经被作者于2012-9-10 11:17:16编辑过]
|
-- 作者:admin -- 发布时间:2012/9/10 11:22:32 -- close[barpos-i] 用这个来替换 |
-- 作者:jinzhe -- 发布时间:2012/9/10 14:08:47 -- For i = 1 To N DO BEGIN
这样改吗? |
-- 作者:admin -- 发布时间:2012/9/10 16:49:22 -- 公式中的XI变量之前未做任何的声明初始,这样的做法,是一种很不好的编程习惯 |
-- 作者:haifan1986 -- 发布时间:2012/9/11 10:06:28 -- 测试1:ref(c,2),linethick0;
测试2:Close[barpos-2],linethick0; 提示下面一行数组越界 貌似不对吧 |
-- 作者:jinzhe -- 发布时间:2012/9/11 10:08:02 -- 用序列计算试试 |
-- 作者:admin -- 发布时间:2012/9/11 10:16:35 -- 以下是引用haifan1986在2012-9-11 10:06:28的发言:
测试1:ref(c,2),linethick0; 测试2:Close[barpos-2],linethick0; 提示下面一行数组越界 貌似不对吧
提示越界的主要原因是当barpos=1的时候,你去减2,自然会越界。 处理办法是用if语句,对序列做限制,前面头一行加上
if barpos < 3 then exit; |