For Algo Developers

Deploy Your Pine Script
To Live Markets

Turn your TradingView strategies into automated trading systems. Webhook integration, JSON alerts, dynamic parameters - no additional coding required.

Pine Script Compatible
Webhook Integration
Dynamic Parameters
DEPLOYMENT

From Backtest to Live in Minutes

Your Pine Script strategy is already generating signals. Now execute them automatically.

1

Build Strategy

Develop and backtest your strategy in TradingView using Pine Script.

2

Generate Alert

Use PickMyTrade dashboard to generate webhook URL and JSON configuration.

3

Create Alert

Paste webhook URL and JSON into TradingView alert. Set condition.

4

Go Live

Every strategy signal now executes real trades on Tradovate.

COMPATIBILITY

Strategies vs Indicators

PickMyTrade works with both, but there are important differences.

TradingView Strategies

Scripts using strategy() function with strategy.entry() calls.

  • Full backtest with P&L, drawdown, win rate
  • Built-in position management
  • Placeholders work correctly ({{close}}, {{strategy.order.price}})
  • Explicit entry/exit logic

Recommended for automation

TradingView Indicators

Scripts using indicator() function with alertcondition() calls.

  • No built-in backtest
  • May send duplicate signals
  • Placeholders may not evaluate ({{close}} as string)
  • Requires reverse_order_close or same_direction_ignore

Requires additional configuration

CONFIGURATION

JSON Alert Configuration

Never edit JSON manually. Always use the PickMyTrade generator.

Core Parameters

ticker required

Symbol to trade: "ES", "NQ", "CL", etc.

action required

"buy" or "sell" - direction of trade

quantity or risk_percentage

Fixed contracts (1, 2, 5) OR percentage of account to risk

sl / dollar_sl / percentage_sl use ONE

Stop loss in ticks, dollars, or percentage. Use only one method.

tp / dollar_tp / percentage_tp optional

Take profit in ticks, dollars, or percentage.

Example Alert JSON

Generated by PickMyTrade
{
  "ticker": "ES",
  "action": "buy",
  "quantity": 2,
  "orderType": "market",
  "sl": 50,
  "tp": 100,
  "same_direction_ignore": true,
  "reverse_order_close": false
}

⚠️ Critical: Never edit JSON manually. Copy the exact code from PickMyTrade dashboard → Create Alert.

ADVANCED

Dynamic Values from Pine Script

Pass calculated values from your strategy to PickMyTrade using TradingView plot placeholders.

Step 1: Plot Variables

Every value you want to use in alerts must be plotted. Use display=display.none to hide from chart.

plot(atr_sl, title="ATR_SL", display=display.none)

Step 2: Verify in TradingView

When creating an alert, check the "Add Placeholder" dropdown. Your plot should appear under PLOTS section.

  • • plot_0, plot_1, plot_2 (by index)
  • • {{plot("ATR_SL")}} (by title)

Step 3: Use in JSON

Reference the plot in your PickMyTrade configuration. TradingView replaces it with live value when alert fires.

"sl": {{plot("ATR_SL")}}

Full Pine Script Example

//@version=5
strategy("My Algo", overlay=true)

// Entry logic
longCond = ta.crossover(ta.sma(close, 20), ta.sma(close, 50))
shortCond = ta.crossunder(ta.sma(close, 20), ta.sma(close, 50))

// Dynamic calculations
atr = ta.atr(14)
long_sl = close - (atr * 2)
long_tp = close + (atr * 3)
short_sl = close + (atr * 2)
short_tp = close - (atr * 3)

// Plot for alert access
plot(long_sl, "Long_SL", display=display.none)
plot(long_tp, "Long_TP", display=display.none)
plot(short_sl, "Short_SL", display=display.none)
plot(short_tp, "Short_TP", display=display.none)

// Entries
if longCond
    strategy.entry("Long", strategy.long)
if shortCond
    strategy.entry("Short", strategy.short)

// In PickMyTrade alert (for long):
// "sl": {{plot("Long_SL")}}
// "tp": {{plot("Long_TP")}}
TROUBLESHOOTING

Common Errors & Solutions

could not convert string to float: '{{close}}'

TradingView sent literal text instead of a number. The placeholder wasn't evaluated.

Fix: Use a strategy instead of indicator, or ensure placeholder isn't inside quotes in your alert.

"update_tp": "true" (boolean as string)

Boolean values should not be quoted. This causes parse errors.

Fix: Use "update_tp": true not "update_tp": "true"

Both quantity and risk_percentage set

You can only use one sizing method per alert.

Fix: Set one to 0. Either use fixed quantity OR risk percentage, never both.

Plot not appearing in dropdown

TradingView only exposes plotted variables to alerts.

Fix: Add plot() call for every variable you want in alerts, even with display=display.none.

TIME SAVER

Saved Alerts Feature

Save your alert configurations and reuse them across strategies without regenerating settings each time.

  • Save Templates

    One template for ES scalping, another for NQ swing trades

  • Quick Regenerate

    TradingView alert deleted? Regenerate in one click

  • A/B Test Settings

    Compare different SL/TP profiles with saved templates

Find it in Dashboard

Dashboard → Saved Alerts → Load / Use This Alert

FAQ

Developer Questions

Do I need to modify my Pine Script code?

Not necessarily. If your strategy generates alerts, it should work. You may want to add plot() calls to expose dynamic TP/SL values, but the core strategy logic stays the same.

Can I backtest before going live?

Yes! Use TradingView's Strategy Tester for backtesting. Then connect to PickMyTrade with a demo account first. Once confident, switch to live.

How do I handle contract rollovers?

PickMyTrade handles contract rollover automatically. Use the base symbol (ES, NQ) and we map to the active front-month contract.

Can I deploy to multiple accounts?

Absolutely. Configure Manual Trade Copier to replicate signals across unlimited accounts with custom quantity multipliers per account.

Ready to Deploy Your Algorithm?

Go from backtest to live trading in minutes. No additional coding required.