back to notes

TC v 113

TradeClient Release Notes: v0.1.102 → v0.1.113

New features - Chase entry: If your primary entry order's time-in-force expires without filling, you can now configure a chase order at a secondary limit price with its own timeout. The chase price field accepts {bid}/{ask} expressions (e.g. {bid} - 0.05), CSV column lookups, or signal-time tokens like Max({ask}0.99, {last}0.90}. A live preview label shows what will be sent. Partial fills suppress the chase — it only fires if the primary got zero shares. - Stale quote alerts: New "Last Quote Time"/"Last Price" columns (hidden by default, add via column chooser) and an optional Pushover notification that fires if an open position, active virtual stop, or active timed exit hasn't received a quote in 60 seconds during market hours — flags halted stocks or feed dropouts. Throttled to one alert per symbol per 5 minutes.

Bug fixes — locates - Fixed a bug where a broker offering far more shares than you requested (e.g. 69,148 offered for a 727-share request) inflated the calculated locate cost and caused good locates to be wrongly rejected. - Fixed partial-offer handling storing the broker's offered quantity as if it were your full requested quantity, causing silent downsizing after acceptance. - Insufficient-share locate offers now log a reason instead of silently dropping the trade, and the non-timer locate path now falls back to a partial locate like the timer path already did.

Bug fixes — order execution - Fixed a rare but serious bug where reconnecting to DAS twice in one session could leave orphaned exit timers that fired simultaneously alongside the current one, tripling your exit quantity at end-of-day close. - Fixed the chase order re-triggering itself every 2 minutes indefinitely after it expired unfilled instead of stopping (confirmed live: 7 chase orders fired before manual cancel). - Fixed chase orders using bid/ask expressions abandoning with "no L1 data" because the live quote feed was never subscribed for that reason. - Fixed a phantom-fill bug where a manually placed DAS order could get matched to a zombie setup (one whose locate was declined) and paint a fake fill onto it. - Fixed daily reset firing at the wrong local time for anyone not on Eastern time — it was anchored to 1:00 AM ET but strategy file paths use local time, so on non-Eastern machines strategies could re-arm against the previous day's file and miss the next session. - Fixed CSV/JSON alert parsing breaking on JSON fields with no space after commas (e.g. "signal":"Sell"), which mangled signal data before it reached the strategy engine.

Net effect: locate accept/reject logic is now more accurate (fewer good locates rejected, fewer bad partials silently accepted), exit and chase orders are more reliable under reconnects and timeouts, and the daily reset/timezone handling is correct regardless of what timezone your machine is in.



last updated 5 hours ago