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

註冊日期: May 2004
來  自: taiwan
文章數量: 17

數列運算求low的歷史最低點

感謝cgjj解惑,再請教一個問題,我參考【範例5】求指定年份的最低價
FindYear 為指定的年份
MinLow 為該年份的最低價
     若為 -1 代表不存在該年份數據

FindYear:=2002;
UseY:=YEAR;
UseL:=LOW;
MinLow:=-1;
StartNo:= lbound(UseY);
EndNo:= ubound(UseY);
for i = StartNo to EndNo do begin
if UseY[i] = FindYear then begin
if UseL[i] < MinLow or MinLow = -1 then MinLow:= UseL[i];
end;
end;
最低:MinLow;
------------------------------------------------------------------------------------------------------
模仿程式希望找8068全達上市以來最低價3.85
minlow:=-1;
ll:=LOW;
startno:=LBOUND(ll);
endno:=UBOUND(ll);
for i= startno to endno do begin
IF ll[i]< minlow or minlow=-1 then minlow=ll[i];
end;
最低:minlow;
------------------------------------------------------------------------------------------------------
您問題在此
IF ll[i]< minlow or minlow=-1 then minlow=ll[i];

改為這樣即可
IF ll[i]< minlow or minlow=-1 then minlow:=ll[i];

迴圈中的敘述一定都要 := 的形式(不輸出)
不可於迴圈中指定任何形式的輸出

建議您將不同問題另開主題發問
------------------------------------------------------------------------------------------------------
感謝cgjj,改正後可以成功,再衍伸一個問題
minlow:=-1;
ll:=LOW;
startno:=LBOUND(ll);
endno:=UBOUND(ll);
for i= startno to endno do begin
IF ll[i]< minlow or minlow=-1 then minlow:=ll[i];
end;
最低:minlow;
======================================
如果改變
minlow:=-1;
ll:=LOW;
startno:=LBOUND(ll);
endno:=UBOUND(ll);
for i= startno to endno do begin
IF ll[i]< minlow then minlow:=ll[i]; <-----------只有minlow
end;
最低:minlow;

則出現數值為-1,不會顯示3.85
======================================
或是改變
minlow:=-1;
ll:=LOW;
startno:=LBOUND(ll);
endno:=UBOUND(ll);
for i= startno to endno do begin
IF ll[i]<= minlow then minlow:=ll[i]; <----------- ll[i]<=minlow
end;
最低:minlow;

一樣出現數值-1,不會顯示3.85
--------------------------------------------------------------------------------------------
我的疑問是,minlow=-1或是其他常數不影響運算結果,但為何 if ll[i]< minlow or minlow=-1 這語句對輸出結果影響如此關鍵呢?

__________________
i am a person

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

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

其實處理的手法有很多種, 我僅是舉一例做教學

minlow=-1 是給予初始值
當 minlow=-1 時代表沒記錄過任何 low 值

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

論壇跳轉:
主題評分:

論壇規定:
你不可以發表新主題
你不可以回覆文章
你不可以上傳附件
你不可以編輯自己的文章
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.  聯絡我們