Skip to main content

Trading Bots

Automate your trading strategies with paper trading bots that execute on live market data.

What are Trading Bots?​

Trading bots let you deploy a strategy to run automatically against live market data. Bots evaluate your entry and exit conditions on a schedule and execute paper trades when conditions are met.

All bots are paper trading only — no real money is involved. This lets you validate that a backtested strategy works in live conditions before committing real capital.

Not Financial Advice Bot results are simulated and do not represent actual trading performance. Past results do not guarantee future outcomes.

Supported Asset Types​

Asset TypeSymbolsExecution Hours
StocksUS-listed equities9:30 AM – 4:00 PM ET, weekdays only
CryptoPairs from Delta Exchange24/7, all days

Creating a Bot​

Required Settings​

FieldDescription
NameA label for your bot
Asset typeStocks or Crypto
TickersOne or more symbols to trade (autocomplete available)
Entry queryCondition to open a position — uses the same DSL query language as backtesting
Exit queryCondition to close a position — BUY_PRICE and SELL_PRICE are available here
SideLong only, Short only, or Both

Optional Settings​

FieldDescription
Allocation% of portfolio or fixed dollar amount per position
Max positionsCap on how many positions can be open at the same time
Check intervalHow often the bot evaluates conditions (in minutes, or candle-aligned)
Stop-lossAuto-exit if a position loses this percentage
Take-profitAuto-exit if a position gains this percentage
Include pre-marketEvaluate conditions during pre-market hours (4:00 AM – 9:30 AM ET)
Include post-marketEvaluate conditions during post-market hours (4:00 PM – 8:00 PM ET)
Webhook URLReceive a POST notification when the bot opens or closes a position
Max holding candlesForce-exit a position after N candles even if exit condition hasn't fired
Max trades per day per tickerLimit how many times the bot can trade the same ticker in a single day
Rotate top NWhen signals exceed open slots, close positions that drop out of the top-ranked candidates and swap in the new top picks

Example Bot Configuration​

Name: RSI Mean Reversion Bot
Asset type: Stocks
Tickers: AAPL, MSFT, GOOGL
Side: Long only
Entry: ASSET_STOCK_TECH_RSI_C_14 < 30
Exit: ASSET_STOCK_TECH_RSI_C_14 > 50 OR ASSET_STOCK_CLOSE > BUY_PRICE * 1.05
Allocation: 10%
Max positions: 5
Stop-loss: 3%
Take-profit: 8%
Check interval: 15 minutes

Bot Lifecycle​

A bot moves through four states:

StateDescription
CreatedBot is saved but not running. No conditions are being evaluated.
RunningBot is actively checking conditions on schedule and executing paper trades.
StoppedBot is paused. Open positions remain open but no new trades are made.
ResetAll positions and trade history are cleared. Bot returns to a clean state.

State Transitions​

Created → Running → Stopped → Running (resume)
→ Reset → Running (fresh start)
  • Start: Moves from Created or Reset to Running
  • Stop: Pauses a running bot; open positions stay open
  • Reset: Clears all trades and positions; only available when stopped

Execution Schedule​

Stocks​

By default, stock bots execute during US market hours:

  • Regular hours: 9:30 AM – 4:00 PM Eastern Time, Monday through Friday

If you enable pre-market or post-market in your bot settings, the bot also runs during extended hours:

  • Pre-market: 4:00 AM – 9:30 AM ET
  • Post-market: 4:00 PM – 8:00 PM ET

Outside active hours, the bot remains in the Running state but does not evaluate conditions.

Crypto​

Crypto bots run 24/7 with no restrictions on hours or days.


Monitoring a Running Bot​

Open Positions​

View all currently open positions:

  • Ticker — the symbol
  • Entry price — price at which the position was opened
  • Current price — latest market price
  • Unrealised P&L — current profit/loss if you were to close now

Trade History​

All closed trades with full details:

  • Entry and exit dates
  • Entry and exit prices
  • Profit/loss (dollar and percentage)
  • Exit reason (signal, stop-loss, take-profit)

Performance Summary​

Aggregate stats for the bot's lifetime:

  • Total return — overall P&L
  • Win rate — percentage of profitable trades
  • Number of trades — total closed positions

Manual Position Close​

You can force-close any open position at any time, regardless of whether the exit condition has been met.


Live Broker Execution via TradersPost​

