Introduction : Pourquoi comprendre les ordres est crucial 🎯
Imaginez-vous dans un marché traditionnel. Vous voulez acheter des pommes 🍎. Deux options s'offrent à vous :
Vous acceptez le prix affiché par le vendeur et achetez immédiatement
Vous proposez votre prix et attendez qu'un vendeur accepte
Sur les marchés crypto, c'est exactement pareil. Sauf qu'au lieu de pommes, on parle de Bitcoin ₿, et au lieu d'un marché physique, on a un carnet d'ordres électronique qui détermine TOUT.
⚠️ Si vous ne comprenez pas comment fonctionnent les ordres, vous tradez à l'aveugle. Pire encore, vous payez sûrement des frais inutiles et vous vous faites avoir par des mécanismes que vous ne soupçonnez même pas.

Partie 1 : Le carnet d'ordres, le cœur battant du marché 💓
Qu'est-ce qu'un carnet d'ordres ? 📖
Le carnet d'ordres (order book) est LA structure fondamentale qui détermine le prix de n'importe quelle crypto. C'est une liste en temps réel de tous les ordres d'achat et de vente en attente d'exécution.
Structure basique :
ORDRES DE VENTE (ASK) 📉
Prix | Quantité
€95,050 | 0.5 BTC
€95,025 | 1.2 BTC
€95,000 | 2.3 BTC ← Meilleur prix de vente ✅
-------- SPREAD --------
€94,980 | 1.8 BTC ← Meilleur prix d'achat ✅
€94,960 | 0.9 BTC
€94,940 | 1.5 BTC
ORDRES D'ACHAT (BID) 📈

