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
  • Explicit entry/exit logic

Recommended for automation

TradingView Indicators

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

  • No built-in backtest
  • May send duplicate signals
  • 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
{
	"symbol": "NQ1!",
	"date": "{{timenow}}",
	"data": "buy",
	"quantity": 2,
	"risk_percentage": 0,
	"price": "{{close}}",
	"gtd_in_second": 0,
	"stp_limit_stp_price": 0,
	"dollar_tp": 0,
	"percentage_tp": 0,
	"tp": 0,
	"dollar_sl": 0,
	"percentage_sl": 0,
	"sl": 0,
	"trail": 0,
	"trail_stop": 0,
	"trail_trigger": 0,
	"trail_freq": 0,
	"update_tp": false,
	"update_sl": false,
	"breakeven": 0,
	"breakeven_offset": 0,
	"token": "At8tLtTtYtEt8t8tHtWtPtOtR",
	"pyramid": false,
	"same_direction_ignore": false,
	"reverse_order_close": true,
	"order_type": "MKT",
	"multiple_accounts": [
		{
			"token": "UnyTGjYrtvhSW65-Iuds",
			"account_id": "DEMO2001",
			"risk_percentage": 0,
			"quantity_multiplier": 1
		}
	]
}

⚠️ 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

Contact to administrator, could not convert string to float: “{{plot(‘Short SL’)}}”'

This error occurs when a TradingView plot variable is passed, but it is not getting replaced with a numeric value.

Wrong Price, we support digit, you are sending {{close}}

Invalid price format. Expected a numeric value, but received ‘{{close}}’. This occurs when the price variable is not correctly replaced.

{“failureReason”:”UnknownReason”,”failureText”:”Access is denied”}

This error mostly occurs due to a Tradovate issue. The account being used is either invalid or not recognized.

Can not Send, Manual SL is Zero in

This error occurs when using the risk percentage option but not providing a Stop Loss (SL). SL is mandatory in this case.

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.