以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  请老师解答!!自定义数组问题!  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=74418)

--  作者:百湛必胜客
--  发布时间:2015/1/14 12:00:18
--  请老师解答!!自定义数组问题!
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编辑过]

--  作者:百湛必胜客
--  发布时间:2015/1/14 12:45:08
--  
对了,前面声明变量是这样 VARIABLE:jiage[17]=0,jiagel[17]=99999999,jig=1;
--  作者:百湛必胜客
--  发布时间:2015/1/14 12:48:45
--  
数值每笔都初始化,那要这个自定义数组功能还有什么意义呢
--  作者:fly
--  发布时间:2015/1/14 14:03:50
--  
楼主请看一下这里的解释

 

里面有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