You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 27, 2026. It is now read-only.
Copy file name to clipboardExpand all lines: README.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,7 @@ The language keeps market-data inputs and execution venues explicit:
33
33
-`source` declares market data feeds
34
34
-`execution` declares order-routing venues
35
35
-`order ...` declares how entries and exits are placed
36
+
-`hour_utc(<alias>.time)`, `weekday_utc(<alias>.time)`, and `session_utc(<alias>.time, start_hour, end_hour)` provide deterministic UTC time/session gating without hand-rolled timestamp math
Copy file name to clipboardExpand all lines: crates/palmscript/examples/README.md
+6Lines changed: 6 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,6 +60,12 @@ For runnable public examples and workflow guidance, use the linked docs pages ab
60
60
61
61
When you inspect these strategies from the CLI, `run backtest`, `run walk-forward`, and `run optimize` now support `--diagnostics summary|full-trace`. Use `summary` for the normal compact diagnostics payload and `full-trace` when you want one typed per-bar decision trace record per execution bar.
62
62
63
+
Use `hour_utc(<alias>.time)`, `weekday_utc(<alias>.time)`, and
64
+
`session_utc(<alias>.time, start_hour, end_hour)` when you want deterministic
65
+
UTC session filters without manual millisecond arithmetic. `session_utc` treats
66
+
its window as half-open `[start_hour, end_hour)` and supports overnight wraps
67
+
such as `session_utc(spot.time, 22, 2)`.
68
+
63
69
Execution-oriented commands now require at least one declared `execution`
64
70
target in the script. The checked-in backtest and paper examples already
65
71
declare those execution aliases explicitly. If a script declares exactly one
Self::SpreadBps => "Return the current cross-venue spread in basis points from buy execution close to sell execution close.",
1546
1573
Self::RankAsc => "Return the 1-based ascending price rank of a declared execution alias within the provided venue set.",
1547
1574
Self::RankDesc => "Return the 1-based descending price rank of a declared execution alias within the provided venue set.",
1575
+
Self::HourUtc => "Return the UTC hour-of-day (0..23) for the provided timestamp input.",
1576
+
Self::WeekdayUtc => "Return the UTC weekday (Monday=0 .. Sunday=6) for the provided timestamp input.",
1577
+
Self::SessionUtc => "True when the provided UTC timestamp falls inside the half-open session window [start_hour, end_hour), with overnight wrap support.",
0 commit comments