How the TradingView → Tradovate → TradeDupe chain works
TradingView's broker integration lets you place orders on a Tradovate account from the TradingView chart and order panel. From Tradovate's point of view those are ordinary orders on an ordinary account; when they fill, Tradovate publishes an execution report exactly as it would for an order placed in its own app.
TradeDupe's worker holds a persistent connection to that execution-report stream for the leader account. It does not know or care that the order originated in TradingView. When the leader fill arrives, it builds one order per active follower — same symbol and side, quantity times the follower's whole-number multiplier, skipped if the symbol is not on that follower's allowed-contract list — and dispatches them to Tradovate in parallel. If the TradingView order carried a bracket, the take-profit and stop-loss are placed on each follower at the leader's prices. When you drag the stop on the TradingView chart, Tradovate reports a modification on the leader leg and the worker modifies each follower leg to match. Cancels are mirrored the same way.
The worker also watches the followers' own execution reports. A follower fill that did not come from the copier — for example, you accidentally traded a follower account from TradingView — is market-closed automatically, so that account cannot drift into a position the leader does not hold. This detection is not available for followers that share the leader's Tradovate login.