// 主板股票昨日涨幅排名前 50
// 主板成分：上证A股 + 深证A股（getAbkbyDate 支持分号分隔多板块）
// “昨天”取当前日期的前一个交易日，避开周末/节假日

setSysParam(pn_cycle(), cy_day());

yday := lastTradeDay(date());      // 昨日（最近一个已收盘交易日）
prevday := lastTradeDay(yday);     // 昨日的前一个交易日

stocks := getAbkbyDate('上证A股;深证A股', yday);

result := array();
for i, stockid in stocks do
begin
    setSysParam(pn_stock(), stockid);
    zf := stockZf8(prevday, yday);  // prevday 收盘 -> yday 收盘的涨幅(%)，即昨日涨幅
    appendArray(result, array("StockID": stockid, "Zf": zf));
end

sortTableByField(result, "Zf", 0);  // 按涨幅逆序

top50 := array();
n := length(result);
if n > 50 then
begin
    n := 50;
end
for i := 0 to n - 1 do
begin
    appendArray(top50, result[i]["StockID"]);
end

return top50;
