📊 Ordres (Limite et Marché) : Guide Com ...

📊 Ordres (Limite et Marché) : Guide Complet pour Freqtrade

Jul 24, 2025

Introduction : Pourquoi comprendre les ordres est crucial 🎯

Imaginez-vous dans un marché traditionnel. Vous voulez acheter des pommes 🍎. Deux options s'offrent à vous :

  1. Vous acceptez le prix affiché par le vendeur et achetez immédiatement

  2. 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.

image

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) 📈

image

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 🚀

image

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é :

  1. Il consomme tous les ordres de vente disponibles

  2. Prix initial : €95,000

  3. Il achète : 2.3 BTC à €95,000, puis 1.2 BTC à €95,025, puis 0.5 BTC à €95,050...

  4. 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 :

  1. Le prix touche €94,500

  2. Des dizaines d'ordres de vente au marché se déclenchent

  3. Le prix CHUTE brutalement 📉

  4. D'autres stop-loss à €94,000 se déclenchent

  5. 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 $.

    image

  6. 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 $.

    image

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é.

image

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 :

  1. 👀 Ils repèrent des clusters de stop-loss (ex: beaucoup de longs avec liquidation à €90,000)

  2. 💣 Ils vendent massivement pour faire chuter le prix

  3. 💥 Les liquidations se déclenchent = ventes forcées

  4. 📉 Le prix chute encore plus

  5. 🛒 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 limite

  • stoploss: "market" : Stop-loss en ordre marché (sécurité avant tout)

  • stoploss_on_exchange: true : Le stop-loss est placé sur l'exchange

  • cancel_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 True

Je 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 :

  1. 💰 Économiser sur les frais avec les ordres limite

  2. 🛡️ Protéger votre capital avec des stop-loss intelligents

  3. 📊 Exploiter les données du carnet d'ordres

  4. 🤖 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 !

Ti piace questo post?

Offri un caffè a Freqtrade France

Altro da Freqtrade France