Les Concepts Fondamentaux
BID (Offre d'achat) 💰 : Le prix le plus élevé qu'un acheteur est prêt à payer. Dans notre exemple, €94,980.
ASK (Offre de vente) 💸 : Le prix le plus bas qu'un vendeur est prêt à accepter. Ici, €95,000.
SPREAD 📏 : La différence entre le bid et l'ask. Dans notre cas : €95,000 - €94,980 = €20. C'est l'écart que vous "payez" quand vous tradez.
Les Deux Types d'Ordres 🎭
1. L'Ordre au Marché (Market Order) ⚡
C'est l'ordre "Je veux maintenant !". Vous acceptez le meilleur prix disponible immédiatement.
Exemple concret :
Bitcoin est à €95,000 (ask) / €94,980 (bid)
Vous placez un ordre d'achat au marché de 0.1 BTC
Vous payez €95,000 × 0.1 = €9,500
Exécution : INSTANTANÉE ⚡
Avantages ✅ :
Exécution garantie et immédiate
Parfait pour entrer/sortir rapidement
Inconvénients ❌ :
Vous payez le spread (€20 par BTC dans notre exemple)
Frais plus élevés (souvent 0.1% sur les exchanges)
Risque de slippage sur les grosses positions
2. L'Ordre Limite (Limit Order) ⏳
C'est l'ordre "À mon prix ou rien !". Vous fixez votre prix et attendez qu'un autre trader l'accepte.
Exemple concret :
Bitcoin est à €95,000 / €94,980
Vous placez un ordre d'achat limite à €94,990
Votre ordre rejoint le carnet d'ordres
Il s'exécute SEULEMENT si un vendeur accepte €94,990
Avantages ✅ :
Vous contrôlez le prix exact
Frais réduits (souvent 0.05% - soit 50% de moins ! 💵)
Pas de slippage
Inconvénients ❌ :
Pas de garantie d'exécution
Peut rater des opportunités si le prix s'envole avant que le prix ait touché votre ordre d'achat en dessous du prix actuel 🚀
L'Impact des ordres sur le prix : la mécanique cachée 🔧
Le prix n'est PAS magique. Il est UNIQUEMENT déterminé par le carnet d'ordres.
Scénario 1 : Un whale veut acheter 100 BTC 🐋
Si notre whale place un ordre au marché :
Il consomme tous les ordres de vente disponibles
Prix initial : €95,000
Il achète : 2.3 BTC à €95,000, puis 1.2 BTC à €95,025, puis 0.5 BTC à €95,050...
Le prix MONTE 📈 car il "mange" le carnet d'ordres
Scénario 2 : Les Stop-Loss en cascade 💥
Imaginez que beaucoup de traders ont mis leur stop-loss à €94,500 :
Le prix touche €94,500
Des dizaines d'ordres de vente au marché se déclenchent
Le prix CHUTE brutalement 📉
D'autres stop-loss à €94,000 se déclenchent
Effet domino = flash crash 💣
L’un des exemples les plus marquants s’est produit en mars 2020, souvent appelé le « Jeudi Noir » du Bitcoin. En l’espace de 24 heures, le prix du Bitcoin a chuté de plus de 50%, passant de près de 9000 $ à un point bas d’environ 3 800 $.
En mai 2021, le marché crypto a connu une correction importante, après une période de hausse. Le Bitcoin a perdu environ 50% de sa valeur en une semaine, tombant sous les 30 000 $, après avoir approché les 60 000 $.
C'est exactement ce mécanisme que les whales exploitent pour manipuler les prix.
Une heatmap des liquidations sont proposés par Coinglass, révélant l’open interest et les liquidations. Cette carte montre les zones de liquidation où le prix peut être attiré.
Le Slippage : L'Ennemi Invisible 👻
Le slippage, c'est la différence entre le prix que vous espériez et le prix que vous obtenez réellement.
Exemple réel :
Vous voyez Bitcoin à €95,000
Vous placez un ordre d'achat au marché de 5 BTC
Mais le carnet n'a que 2.3 BTC à €95,000
Résultat : vous achetez à différents prix (€95,000, €95,025, €95,050...)
Prix moyen final : €95,018 au lieu de €95,000 💸
Les données du carnet d'ordres : L'avantage des pros 🎯
Les plateformes vendent l'accès aux données complètes du carnet d'ordres. Avec ces infos, les traders pro peuvent :
👁️ Voir exactement où sont les gros ordres
🎯 Identifier les niveaux de support/résistance
💣 Repérer les accumulations de stop-loss
🔮 Anticiper les mouvements de prix
Le Business des Exchanges 🤐
Yrile a publié une excellente vidéo qui révèle les mécanismes cachés derrière les exchanges :
Résumé des points clés :
Les exchanges ne sont pas neutres. Leur business model repose sur les frais de transaction, mais ce n'est que la partie visible de l'iceberg 🧊.
Les Market Makers : Les Vrais Maîtres du Jeu 👑
Les market makers sont des entreprises spécialisées qui :
📊 Placent constamment des ordres des deux côtés (achat ET vente)
📏 Réduisent le spread pour faciliter les échanges
💰 Gagnent la différence (le spread) sur chaque transaction
Le problème ? Ils ont un pouvoir démesuré :
🔓 Accès privilégié aux données
🎮 Capacité de faire bouger les prix
🤝 Collaboration étroite avec les exchanges
La Chasse aux Liquidations 🎯
Les market makers peuvent intentionnellement faire chuter ou monter les prix pour déclencher des liquidations en cascade :
👀 Ils repèrent des clusters de stop-loss (ex: beaucoup de longs avec liquidation à €90,000)
💣 Ils vendent massivement pour faire chuter le prix
💥 Les liquidations se déclenchent = ventes forcées
📉 Le prix chute encore plus
🛒 Ils rachètent à bas prix
C'est légal ? Zone grise. La régulation crypto est encore floue, et les preuves sont difficiles à obtenir.
Les Techniques de Manipulation 🎭
Wash Trading : Créer du faux volume en tradant avec soi-même
Spoofing : Placer de faux ordres énormes pour effrayer les traders
Front Running : Trader avant les gros ordres clients qu'ils voient arriver
Pour plus de détails sur ces mécanismes, je vous recommande vivement de regarder la vidéo complète de Yrile.
Partie 2 : Les ordres avec Freqtrade - La Pratique 🤖
La Philosophie Freqtrade 🧠
Contrairement au trading manuel où vous pourriez laisser des ordres limite pendant des jours, Freqtrade fonctionne différemment :
❌ Pas d'ordres dormants : On ne place des ordres qu'au moment d'agir
⚡ Réactivité maximale : La stratégie décide en temps réel
💰 Économie de frais : Ordres limite par défaut
Configuration des Ordres dans config.json ⚙️
{
"order_types": {
"entry": "limit",
"exit": "limit",
"stoploss": "market",
"stoploss_on_exchange": true,
"stoploss_on_exchange_interval": 60
},
"order_time_in_force": {
"entry": "gtc",
"exit": "gtc"
}
"cancel_open_orders_on_exit": true,
"unfilledtimeout": {
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
},
"entry_pricing": {
"price_side": "same",
"price_last_balance": 1.0,
"use_order_book": true,
"order_book_top": 1
},
"exit_pricing": {
"price_side": "same",
"price_last_balance": 1.0,
"use_order_book": true,
"order_book_top": 1
},
}
Décryptage 🔓 :
entry: "limit": Achats en ordre limite (économie de frais)exit: "limit": Ventes en ordre limitestoploss: "market": Stop-loss en ordre marché (sécurité avant tout)stoploss_on_exchange: true: Le stop-loss est placé sur l'exchangecancel_open_orders_on_exit: true: Si votre bot est coupé, on annule les ordres limites actuellement ouverts qui n'ont pas encore été déclenché (attention, en cas de crash du processus, cette action n'est pas garantie!).unfilledtimeout: true: Configuration des timeouts pour les ordres limits, évite les ordres bloqués.entry/exit: 10 minutes avant annulation si l'ordre n'est pas rempli pour une ouverture ou une fermeture de position
entry_princing/exit_pricing: Permet de gérer où est placé l'ordre par rapport aux prix du carnet d'ordre. ( https://www.freqtrade.io/en/stable/configuration/#entry-price )
Pourquoi des ordres limite par défaut ? 💡
Économies substantielles 💵 :
Ordre marché : 0.1% de frais (généralement mais dépend des exchanges)
Ordre limite : 0.05% de frais (généralement mais dépend des exchanges)
Sur €100,000 de volume : €50 d'économie ! 🎉
Exemples de configuration selon vos besoins :
Configuration Aggressive (Exécution rapide) ⚡
{ "order_types": { "entry": "market", "exit": "market", "stoploss": "market" } }
Configuration Économique (Maximum d'économies) 💰
{ "order_types": { "entry": "limit", "exit": "limit", "stoploss": "limit", "stoploss_on_exchange": false } }
Configuration Hybride (Recommandée) ✅
{ "order_types": { "entry": "limit", "exit": "limit", "stoploss": "market", "stoploss_on_exchange": true }, "entry_pricing": { "price_side": "same", "price_last_balance": 1.0, "use_order_book": true, "order_book_top": 1 }, "exit_pricing": { "price_side": "same", "price_last_balance": 1.0, "use_order_book": true, "order_book_top": 1 }, }
Gestion Avancée dans la Stratégie 🚀
Ajustement Dynamique des Prix 📊
def custom_entry_price(self, pair: str, current_time: datetime, proposed_rate: float, entry_tag: Optional[str], side: str, **kwargs) -> float: """ Ajuste le prix d'entrée pour augmenter les chances d'exécution """ dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) # Si forte tendance haussière, on est plus agressif if dataframe['rsi'].iloc[-1] > 70: # On place notre ordre 0.1% au-dessus du prix proposé return proposed_rate * 1.001 # Sinon, on essaie d'avoir un meilleur prix return proposed_rate * 0.999
Stop-Loss Intelligent 🛡️
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime, current_rate: float, current_profit: float, **kwargs) -> float: """ Stop-loss dynamique basé sur l'ATR """ dataframe, _ = self.dp.get_analyzed_dataframe(pair, self.timeframe) atr = dataframe['atr'].iloc[-1] # Stop-loss à 2x l'ATR sl_price = current_rate - (2 * atr) sl_percent = (sl_price - trade.open_rate) / trade.open_rate return max(sl_percent, -0.05) # Maximum 5% de perte
Stop-Loss : Sur exchange ou pas ? 🤔
Stop-Loss sur Exchange ✅
Avantages :
🛡️ Protection même si le bot crash
⚡ Exécution ultra-rapide
📡 Pas de latence
Configuration :
{ "stoploss": -0.05, "stoploss_on_exchange": true, "stoploss_on_exchange_interval": 60, "stoploss_on_exchange_limit_ratio": 0.99 }
Stop-Loss Géré par le Bot 🤖
Avantages :
🎨 Plus de flexibilité
📊 Stop-loss dynamiques complexes
🕵️ Pas visible dans le carnet d'ordres (bon, nous ne sommes pas une whale donc techniquement on s'en fiche, mais c'est un des intérêts)
Configuration :
def custom_stoploss(self, pair: str, trade: Trade, current_time: datetime, current_rate: float, current_profit: float, **kwargs) -> float: # Trailing stop-loss progressif if current_profit > 0.02: return -0.1 # Stop à -10% si on a dépassé +2% elif current_profit > 0.05: return 0.02 # Stop à +2% si on a dépassé +5% return -0.15 # Stop par défaut à -15%
Intégrer les Données du Carnet d'Ordres 🔍
Utiliser les données du carnet d'ordres dans vos stratégies peut être très puissant mais c'est relativement complexe à faire correctement et quasiment impossible à backtester, les stratégies développer de cette façon devront être développer directement en dry_run.
Optimisations et Bonnes Pratiques 🏆
1. Timeouts Intelligents ⏱️
Dans la configuration :
{
"unfilledtimeout": {
"entry": 10,
"exit": 10,
"exit_timeout_count": 0,
"unit": "minutes"
}
}
Si un ordre limite n'est pas rempli après 10 minutes, Freqtrade l'annule et réessaie.
2. Protection Anti-Slippage 🛡️
Dans la stratégie :
def confirm_trade_entry(self, pair: str, order_type: str, amount: float,
rate: float, time_in_force: str, current_time: datetime, entry_tag: Optional[str], side: str, **kwargs) -> bool:
"""
Vérifie que le slippage n'est pas trop important
Sinon, n'ouvre pas la position
"""
current_price = self.dp.ticker(pair)['last']
slippage = abs(current_price - rate) / rate
if slippage > 0.02: # Plus de 2% de slippage
logger.warning(f"Slippage trop important pour {pair}: {slippage:.2%}")
return False
return TrueJe n'utilise pas vraiment cela dans mes stratégies actuellement, mais ça reste intéressant pour de potentiels optimisations.
3. Gestion des Frais 💰
Dans la stratégie :
def adjust_trade_position(self, trade: Trade, current_time: datetime,
current_rate: float, current_profit: float,
min_stake: float, max_stake: float, **kwargs):
"""
Ajuste la position en tenant compte des frais
"""
# Calcul des frais totaux
fee_open = trade.fee_open if trade.fee_open else 0.001
fee_close = trade.fee_close if trade.fee_close else 0.001
total_fee = fee_open + fee_close
# On n'ajoute à la position que si le profit dépasse les frais
if current_profit > total_fee * 2:
return min_stake # DCA
return None
Je n'utilise pas cela dans mes stratégies car la gestion automatique des frais par freqtrade me convient sur les trades long termes que je fais, néanmoins cela peut être quelque chose à prendre en compte absolument si vos stratégies se basent sur des mini-profits.
Conclusion : Maîtriser les Ordres pour Maîtriser le Trading 🎯
Comprendre les ordres, c'est comprendre le marché. Avec Freqtrade, vous avez le pouvoir de :
💰 Économiser sur les frais avec les ordres limite
🛡️ Protéger votre capital avec des stop-loss intelligents
📊 Exploiter les données du carnet d'ordres
🤖 Automatiser des stratégies complexes
Le marché crypto est un jeu à somme nulle. Pour chaque gagnant, il y a un perdant. Les exchanges, les market makers, les whales - tous ont leurs avantages. Votre avantage à vous ? L'automatisation intelligente et la discipline que Freqtrade apporte.
⚠️ N'oubliez pas : les ordres limite par défaut vous font économiser 50% sur les frais. Sur une année de trading, c'est la différence entre un compte profitable et un compte dans le rouge.
Heureusement pour vous, par défaut Freqtrade cherche à utiliser les ordres limites et à minimiser les frais, néanmoins la compréhension de l'orderbook est nécessaire pour établir correctement les fichiers de configurations et comprendre le fonctionnement des gros mouvements.
Maintenant, à vous de jouer. Configurez vos ordres intelligemment, testez en dry-run, et laissez Freqtrade faire le travail !
N'hésitez pas à me soutenir avec un café ☕ - cela m'aide à maintenir ces guides techniques à jour et à créer encore plus de contenu pour la communauté Freqtrade France !




