數組數據越界問題 [金字塔]
- 咨詢內容:
請教版主,如下一段程序,目的是一分鐘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 進行 有償 編寫!(不貴!點擊查看價格!)
相關文章
-
沒有相關內容