以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 求助:关于数组问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=79101) |
-- 作者:chenfansky -- 发布时间:2015/5/27 20:09:15 -- 求助:关于数组问题 各位老师好。 一个数组 variable:AA[n]=0; AA:=close; bb:=barpos; if condition then begin for i=1 to 5 do AA[bb-i]:=55; end 程序意图:一个数组AA赋值收盘价,当条件成立K线位置前5根改写AA值为55。 实际测试以上程序并无法实现。 请问老师,该如何实现呢?谢谢了
|
-- 作者:jinzhe -- 发布时间:2015/5/28 8:59:07 -- runmode:0; aa:=c; if barpos>5 then begin for i=1 to 5 do begin if c>o then begin aa[barpos-i]:=55; end end end |
-- 作者:chenfansky -- 发布时间:2015/5/28 9:09:19 -- 老师早上好啊。 我按你的代码,加载到任意一商品的日K线图上,看不到aa的值为55的K线啊,赋值不成功啊。您测试看看,还是我的方法哪里有问题?
|
-- 作者:jinzhe -- 发布时间:2015/5/28 9:13:15 -- variable:aa=c; a1:=ref(aa,1); a2:=ref(aa,2); a3:=ref(aa,3); a4:=ref(aa,4); a5:=ref(aa,5); if 条件 then begin a1:=55; a2:=55; a3:=55; a4:=55; a5:=55; end
这里用循环不好,枚举好了
|
-- 作者:chenfansky -- 发布时间:2015/5/28 9:18:31 -- 老师,我要做的策略里面,不能简单用枚举来处理。有个问题必须要弄清楚,为何那样赋值不成功? 我希望用for语句实现它。因为for i=1 to n (n的值在不同策略取值会不同),所以才要求用for 语句
|
-- 作者:jinzhe -- 发布时间:2015/5/28 9:57:18 -- 稍等,我在测试一下 |
-- 作者:王锋 -- 发布时间:2015/5/28 17:11:32 -- 你要确定你的N变量是多少,有没有设置太小导致越界。 还有你公式是运行逐K线还是什么。
帮你随便写了个范例
runmode:0; AA:close; |
-- 作者:chenfansky -- 发布时间:2015/5/29 8:40:34 -- runmode:0; AA:close; 请问老师,上面代码,看到的AA值出现55的地方是的对,符合程序;但是,改成以下就有问题了: runmode:0; AA := close; output:AA,nodraw; 这个output的值一直和close保持一致,没有出现55的地方,请问这是为什么? |
-- 作者:fly -- 发布时间:2015/5/29 10:02:56 -- runmode:0; bb:=barpos;
out1:AA[bb-1],nodraw;
|
-- 作者:chenfansky -- 发布时间:2015/5/29 10:13:53 -- 嗯,理解了,谢谢 |