📝 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:
@@ -243,7 +243,7 @@ playbook 目前已覆盖语法、函数、模块三大知识面,下一步按
|
|||||||
| :-- | :-- |
|
| :-- | :-- |
|
||||||
| 🧭 首跳照走 | 读 `AGENTS.md` → 进 `docs/tsl/index.md` 总入口 → 按路由取用快速落代码 / 控制流 / 数组集合三个语法页 |
|
| 🧭 首跳照走 | 读 `AGENTS.md` → 进 `docs/tsl/index.md` 总入口 → 按路由取用快速落代码 / 控制流 / 数组集合三个语法页 |
|
||||||
| 🔍 函数全部查证 | 调用 `tsl-api-reference` skill 逐一核实 `getAbkbyDate` · `lastTradeDay` · `stockZf8` · `appendArray` · `sortTableByField` —— **五个函数零编造** |
|
| 🔍 函数全部查证 | 调用 `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 逻辑全部跑通,整个文件编译通过 |
|
| ✅ 主动验证 | 本机解释器实测:键表构造、循环截断、排序等 builtin 逻辑全部跑通,整个文件编译通过 |
|
||||||
| 🗣 诚实报告边界 | 数据仓库函数离线环境没有(`function not found`),**如实说明需在天软客户端端到端确认,而不是谎称全部跑通** |
|
| 🗣 诚实报告边界 | 数据仓库函数离线环境没有(`function not found`),**如实说明需在天软客户端端到端确认,而不是谎称全部跑通** |
|
||||||
|
|
||||||
@@ -252,7 +252,7 @@ playbook 目前已覆盖语法、函数、模块三大知识面,下一步按
|
|||||||
```tsl
|
```tsl
|
||||||
// 主板股票昨日涨幅排名前 50
|
// 主板股票昨日涨幅排名前 50
|
||||||
// 主板成分:上证A股 + 深证A股(getAbkbyDate 支持分号分隔多板块)
|
// 主板成分:上证A股 + 深证A股(getAbkbyDate 支持分号分隔多板块)
|
||||||
// "昨天"取当前日期的前一个交易日,避开周末/节假日
|
// “昨天”取当前日期的前一个交易日,避开周末/节假日
|
||||||
|
|
||||||
setSysParam(pn_cycle(), cy_day());
|
setSysParam(pn_cycle(), cy_day());
|
||||||
|
|
||||||
@@ -265,15 +265,18 @@ result := array();
|
|||||||
for i, stockid in stocks do
|
for i, stockid in stocks do
|
||||||
begin
|
begin
|
||||||
setSysParam(pn_stock(), stockid);
|
setSysParam(pn_stock(), stockid);
|
||||||
zf := stockZf8(prevday, yday); // prevday收盘 -> yday收盘的涨幅(%)
|
zf := stockZf8(prevday, yday); // prevday 收盘 -> yday 收盘的涨幅(%),即昨日涨幅
|
||||||
appendArray(result, array("StockID": stockid, "Zf": zf));
|
appendArray(result, array("StockID": stockid, "Zf": zf));
|
||||||
end
|
end
|
||||||
|
|
||||||
sortTableByField(result, "Zf", 0);
|
sortTableByField(result, "Zf", 0); // 按涨幅逆序
|
||||||
|
|
||||||
top50 := array();
|
top50 := array();
|
||||||
n := length(result);
|
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
|
for i := 0 to n - 1 do
|
||||||
begin
|
begin
|
||||||
appendArray(top50, result[i]["StockID"]);
|
appendArray(top50, result[i]["StockID"]);
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -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;
|
||||||
Reference in New Issue
Block a user