Automate

Send a TradingView alert to an Alpaca account

Alpaca is the odd one out here, and the most useful thing this page can do is say so before you spend an evening on it: there are no futures. If you came looking for a way to automate a funded futures account, this is the wrong broker and one of the other pages is the right one. If you trade US shares or crypto, three differences are worth knowing first.

Checked against Tradeus on 15 October 2026.

Before you start

  • A TradingView account with 2-factor authentication enabled.
  • An Alpaca Key ID and Secret key. The secret is shown once, when the pair is generated; if you no longer have it, generate a new pair.
  • A decision about paper or live. Alpaca keeps them completely apart — different host, different keys — so a paper key is not a live key with less permission.
  • A Tradeus plan that includes the TradingView webhook — Algo or Unlimited.

The numbers

Time TradingView waits for the receiver
3 seconds, then the request is cancelled
Ports it will post to
80 and 443 only
IPv6
Not supported for webhooks
Account requirement
2-factor authentication must be enabled
What Alpaca asks for
Key ID, Secret key, paper or live
Futures
None — US shares and crypto only
Crypto symbols
Carry a slash — BTCUSD on the chart is BTC/USD there
Crypto shorting
Not possible on spot; long or flat

Step by step

What to do, in order.

  1. 1

    Generate a key pair and choose paper or live

    Alpaca hands you a Key ID and a Secret key, and shows the secret exactly once. Decide paper or live before you generate: the two are separate environments on separate hosts with separate keys, so a paper key will simply not be recognised live. Paper is the right place to start and behaves the same way throughout.

  2. 2

    Check what your crypto ticker becomes

    Alpaca names crypto with a slash. BTCUSD on your chart is BTC/USD on the account, and BTCUSDT becomes BTC/USDT. Tradeus translates it, but the event log prints what the name resolved to — read that line on your first test alert rather than assuming.

  3. 3

    Paste the URL and the ready-made message into a TradingView alert

    Open the alert dialog on your chart, put the webhook URL in the Notifications tab's Webhook URL field, and paste the strategy's own alert message into the message box. Use the message Tradeus shows on the strategy rather than an example from anywhere else: it already has your passphrase filled in and it already sends the two fields that make a repeated alert harmless.

  4. 4

    Subscribe an account to the strategy

    Until an account follows the strategy, signals are recorded and nothing trades. This is the step people miss, and it is the single most common reason a first alert arrives, shows green in the event log, and moves no money. A strategy with no subscribers is a working endpoint with nowhere to send anything.

  5. 5

    Set the size on that subscription

    Size belongs to the subscription — one account following one strategy — not to the strategy. That is what lets one signal put a single contract on an evaluation and four on a funded account. Choose the alert's own quantity times a factor, a fixed number of contracts, a dollar amount of risk per trade, or a percentage of the balance.

  6. 6

    Arm a daily loss limit before the first live signal

    A daily loss limit is the cheapest insurance in the product, and the right moment to set it is before anything has traded rather than after something has. It sits on the account, so it holds whether the order came from this strategy, another one, or the copier. It is checked about every five seconds rather than before each order, so a fast market can carry the loss past it before the account is locked and its positions are closed.

  7. 7

    Fire one alert manually and read the event log

    Every signal is recorded, including the refused ones, and each refusal names its own reason — invalid passphrase, no subscription, outside the trading window, rounds to 0 contracts. Send one deliberate test alert and read what the log says about it. If the signal is not in the log at all it never arrived, which is a TradingView-side problem rather than anything to change here.

What goes wrong

Named after the message you will see.

Each of these is a line from the event log or from TradingView, written as it appears — because that is the string you will paste into a search box at the moment you need this page.

There are no futures, and there is no workaround

Alpaca offers US shares and crypto. A futures strategy cannot be routed here at all, and that is a fact about the broker rather than a setting. If the account you want to automate is a funded futures evaluation, the Tradovate or Rithmic page is the one you want.

A short crypto signal is a contradiction, not a position

Spot crypto cannot be sold short at Alpaca. A signal that asks for a negative quantity on BTC/USD is refused rather than translated into something that looks similar, because there is no position it could honestly become. Shares are a different matter; crypto is simply long or flat.

A crypto stop is not a plain stop

Alpaca's crypto order types do not include a plain stop, so a stop on crypto rests as a stop-limit instead. It behaves the way a stop-limit behaves, which is not identical to a stop in a fast market. On shares the ordinary stop is available.

“no subscription” — the alert arrived and nothing traded

The strategy received the signal and no account was following it. Open the strategy, add the account, and re-send. This accounts for more first-run confusion than every other cause put together, because the webhook itself answers perfectly well.

“invalid passphrase” after everything worked yesterday

Somebody pressed New passphrase. The old one stops working immediately and the alert in TradingView still carries it. Copy the current message off the strategy into the alert again.

“rounds to 0 contracts”

Dollar-risk sizing divided your risk budget by the stop distance and got less than one contract, and less than one contract is no trade. A wide stop with a small budget does this every time. It appears in the event log as a rejection rather than as a fill that went missing.

The webhook fires but TradingView reports a failure

Check the three things TradingView itself limits: the receiver has three seconds to answer, only ports 80 and 443 are accepted, and IPv6 is not supported. A hosted endpoint clears all three by construction; a bridge running on your own machine has to clear them itself, on your home connection, while you are asleep.

Questions

Asked before buying, answered either way.

Can I automate a funded futures account through Alpaca?

No. Alpaca has no futures at all, so there is nothing to route a futures strategy to. For funded futures accounts the brokers to look at are Tradovate and Rithmic, each of which has its own page here.

Why was my short crypto signal refused?

Spot crypto cannot be sold short at Alpaca, so a negative quantity on a crypto symbol has no position it could become. It is refused and recorded rather than turned into something that merely resembles the instruction.

Is paper trading good enough to test this?

Yes, and it is the recommended start. Paper runs on its own host with its own keys and behaves the same way, so a wrong alert costs nothing. Generate a separate live pair when you move over.

In the handbook

The reference pages behind the steps above — one thing each, in full.

Sources

Every claim above about somebody else's product, linked to the page it was read from. If one of them no longer says what this page says, this page is wrong and we want to know: tell us.

Checked against the live product on 15 October 2026. Broker screens and TradingView's own limits change; a step that no longer matches what you see is a step we need to fix.

The only step this page cannot do.

Everything above is mechanical and takes about ten minutes. Whether it behaves the way you expect on your own accounts is the part nobody can write down for you.