📝 docs(tsl): archive three benchmark scripts referenced by README

- add scripts/main_board_top50_zf_{claude,codex,qwen3.6-27b}.tsl as produced
- sync round-1 code block and archived filename in README

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
csh
2026-07-08 12:26:20 +08:00
co-authored by Claude Opus 4.8
parent 76a6523ac6
commit 061e67eb06
4 changed files with 89 additions and 5 deletions
+8 -5
View File
@@ -243,7 +243,7 @@ playbook 目前已覆盖语法、函数、模块三大知识面,下一步按
| :-- | :-- |
| 🧭 首跳照走 | 读 `AGENTS.md` → 进 `docs/tsl/index.md` 总入口 → 按路由取用快速落代码 / 控制流 / 数组集合三个语法页 |
| 🔍 函数全部查证 | 调用 `tsl-api-reference` skill 逐一核实 `getAbkbyDate` · `lastTradeDay` · `stockZf8` · `appendArray` · `sortTableByField` —— **五个函数零编造** |
| 📄 文件模型判对 | 一次性取数任务 → 按规则判为 `.tsl`落盘 `scripts/main_board_top50_zf.tsl` |
| 📄 文件模型判对 | 一次性取数任务 → 按规则判为 `.tsl`存档于 `scripts/main_board_top50_zf_claude.tsl` |
| ✅ 主动验证 | 本机解释器实测:键表构造、循环截断、排序等 builtin 逻辑全部跑通,整个文件编译通过 |
| 🗣 诚实报告边界 | 数据仓库函数离线环境没有(`function not found`),**如实说明需在天软客户端端到端确认,而不是谎称全部跑通** |
@@ -252,7 +252,7 @@ playbook 目前已覆盖语法、函数、模块三大知识面,下一步按
```tsl
// 主板股票昨日涨幅排名前 50
// 主板成分:上证A股 + 深证A股(getAbkbyDate 支持分号分隔多板块)
// "昨天"取当前日期的前一个交易日,避开周末/节假日
// 昨天取当前日期的前一个交易日,避开周末/节假日
setSysParam(pn_cycle(), cy_day());
@@ -265,15 +265,18 @@ result := array();
for i, stockid in stocks do
begin
setSysParam(pn_stock(), stockid);
zf := stockZf8(prevday, yday); // prevday收盘 -> yday收盘的涨幅(%)
zf := stockZf8(prevday, yday); // prevday 收盘 -> yday 收盘的涨幅(%),即昨日涨幅
appendArray(result, array("StockID": stockid, "Zf": zf));
end
sortTableByField(result, "Zf", 0);
sortTableByField(result, "Zf", 0); // 按涨幅逆序
top50 := array();
n := length(result);
if n > 50 then begin n := 50; end
if n > 50 then
begin
n := 50;
end
for i := 0 to n - 1 do
begin
appendArray(top50, result[i]["StockID"]);
+33
View File
@@ -0,0 +1,33 @@
// 主板股票昨日涨幅排名前 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;
+22
View File
@@ -0,0 +1,22 @@
end_t := yesterday();
stocks := getAbkbyDate('上证A股;深证A股', end_t);
data := select ['StockID'] as "Code",
spec(specDate(stockZf3(), ['date']), ['StockID']) as "Zf"
from markettable datekey end_t to end_t of stocks end;
sorted := select ["Code"] from data order by ["Zf"] desc end;
n := min(50, length(sorted));
result := array();
if n > 0 then
begin
for i := 0 to n - 1 do
begin
result[i] := sorted[i]["Code"];
writeLn(result[i]);
end;
end;
return result;
@@ -0,0 +1,26 @@
#! 获取昨天主板所有股票涨幅排名,取前50股票代码
dt := yesterday();
dt_prev := dt - 1;
stocks := getAbkbyDate('上证A股;深证A股', dt);
n := length(stocks);
gains := array();
for i := 0 to n - 1 do
begin
setSysParam(PN_Stock(), stocks[i]);
zf := stockZf(dt_prev, dt);
gains[i] := array("code": stocks[i], "zf": zf);
end;
top50 := select * from gains
order by ["zf"] desc
end;
top50 := select drange(0 to 49) * from top50 end;
echo "昨天(" $ dateToStr(dt) $ ")主板涨幅前50";
for i := 0 to length(top50) - 1 do
begin
echo (i + 1) $ ". " $ top50[i]["code"] $ " 涨幅:" $ top50[i]["zf"] $ "%";
end;