Journalit

Tradovate Trade Sync

Tradovate Trade Sync connects one or more independent Tradovate OAuth identities to Journalit. Manage each connection on Journalit.co, then choose provider accounts, history, and vault mappings inside the Obsidian plugin.

Supported NinjaTrader brokerage accounts that use Tradovate account access use this same authorisation and synchronisation workflow. The connection is approved through Tradovate, then managed and mapped in Journalit exactly as described below.

Use this guide for automatic synchronisation

If you only want to import a Tradovate CSV file, use the Tradovate CSV Export Guide instead. File import and Trade Sync are separate workflows.

Before you begin

Journalit account

Sign in to the same Journalit account on the website and in the Obsidian plugin.

Eligible plan

Tradovate connection management and synchronisation require an eligible Journalit plan.

Tradovate access

Have access to each Tradovate identity that contains the Demo or Live accounts you want to synchronise.

Vault accounts

You can map to existing local accounts or create suitable accounts during plugin setup.

Setup overview

The setup uses both Journalit.co and the Obsidian plugin.

Journalit.co

Create and manage independent Tradovate OAuth connections, including pause, resume, reauthorisation, disconnect, and connection-scoped cloud-data deletion.

Obsidian plugin

Select provider accounts under each connection, choose initial history, map vault accounts, start synchronisation, and write trade notes.

Connect Tradovate

Open Integrations on Journalit.co

Sign in to Journalit.co and open Dashboard → Integrations. Choose Connect another Tradovate account. Journalit creates a separate connection with a safe label such as Tradovate 1.

Approve the connection in Tradovate

Approve the connection in Tradovate. When Tradovate returns you to Journalit, the website confirms whether the connection succeeded.

Return to the Journalit plugin

After approval, the website shows the result on the matching connection card and directs you back to Journalit in Obsidian. The remaining setup belongs to the vault, so it is completed in the plugin.

Configure this vault

Open Settings → Sync in Journalit and find the Tradovate provider card. Each OAuth connection has its own provider-account list and synchronisation controls.

Discover Tradovate accounts

Journalit loads the available Demo and Live accounts. If one environment could not be checked, retry discovery before assuming the account is unavailable.

Enable the accounts you want

Choose the Tradovate accounts that should feed this vault. Journalit keeps Demo and Live accounts separate even when their display names are similar. If the same canonical account is visible through two OAuth identities, only one connection can have synchronisation enabled for it at a time.

Choose the initial history

Select one history option for each enabled account:

  • All available, selected by default
  • Recent period
  • Custom date
  • New trades only

The history boundary limits older closed trades. Existing open positions are still synchronised so Journalit can track their current lifecycle.

Map every account to the vault

Choose an explicit local Journalit account for every enabled Tradovate account. Create a local account if no suitable one exists. Journalit does not silently fall back to the first account in the vault.

Synchronize Tradovate to this vault

Use Sync Tradovate to this vault. The plugin starts the broker synchronisation, waits for it to finish, and writes the resulting trade notes into the vault.

What happens after setup

Sync continues while Obsidian is closed

Journalit can continue checking Tradovate activity even when the vault is not open.

The vault catches up

When the plugin starts or reconnects, it brings in trades that were added or updated while you were away.

Open trades stay one trade

A position can move from open to partially closed to closed without creating separate trade notes.

Local annotations are preserved

Broker updates do not replace your thesis, notes, tags, screenshots, reviews, or custom fields.

Manage the connection

Return to Dashboard → Integrations on Journalit.co for connection lifecycle actions. Every action applies only to the card where it is started.

Pause

Stop new scheduled synchronisation without removing the connection or existing trade data.

Resume

Allow scheduled synchronisation to continue after a pause.

Reauthorize

Refresh one existing connection when its authorization expires or stops working, without resetting plugin account configuration.

Disconnect

Stop future synchronisation while preserving existing synced trades and Obsidian notes.

Delete cloud data

Remove provenance owned by the selected connection after reviewing its deletion-impact summary. Shared canonical trades survive while another source still owns them. Local Obsidian notes are untouched.

Disconnect and delete are not the same

Disconnect preserves cloud trades. Delete cloud data is a separate destructive action scoped to one connection. A shared canonical trade is preserved when another connection or source still contributes it.

Connection health and support

The website keeps each healthy card concise: safe connection label, status, last successful sync, and next scheduled sync. Busy states, errors, notices, deletion progress, and job polling stay on the owning card.

When Journalit detects a problem, the page shows the relevant recovery actions. Use Email support to prepare a message with the error details, or choose Ask on Discord for community help.

Troubleshooting

On this page