以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (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;
bb:=barpos;
if close>open then begin
    for i=1 to 5 do AA[bb-i]:=55;
end


--  作者:chenfansky
--  发布时间:2015/5/29 8:40:34
--  

runmode:0;

AA:close;
bb:=barpos;
if close>open then begin
    for i=1 to 5 do AA[bb-i]:=55;
end


请问老师,上面代码,看到的AA值出现55的地方是的对,符合程序;但是,改成以下就有问题了:


runmode:0;

AA := close;
bb:=barpos;
if close>open then begin
    for i=1 to 5 do AA[bb-i]:=55;
end

output:AA,nodraw;


这个output的值一直和close保持一致,没有出现55的地方,请问这是为什么?


--  作者:fly
--  发布时间:2015/5/29 10:02:56
--  

runmode:0;

bb:=barpos;
if close>open then begin
    for i=1 to 5 do AA[bb-i]:=55;
end

 

out1:AA[bb-1],nodraw;
out2:AA[bb-2],nodraw;
out3:AA[bb-3],nodraw;
out4:AA[bb-4],nodraw;
out5:AA[bb-5],nodraw;//用这种写法,你前面是对这个值进行重新赋值的


output:aa,nodraw;


--  作者:chenfansky
--  发布时间:2015/5/29 10:13:53
--  
嗯,理解了,谢谢