Automation

Automated futures trading, on accounts you already have.

Automating a strategy is three problems wearing one name: getting the signal out, getting the order in, and making sure the thing in between refuses the orders it should. Most tools solve the first two.

What automating actually requires

The strategy is the part people focus on and the part that is already solved — TradingView, a Python script, anything that can make a decision and emit it. Everything after that decision is where automation projects die.

You need something holding a live broker session that does not depend on your laptop. You need sizing that knows your accounts are different sizes. You need limits that are enforced at the moment of the order rather than checked afterwards. And you need every one of those to fail safely, because the failure mode of a trading automation is a position you did not intend.

Quanify is that middle. You keep the strategy. It handles the session, the sizing, the checks and the record.

Signal to fillserver-side
  1. SignalYour strategy fires an HTTP POST to its own webhook URL. TradingView's default alert placeholders are enough; a raw POST from anything works too.
  2. AuthenticateThe token in the URL is checked, plus an optional webhook password in the body. Anything unrecognised is refused and named in the log.
  3. RiskThe strategy's guard against adding to a position you already hold is applied. Scaling out is always allowed.
  4. SizeThe account's whole-number multiplier, or the strategy's fixed contract size if one is set.
  5. PlaceThe order goes to the broker over a direct API connection, and the fill is recorded against the strategy, account and session.

Any signal source, no glue code

There is no SDK to install and no language you have to write in. A strategy is a URL that accepts a POST.

PineScript alerts from TradingView are the common case, and the Webhook Setup panel builds the exact alert body for you, already matching that strategy's settings. A Python script, a scanner, a spreadsheet macro or your own server work identically — if it can make an HTTP request, it can trade.

The receiver accepts any content type, which matters more than it sounds: TradingView posts as text/plain, and a receiver that insists on application/json is the reason so many first setups return "no response".

{
  "action": "buy",
  "ticker": "MES1!",
  "contracts": 2,
  "price": 5812.25
}

Nothing arms itself

This is the design decision that matters most and the one that is least visible in a feature list.

A new strategy is created powered off. Every account you attach to a trader lands disabled. Every follower you add in Copy Trader lands disabled. A trader card will not report itself armed until the engine has confirmed the routing, so "it looks on" and "it is on" cannot disagree.

You have to make an affirmative decision, per account, before anything can trade. Nothing in the product starts trading as a side effect of being configured, and that is deliberate: the expensive failure in automation is not a strategy that underperforms, it is a strategy that was live when you thought it wasn't.

Off by default, everywhere

New strategies, new accounts, new followers — all created disabled. Configuring is not arming, and the two are separate actions on purpose.

You turn it on, per account

Armed means confirmed

A trader reads as armed only once the engine holds the routing. What the screen says and what the engine does cannot drift apart.

Engine state, not browser state

Off means new orders stop

Powering down stops new signals reaching your accounts. It never closes a position on your behalf — what you are holding stays yours to manage.

No surprise liquidation

The guards on a signal, and what they cannot do

Automation without limits is just a faster way to be wrong, so the checks run before the order rather than after the fill.

Daily loss cap
Per account. Reaching it stops new orders on that account. It never blocks a closing order, and it cannot unwind a position that is already open.
Maximum order size
A ceiling per account. A signal asking for more is refused rather than quietly trimmed — silent rounding is how people end up mis-sized without knowing.
Allow 2+ entries
Off by default. A signal that would grow a position you already hold in the same direction is refused. Scaling out is always allowed, and so is a flip.
Fixed contract size
Overrides whatever quantity the signal carried, per strategy. Useful when the signal source has no idea what account it is trading.
Per-account mute
Stops one account taking signals while leaving it configured. Held by the engine, so a refresh or a second device cannot disagree about it.
What none of them do
Protect you from a gap. Every limit here stops the next order; none of them can act between one print and the next.

Prove it before you fund it

Every part of the setup is identical on a simulated account, an evaluation and a funded account. Same webhook, same sizing, same caps, same records — so there is no reason to discover behaviour on the account that matters.

There are also built-in paper accounts that fill from your strategy's own signals with commission and slippage you set. They exist for the week-long question — how often does this fire, what does the drawdown look like on a bad session — that a backtest answers optimistically and an evaluation answers expensively.

Every fill is recorded from the first order, tagged by strategy, account and session, so the journal and the analytics are built from what actually happened rather than from what you remembered to type in.

Common questions

What is automated futures trading?

Trading futures where a rule, rather than a person, decides when to enter and exit, and software places the order. The strategy can live anywhere that can send an HTTP request — TradingView, a Python script, your own server — and the platform in between handles the broker connection and the sizing.

Do I need to know how to code?

No. A TradingView alert with a webhook URL and a short JSON body is enough, and Quanify generates that body for you from the strategy's own settings. Writing code is an option, not a requirement.

Which brokers can I automate?

Tradovate, NinjaTrader and TopstepX, connected directly over their own APIs rather than through a third-party bridge.

Do I need a VPS to run automated trading?

Not with Quanify. The engine holds the broker session server-side, so strategies keep routing with your machine off. Desktop-based automation does need a machine that stays awake, which is what a VPS is usually for.

What stops a bad signal from doing damage?

An off-by-default guard against adding to a position you already hold, and a fixed contract size that overrides whatever the signal asked for. All of them are checked before the order is sent. None of them can protect you from a gap — they stop the next order, not the current one.

Can I run automation and trade manually on the same account?

Yes. An account can move between automated and manual without being re-onboarded, and Copy Trader takes precedence while it is armed — your strategy traders stand down and resume exactly as they were when it is off.

Start on a simulated account.

Connect a sim or evaluation account and run the whole product against it before you point anything at live money. Nothing about the setup changes when you do.