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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 数组数据越界问题

   

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


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

主题:数组数据越界问题

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


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
数组数据越界问题  发帖心情 Post By:2013/6/19 11:22:52 [只看该作者]

请教版主,如下一段程序,目的是一分钟K线图上,先建立270个元素K线序列数据的数组,每天第一根K线时对270个元素数组清零,后根据条件寻找高低拐点,并将各拐点相应的最高最低价格,储存在相应K线(NN)位置序号数组变量中,其他不是拐点的数组变量清零。查看Zigzag[1]~Zigzag[270],可以看到每个拐点的高低点数据,是拐点就有数据,不是拐点数据为零,我想将各波峰波谷高低点数据画线连接起来,但最后一行命令POLYLINE(Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID),总是报数组越界错误,对于数组越界问题,金字塔系统解释不是很到位,如什么情况数组报越界错误,就一个简单的“数组越界"报错,很难找到真正原因。肯请管理员,帮忙提示问题到达在哪儿?谢谢!


variable:Zigzag[270]=0;


NN:=barslast(day<>ref(day,1))+1;
If NN=1 Then BEGIN
   For i=1 to 270 do Zigzag[i]:=0; 
   whatlookfor:=0 ;

   LASTLOWSET:=NN;

   LASTLOW:=OPEN;

   LASTHIGHSET:=NN;

   LASTHIGH:=Open;

   .......

END            
     
If whatlookfor=0 Then Begin               //当日首K线为起点,寻找第一个拐点
   .....   
END

 

If whatlookfor=1 Then Begin                 //最后K线是向下拐点,寻找高点
    ......

    whatlookfor:=-1;
    Zigzag[LASTLOWSET]:=LASTLOW;
END

 

If whatlookfor=-1 Then Begin                //最后K线是向上拐点,寻找低点
    .....

    whatlookfor:=1;          
    Zigzag[LASTHIGHSET]:=LASTHIGH;

END

 


POLYLINE(Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID);

 


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


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2013/6/19 12:22:52 [只看该作者]

如今天上午股指1分钟的拐点记录,1~135是K线编号,价格就是拐点价格:

 

