Skip to main content

Integrations & API

CrossTrade is built around TradingView alerts, but the same webhook endpoint accepts payloads from virtually any source that can issue an HTTP request — IFTTT, Zapier, Make.com, Discord/Telegram bots, or your own code. Programmatic trading has two REST surfaces: /v1/api routes through the CrossTrade NT8 Add-On in a running NinjaTrader 8 instance, while /v1/api/tv runs server-side against linked Tradovate accounts and requires no NT8 or Add-On. This page covers both directions.

Frequently Asked Questions

Can I send alerts from sources other than TradingView?

Yes. The CrossTrade webhook URL accepts HTTP POST requests from any service capable of sending one — TradingView is the most common source, but IFTTT, Zapier, Make.com, Discord/Telegram bots, and custom scripts all work the same way. As long as the payload matches the documented alert syntax, CrossTrade does not care who sent it.

How do I send a webhook from my own Python (or other) script?

Post your alert body to your CrossTrade webhook URL as plain text. Any language that can make an HTTP request will work — Python is the most popular among users, but the API and webhook are language-agnostic. Start from the webhook message reference in the docs for the payload format.

Is there an API for programmatic trading?

Yes. Use /v1/api to place orders, manage positions, and pull account data through the CrossTrade NT8 Add-On in a running NT8 instance. Use /v1/api/tv for direct server-side trading against a linked Tradovate account while NT8 is closed. See crosstrade.io/docs/api/overview and crosstrade.io/docs/api/tradovate/overview for the references, plus crosstrade.io/docs/api/authentication for authentication details.

Can I OCO two orders through the REST API?

OCO handling is platform-specific. On NT8, set the same ocoId value on two separately placed orders to link them as a one-cancels-the-other pair. Direct Tradovate does not accept a manual ocoId through this surface; send takeProfit plus stopLoss, or an inline atm* multibracket, so Tradovate hosts the native OCO structure. See crosstrade.io/docs/api/orders/post-place-order.

Can I get live OHLC candles or historical bar data from the API?

No. Neither REST surface provides historical candles. On the NT8 /v1/api surface, GET /quote returns the current live quote, including session-level OHLC from NT8's internal security objects, but it cannot return a requested interval such as 1-minute bars. The direct Tradovate /v1/api/tv surface exposes linked account, order, position, and fill state rather than a historical-bar feed.

If you need intraday candles at a fixed interval, source that data from a market-data provider and build your own bar aggregator; polling a live quote is not a reliable substitute because you can still miss the true high or low of the bar.

Can I control the Kill Switch or Closing-Only mode via the API?

Yes — the Kill Switch and Closing-Only toggle can both be flipped programmatically through the API, so you can build rules that halt new entries while still allowing exits.

Which platforms does the API work with?

CrossTrade exposes separate surfaces for both supported platforms. NinjaTrader 8 uses /v1/api and requires NT8 running with the CrossTrade NT8 Add-On connected. Direct Tradovate uses /v1/api/tv and runs server-side against a linked Tradovate account with no NT8 or Add-On required. Both are language-agnostic; users commonly call them from Python, custom strategy code, and AI trading tools.

How does CrossTrade notify me of fills or events (Discord, Telegram, Slack)?

CrossTrade does not push outbound notifications to Discord, Telegram, or Slack directly. Fills and account events are surfaced in the CrossTrade app and the destination platform. If you want messages routed to a chat platform, use /v1/api for NT8 events or /v1/api/tv for linked Tradovate state, then forward them with a small script or an automation service such as Zapier or Make.com.

Where can I get help if I have more questions?

Email support@crosstrade.io, send a message from inside the CrossTrade app, or ask in the community Discord. Everything in the FAQ is pulled from the main documentation at crosstrade.io/docs.