到奇狐勝券首頁 奇狐社區論壇 購買奇狐勝券 試用奇狐勝券
 
論壇首頁 你可以在這裡編輯你的資料,查看短訊,訂閱主題和論壇參數等等 免費會員註冊 會員列表 論壇幫助 論壇日曆 論壇搜索 加入我的最愛 登出論壇  
奇狐社區論壇 : Powered by vBulletin version 2.3.0 奇狐社區論壇 > 指標公式 > 問題交流 > 請教
  上一主題   下一主題
作者
主題 發表新主題    回覆主題
a9681054
資深會員

註冊日期: Nov 2008
來  自: 新北市
文章數量: 485

請教

版主你好,
以下程式為何在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

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 13:50
a9681054 現在離線 點選這裡查看 a9681054 的個人資料 點選這裡給 a9681054 傳送一條短訊 查找更多關於 a9681054 的文章 增加 a9681054 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18191

回覆: 請教

引用:
最初由 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;



v5.2 檢查的比較嚴格
這段程式碼是錯誤的!!!!
奇狐的數列是自1數起,不會有 [0] 存在

無論是用 v5.0 或 v5.2,請都修正該程式碼
變數[0] 是越界存取,可能會導致很多莫名其妙的問題

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:03
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
a9681054
資深會員

註冊日期: Nov 2008
來  自: 新北市
文章數量: 485

問題解決了,謝謝~

__________________
chiu

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:19
a9681054 現在離線 點選這裡查看 a9681054 的個人資料 點選這裡給 a9681054 傳送一條短訊 查找更多關於 a9681054 的文章 增加 a9681054 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18191

引用:
最初由 a9681054 發表
問題解決了,謝謝~


不客氣~

[0] 不要直接改為 [1] 唷
請改為該序列下界,因為有些序列有效起點是大於1

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:26
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
a9681054
資深會員

註冊日期: Nov 2008
來  自: 新北市
文章數量: 485

版主你好,
序列上下界不是很瞭解,我剛才的確是將0改1,是否麻煩版主將上述程式改為正確,謝謝∼

__________________
chiu

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:39
a9681054 現在離線 點選這裡查看 a9681054 的個人資料 點選這裡給 a9681054 傳送一條短訊 查找更多關於 a9681054 的文章 增加 a9681054 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18191

引用:
最初由 a9681054 發表
版主你好,
序列上下界不是很瞭解,我剛才的確是將0改1,是否麻煩版主將上述程式改為正確,謝謝∼



NKC, NKH, NKL, NKC
這四個數列資料等長嗎?

前面有無其它程式碼用到這四個變數?
若有請一併列出!

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:48
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18191

看起來您程式與下面這段是算相同的東西,因為與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;

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:53
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
a9681054
資深會員

註冊日期: Nov 2008
來  自: 新北市
文章數量: 485

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

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 14:56
a9681054 現在離線 點選這裡查看 a9681054 的個人資料 點選這裡給 a9681054 傳送一條短訊 查找更多關於 a9681054 的文章 增加 a9681054 至你的好友列表 編輯/刪除訊息 引用回覆
cgjj
總版主

註冊日期: Oct 2003
來  自:
文章數量: 18191

引用:
最初由 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;

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 15:13
cgjj 現在離線 點選這裡查看 cgjj 的個人資料 點選這裡給 cgjj 傳送一條短訊 查找更多關於 cgjj 的文章 增加 cgjj 至你的好友列表 編輯/刪除訊息 引用回覆
a9681054
資深會員

註冊日期: Nov 2008
來  自: 新北市
文章數量: 485

版主你好,
剛試了,效果一樣,感謝幫忙~

__________________
chiu

向版主報告此篇 | 查IP位址
Old Post 2019-04-22 15:14
a9681054 現在離線 點選這裡查看 a9681054 的個人資料 點選這裡給 a9681054 傳送一條短訊 查找更多關於 a9681054 的文章 增加 a9681054 至你的好友列表 編輯/刪除訊息 引用回覆
全部時間均為台灣時間, 現在時間為12:15 發表新主題    回覆主題
  上一主題   下一主題
顯示可列印版本 | 訂閱此主題

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
HTML語法禁止
vB 語法核准
表情符號核准
貼圖語法[IMG]核准
 

本站所有內容未經作者授權禁止轉貼節錄, 發表言論僅供參考勿作為投資決策依據。瀏覽本站請使用 IE 5.5 以上版本, 最佳瀏覽解析度 1024 x 768 全彩。

Powered by: vBulletin Version 2.3.0 - Copyright©2000-, Jelsoft Enterprises Limited.

簡愛洋行 製作 Copyright 2003-. All Rights Reserved.  聯絡我們