Activity
Mon
Wed
Fri
Sun
Sep
Oct
Nov
Dec
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
What is this?
Less
More

Memberships

ZeroOne Systems

13.7k members • Free

14 contributions to ZeroOne Systems
How should an agentic trading system recover after losing its live market-data stream?
How should an agentic trading system recover after losing its live market-data stream? I’m working through a problem in the supervised trading system I’m building and would be interested in how others would approach it. The system consumes live market data through a WebSocket. During controlled observation sessions, the connection can occasionally close unexpectedly. Reconnecting to the provider is the easy part. The harder question is: After reconnecting, how does the system prove that its view of the market is complete and trustworthy enough to resume making decisions? My current thinking is that a lost connection should immediately remove decision authority. The system can continue recording diagnostics, but it shouldn’t treat a successful reconnection as proof that continuity has been restored. A few possible problems remain after the socket reconnects: - Events may have been missed during the outage - The first messages received may not rebuild the full current state - Delayed or duplicate events may arrive - Subscriptions may not match the original session - Indicators may have been calculated from an incomplete sequence - The agent’s previous thesis may no longer be valid - Broker or position state may have changed independently The recovery path I’m considering looks something like this: 1. Mark the live stream unhealthy and suspend decision authority. 2. Record the disconnect reason and last accepted event. 3. Open a new connection with a new connection-generation identity. 4. Authenticate and restore the required subscriptions. 5. Backfill the missing market-data window through an independent source. 6. Deduplicate and reorder events where possible. 7. Rebuild indicators and the current market snapshot. 8. Reconcile positions and outstanding orders independently. 9. Re-evaluate the previous thesis using fresh information. 10. Restore authority only after explicit continuity checks pass. The design question I’m still wrestling with is what evidence should be considered sufficient to restore authority.
0 likes • 11h
That sounds like a useful setup, Ian—especially if NinjaTrader is handling the connection recovery and rebuilding the chart before Python resumes evaluating it. The part I’m trying to pin down is what “updated” guarantees underneath the chart. Does NinjaTrader backfill every missing completed candle after reconnecting, and does your Python script wait until that process is finished before it can generate another decision? I’m also curious whether your strategy uses only candle data or anything tick-derived. Reconstructing OHLCV bars would probably restore EMA, ATR, VWAP, and similar indicators cleanly. But if the strategy depends on trade speed, uptick behavior, or other tape information, a current-looking chart may not contain everything that was missed. Your approach could still solve a large portion of this if NinjaTrader acts as the recovery and normalization layer. I’d just want Python to receive an explicit “history synchronized and ready” state rather than assuming that new data rolling in means the gap has been repaired. How are you gating evaluation during that reconnect and chart-refresh window?
0 likes • 11h
For context, my setup is a little different because it doesn’t read data from a charting platform. The system is primarily written in Python and receives structured market events directly from Massive through a WebSocket. Historical and reference data can be requested separately through REST APIs. The live events pass through an ingestion layer that validates the message, timestamps it, checks ordering and duplicates where the provider data allows, and records it before any analytical component can use it. From there, separate parts of the system derive things like price structure, market regime, momentum, volume behavior, and trend condition. Those components contribute evidence to a supervised decision process, while deterministic controls decide whether the system has enough trustworthy information to proceed. Market analysis and brokerage authority are also kept separate. The market-data provider tells the system what is happening in the market, while the broker’s own state will remain authoritative for positions, working orders, and fills. An LLM can interpret context and help form a thesis, but it cannot override missing data, stale inputs, position limits, or hard risk rules. Right now, this portion is still running in controlled observation rather than placing orders. That is how the disconnect issue surfaced. The connection can recover and new trades begin arriving, but because the system targets fast-moving setups, I don’t want it assuming that “messages are arriving again” means its entire market view is trustworthy. REST history may be able to rebuild bars and indicators, but any tape-derived observations may need a fresh live accumulation period. The system also needs to invalidate decisions created before the interruption and reconcile separately with the broker if a position is open. That’s why I’m interested in what NinjaTrader guarantees during its own recovery. If it can expose a definite synchronization state—not just redraw the chart—it could serve as a very effective normalization layer for your Python strategy.
TradingView MSIX issue
TradingView for Windows only ships as an MSIX package and cannot be installed/ opened in debug mode, which is required for MCP and Claude connection. Anyone know of a workaround TradingView instal thats avoid the MS windows trap?
1 like • 17h
The MSIX package may be the wrong layer to fight. Windows can technically debug an installed MSIX through Visual Studio, but that isn’t necessarily the Chrome DevTools Protocol connection Claude/MCP is expecting. Unpacking or re-signing TradingView’s package would also be fragile and could break every time the application updates. The cleaner workaround is to run TradingView Web in a dedicated Edge or Chrome debugging profile and connect the MCP tool to that browser instance instead. For Edge, try closing Edge and launching a separate instance from PowerShell: ```powershell Start-Process "$env:ProgramFiles(x86)\Microsoft\Edge\Application\msedge.exe" ` -ArgumentList ` "--remote-debugging-port=9222", ` "--user-data-dir=$env:LOCALAPPDATA\TradingView-Claude-Profile", ` "https://www.tradingview.com/chart/" ``` Then open: ```text http://127.0.0.1:9222/json/list ``` If that returns a list containing the TradingView tab and a `webSocketDebuggerUrl`, the debugging endpoint is working. Point the MCP/browser connector at `http://127.0.0.1:9222` or the WebSocket URL it returns, depending on what the connector expects. The separate `--user-data-dir` is important. It creates an isolated browser profile and avoids newer Chromium restrictions around debugging the normal user profile. A few precautions: * Keep port 9222 accessible only from localhost. * Use a dedicated browser profile rather than your everyday browser session. * Don’t give the agent access to broker credentials or unrelated logged-in accounts. * If the goal is receiving TradingView signals rather than visually controlling charts, use TradingView’s webhook alerts instead of browser automation. That will be much more stable than reading or clicking the interface. * For anything execution-related, treat the TradingView signal as an untrusted input and pass it through deterministic validation and risk controls.
2 likes • 17h
That actually makes the problem much smaller—you may not need to connect Claude directly to the TradingView desktop app at all. If ATR is the main value you need, I’d avoid having Claude read it visually from a screenshot. You could either calculate the same ATR directly from daily OHLC candles in Python, or have Pine Script send the ATR as structured data through a TradingView alert/webhook. For example, Pine can calculate: ```pine atrValue = ta.atr(14) ``` Then construct a JSON alert containing the symbol, timeframe, ATR, current price and bar time: ```pine message = '{"ticker":"' + syminfo.tickerid + '","timeframe":"' + timeframe.period + '","atr":' + str.tostring(atrValue) + ',"close":' + str.tostring(close) + ',"bar_time":' + str.tostring(time) + '}' if barstate.isconfirmed alert(message, alert.freq_once_per_bar_close) ``` Your receiving script could validate the timestamp and pass those values into the option-chain viability calculations. The same payload could include the other TradingView rules Claude currently reads from the chart. If your scanner already has access to daily candles, calculating ATR locally may be even cleaner because it removes TradingView from that part of the dependency chain entirely. You’d just want to match TradingView’s ATR length and Wilder-style smoothing so the values agree. The browser-debugging approach is still available if you genuinely need Claude to interact with the chart visually. But for ATR and rule values, structured numbers will be more reliable than screenshots and much easier to automate end to end. This one may only require a medium-strength coffee. 😄
“A human approval button is not automatically human oversight.”
The human approval button that verified nothing Early in the design of my trading system, I treated human approval as the primary safety boundary. The workflow seemed reasonable: 1. The system analyzes an opportunity. 2. It creates a recommendation. 3. The recommendation is shown to the operator. 4. The operator approves or rejects it. 5. Nothing proceeds without approval. Human in the loop. Problem solved. Except it wasn’t. If the operator receives only a confident recommendation and an approval button, what exactly are they verifying? If they cannot see the supporting evidence, contradictory evidence, data freshness, risk calculation, invalidation condition, and unresolved uncertainty, then approval may be little more than trusting the system and clicking “yes.” The human is present, but no independent judgment is taking place. That led me to separate three ideas I had previously treated as interchangeable: - Human in the loop: A person must perform an action before the workflow continues. - Human on the loop: A person monitors the system and can intervene. - Human verification: A person receives enough evidence and authority to independently evaluate the proposed action. Only the third one creates a meaningful approval boundary. For a human approval request to be useful, I now believe it should answer several questions clearly: - What action is being proposed? - Why is it being proposed now? - What evidence supports it? - What evidence contradicts it? - What remains unknown? - How current is the information? - What risk is being accepted? - What would invalidate the decision? - What happens if no action is taken? - What authority does approval actually grant? The approval itself also needs boundaries. An approval should be: - Tied to one specific decision - Based on a recorded input snapshot - Limited to a defined action - Time-bound - Invalidated when material conditions change - Single-use where appropriate - Recorded with the eventual outcome
0 likes • 18h
That is an excellent implementation of the distinction between eligibility and authorization. Your deterministic overfitting gate establishes whether a proposal is even permitted to reach the human. The human then decides whether an eligible proposal should be promoted. That is much stronger than presenting every idea and expecting the operator to recognize which ones should never have been proposed. I also like that your request carries the underlying statistics rather than an AI-generated confidence score. Confidence without inspectable evidence is persuasive language, not verification. One addition I’d consider alongside the expiration period: bind the approval to the exact proposal identity—strategy/configuration hash, evidence version, test dataset, input snapshot, and validation result. Then revalidate those conditions when “Apply” is clicked. An approval could become invalid before its time limit expires if the configuration changes, new evidence arrives, the operating regime changes, or the validation artifact is replaced. The execution path should confirm both: 1. The approval is still within its permitted time. 2. The thing being applied is exactly the thing that was reviewed. And your rubber-stamp test is going in my notes. I might phrase the uncomfortable follow-up this way: if nothing is ever rejected, either the upstream eligibility gate is exceptionally selective—or the human approval step may not be adding measurable information. Tracking why proposals are approved, rejected, or allowed to expire could reveal which one is true. Thanks for sharing the details. This is exactly the kind of comparison I hoped these posts would create.
0 likes • 17h
That’s great, Decebal. Rechecking everything against fresh data when “Apply” is clicked closes the gap much better than an expiration date by itself. I also like that you apply each slot individually. If three still pass and two fail, the valid ones can move forward without the failed ones slipping through with the group. The only thing I’d make sure to capture is that partial result. Instead of the log simply saying “applied,” it should show which slots were applied, which were rejected, why they failed, and what the final active configuration became. That way you can always reconstruct exactly what changed. And yes, both of us arriving at the same solution from different directions is a pretty good sign that the boundary belongs there. I’m really enjoying this exchange. Every time one of us answers, it seems to uncover the next question.
18h • 
Ask
Have Your Say! (Every Suggestion Will Be Read)
Hi everyone, Me and my team are working on the next round of content for the YouTube Channel and we need your help. We're now accepting ideas from members of Zero One Systems for specific tutorials, builds and explainers YOU want to see on my YouTube Channel. I'm talking: - Builds you've never seen before - Tutorials you've always wanted - Explanations no one has given yet I'll be able to pull from this list and ACTUALLY make the videos you've asked for. You can also "Like" another comment if you like their idea and I'll track the likes as "Upvotes" Lewis p.s.sometimes it's really hard to know which content people want vs what is made. This would help tremendously with that.
Have Your Say! (Every Suggestion Will Be Read)
1 like • 18h
I’d like to see a tutorial aimed at people who already have a substantial software application and want to add agentic capabilities without handing the LLM uncontrolled authority or rebuilding everything from scratch. A possible title: “How to Add AI Agents to an Existing Application Without Letting the LLM Run the System” It could walk through: - Mapping an existing codebase before introducing agents - Deciding what remains deterministic and what belongs to an LLM - Giving specialized agents narrow responsibilities and authority - Defining typed input/output contracts between agents and conventional code - Handling missing, stale, contradictory, or ambiguous information - Coordinating multiple agents when they disagree - Designing meaningful human approval rather than a rubber-stamp button - Recording evidence and decisions for replay and audit - Testing failure modes before permitting real-world actions - Promoting agent-generated improvements without allowing uncontrolled self-modification Most agent tutorials demonstrate a successful normal workflow. I’d find it especially valuable to see the same build tested against disconnections, invalid tool responses, stale information, partial completion, agent disagreement, and attempted actions outside its authority. That kind of end-to-end architecture and failure-testing walkthrough would be useful well beyond trading—for financial systems, communications, scheduling, business operations, or anything else where an agent’s output can create real consequences.
Introduction
Trader working toward consistent income using a 10 EMA strategy. Building alerts and automation so I can manage trades while working 8–5. Comfortable with TradingView, newer to Claude Code and agents. Goal is a system that handles analysis, journaling, and eventually execution.
1 like • 2d
Hi, I'm new here and trying to decide if this is the correct community for me to be in. I am not really looking for a course to follow. Although learning better prompting for AI is something I would like to learn. I have self taught myself to day trade. Not really a pro yet. But I am getting better. I also started using AI to work for me, I am currently building a full desk top trading suite that is for Day/momentum trading. It will assist with manual trades I make myself as well as agentic trading. First human approved trades than fully autonomous. I am about 60% done with the software, I just took the first test trade today with it. I would like to share my project and be able to bounce ideas off of people as I do this all on my own and AI. I want to start my own thread to be able to do this. But I guess this will give the first introduction...
0 likes • 18h
Thank you, Ian. Your work interests me too. You appear to be approaching the problem from the strategy-testing and automation side, while I’ve spent a lot of time building the larger operational system around strategy selection, risk, evidence, supervision, replay, and failure handling. There may be some useful overlap between what we’ve each learned. That equity curve and profit factor are certainly worth investigating further. I’d be interested in how you structured the testing loop with Claude and Python. Is Claude proposing or modifying strategy variations while Python runs the tests and returns standardized results? I’d also be curious about a few parts of the validation: - Are commissions and realistic slippage included? - Were the final parameters selected using the same 365-day period shown here? - Have you run it against untouched data or through walk-forward testing? - Is the automation currently producing signals, or is it connected to live order execution? I ask because one of the hardest boundaries I’ve encountered is separating “the strategy explains the historical data well” from “the strategy is likely to survive conditions it hasn’t seen.” The personalized trading suite became the layer surrounding that question: validating inputs, selecting eligible strategies, enforcing deterministic risk, recording decision evidence, supervising execution, and stopping safely when reality differs from the test assumptions. I’d enjoy comparing notes as both projects develop.
1-10 of 14
Joseph Manion
2
3 points to level up
@joseph-manion-7054
I'm just a guy trying to learn and get a edge in life

Active 6h ago
Joined Aug 5, 2026
Powered by