2013/06/19 12:20:32  拐点位置:1价格:2404.0
2013/06/19 12:20:32  拐点位置:2价格:0.0
2013/06/19 12:20:32  拐点位置:3价格:0.0
2013/06/19 12:20:32  拐点位置:4价格:0.0
2013/06/19 12:20:32  拐点位置:5价格:0.0
2013/06/19 12:20:32  拐点位置:6价格:0.0
2013/06/19 12:20:32  拐点位置:7价格:0.0
2013/06/19 12:20:32  拐点位置:8价格:0.0
2013/06/19 12:20:32  拐点位置:9价格:0.0
2013/06/19 12:20:32  拐点位置:10价格:0.0
2013/06/19 12:20:32  拐点位置:11价格:0.0
2013/06/19 12:20:32  拐点位置:12价格:0.0
2013/06/19 12:20:32  拐点位置:13价格:0.0
2013/06/19 12:20:32  拐点位置:14价格:0.0
2013/06/19 12:20:32  拐点位置:15价格:0.0
2013/06/19 12:20:32  拐点位置:16价格:0.0
2013/06/19 12:20:32  拐点位置:17价格:0.0
2013/06/19 12:20:32  拐点位置:18价格:0.0
2013/06/19 12:20:32  拐点位置:19价格:0.0
2013/06/19 12:20:32  拐点位置:20价格:0.0
2013/06/19 12:20:32  拐点位置:21价格:2381.0
2013/06/19 12:20:32  拐点位置:22价格:0.0
2013/06/19 12:20:32  拐点位置:23价格:2391.2
2013/06/19 12:20:32  拐点位置:24价格:0.0
2013/06/19 12:20:32  拐点位置:25价格:0.0
2013/06/19 12:20:32  拐点位置:26价格:0.0
2013/06/19 12:20:32  拐点位置:27价格:0.0
2013/06/19 12:20:32  拐点位置:28价格:0.0
2013/06/19 12:20:32  拐点位置:29价格:0.0
2013/06/19 12:20:32  拐点位置:30价格:0.0
2013/06/19 12:20:32  拐点位置:31价格:0.0
2013/06/19 12:20:32  拐点位置:32价格:0.0
2013/06/19 12:20:32  拐点位置:33价格:0.0
2013/06/19 12:20:32  拐点位置:34价格:0.0
2013/06/19 12:20:32  拐点位置:35价格:0.0
2013/06/19 12:20:32  拐点位置:36价格:0.0
2013/06/19 12:20:32  拐点位置:37价格:2376.8
2013/06/19 12:20:32  拐点位置:38价格:0.0
2013/06/19 12:20:32  拐点位置:39价格:0.0
2013/06/19 12:20:32  拐点位置:40价格:0.0
2013/06/19 12:20:32  拐点位置:41价格:0.0
2013/06/19 12:20:32  拐点位置:42价格:0.0
2013/06/19 12:20:32  拐点位置:43价格:0.0
2013/06/19 12:20:32  拐点位置:44价格:0.0
2013/06/19 12:20:32  拐点位置:45价格:0.0
2013/06/19 12:20:32  拐点位置:46价格:0.0
2013/06/19 12:20:32  拐点位置:47价格:0.0
2013/06/19 12:20:32  拐点位置:48价格:2388.0
2013/06/19 12:20:32  拐点位置:49价格:0.0
2013/06/19 12:20:32  拐点位置:50价格:0.0
2013/06/19 12:20:32  拐点位置:51价格:0.0
2013/06/19 12:20:32  拐点位置:52价格:0.0
2013/06/19 12:20:32  拐点位置:53价格:0.0
2013/06/19 12:20:32  拐点位置:54价格:0.0
2013/06/19 12:20:32  拐点位置:55价格:0.0
2013/06/19 12:20:32  拐点位置:56价格:0.0
2013/06/19 12:20:32  拐点位置:57价格:0.0
2013/06/19 12:20:32  拐点位置:58价格:0.0
2013/06/19 12:20:32  拐点位置:59价格:0.0
2013/06/19 12:20:32  拐点位置:60价格:0.0
2013/06/19 12:20:32  拐点位置:61价格:0.0
2013/06/19 12:20:32  拐点位置:62价格:0.0
2013/06/19 12:20:32  拐点位置:63价格:0.0
2013/06/19 12:20:32  拐点位置:64价格:0.0
2013/06/19 12:20:32  拐点位置:65价格:0.0
2013/06/19 12:20:32  拐点位置:66价格:0.0
2013/06/19 12:20:32  拐点位置:67价格:0.0
2013/06/19 12:20:32  拐点位置:68价格:0.0
2013/06/19 12:20:32  拐点位置:69价格:0.0
2013/06/19 12:20:32  拐点位置:70价格:0.0
2013/06/19 12:20:32  拐点位置:71价格:0.0
2013/06/19 12:20:32  拐点位置:72价格:0.0
2013/06/19 12:20:32  拐点位置:73价格:0.0
2013/06/19 12:20:32  拐点位置:74价格:0.0
2013/06/19 12:20:32  拐点位置:75价格:0.0
2013/06/19 12:20:32  拐点位置:76价格:0.0
2013/06/19 12:20:32  拐点位置:77价格:0.0
2013/06/19 12:20:32  拐点位置:78价格:0.0
2013/06/19 12:20:32  拐点位置:79价格:0.0
2013/06/19 12:20:32  拐点位置:80价格:0.0
2013/06/19 12:20:32  拐点位置:81价格:0.0
2013/06/19 12:20:32  拐点位置:82价格:0.0
2013/06/19 12:20:32  拐点位置:83价格:0.0
2013/06/19 12:20:32  拐点位置:84价格:0.0
2013/06/19 12:20:32  拐点位置:85价格:0.0
2013/06/19 12:20:32  拐点位置:86价格:0.0
2013/06/19 12:20:32  拐点位置:87价格:0.0
2013/06/19 12:20:32  拐点位置:88价格:0.0
2013/06/19 12:20:32  拐点位置:89价格:0.0
2013/06/19 12:20:32  拐点位置:90价格:0.0
2013/06/19 12:20:32  拐点位置:91价格:0.0
2013/06/19 12:20:32  拐点位置:92价格:0.0
2013/06/19 12:20:32  拐点位置:93价格:2352.2
2013/06/19 12:20:32  拐点位置:94价格:0.0
2013/06/19 12:20:32  拐点位置:95价格:0.0
2013/06/19 12:20:32  拐点位置:96价格:0.0
2013/06/19 12:20:32  拐点位置:97价格:0.0
2013/06/19 12:20:32  拐点位置:98价格:0.0
2013/06/19 12:20:32  拐点位置:99价格:0.0
2013/06/19 12:20:32  拐点位置:100价格:0.0
2013/06/19 12:20:32  拐点位置:101价格:0.0
2013/06/19 12:20:32  拐点位置:102价格:0.0
2013/06/19 12:20:32  拐点位置:103价格:0.0
2013/06/19 12:20:32  拐点位置:104价格:0.0
2013/06/19 12:20:32  拐点位置:105价格:0.0
2013/06/19 12:20:32  拐点位置:106价格:0.0
2013/06/19 12:20:32  拐点位置:107价格:0.0
2013/06/19 12:20:32  拐点位置:108价格:0.0
2013/06/19 12:20:32  拐点位置:109价格:0.0
2013/06/19 12:20:32  拐点位置:110价格:0.0
2013/06/19 12:20:32  拐点位置:111价格:0.0
2013/06/19 12:20:32  拐点位置:112价格:0.0
2013/06/19 12:20:32  拐点位置:113价格:0.0
2013/06/19 12:20:32  拐点位置:114价格:0.0
2013/06/19 12:20:32  拐点位置:115价格:0.0
2013/06/19 12:20:32  拐点位置:116价格:0.0
2013/06/19 12:20:32  拐点位置:117价格:0.0
2013/06/19 12:20:32  拐点位置:118价格:0.0
2013/06/19 12:20:32  拐点位置:119价格:0.0
2013/06/19 12:20:32  拐点位置:120价格:0.0
2013/06/19 12:20:32  拐点位置:121价格:0.0
2013/06/19 12:20:32  拐点位置:122价格:0.0
2013/06/19 12:20:32  拐点位置:123价格:2384.0
2013/06/19 12:20:32  拐点位置:124价格:0.0
2013/06/19 12:20:32  拐点位置:125价格:0.0
2013/06/19 12:20:32  拐点位置:126价格:0.0
2013/06/19 12:20:32  拐点位置:127价格:0.0
2013/06/19 12:20:32  拐点位置:128价格:0.0
2013/06/19 12:20:32  拐点位置:129价格:0.0
2013/06/19 12:20:32  拐点位置:130价格:0.0
2013/06/19 12:20:32  拐点位置:131价格:0.0
2013/06/19 12:20:32  拐点位置:132价格:0.0
2013/06/19 12:20:32  拐点位置:133价格:0.0
2013/06/19 12:20:32  拐点位置:134价格:0.0
2013/06/19 12:20:32  拐点位置:135价格:0.0


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/6/19 13:51:23 [只看该作者]

