A:判断是否交易日,可以使用模型istradeday(endt)或istradeday4()。返回1表示交易,0表示不交易。
其中,Isstradeday的判断依据:当前股票在指定日是否有日线行情,高频无效,日线及日线更低频有效。
Istradeday4是在判断istradeday的基础上,还添加了成交量是否为0的判断,若成交量为0,则判断为非交易日。该函数与周期相关,可判断高频。
注:
如果当天没有日线,则认为不是交易日。
如果用户在开盘前进行判断,判断则会出错。同样,在开盘后进行判断,如果判断是否交易的时候,该股票还没有生成日线,判断也会出错。
istradeday判断逻辑请参考:FAQ:
Q:函数istradeday判断是否交易日的规则
示例01:判断指定股票在指定日是否停牌
setsysparam(pn_stock(),"SZ000627");
return istradeday(20250902T);
返回:0 (表示非交易日,即停牌)
示例02:返回A股在指定日的交易的股票序列(去掉停牌股)
endt:=20250902T;
stocks:=getAbkbydate("A股",endt);
//echo "所有挂牌的A股数量:",length(stocks);//可对比筛选前后的量
return sselect thisrow from stocks
where spec(istradeday(endt),thisrow) end;