VARIABLE:jiage[17]=0,jiagel[17]=99999999;
if islastbar then
BEGIN
jiage[jig]:=DYNAINFO( 7);
jiagel[jig]:=DYNAINFO( 7);
jig:=if(jig>16,1,jig+1);
最高时:=0;
最低时:=0;
for ik=1 to 17 do
begin
if 最高时=0 and HOD2(jiage,0,jiage[ik])=1 then 最高时:=jiage[ik];
if 最低时=0 and LOD2(jiagel,0,jiagel[ik])=1 then 最低时:=jiagel[ik];
if 最高时>0 and 最低时>0 then BREAK;
end;
高:最高时,linethick0;
低:最低时,linethick0;
end;
高1:jiage[1],linethick0;高2:jiage[2],linethick0;高3:jiage[3],linethick0;高4:jiage[4],linethick0;高5:jiage[5],linethick0;
低1:jiagel[1],linethick0;低2:jiagel[2],linethick0;低3:jiagel[3],linethick0;低4:jiagel[4],linethick0;低5:jiagel[5],linethick0;
我的本意是取得最近17笔价格的最高最低价,我这个代码,为何数组每一次行情刷新都会初始化?而不能保存数据?
[此贴子已经被作者于2015/1/14 12:02:01编辑过]
数值每笔都初始化,那要这个自定义数组功能还有什么意义呢
里面有VARIABLE运行机制的解释
下面是一个后台全局变量的例子,记录变量在一根K线内的最高最低价的变化,
【金字塔使用技巧】----后台轮询,如何记录变量在最后一周期内的最大最小及开盘值
ma5:=ma(c,5);
if islastbar then
begin
//在新一根K线上记录初始化
if barpos>extgbdata('t') then
begin
extgbdataset('FIR',ma5);//记录开盘值
extgbdataset('MAX1',ma5);//记录最大
extgbdataset('MIN1',ma5);//记录最小
extgbdataset('t',barpos);
end
if barpos=extgbdata('t') then
begin
if ma5>extgbdata('MAX1') THEN extgbdataset('MAX1',ma5);
if ma5<extgbdata('MIN1') THEN extgbdataset('MIN1',ma5);
end
end