Limit Orders vs TP/SL — When to Use Which on Solana
Both limit orders and TP/SL trigger trades automatically when price hits a threshold. New users assume they're the same feature in different clothes. They aren't — and confusing them is how people lose money on auto-fills they didn't expect.
The 30-second version
- Limit order — "When the market is at price X, do action Y." Standalone. No existing position required.
- TP/SL — "On THIS open position, sell when PnL hits +X% or -Y%." Attached to a specific position.
Same trigger mechanism. Different semantics.
When to use a limit order
Catching a dip you haven't bought yet
BONK is at $0.000025. You think it's a buy at $0.000018. You're not at your phone. Set:
BUY DezXAZ... @ 0.000018 for 0.1
Bot waits. When BONK hits $0.000018, bot buys 0.1 SOL worth and DMs you. Position is now open. You can then set TP/SL on the position.
Selling a token you're not tracking
You bought $WIF at $1.50, want to sell half if it ever hits $5. Set:
SELL EKp... @ 5.00 for 50%
Bot exits 50% when price hits $5. The other 50% rides — set a separate limit at $10 or let TP/SL handle it.
Ladder exits
Pro move: set 3-4 limit sells at increasing prices to scale out gradually.
SELL XXX @ 2.00 for 25%SELL XXX @ 4.00 for 33%SELL XXX @ 8.00 for 50%SELL XXX @ 16.00 for 100%(the remaining)
This locks in profits at each level. Even if the token round-trips, you got out with something.
When to use TP/SL instead
You just bought, set & forget
You just sniped a fresh token. You don't know the absolute price levels — you only know your tolerance: "+50% I take profit, -30% I cut losses."
In /positions → tap 🎯 TP/SL → reply +50/-30. Done. Bot watches your specific position relative to your average buy price.
The difference: TP/SL is percentage-relative to your entry. You don't need to know what $0.000027 means. You know what +50% means.
Multiple buys, weighted entry
You averaged into a position over 3 buys at different prices. Your average is now $0.000022. Setting TP at +50% means the bot computes the threshold relative to $0.000022 — not whatever the latest price was.
Limit orders don't know about your position. They're price-absolute. TP/SL is the right tool when your average buy is what matters.
Decision table
| Situation | Use |
|---|---|
| Buy at a target price (no position yet) | Limit BUY |
| Set absolute sell price for an existing position | Limit SELL |
| Set & forget % targets after buying | TP/SL |
| Multiple buys, %-based exit | TP/SL |
| Laddered exits at specific prices | Multiple Limit SELLs |
| Bot-snipe with mandatory exit | Both (limit for snipe-buy, TP/SL on the resulting position) |
The combo move
Power users combine both. Example workflow:
- Set limit BUY to catch a dip you can't watch live.
- Limit fills overnight — you wake up with a position.
- Open
/positions→ set TP/SL on the new position (+50%/-25%). - Walk away. Bot handles entry AND exit autonomously.
Total active management time per trade: ~30 seconds. The rest is the bot.
The honest limitations
- Trigger granularity: MoonHydra checks every 8 seconds. Don't set ultra-tight thresholds for ultra-volatile tokens — by the time the next check fires, the price may have moved.
- Slippage at trigger: When the trigger fires, the bot uses your default slippage. Set it sensibly — too tight and the sell fails on volatile tokens; too loose and you eat a bad fill.
- Trigger ≠ guaranteed fill: If liquidity collapses (rug, depegs, halt), the trigger may fire but the swap fails. Bot DMs you with the error.
Use both tools as designed and you'll trade with less anxiety and better discipline than 95% of memecoin traders. Try MoonHydra if you don't have it yet.
Ready to put this into practice?
MoonHydra is a multi-wallet Solana memecoin trading bot on Telegram. 1% per trade. No subscription. Open source.
🐉 Open MoonHydra