Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共11 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:求助:关于数组问题

1楼
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。
实际测试以上程序并无法实现。
请问老师,该如何实现呢?谢谢了
2楼
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
3楼
chenfansky 发表于:2015/5/28 9:09:19
老师早上好啊。
我按你的代码,加载到任意一商品的日K线图上,看不到aa的值为55的K线啊,赋值不成功啊。您测试看看,还是我的方法哪里有问题?
4楼
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

 

 

这里用循环不好,枚举好了

   

5楼
chenfansky 发表于:2015/5/28 9:18:31
老师,我要做的策略里面,不能简单用枚举来处理。有个问题必须要弄清楚,为何那样赋值不成功?
我希望用for语句实现它。因为for i=1 to n  (n的值在不同策略取值会不同),所以才要求用for 语句 
6楼
jinzhe 发表于:2015/5/28 9:57:18
稍等,我在测试一下
7楼
王锋 发表于: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

8楼
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的地方,请问这是为什么?

9楼
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;

10楼
chenfansky 发表于:2015/5/29 10:13:53
嗯,理解了,谢谢
共11 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03906 s, 3 queries.