以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- [原创]怎么提取前30根bar的收盘价 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174749) |
-- 作者:wkpzwy -- 发布时间:2020/3/4 10:29:32 -- [原创]怎么提取前30根bar的收盘价 用ref(close,i)循环提示风险,好像没提取成功,怎么在编译环境显示变量的值。谢谢大家啦。。 |
-- 作者:wkpzwy -- 发布时间:2020/3/4 10:31:22 -- 是提取前30-前1根bar总共30根的收盘价 |
-- 作者:FireScript -- 发布时间:2020/3/4 10:35:56 -- ref无法在循环语句内部直接使用。 但是收盘价函数本身就是一个序列。所以可以这样 c[BARPOS-1];//表示取上一个K收盘价
[此贴子已经被作者于2020/3/4 10:36:11编辑过]
|
-- 作者:wkpzwy -- 发布时间:2020/3/4 11:24:27 -- 谢谢你的解答。。。怎么在编译环境显示变量的值,检查有无错误呢 |
-- 作者:wkpzwy -- 发布时间:2020/3/4 11:26:27 -- closes[1]=ref(close,5); closes[2]=ref(close,4); closes[3]=ref(close,3); closes[4]=ref(close,2); closes[5]=ref(close,1); 显示:closes[1],noaxis,LINETHICK0; 这样写图表窗口没有数值=0 |
-- 作者:wenarm -- 发布时间:2020/3/4 12:15:24 -- 以下是引用wkpzwy在2020/3/4 11:24:27的发言:
谢谢你的解答。。。怎么在编译环境显示变量的值,检查有无错误呢 直接编译后,在没有语法错误的情况下,加载到k线图上对比下结果就知道了。
金字塔中很少需要使用到数组。你可以直接赋值给一个普通变量。数组的定义参考这个函数的说明。VARIABLE。
赋值操作是":"或者":=" 你上面的代码是比较操作, |
-- 作者:wkpzwy -- 发布时间:2020/3/4 13:49:08 -- variable:closes[window]=0; closes[1]=ref(close,5); closes[2]=ref(close,4); closes[3]=ref(close,3); closes[4]=ref(close,2); closes[5]=ref(close,1);
|
-- 作者:wkpzwy -- 发布时间:2020/3/4 13:49:44 -- close[0]还是不显示呀。。等于0 |
-- 作者:FireScript -- 发布时间:2020/3/4 13:58:56 -- close[0] 1.下标从1开始,不是从0. 2.公式模式必须是逐K模式才能正确定义全局变量。 你定义数组是为了处理什么呢。本身历史的收盘价都在一个序列里面,随时取用,你把他们又存放到一个新的数组里面似乎没什么必要吧。 你直接告知下你的原始思路吧。要就是你调取历史K收盘价是为了处理什么。
[此贴子已经被作者于2020/3/4 14:02:13编辑过]
|
-- 作者:wkpzwy -- 发布时间:2020/3/4 14:18:04 -- 写错啦。。我输出的就是close[1] |