關於讀取的資料實際是不存在的
比方說GetField("月營收年增率","M")[12]>20
不巧某檔股票實際上沒有這筆資料
因此這檔股票將不會被選出
但是這是因為沒有這筆資料 而不是因為年增沒超過20
請問我要如何做判斷?
關於讀取的資料實際是不存在的
比方說GetField("月營收年增率","M")[12]>20
不巧某檔股票實際上沒有這筆資料
因此這檔股票將不會被選出
但是這是因為沒有這筆資料 而不是因為年增沒超過20
請問我要如何做判斷?
另外1808目前計資料是更新至Q4 20171201
可是我的程式碼讀出來outputfield(1, GetFieldDate("營業收入淨額","Q"),2,"使用季"); 是20170901
完整程式碼如下 還請協助確認
Vars:DayCycle(30);
Vars:BackTrackingDate(0);
Vars:BackTrackingDayStart(0);
Vars:BackTrackingDayEnd(0);
Vars:BackTrackingDay(0);
Vars:BackTrackingMonth(0);
Vars:BackTrackingQ(0);
Vars:FloatingVolume(0);
Vars:FloatingCnt1X(0);
Vars:FloatingCnt2X(0);
Vars:HighestVolume(0);
Vars:HighestVolumeDay(0);
Vars:HighestPrice(0);
Vars:HighestPriceDay(0);
Vars:HighestPriceTolerance(0);
Vars:ValidHighest(0);
Vars:i(0);
Vars:UpRevenue(0);
Vars:DownRevenue(0);
Vars:HighestRevenue(0);
Vars:ValidRevenue(0);
Vars:ValidVolumeTrend(0);
Vars:ValidPriceTrend(0);
Vars:ValidPriceVolume(0);
Vars:ValidPriceJump(0);
Vars:ValidDown(0);
Vars:LatestRevenueQ(0);
Vars:GrossMargin(0);
Vars:BusinessExpense(0);
Vars:RealEps(0);
Vars:PredicEps(0);
Vars:ReportEps(0);
Vars:RealPERatio(0);
Vars:PredicPERatio(0);
Vars:ReportPERatio(0);
Vars:ReasonablePERatio(0);
Vars:PredicReportPERatio(0);
Vars:ValidEps(0);
Vars:ValidLegalPerson(0);
Vars:ValidRet(0);
Vars:Loop(1);
Vars:InPrice(0);
Vars:ActualInPrice(0);
Vars:OutPrice(0);
Vars:Profit(0);
Vars:ProfitDate(0);
Vars:BestProfit(0);
Vars:WorstProfit(0);
Vars:ShareCapital(0);
ValidRevenue=1;
if ValidRevenue>0
then
Begin
ShareCapital = GetField("最新股本");
if(BackTrackingDay>0)
then
ShareCapital = GetField("普通股股本","Q");
FloatingCnt1X = 0;
FloatingCnt2X = 0;
FloatingVolume =(ShareCapital*10000)-GetField("董監持股","D")[BackTrackingDay];
For i = HighestPriceDay to (HighestPriceDay+DayCycle)
Begin
if GetField("成交量","D")[i]<FloatingVolume
then
FloatingCnt1X=FloatingCnt1X+1;
if GetField("成交量","D")[i]<(FloatingVolume*2)
then
FloatingCnt2X=FloatingCnt2X+1;
End;
//獲利能力確認-最近一季EPS反推四季本益比 (百萬為單位)
ReasonablePERatio=20;
RealEPS=0;
PredicEPS=0;
ReportEps=GetField("EPS","Q")[0]*4;
RealPERatio=0;
PredicPERatio=0;
ReportPERatio=0;
PredicReportPERatio=0;
LatestRevenueQ=(GetField("月營收","M")[BackTrackingMonth]+GetField("月營收","M")[1+BackTrackingMonth]+GetField("月營收","M")[2+BackTrackingMonth])*100;
GrossMargin=GetField("營業毛利率","Q");
BusinessExpense=GetField("營業費用","Q");
ValidEps=0;
if RealEPS>0
then
RealPERatio=GetField("收盤價","D")[BackTrackingDay]/RealEPS;
if PredicEPS>0
then
PredicPERatio=GetField("收盤價","D")[BackTrackingDay]/PredicEPS;
if ReportEPS>0
then
Begin
if GetField("營業外收入合計","Q")>GetField("營業外支出合計","Q")
then
ReportEps=GetField("EPS","Q")[0]*4*GetField("營業利益","Q")/((GetField("營業外收入合計","Q")-GetField("營業外支出合計","Q"))+GetField("營業利益","Q"));
End;
End;
if StrCompare(symbol,"1808.tw")=0
then
ValidRet=1;
//結束
if ValidRet=1
then
ret=1;
outputfield(1, GetFieldDate("營業收入淨額","Q"),2,"使用季");
請問小幫手可以幫我解答以上兩個問題嗎?
Hi 強哥,
關於第一個問題,請問是哪檔股票有遇到此狀況?以利小幫手查看問題的原因唷,謝謝。
你好:
經小幫手查看過後,此檔股票是2017/06 才上市櫃,所以沒有那麼久以前的資料,所以會是N/A的狀態,故無法顯示,以上說明。
謝謝小幫手,請問第一個問題有解答嗎?
你好:
1808 資料顯示的問題,小幫手在最近財務報表陸續公告,最新的一期是以哪一個數字為基準? 這一篇有回覆喔。
6 評論