hifiu 发表于 2013-3-21 10:36:20

good,这就是我想要的。

原来if每句后面要加个else myhigh=myhigh;,就跟金字塔一样了。
这个问题困扰了我好久。



谢谢你,bt11

hifiu 发表于 2013-3-21 10:44:39

我觉得金魔方if缺省就应该加那句,这样才能跟其他软件互相兼容。

hifiu 发表于 2013-3-21 12:54:20

有问题:如果是if begin,那么岂不是要else恢复好多个变量?

可以这样写吗?
if aa>1 then begin
         bb:=h;
         cc:=l;
         end
     else begin
         bb:=bb;
         cc:=cc;
      end

编译不了的。
那我岂不是要把所有if begin 拆分成多个if语句,才能让它不忘记之前的变量?
你懂我意思吧?

bt11 发表于 2013-3-21 14:01:21

上面的可以编译啊;
if  then 后面的语言,如果超过2句(包括2句),才需要用begin  end。

下面代码的意思是,bb,cc默认为0,只有当某根K线收盘价大于开盘价是,才改变当根K线的bb,cc值
#run_by_bar
bb=0;
cc=0;
if c>open then
begin
   bb=1;
   cc=1;
end

hifiu 发表于 2013-3-21 14:59:05

本帖最后由 hifiu 于 2013-3-21 15:05 编辑

哦,你没理解我意思,我是续你前面10楼的帖子。
这是在数组应用时的问题。

variable:bb=h,   cc=l;

if aa>1 then begin
         bb:=h;
         cc:=l;
         end
     else begin
         bb:=bb;
         cc:=cc;
      end
在逐k模式下,在if aa>1不符合条件的情况下,看你10楼的例子,bb、cc是记不住之前的数值的,必须用else判断aa不大于1,就赋与旧值bb;
但现在是if begin语句,要恢复bb、cc两个值,else后面能加begin吗?其他软件在else后面是不能加begin的。

bt11 发表于 2013-3-21 15:15:46

#Run_By_Bar

variable: myHigh(0);

if barpos = 1 then myHigh = high;
if h>h then
begin
        myHigh=h;
end

else
begin
//else myhigh=ref(myhigh,1);
        myhigh=myhigh;
end
bb:myHigh;

一样的效果

312gd 发表于 2013-4-16 08:11:53

交流的 很充分,感谢 管理员 的 耐心。

hongxing1110 发表于 2013-7-8 18:36:12

学习学习

逍遥壶中仙 发表于 2013-7-10 01:05:29

还是希望能支持一下变量数组啊

tupi 发表于 2013-7-10 12:07:18

交流的很充分,感谢 管理员 的 耐心。
页: 1 [2] 3
查看完整版本: 数组怎么用?