省略号的东西能写一下吗?


金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2013/6/19 14:27:44 [只看该作者]

Input:ExtDepth(5,5,25,1),ExtDeviation(5,3,10,1),ExtBackStep(3,3,10,1);
variable:Zigzag[270]=0,NUM=0,whatlookfor:=0,LastPrice1:=0,LastPrice2:=0,LastSet1:=0,LastSet2:=0;
WARNING_DISABLE:4;
NN:=barslast(day<>ref(day,1))+1;
If NN=1 Then BEGIN
   For i=1 to 270 do Zigzag[i]:=0;
      whatlookfor:=0;
      LastPrice1:=Open;
      LastPrice2:=0;
      LastSet1:=1;
      LastSet2:=0;
      NUM:=1;
      Zigzag[1]:=Open;
END           
   REFCLOSE:=REF(CLOSE,1);
   LASTHIGH:=HHV(HIGH,NN-LastSet1);
   LASTLOW:=LLV(LOW,NN-LastSet1);
   LASTHIGHSET:=NN-HHVBARS(HIGH,NN-LastSet1);
   LASTLOWSET:=NN-LLVBARS(LOW,NN-LastSet1); 
  
If Islastbar<>1 AND whatlookfor=0 Then Begin //确定了起点,寻找第一个拐点
   If LastPrice1<>0 AND LastPrice2=0 Then BEGIN
      IF REFCLOSE>LastPrice1 AND (NN-LastSet1)>=ExtDepth AND (REFCLOSE-LastPrice1)>=ExtDeviation Then BEGIN  //先出现高点 
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
         whatlookfor:=-1;
         GOTO ENDEXIT@;
      END
      IF REFCLOSE<LastPrice1 AND (NN-LastSet1)>=ExtDepth AND (LastPrice1-REFCLOSE)>=ExtDeviation Then BEGIN  //先出现低点
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
         whatlookfor:=1;
         GOTO ENDEXIT@;
      END
   END 
