Skip to main content
← Back to blog
Automation Tutorial

Limit Orders vs TP/SL — When to Use Which on Solana

· 5 min read · MoonHydra Research

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:

  1. Set limit BUY to catch a dip you can't watch live.
  2. Limit fills overnight — you wake up with a position.
  3. Open /positions → set TP/SL on the new position (+50%/-25%).
  4. 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