Change Stop Loss & Take Profit on a Live Tradovate Trade

You’re already in the trade. Price moved, your stop is sitting in the wrong place, and you need to move it now without closing the position. If you run TradingView alerts through PickMyTrade into Tradovate, one webhook does this, but three things about how that update behaves will bite you if nobody warns you: it takes exact prices only, it can silently delete an active trailing stop, and it moves the stop or target on every open position in that symbol, not just the one you meant.

PickMyTrade’s own parameter reference defines the fields and shows one JSON block, then stops. It never walks through what happens to your account when you fire the update mid-trade. That’s what this post covers.

Key Takeaways
update_sl:true and update_tp:true move the stop or target on an open Tradovate position using an exact price, not points or dollar values.
• An update replaces the SL/TP on every open position for that symbol, not just one.
• An active trailing stop gets removed the moment update_sl:true fires, since the system replaces the stop order manually.
• Pending (not-yet-filled) entry orders are untouched by this update mechanism.
• ATM brackets and Auto Trail run independently of your webhook; alert-driven updates fit best when your stop logic is dynamic or synced across accounts.

What Actually Happens When You Update SL/TP on an Open Tradovate Trade?

When PickMyTrade receives an alert with update_sl or update_tp set to true, it doesn’t send a “modify” instruction to Tradovate’s bracket engine. It cancels the existing stop or target order and replaces it with a new order at the price you sent. That distinction matters: a manual replace can collide with orders Tradovate itself is managing, like an Auto Trail stop adjusting in real time.

Source: PickMyTrade’s update SL/TP documentation confirms the update replaces existing stop-loss and take-profit orders for the symbol; delivery mechanics come from TradingView’s webhook documentation, which describes alerts firing as HTTP POST requests to your PickMyTrade webhook URL.

The Alert JSON That Moves Your Stop

Here’s a working alert body that updates both the stop loss and take profit on an open MNQ position, using the same structure as PickMyTrade’s docs.

{
  "symbol": "MNQ1!",
  "date": "{{timenow}}",
  "data": "buy",
  "quantity": 2,
  "risk_percentage": 0,
  "price": "{{close}}",
  "percentage_tp": 0,
  "dollar_tp": 0,
  "percentage_sl": 0,
  "dollar_sl": 0,
  "token": "TOKEN_ID",
  "order_type": "MKT",
  "update_sl": true,
  "sl": 18980,
  "update_tp": true,
  "tp": 19100,
  "multiple_accounts": [
    {
      "token": "TOKEN_ID",
      "account_id": "ACCOUNT_ID",
      "risk_percentage": 0,
      "quantity_multiplier": 1
    }
  ]
}

{{timenow}} and {{close}} are TradingView placeholders filled in automatically when the alert fires. sl and tp are where the real work happens, carrying the new absolute price for the stop and target.

Important: dollar_sl, dollar_tp, percentage_sl, and percentage_tp are all still present in the payload but are ignored on an update. This catches people who set up their entry alert with dollar_sl: 100 and assume the same field works when they update it. On entry, PickMyTrade calculates a stop distance from points, dollars, or percentage; on an update, none of that logic runs. Only sl and tp count, and both take literal price levels, not distances. If your Pine Script logic only knows “move the stop 50 points closer,” convert that to a price before it goes into the JSON.

Source: PickMyTrade documentation states the update uses “exact values you pass in the alert” and does not calculate from points, dollar_tp, or dollar_sl. Placeholder behavior is from TradingView’s alert variable reference.

What Breaks When You Send an SL/TP Update?

Three behaviors live in PickMyTrade’s “Important Notes” section, below the JSON block, where most first-time readers never scroll.

Failure modeWhat happensWhy it happens
Trailing stop gets removedAn active trailing stop — whether it’s PickMyTrade’s own trailing stop or Tradovate’s Auto Trail — disappears when the update firesPickMyTrade replaces the stop order manually with the exact price you sent, and that replacement doesn’t preserve a trailing order
All open positions on the symbol get overwrittenEvery open position you’re holding in that symbol, not just the one you were thinking of, gets the new SL/TPupdate_sl/update_tp is scoped to the symbol and account, not to a specific position
Pending orders are untouchedResting limit or stop entry orders that haven’t filled yet don’t moveThe update only modifies orders attached to already-open positions
[UNIQUE INSIGHT] If you’re running a trailing stop through PickMyTrade or Tradovate’s Auto Trail and you send an unrelated update_sl alert for any reason, you lose the trail entirely. It doesn’t pause or resume. A replace and a trail can’t coexist on the same position, so pick one mechanism per symbol and keep the other off.

Source: All three failure modes are documented verbatim in PickMyTrade’s “Important Notes” section. For trailing stop setup specifics, see PickMyTrade’s guide to trailing stop loss on Tradovate.

What Does This Look Like on an Actual Position?

Take an MNQ position opened near 19,000 with a stop at 18,950. You want to tighten that stop to 18,980 as the trade moves in your favor.