END

If Islastbar<>1 AND whatlookfor=1 Then Begin //最后是向下拐点,寻找高点
   If LastPrice1<>0 AND LastPrice2<>0 Then BEGIN
      If REFCLOSE<LastPrice2 Then BEGIN
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
      END
      IF REFCLOSE>LastPrice2 AND (NN-LastSet2)>=ExtDepth AND (REFCLOSE-LastPrice2)>=ExtDeviation Then BEGIN  // 找到高点
         NUM:=NUM+1;
         whatlookfor:=-1;
         Zigzag[LASTLOWSET]:=LASTLOW;
         LastPrice1:=LastPrice2;
         LastSet1:=LastSet2;
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
      END
   END
END

If Islastbar<>1 AND whatlookfor=-1 Then Begin //最后是向上拐点,寻找低点
   If LastPrice1<>0 AND LastPrice2<>0 Then BEGIN
      If REFCLOSE>LastPrice2 Then BEGIN
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
      END
      IF REFCLOSE<LastPrice2 AND (NN-LastSet2)>=ExtDepth AND (LastPrice2-REFCLOSE)>=ExtDeviation Then BEGIN  // 找到低点
         NUM:=NUM+1;
         whatlookfor:=1;         
         Zigzag[LASTHIGHSET]:=LASTHIGH;
         LastPrice1:=LastPrice2;
         LastSet1:=LastSet2;
         LastPrice2:=REFCLOSE;
         LastSet2:=NN;
      END
   END
END

ENDEXIT@ ;

POLYLINE(Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID);


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


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2013/6/19 14:34:18 [只看该作者]

上面是全部代码,按MT4软件和金字塔的Zig函数的原理设计,已经找出高低拐点的价格和位置,但不知道怎样画出来。这样设计,除掉了未来函数的罪名,是顺向推导出已经出现的高低拐点,希望能把它设计完成,也可以给使用金字塔的用户共享非未来函数类的ZIG函数。

 


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


加好友 发短信
等级:罗宾汉 帖子:46311 积分:50819 威望:0 精华:2 注册:2011/3/23 8:50:25
  发帖心情 Post By:2013/6/19 14:47:08 [只看该作者]

if  nn=1 then POLYLINE( Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID);

最后一句这么改



金字塔—专业程序化交易量化投资平台

客户服务部

----------------------------------------------------------- 欢迎您参加我公司的技术培训,具体培训需求请发邮件到service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

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


加好友 发短信
等级:论坛游侠 帖子:196 积分:594 威望:0 精华:2 注册:2011/8/22 18:26:49
  发帖心情 Post By:2013/6/19 14:51:54 [只看该作者]

有问题,这样连接的是每天的第一根K线的开盘价,没有达到目的。

 

 


 回到顶部