You can connect your bot to a real brokerage account through TradersPost. When enabled, every entry and exit signal your bot generates is automatically forwarded to your broker for live execution.

How to Set Up​

  1. Create a free account at TradersPost
  2. Connect your broker (Alpaca, TD Ameritrade, TradeStation, Tradier, etc.)
  3. In TradersPost, go to Strategies > Webhook URL and copy your webhook URL
  4. In Vaanam, when creating or editing a bot, click Connect Broker
  5. Select TradersPost and paste your webhook URL
  6. Start your bot — signals are now sent to your broker automatically

What Gets Sent​

When your bot opens or closes a position, Vaanam sends the ticker, action (buy/sell), and price to TradersPost, which routes it to your connected broker.

Security​

Your webhook URL is encrypted before being stored. It's never displayed in full after saving — only a masked version is shown.

Real money risk: When connected to a live broker, your bot executes real trades with real capital. Start with small position sizes and monitor closely. Vaanam is not responsible for trading losses from automated execution.


Weekly Trading Championship​

Compete with other traders in a weekly paper trading contest. The top-performing bot each week wins a prize.

How It Works​

  1. On any of your running bots, click Enter Championship
  2. Pick a display name for the public leaderboard
  3. A fresh copy of your bot is created with a standardized $100,000 starting capital
  4. The contest bot runs from Monday through Friday noon ET
  5. Friday noon ET, the bot with the highest return wins

Entry Window​

  • Opens: Monday morning ET
  • Closes: Friday 12:00 PM ET
  • Entries closed: Friday afternoon, Saturday, Sunday
  • One entry per user per week

Leaderboard​

Visit /contest to see:

  • Live rankings sorted by weekly return %
  • Each entry's P&L, win rate, trade count, and open positions
  • The full entry/exit DSL queries of every contestant
  • Past weeks' leaderboards via the week selector
  • A share button so you can post your rank on social media

Plan Availability​

Available on all plans. Free users get one bot slot specifically for contest entry, so even free accounts can compete.

Rules​

  • Everyone starts with $100,000 paper capital — no advantage for bigger accounts
  • Your original bot is untouched; contest entries are independent clones
  • Contest bots run on real live market data the entire week
  • Winner is determined by return % including unrealized P&L

Browse publicly shared bots to see real strategy performance before building your own.

What You Can See​

Each featured bot shows:

  • Name and status (running or stopped)
  • Total P&L and current capital
  • Win rate, total trades, and open positions
  • Unrealized P&L on open positions
  • Entry and exit conditions (the actual DSL queries)
  • Full trade history — every entry and exit with prices and P&L

Copy a Bot​

Click Copy Bot on any featured bot to pre-fill the new bot form with its strategy. You get the same entry/exit conditions, allocation, and settings — ready to run on your own account.

Featured bots are accessible without logging in. You can browse strategies and evaluate their live performance before signing up.


Crypto Symbols​

When creating a crypto bot, available trading pairs are fetched from Delta Exchange and displayed in an autocomplete dropdown. Type to search for pairs like BTC/USD, ETH/USD, etc.


Tips​

  • Start with stocks — Market hours give you natural downtime to review results
  • Use stop-losses — Paper or not, building the habit of risk management matters
  • Compare to backtest — If your bot's live results diverge significantly from your backtest, investigate why (slippage, timing, market regime change)
  • Don't over-trade — Keep check intervals reasonable; checking every minute on daily-timeframe signals adds noise, not value

Troubleshooting​

Bot Not Executing Trades​

Possible causes:

  • Bot is in Stopped or Created state (not Running)
  • Stock bot outside market hours (9:30 AM – 4:00 PM ET)
  • Entry conditions are never met at check intervals
  • Max positions limit already reached

Solutions:

  • Verify bot is in Running state
  • Check that your conditions match current market data
  • Increase the check interval window or adjust conditions

Positions Not Closing​

Possible causes:

  • Exit condition never triggers
  • Stop-loss/take-profit not configured
  • Bot was stopped (positions remain open but aren't evaluated)

Solutions:

  • Review exit query logic
  • Add stop-loss as a safety net
  • Manually close positions if needed

Next Steps​

  • DSL Grammar — Learn the query language used for entry/exit conditions
  • Strategy Backtesting — Test your strategy on historical data before deploying as a bot

© 2026 Vaanam, Inc. All rights reserved.