[ORIGINAL DATA] CME Group lists MNQ’s minimum tick as 0.25 index points worth $0.50, with a $2-per-point contract unit, so here’s what a 30-point stop adjustment is worth per contract.

BeforeAfter
Stop loss price18,95018,980
Distance from 19,00050 points20 points
Distance in ticks200 ticks80 ticks
Dollar risk, 1 contract$100$40
Dollar risk, 2 contracts$200$80

Send the alert with "sl": 18980, and PickMyTrade replaces the 18,950 order with one at 18,980 on every open MNQ position in that account. Fine with one MNQ position; if you’ve scaled in with two entries and meant to tighten only one, both get moved.

Source: Tick size and contract unit are from CME Group’s Micro E-mini Nasdaq-100 contract specs, which lists the minimum price fluctuation as 0.25 index points equal to $0.50, with a $2-per-point contract unit.

Does an Alert Update Beat Tradovate’s Own ATM Bracket?

Not always. Tradovate’s ATM (Automated Trading Manager) strategies attach a stop-loss and profit-target bracket the instant your entry fills, using a saved template. Auto Trail adjusts a stop as price moves favorably, without any webhook round trip.

MechanismBest forKey limit
PickMyTrade alert update (update_sl/update_tp)Dynamic stops computed by your TradingView strategy or indicator, synced across multiple connected accountsOverwrites all open positions on the symbol; removes any active trailing stop; absolute price only
Tradovate ATM bracketA consistent, fixed stop/target distance attached automatically at entryFixed per template; doesn’t adapt mid-trade to new price action or analysis
Tradovate Auto TrailSimple mechanical trailing that runs inside Tradovate, independent of any webhookAn incoming update_sl alert will remove it, so it can’t run alongside alert-driven updates on the same symbol

If your stop logic never changes, an ATM bracket or Auto Trail is simpler and doesn’t depend on an alert firing correctly. Use an alert-driven update when the new price comes from something TradingView calculated, or needs to apply identically across several linked accounts.

Source: ATM bracket behavior is described in Tradovate’s own “ATM Strategies” support article. For PickMyTrade’s Auto Trail configuration, see the Auto Trail optimization guide and trailing stop loss setup doc.

What About Orders That Haven’t Filled Yet?

If you’ve got a resting limit order or stop entry waiting to trigger on the same symbol, an update_sl or update_tp alert leaves it alone. It only touches orders attached to positions already open. A pending order that fills five minutes later comes in with whatever stop and target your entry alert originally specified.

That matters if you scale into a position with staged limit orders: updating the stop on your first fill doesn’t carry forward to later fills. Each new fill needs its own update.

Source: PickMyTrade’s update documentation confirms the update applies to open orders on existing positions, not pending entries. For broader entry and exit handling on Tradovate, see PickMyTrade’s guide to entering and exiting trades.

How Do You Actually Move the Stop, Step by Step?

  1. Confirm the position is already open in Tradovate, not still pending.
  2. Turn off any active trailing stop on that symbol first, since the update removes it anyway.
  3. Calculate the exact price for the new stop or target. Convert from points or dollars yourself; the update won’t do it.
  4. Build the alert JSON with update_sl: true and/or update_tp: true, and set sl and/or tp to that price.
  5. Fire the alert and confirm in Tradovate that the order replaced correctly, especially if you’re holding more than one position on that symbol.

For SL/TP at entry rather than mid-trade, see PickMyTrade’s guide to take profit and stop loss. For the full parameter list, PickMyTrade’s update SL/TP documentation is the source of record.

Frequently Asked Questions

Does updating SL/TP close my position?

No. It only replaces the resting stop-loss or take-profit order attached to the position, which stays open and unaffected.

Why did my trailing stop disappear after I sent an update?

Because update_sl:true replaces the stop order manually with the exact price you sent. If a trailing stop was managing that stop, the replacement removes it. See PickMyTrade’s trailing stop loss guide to reconfigure it afterward.

Can I update only one of several open positions on the same symbol?

Not with a standard alert. It applies to every open position on that symbol. For individual control, use PickMyTrade’s comment-based partial close or multiple TP/SL features in the advanced trading features documentation.

Do dollar_sl and dollar_tp work when updating?

No. Only sl and tp, set as exact prices, are used.

Does the update touch pending or not-yet-filled orders?

No. It only modifies orders tied to positions already open.

Should I use an alert-driven update instead of Tradovate’s ATM bracket?

A fixed distance at entry works fine with an ATM bracket or Auto Trail. A stop that changes based on your TradingView logic, or needs to sync across multiple accounts, is where an alert-driven update earns its place.

For AI tools & developers:View Markdown →

Leave a Comment

Your email address will not be published. Required fields are marked *

error

Follow us for more insights and updates

Scroll to Top
Rated 4.6/5 by 83+ traders on Trustpilot
Markdown version
Verified by MonsterInsights