![]() |
在這個頁面顯示本主題全部的 10 個文章 |
奇狐社區論壇 (http://www.chiefox.com.tw/bbs/index.php)
- 問題交流 (http://www.chiefox.com.tw/bbs/forumdisplay.php?forumid=28)
-- 請教 (http://www.chiefox.com.tw/bbs/showthread.php?threadid=21867)
請教
版主你好,
以下程式為何在5.0版可執行,而5.2版卻會出現指標越界?
NKC[0]:=(NKH[0]+NKL[0]+2*NKC[0])/4;
For i=序列下界(NKC)+1 to 序列上界(NKC) do Begin
NKO[i]:=(NKO[i-1]+NKC[i-1])/2;
條件函數 NKO[i]>NKH[i] then NKH[i]:=NKO[i] else NKH[i]:=NKH[i];
條件函數 NKO[i]<NKL[i] then NKL[i]:=NKO[i] else NKL[i]:=NKL[i];
NKC[i]:=(NKH[i]+NKL[i]+2*NKC[i])/4;
End;
__________________
chiu
回覆: 請教
引用:
最初由 a9681054 發表
版主你好,
以下程式為何在5.0版可執行,而5.2版卻會出現指標越界?
NKC[0]:=(NKH[0]+NKL[0]+2*NKC[0])/4;
For i=序列下界(NKC)+1 to 序列上界(NKC) do Begin
NKO[i]:=(NKO[i-1]+NKC[i-1])/2;
條件函數 NKO[i]>NKH[i] then NKH[i]:=NKO[i] else NKH[i]:=NKH[i];
條件函數 NKO[i]<NKL[i] then NKL[i]:=NKO[i] else NKL[i]:=NKL[i];
NKC[i]:=(NKH[i]+NKL[i]+2*NKC[i])/4;
End;
問題解決了,謝謝~
__________________
chiu
引用:
最初由 a9681054 發表
問題解決了,謝謝~
版主你好,
序列上下界不是很瞭解,我剛才的確是將0改1,是否麻煩版主將上述程式改為正確,謝謝∼
__________________
chiu
引用:
最初由 a9681054 發表
版主你好,
序列上下界不是很瞭解,我剛才的確是將0改1,是否麻煩版主將上述程式改為正確,謝謝∼
看起來您程式與下面這段是算相同的東西,因為與K棒等長,所以可以直接用1開始存取。參考看看:
原碼:
fo:=o;fh:=h;fl:=l;fc:=c; fc[1]:=(2*fc[1]+fh[1]+fl[1])/4; for i=2 to datacount do begin fo[i]:=(fo[i-1]+fc[i-1])/2; if fo[i]>fh[i] then fh[i]:=fo[i]; if fo[i]<fl[i] then fl[i]:=fo[i]; fc[i]:=(2*fc[i]+fh[i]+fl[i])/4; end;
NkO:=開盤價;
NkH:=最高價;
NkL:=最低價;
NkC:=收盤價;
/////////////////////////////////////////////////////////////////////////////
NKC[0]:=(NKH[0]+NKL[0]+2*NKC[0])/4;
For i=序列下界(NKC)+1 to 序列上界(NKC) do Begin
NKO[i]:=(NKO[i-1]+NKC[i-1])/2;
條件函數 NKO[i]>NKH[i] then NKH[i]:=NKO[i] else NKH[i]:=NKH[i];
條件函數 NKO[i]<NKL[i] then NKL[i]:=NKO[i] else NKL[i]:=NKL[i];
NKC[i]:=(NKH[i]+NKL[i]+2*NKC[i])/4;
End;
__________________
chiu
引用:
最初由 a9681054 發表
NkO:=開盤價;
NkH:=最高價;
NkL:=最低價;
NkC:=收盤價;
/////////////////////////////////////////////////////////////////////////////
NKC[0]:=(NKH[0]+NKL[0]+2*NKC[0])/4;
For i=序列下界(NKC)+1 to 序列上界(NKC) do Begin
NKO[i]:=(NKO[i-1]+NKC[i-1])/2;
條件函數 NKO[i]>NKH[i] then NKH[i]:=NKO[i] else NKH[i]:=NKH[i];
條件函數 NKO[i]<NKL[i] then NKL[i]:=NKO[i] else NKL[i]:=NKL[i];
NKC[i]:=(NKH[i]+NKL[i]+2*NKC[i])/4;
End;
原碼:
NkO:=o;NkH:=h;NkL:=l;NkC:=c; NkC[1]:=(2*NkC[1]+NkH[1]+NkL[1])/4; for i=2 to datacount do begin NkO[i]:=(NkO[i-1]+NkC[i-1])/2; if NkO[i]>NkH[i] then NkH[i]:=NkO[i]; if NkO[i]<NkL[i] then NkL[i]:=NkO[i]; NkC[i]:=(2*NkC[i]+NkH[i]+NkL[i])/4; end;
版主你好,
剛試了,效果一樣,感謝幫忙~
__________________
chiu
全部時間均為台灣時間, 現在時間為10:20 | 在這個頁面顯示本主題全部的 10 個文章 |
Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.
簡愛洋行 製作 Copyright 2003-. All Rights Reserved.