数组数据越界问题 [金字塔]
- 咨询内容:
请教版主,如下一段程序,目的是一分钟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线为起点,寻找第一个拐点
.....
ENDIf whatlookfor=1 Then Begin //最后K线是向下拐点,寻找高点
......whatlookfor:=-1;
Zigzag[LASTLOWSET]:=LASTLOW;
ENDIf whatlookfor=-1 Then Begin //最后K线是向上拐点,寻找低点
.....whatlookfor:=1;
Zigzag[LASTHIGHSET]:=LASTHIGH;END
POLYLINE(Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID); - 金字塔客服:
如今天上午股指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 - 用户回复:
省略号的东西能写一下吗?
- 网友回复:
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
ENDIf 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
ENDIf 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
ENDENDEXIT@ ;
POLYLINE(Zigzag[NN]<>0,Zigzag[NN],COLORRED,1,VTSOLID);
- 网友回复:
上面是全部代码,按MT4软件和金字塔的Zig函数的原理设计,已经找出高低拐点的价格和位置,但不知道怎样画出来。这样设计,除掉了未来函数的罪名,是顺向推导出已经出现的高低拐点,希望能把它设计完成,也可以给使用金字塔的用户共享非未来函数类的ZIG函数。
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 1145508240 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容