Why won't your bot trade? These 5 setup mistakes account for 80% of configuration issues. Learn from real beta users who caught them in paper trading.
We've processed thousands of paper trades from our beta community. Here's what we learned about the setup mistakes that keep bots from trading—and how to fix them.
When you're building trading automation, the difference between a bot that executes flawlessly and one that sits idle often comes down to configuration details. After watching our beta users work through their first setups, we've identified five patterns that account for roughly 80% of "why isn't my bot trading?" questions.
The good news? Every single one has a straightforward fix. Even better? Understanding these mistakes will make you a more effective systematic trader.
Let's dig in.
Mistake #1: Using One Signal for Both Calls and Puts
The Setup:
You create a TradingView alert that fires on both bullish and bearish conditions. You hook it up to a RelayDesk signal. You connect two bots to that signal—one configured for calls, one for puts.
What Happens:
Both bots execute on every signal. Your call bot buys when you go short. Your put bot buys when you go long. You've accidentally created a long straddle strategy you didn't intend.
One of our beta users put it best: "Totally bungled up my webhook URLs and my bots bought a call and a put each time a signal came through. If anyone was wondering, it is NOT a good strategy."
The Fix:
Signals in RelayDesk lock both symbol AND direction. Think of signal architecture like this:
TradingView Alert (Bullish) → Signal A → Call Bot 1
→ Call Bot 2
→ Call Bot 3
TradingView Alert (Bearish) → Signal B → Put Bot 1
→ Put Bot 2Create separate alerts in TradingView for your long and short conditions. Each alert gets its own webhook URL from RelayDesk. Now your signals route to the correct directional bots.
Pro Tip: You can connect multiple bots to a single signal if they're all trading the same direction. This is useful when you want to test different exit strategies or position sizing on the same entry signal.
Mistake #2: Misunderstanding ATM Strike Selection
The Setup:
You're scalping 0DTE options. SPY is trading at 680.88. You set your bot to buy ATM puts, expecting it to grab the 681 strike since that's closer to the current price.
What Happens:
The bot buys the 680 strike instead.
Why This Happens:
Strike selection follows options mechanics, not distance-to-price logic. For RelayDesk:
- ATM Call at 680.88 → 680 strike (rounded down)
- ATM Put at 680.88 → 681 strike (rounded up)
But here's the nuance: when the underlying is at 680.88, the 680 strike IS technically at-the-money from a logical standpoint, not an averaging one.
The Fix:
If you want the 681 put when SPY is at 680.88, configure your bot for 1 ITM instead of ATM.
Understanding this becomes critical for 0DTE and scalping strategies where a single strike can represent a significant percentage move in option premium.
What One User Discovered:
"In my head I always thought ATM calls would be floor(price) and ATM puts would be ceil(price)... but that's not how it works. Changed to 1 ITM and got exactly what I needed."
Pro Tip: Check the signal history logs to see exactly which strike the system selected at the time of your order. You can verify the entry price and strike to confirm your configuration is working as intended.
Mistake #3: Forgetting to Re-Setup Bots After Platform Updates
The Setup:
You configured your bots weeks ago. Everything was working. Then RelayDesk ships a major update—like our recent signals architecture overhaul.
What Happens:
Your bots stop trading. No errors. No logs. Just silence.
Why This Happens:
Some platform updates require configuration migration. In our case, we moved from webhook-per-bot to a centralized signal system. Bots configured under the old architecture needed to be reconnected to the new signal system to trade.
The Fix:
When we ship breaking changes, we announce them in Discord and via email. But here's the self-service approach:
- Check your bot's "Signal" configuration
- Verify the webhook URL is connected to an active signal
- Review signal history to see if your alerts are being received
- Test with a manual alert to confirm the signal → bot connection
What We're Building:
We're adding more visible warnings in the UI when bots are in a non-trading state due to configuration issues. The goal is to make these situations obvious before you wonder why you missed a trade.
Pro Tip: After any major platform update, send a test alert through your full chain (TradingView → Signal → Bot) to verify everything still fires correctly.
Mistake #4: Confusing Webhook URLs Between Bots
The Setup:
You're managing multiple strategies. Each has its own TradingView alert. You're copying webhook URLs between tabs, trying to connect everything up.
What Happens:
The wrong bot fires on the wrong alert. Or nothing fires at all because the URL got pasted incorrectly.
Why This Happens:
Webhook URLs all look similar:https://api.relaydesk.trade/webhook/sig_abc123...https://api.relaydesk.trade/webhook/sig_xyz789...
When you're managing five, ten, or fifteen bots, it's easy to grab the wrong one.
The Fix:
Use RelayDesk's centralized webhook system. Instead of unique URLs per bot:
- Create a signal in RelayDesk
- Get ONE webhook URL for that signal
- Use that SAME webhook URL in multiple TradingView alerts (if they share direction)
- Connect multiple bots to that signal
Now you're managing signals, not individual webhook endpoints.
What One User Said:
"This will make my tangled web of bots easier to manage."
Advanced Move: We recently shipped a Mass Bot Editor that lets you bulk-update bot configurations. If you need to change strike selection, position sizing, or exit rules across multiple bots, you can do it in one operation instead of clicking through each bot individually.
Pro Tip: Name your signals descriptively: "SPY_Bullish_Momentum" instead of "Signal_1". Future you will thank past you.
Mistake #5: Activating Trailing TP Without Take-Profit Levels
The Setup:
You want a pure trailing take-profit strategy. You enable trailing TP in your bot configuration but remove all fixed TP levels to keep it "clean."
What Happens:
The system accepts the configuration (it's technically valid), but your bot never takes profit because there's no initial target to trail from.
Why This Happens:
Trailing TP is designed to work FROM a take-profit level. It modifies how you exit, but it needs a starting point. Without any TP levels defined, the trailing mechanism has nothing to activate.
The Fix (Current):
Set at least one take-profit level, then enable trailing TP. The system will hit that initial target, then trail the position using your trailing configuration.
What We're Building:
One of our users submitted a feature request: "Activating Trailing TP without needing to add a TP level."
We're evaluating this for a future release. The logic would be: enable trailing TP from entry, skip fixed targets entirely. It's a trivial addition technically, but we want to make sure the behavior is clear and doesn't create confusion around when the trail activates.
Pro Tip: If you're testing a new exit strategy, use the new Draft Bots feature to configure and validate your setup without activating the bot. Once you've confirmed the configuration looks right, switch it to active.
The Meta-Lesson: TGIP (Thank God It's Paper)
Here's what's great about these mistakes: every single one happened in paper trading. Our beta users caught them before risking real capital.
This is exactly why we're requiring extensive paper trading before live accounts launch. The goal isn't to slow you down—it's to let you learn the platform's nuances in a consequence-free environment.
One user summed it up perfectly after discovering his webhook mistake: "I knew what happened immediately. TGIP."
Self-Service Debugging: Signal History
The most powerful tool for diagnosing setup issues is Signal History.
When you get a TradingView alert but your bot doesn't trade, check your signal history. You'll see:
- ✅ Signal received from TradingView
- ❌ Bot didn't fire because: insufficient buying power / position already open / validation failed / market closed
As one of our users put it: "Very nice transparency on the logs here. I can quickly identify why my bots didn't enter. WOOOO SELF SERVICE 🎉"
This is a differentiator. Most trading automation platforms make you guess why something didn't work. We show you exactly what the system saw and why it made the decision it did.
What's Next
These five mistakes represent the learning curve of systematic trading automation. The good news? Once you understand them, they're easy to avoid.
As we move toward live trading, we're focused on making these configuration issues more obvious in the UI, improving validation feedback, and building tools (like Mass Bot Editor and Draft Bots) that help you manage complexity without introducing errors.
Have questions about your bot setup? Join us in Discord where our beta community troubleshoots together daily.
And remember: if you find a mistake we haven't documented yet, you're doing valuable work. Hit the thumbs down in Discord or submit a feature request with /feature. We're building this platform with your feedback.
RelayDesk is currently in beta with paper trading. Live trading will be available after regulatory approval and broker onboarding is complete. Join the beta →