Tout bot a besoin de données avant de décider quoi que ce soit. Dans la Deriv API avec Python, la requête ticks_history en est le cœur : elle fournit l’historique des prix d’un actif — au format ticks ou candles (OHLC) — et permet aussi de s’abonner aux mises à jour en direct. Ce guide est une référence directe : la syntaxe, les champs qui comptent et du code prêt à l’emploi pour récupérer l’historique et recevoir des ticks en temps réel. Le trading à court terme est à très haut risque — testez tout en compte démo d’abord.

Vous voulez un bot Deriv prêt à l’emploi, qui collecte déjà les données, calcule les indicateurs et gère le risque ? Découvrez la solution en Python et testez en compte démo.

Voir le bot Deriv en Python →

Connexion

Deriv utilise un WebSocket avec des messages JSON. Pour simplement lire les données de marché, vous n’avez même pas besoin de token (mais pour trader, si) :

import json, asyncio, websockets APP_ID = « 1089 » # utilisez votre app_id URL = f »wss://ws.derivws.com/websockets/v3?app_id={APP_ID} » async def send(ws, payload): await ws.send(json.dumps(payload)) return json.loads(await ws.recv())

ticks_history au format ticks

Pour récupérer les N derniers prix (ticks) d’un actif :

req = { « ticks_history »: « R_100 », « end »: « latest », « count »: 10, « style »: « ticks » } resp = await send(ws, req) hist = resp[« history »] print(« Prix: », hist[« prices »]) # liste de prix print(« Temps: », hist[« times »]) # liste de timestamps (epoch)
Champs clés : count définit combien de points remonter ; end accepte « latest » ou un timestamp ; vous pouvez aussi utiliser start pour un intervalle. Dans le style ticks, la réponse arrive dans history.prices et history.times (deux listes parallèles).

ticks_history au format candles (OHLC)

Pour les bougies (open/high/low/close), utilisez style: "candles" et définissez la granularity en secondes (60 = 1 minute, 300 = 5 min, 3600 = 1h) :

req = { « ticks_history »: « R_100 », « end »: « latest », « count »: 50, « style »: « candles », « granularity »: 60 # 1 minute } resp = await send(ws, req) candles = resp[« candles »] ultima = candles[-1] print(« Open : », ultima[« open »]) print(« High : », ultima[« high »]) print(« Low : », ultima[« low »]) print(« Close: », ultima[« close »]) print(« Epoch: », ultima[« epoch »])

La réponse arrive dans candles, une liste d’objets avec open, high, low, close et epoch — prête à alimenter des indicateurs (moyennes, RSI, ATR).

Ticks en direct (subscribe)

Pour recevoir chaque nouveau tick en temps réel, ajoutez subscribe: 1 et continuez à lire le socket :

await ws.send(json.dumps({« ticks »: « R_100 », « subscribe »: 1})) while True: msg = json.loads(await ws.recv()) tick = msg.get(« tick ») if tick: print(tick[« epoch »], « -> », tick[« quote »])
Mettre fin à l’abonnement : conservez le subscription.id retourné et envoyez {"forget": "<id>"} pour arrêter de recevoir. Pour tout arrêter d’un coup, utilisez {"forget_all": "ticks"}.

Astuce : combiner historique + direct

Le modèle professionnel est simple : récupérez un bloc de candles pour « préchauffer » vos indicateurs (warm-up), puis mettez-les à jour avec les ticks en direct. Ainsi, votre RSI/ATR naît déjà calculé correctement au lieu de devoir attendre des dizaines de barres.

FAQ

Faut-il un token pour lire les données ?
Pour ticks_history et ticks de marché, généralement non. Le token est nécessaire pour trader (proposal/buy) et pour les données de compte.

Quelles granularités existent ?
Des valeurs en secondes comme 60, 120, 300, 600, 900, 1800, 3600, 7200, 14400, 28800 et 86400 (1 jour), entre autres.

Quelle est la limite de count ?
Il y a un plafond par requête (de l’ordre de quelques milliers). Pour les historiques longs, paginez en utilisant start et end.

Comment obtenir la liste des actifs ?
Utilisez la requête active_symbols pour découvrir les symboles disponibles sur votre compte/région.

Avertissement : le trading de contrats à court terme et d’options est à très haut risque et la majorité des traders particuliers perdent de l’argent. Ce contenu est éducatif et technique, il ne constitue pas une recommandation d’investissement, une offre ou un conseil financier. Les résultats passés ne garantissent pas les résultats futurs. Testez toujours en compte démo avant de risquer du capital réel et n’investissez jamais plus que ce que vous pouvez vous permettre de perdre.