Hi, 小幫手,不好意思 我卡住了,需要能幫忙一下
我打算取得過去五天的最高價以及最低價,然後是在哪一天,以及當天的漲幅資訊為何
我的想法是,透過for loop 找出最高及最低價,並記錄, 所以我寫了以下的程式碼,
input:period(5,"期數");
Vars: ChangeList(GetField("漲跌幅","D"));
Vars: HighestPriceList(GetField("High", "D", Adjusted:=true));
Vars: LowestPriceList(GetField("Low", "D", Adjusted:=true));
Vars: HighAt(0), LowAt(0), HighPrice(0), LowPrice(0), i(0);
HighPrice = HighestPriceList[0];//先記錄當天最高價
LowPrice = LowestPriceList[0];//先記錄當天最低價
For i = 1 to period-1 Begin
if HighPrice < HighestPriceList[i] then
Begin
HighPrice = HighestPriceList[i];
HighAt = i;//取得最高價在哪一天
End;
if LowPrice > LowestPriceList[i] then
Begin
LowPrice = LowestPriceList[i];
LowAt = i;//取得最低價在哪一天
End;
End;
if ChangeList[LowAt ] <= -5 then //小於 -5% 且為5日內最低價,則return 1
ret = 1;
if ChangeList[HighAt] >= 5 then // 大於 5% 且為5日內最高價,則return 1
ret = 1;
我這樣寫,但我跑完錯得離譜,並沒有找到過去五日的最高價,反而推算到非常多天前
實在不太知道為什麼,希望能幫忙一下,謝謝
4 評論