How I Pick Crypto Trading Pairs for My Bot — A Data-Driven Framework
<p>Choosing the right trading pairs is one of the most underrated aspects of building a profitable crypto bot. After months of testing, here's the framework I use to select and rotate pairs.</p> <h2> Why Pair Selection Matters </h2> <p>Most tutorials focus on entry signals and indicators. But trading the wrong pairs can kill even a great strategy. A perfect RSI reversal signal on a low-liquidity altcoin will get eaten by spread and slippage.</p> <p>My bot trades 15 pairs on Bybit futures. Here's how I picked them.</p> <h2> The 5 Criteria I Use </h2> <h3> 1. Minimum Daily Volume: $50M+ </h3> <p>Anything below $50M in 24h volume means:</p> <ul> <li>Wide spreads that eat your profits</li> <li>Slippage on entries and exits</li> <li>Gaps that trigger false signals</li> </ul> <p>I check volume o
Choosing the right trading pairs is one of the most underrated aspects of building a profitable crypto bot. After months of testing, here's the framework I use to select and rotate pairs.
Why Pair Selection Matters
Most tutorials focus on entry signals and indicators. But trading the wrong pairs can kill even a great strategy. A perfect RSI reversal signal on a low-liquidity altcoin will get eaten by spread and slippage.
My bot trades 15 pairs on Bybit futures. Here's how I picked them.
The 5 Criteria I Use
1. Minimum Daily Volume: $50M+
Anything below $50M in 24h volume means:
-
Wide spreads that eat your profits
-
Slippage on entries and exits
-
Gaps that trigger false signals
I check volume on CoinGecko and cross-reference with Bybit's actual order book depth.
2. Volatility Sweet Spot: 2-5% ATR
Too low volatility (BTC in a tight range) = no opportunities. Too high (meme coins doing 50% swings) = stop losses get destroyed.
I measure ATR as a percentage of price on the 1h timeframe:
atr_percent = (ta.ATR(dataframe, timeperiod=14) / dataframe['close']) * 100*
Sweet spot: 2-5%
if 2.0 <= atr_percent <= 5.0: pair_score += 2`
Enter fullscreen mode
Exit fullscreen mode
Most major altcoins (SOL, ETH, BNB) sit in this range. DOGE and meme coins often exceed it.
3. Spread < 0.05%
Spread is the hidden fee. If your average trade makes 1% and the spread is 0.1%, you're giving away 10% of your edge on every round trip.
I only trade pairs where the typical bid-ask spread stays under 0.05%. The top 15 by market cap almost always qualify.
4. Low Correlation With Each Other
Trading BTC, ETH, SOL, and BNB might feel diversified, but when BTC drops 5%, they ALL drop. I measure 30-day rolling correlation:
Pair BTC Correlation
ETH 0.85
SOL 0.78
BNB 0.72
DOGE 0.65
LINK 0.61
ATOM 0.55
Lower correlation = better diversification. I include a mix: some high-corr (ETH, SOL) for trend-following, some low-corr (ATOM, NEAR) for mean-reversion.
5. Backtest Validation
Every pair must pass backtesting before going live:
-
Minimum 50 trades over 3 months
-
Win rate > 55%
-
Profit factor > 1.5
-
Max drawdown < 3%
If a pair fails any criterion, it doesn't make the cut. Period.
My Current 15 Pairs (Tiered)
Tier 1 — Core (highest confidence): BTC, ETH, SOL, BNB
Tier 2 — High-value altcoins: DOGE, XRP, ADA, AVAX, LINK
Tier 3 — Diversification: DOT, POL, NEAR, ATOM, SUI, OP
Pairs I Avoid
-
New listings (< 3 months): Not enough data to backtest
-
Meme coins (except DOGE): Unpredictable pump/dump patterns
-
Low market cap (< $500M): Liquidity disappears during volatility
-
Delisted/rebranded: Recently had to swap MATIC→POL and FTM→SUI
Monthly Rotation
Every month I:
-
Re-run backtests for all 15 pairs
-
Check if any pair's volume dropped below threshold
-
Evaluate 2-3 new candidates
-
Replace underperformers
This keeps the portfolio fresh without constant tinkering.
Results
With this framework:
-
67.9% win rate across all 15 pairs
-
2.12 profit factor
-
1.42% max drawdown
The pair selection contributes as much to these numbers as the actual trading signals.
What pairs does your bot trade? How do you select them?
I share all trades publicly: @TrendRiderFree on Telegram
DEV Community
https://dev.to/trendrider/how-i-pick-crypto-trading-pairs-for-my-bot-a-data-driven-framework-14enSign in to highlight and annotate this article

Conversation starters
Daily AI Digest
Get the top 5 AI stories delivered to your inbox every morning.
More about
versionmarkettrend
In the wake of Claude Code's source code leak, 5 actions enterprise security leaders should take now
Every enterprise running AI coding agents has just lost a layer of defense. On March 31, Anthropic accidentally shipped a 59.8 MB source map file inside version 2.1.88 of its @anthropic-ai/claude-code npm package , exposing 512,000 lines of unobfuscated TypeScript across 1,906 files. The readable source includes the complete permission model, every bash security validator, 44 unreleased feature flags, and references to upcoming models Anthropic has not announced. Security researcher Chaofan Shou broadcast the discovery on X by approximately 4:23 UTC. Within hours, mirror repositories had spread across GitHub. Anthropic confirmed the exposure was a packaging error caused by human error. No customer data or model weights were involved. But containment has already failed. The Wall Street Jour

Setting Up a Production-Ready Laravel Stack: Nginx, PHP 8.4, MySQL, Valkey & Supervisor
<p>A Laravel application running on your local machine with <code>php artisan serve</code> and a SQLite database is a fundamentally different beast from a Laravel application serving thousands of requests per minute in production. The gap between development and production is not just about code. It is about infrastructure: a properly tuned web server, an optimized PHP runtime, a robust database engine, a fast cache layer, and a process manager that keeps your queue workers alive.</p> <p>Building this stack manually is a rite of passage for many developers, but it is also a minefield of configuration mistakes, security oversights, and wasted hours. Deploynix provisions this entire stack automatically when you create an App Server, configured with production-grade defaults that reflect year

The Internet is a Thin Cylinder: Supporting Millions, Supported by One
<p>The internet is not always a busy place full of charm, but that is only<br> a blink of it.</p> <p>The other places? Either no one knew it existed, or the only thing that<br> knew it was the bots.</p> <h2> Why is this an actual thing? </h2> <p>You might have been thinking, how could this happen? As of 2026, there<br> are at least 1 billion websites, and if all these just have a few links<br> to another, everyone should be able to see and visit them.</p> <p><a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8eoo2r18ptylwzv4gu2z.png" class="article-body-image-wrapper"><img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=aut
Knowledge Map
Connected Articles — Knowledge Graph
This article is connected to other articles through shared AI topics and tags.
More in Releases

I Built a Game That Teaches Git by Making You Type Real Commands
<p>I work in IT, and there's one scene I keep witnessing. A developer joins the team, they're sharp, they ship features, they write clean code. And then someone asks them to rebase, and you can see the panic set in.</p> <p>It's not their fault. Git is taught badly.</p> <p>Every git tutorial I've ever seen follows the same formula: here's a diagram of branches, here's a table of commands, now go practice on your own repo and try not to destroy anything. It's like learning to drive by reading the car manual. Technically accurate. Practically useless.</p> <p>I've watched junior developers memorize <code>git add . && git commit -m "fix" && git push</code> like an incantation, terrified to deviate because the one time they tried <code>git rebase</code> they ended up in a state t
Orders of magnitude: use semitones, not decibels
I'm going to teach you a secret. It's a secret known to few, a secret way of using parts of your brain not meant for mathematics ... for mathematics. It's part of how I (sort of) do logarithms in my head. This is a nearly purposeless skill. What's the growth rate? What's the doubling time? How many orders of magnitude bigger is it? How many years at this rate until it's quintupled? All questions of ratios and scale. Scale... hmm. 'Wait', you're thinking, 'let me check the date...'. Indeed. But please, stay with me for the logarithms. Musical intervals as ratios, and God's joke If you're a music nerd like me, you'll know that an octave (abbreviated 8ve), the fundamental musical interval, represents a doubling of vibration frequency. So if A440 is at 440Hz, then 220Hz and 880Hz are also 'A'.

Maintaining Open Source in the AI Era
<p>I've been maintaining a handful of open source packages lately: <a href="https://pypi.org/project/mailview/" rel="noopener noreferrer">mailview</a>, <a href="https://pypi.org/project/mailjunky/" rel="noopener noreferrer">mailjunky</a> (in both Python and Ruby), and recently dusted off an old Ruby gem called <a href="https://rubygems.org/gems/tvdb_api/" rel="noopener noreferrer">tvdb_api</a>. The experience has been illuminating - not just about package management, but about how AI is changing open source development in ways I'm still processing.</p> <h2> The Packages </h2> <p><strong>mailview</strong> started because I missed <a href="https://github.com/ryanb/letter_opener" rel="noopener noreferrer">letter_opener</a> from the Ruby world. When you're developing a web application, you don

Kia’s compact EV3 is coming to the US this year, with 320 miles of range
At the New York International Auto Show on Wednesday, Kia announced that its compact electric SUV, the EV3, will be available in the US "in late 2026." The EV3 has been available overseas since 2024, when it launched in South Korea and Europe. The 2027 model coming to the US appears to have the same […]

Discussion
Sign in to join the discussion
No comments yet — be the first to share your thoughts!