以下是程式
value1 = GetBarOffset(GetField("除權息日期"));
value2 = close[value1] / close[value1+1];
condition1 = value2 >= 1.05;
if condition1 then ret = 1;
outputField(1,GetField("除權息日期"));
outputField(2,value1);
value1輸出值沒問題,但value2輸出值幾乎都是10。
以下是程式
value1 = GetBarOffset(GetField("除權息日期"));
value2 = close[value1] / close[value1+1];
condition1 = value2 >= 1.05;
if condition1 then ret = 1;
outputField(1,GetField("除權息日期"));
outputField(2,value1);
value1輸出值沒問題,但value2輸出值幾乎都是10。
Hi Txxing,
這邊提供不用調整資料讀取筆數(SetTotalBar)的程式碼範例,供您參考,如下
input:_PriceChangeRatio(5,"當天漲幅大於 X %");
var:idx(0);
condition1 = GetField("日期", "D") > GetField("除息日期","最新");
condition2 = GetField("除息日期","最新") > 0;
if currentBar = gettotalBar then
while condition1 and condition2
if GetField("日期", "D")[idx] > GetField("除息日期","最新") then idx += 1 else break;
ret = condition1 and condition2 and GetField("漲跌幅", "D")[idx] > _PriceChangeRatio;
outputField1(GetField("漲跌幅", "D")[idx],"除息當日漲跌幅");
outputField2(GetField("除息日期","最新"),"除息當日日期");
篩選出來的結果如下圖,或附檔圖,以上提供參考,謝謝。

2 評論