欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 请教数组问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有2884人关注过本帖树形打印复制链接

主题:请教数组问题

帅哥哟,离线,有人找我吗?
marks
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
请教数组问题  发帖心情 Post By:2020/11/3 11:56:10    Post IP:144.123.5.122[只看该作者]

代码如下:
VARIABLE:a[10]=0;
FOR I=0 TO 9 DO 
BEGIN 
              a[i]:=i+1; 
       END;

for q=0 to 9 do 
      begin
         DEBUGOUT('JIA=%.2f',a[q]);
end;
用后台加载后开启预警,刚开始可以正常输出数值,过几秒钟之后输出全部为零,请问是哪的问题。
同样保存到文件也会出现这种情况。

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/11/3 13:22:31    Post IP:58.246.57.26[只看该作者]

金字塔数组下标不是从0开始。从1开始。其他地方没有啥错误了。 你改下试试呢。
[此贴子已经被作者于2020/11/3 13:22:40编辑过]


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
marks
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/11/3 13:36:41    Post IP:144.123.5.122[只看该作者]

改了还是不行,一开始是正常输出的,过几秒就全部输出零了

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/11/3 13:37:46    Post IP:58.246.57.26[只看该作者]

 你是序列模式的公式吧?


命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
marks
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/11/3 13:54:42    Post IP:144.123.5.122[只看该作者]

我点的逐K线计算

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/11/3 14:03:41    Post IP:58.246.57.26[只看该作者]

 你重新设置下公式 然后重启后台预警,可能前面修改了,没奏效。 我本地用这个代码运行几分钟都OK。




命数如织,当如磐石。
 回到顶部
帅哥哟,离线,有人找我吗?
marks
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/11/3 14:30:12    Post IP:144.123.5.122[只看该作者]

这样写的话还是过一会就输出零了,像刚才数组那样没有问题了,因为一直在向数组存数据,下面写法向文件写一次数值就不再写了,只去读数值,一开始能读出来,过一会就读不出来了 
GLOBALVARIABLE:F=0;
        文件编号=0;
        IF F=0 THEN BEGIN
        名称:=STRCAT(STRCAT(STRCAT(STKNAME(),numtostr(DATATYPE,0)),'多'),NUMTOSTR(文件编号,0));
        PATH:=STRCAT(STRCAT('D:\',名称),'.INI');
           // WRITEINIFILE(PATH,名称,'SUMM',SUMM);
//WRITEINIFILE(PATH,名称,'AVG',AVG);
for i=1 to 5 do
WRITEINIFILE(PATH,名称,STRCAT('开仓价',numtostr(i,0)),i+1);
            
   F:=1;
END

    for z=1 to 5 do
       DEBUGOUT('FFF=%.2f',GETINIFILE(PATH,名称,STRCAT('开仓价',numtostr(z,0))) );

 回到顶部
帅哥哟,离线,有人找我吗?
marks
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:194 积分:0 威望:0 精华:0 注册:2020/2/11 13:06:09
  发帖心情 Post By:2020/11/3 14:50:37    Post IP:144.123.5.122[只看该作者]

你这样再试一下,这样写就不行。
GLOBALVARIABLE:F=0;
        文件编号:=0;
        IF F=0 THEN BEGIN
        名称:=STRCAT(STRCAT(STRCAT(STKNAME(),numtostr(DATATYPE,0)),'多'),NUMTOSTR(文件编号,0));
        PATH:=STRCAT(STRCAT('D:\',名称),'.INI');

for i=1 to 5 do
WRITEINIFILE(PATH,名称,STRCAT('开仓价',numtostr(i,0)),i+1);

   F:=1;
END
   for z=1 to 5 do
       DEBUGOUT('FFF=%.2f',GETINIFILE(PATH,名称,STRCAT('开仓价',numtostr(z,0))) );

 回到顶部
帅哥哟,离线,有人找我吗?
FireScript
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:14496 积分:0 威望:0 精华:0 注册:2017/7/4 13:40:18
  发帖心情 Post By:2020/11/3 15:31:59    Post IP:58.246.57.26[只看该作者]

 因为你后面K这个路径就是出于未定义的状态了。

你不要把名称 PATH这2个变量都放在IF里面。你放在IF前面。
[此贴子已经被作者于2020/11/3 15:32:24编辑过]


命数如织,当如磐石。
 回到顶部