Lire les bougies en temps réel est la base de presque toute étude d’automatisation sur Quotex. Contrairement au téléchargement d’historique (qui est un appel unique), le temps réel exige de comprendre comment pyquotex ouvre le stream, comment la bougie en cours se forme au fil des ticks, et comment éviter les erreurs classiques de connexion. Ce guide montre le chemin pratique en Python — honnêtement, toujours en compte démo, et sans promettre de profit facile.

Vous voulez la bibliothèque, les exemples prêts à l’emploi et le pas-à-pas d’installation ?

Voir le guide pyquotex + Python →

Avant de commencer : historique vs temps réel

Ce sont deux choses différentes et beaucoup de gens les confondent. L’historique de bougies est une photographie du passé : vous demandez 100 bougies clôturées et recevez une liste prête. Le temps réel est un film : vous vous abonnez (subscribe) à un actif et recevez des mises à jour continues, y compris de la bougie qui est encore ouverte et change à chaque tick.

Règle d’or : ne prenez jamais de décision sur la base de la bougie en cours (ouverte). Elle change jusqu’à sa clôture. Les stratégies sérieuses ne confirment qu’avec la bougie précédente déjà clôturée.

Connexion et choix du timeframe

pyquotex fonctionne de manière asynchrone (asyncio). Le timeframe se définit en secondes : 60 = M1, 300 = M5, 900 = M15, et ainsi de suite. L’exemple ci-dessous se connecte, garantit l’utilisation du compte démo et prépare la lecture d’un actif.

import asyncio from quotexapi.stable_api import Quotex async def main(): cliente = Quotex(email= »seu_email », password= »sua_senha ») ok, motivo = await cliente.connect() print(« Conectado? », ok, motivo) # TOUJOURS le compte d’entraînement (démo) cliente.change_account(« PRACTICE ») print(« Saldo: », await cliente.get_balance()) ativo = « EURUSD » timeframe = 60 # 60s = M1 # … lecture des bougies ci-dessous asyncio.run(main())

Lire les bougies en temps réel

Pour recevoir des mises à jour continues, vous vous abonnez à l’actif puis lisez le buffer de bougies en boucle. Le schéma classique consiste à démarrer le stream une seule fois et, à chaque itération, à récupérer la liste la plus récente de bougies déjà assemblées.

# dans main(), après la connexion : cliente.start_candles_stream(ativo, timeframe) await asyncio.sleep(timeframe) # attend la formation d’au moins 1 bougie for _ in range(5): velas = cliente.get_realtime_candles(ativo, timeframe) if velas: ultima = list(velas.values())[-1] print(« open: », ultima[« open »], « close: », ultima[« close »], « ts: », ultima[« time »]) await asyncio.sleep(timeframe)

Notez le await asyncio.sleep(timeframe) : il évite que la boucle tourne dans le vide avant qu’une nouvelle bougie n’existe. En pratique d’étude, on compare normalement la clôture de la bougie précédente avec l’actuelle pour détecter le moment où une bougie a réellement clôturé.

Détecter la clôture d’une bougie

Comme la bougie ouverte change en permanence, l’astuce consiste à mémoriser le timestamp de la dernière bougie connue et à n’agir que lorsqu’il change — signe que la précédente vient de clôturer définitivement.

ultimo_ts = None while True: velas = cliente.get_realtime_candles(ativo, timeframe) if velas: atual = list(velas.values())[-1] if ultimo_ts is not None and atual[« time »] != ultimo_ts: # la bougie précédente vient de clôturer -> moment d’évaluer print(« Vela fechada. Avaliar sinal agora. ») ultimo_ts = atual[« time »] await asyncio.sleep(1)

Erreurs courantes (et comment les éviter)

Buffer vide aux premières itérations. Le stream a besoin de temps pour se remplir. Vérifiez toujours if velas: avant d’accéder aux données et prévoyez un sleep initial.

Utiliser la bougie ouverte comme signal. Elle oscille jusqu’à la clôture. Ne confirmez qu’avec la bougie précédente déjà terminée.

Ne pas gérer la reconnexion. Le WebSocket tombe. Entourez la boucle de try/except et reconnectez ; ne présumez jamais que le stream est resté vivant toute la nuit.

Identifiants dans le code. Utilisez des variables d’environnement. Et exécutez tout en compte démo pendant votre apprentissage.

FAQ

Quelle est la différence entre get_candles et get_realtime_candles ?
get_candles renvoie l’historique clôturé (appel ponctuel). get_realtime_candles lit le buffer du stream que vous avez démarré avec start_candles_stream, y compris la bougie encore ouverte.

Comment définir M1, M5 ou M15 ?
Le timeframe est en secondes : 60 pour M1, 300 pour M5, 900 pour M15. N’activez que les timeframes que vous allez utiliser pour ne pas surcharger la connexion.

Puis-je l’exécuter en compte réel ?
Techniquement oui, mais nous le déconseillons pendant l’apprentissage. Les options binaires sont à très haut risque et les bibliothèques non officielles peuvent échouer à tout moment. Utilisez la démo.

pyquotex est-elle officielle ?
Non. C’est un projet communautaire basé sur le WebSocket de Quotex. Il peut casser quand la plateforme change de protocole.

Avertissement : les options binaires sont des produits à très haut risque et peuvent conduire à la perte totale du capital. Ce contenu est éducatif et ne constitue ni une recommandation d’investissement, ni une offre, ni un conseil financier. Les bibliothèques non officielles peuvent violer les conditions d’utilisation de la plateforme et cesser de fonctionner sans préavis. Testez toujours en compte démo avant toute opération réelle.

Publications similaires