Bonsoir 
Par curiosité y a t'il des gens qui font du trading automatisé en python ?
Ca fait pas mal de temps que je bosse dessus, j'ai un code qui me permet de backtester des stratégies sur les données que j'ai téléchargées de Binance ou Kucoin (avec un autre code qui utilise l'API). Avec l'IA et notamment Chatgpt en mode code-copilot et Grok je gagne beaucoup de temps, même si de base je sais coder en python, c'est super confortable de coder avec l'IA et gros gain de temps.
Après de nombreux tests avec beaucoup de stratégies différentes, je converge vers un truc assez robuste : j'optimise mes paramètres (module optuna de python pour ceux qui connaissent), sur une période de 3 ans en TF=5min, par exemple de 2021à 2024, puis je test la configuration trouvée sur 2025.
Ensuite si ça marche je garde la config et je la teste sur d'autres altcoins.
Un des problèmes majeurs est la sur-optimisation, je trouvais des configs avec pas mal de stratégies qui marchaient bien sur les 3 ans, mais dès que je passais sur l'année qui suivait (sur laquelle la config n'a pas été optimisée donc), ça s'écroulait, souvent le portefeuille restait constant voir s'écroulait, quelque rares fois ça restait positif.
Mais là je converge vers un truc vraiment solide, voici par exemple l'evolution du portefeuille pour plusieurs coin (soit en TF 5m soit en 15m, pour d'autres la stratégie marche moins bien, en 1m et 1h j'ai testé, ça marche mais moins rentable) :
SOLUSDT 5min
SOLUSDT 15min
NEARUSDT 5min
RUNEUSDT 5min
etc.
Les bandes vertes et rouges c'est pour mettre en surbrillance les séries de gains et de pertes les plus gros. Genre si le maximum de trades gagnant d'affilés c'est 7 alors il va mettre tous les séries de 7 gagnants en vert, même principe pour les séries perdantes.
Je donnerai pas la stratégie détaillée mais c'est à base de Volatilité, ADX, ATR, EMA et Bollinger. Les paramètres de la stratégie ont été optimisées sur SOLUSDT 5m puis testée telle quelle sur tous les autres. Le fait qu'elle reste rentable en changeant de TF et en plus de coin est un super crash test pour tester sa robustesse.
La stratégie a un winrate assez constant autour de 45% avec un R/R = 2 (les fees sont pris en compte). Le risque autorisé par trade est de 1% du portefeuille total, la taille de la position est calculée automatiquement avec le risque et la distance du SL. Le drawdown maximal ne dépasse jamais 5%.
Là j'ai quasiment fini le code qui va transposer ça en trading réel. Le but sera que le code cherche les configs d'entrées sur une dizaine de paires présélectionnées par mes soins (faut un minimum de volume, donc pas les shitcoin du fond de panier). Puis ouvrir au maximum 4 trades en simultanés toutes paires confondues et toujours équilibré (1 long et 1 short ou 2 long et 2 short) pour hedge en cas de mouvement brusque du BTC qui entraine dans une direction ou dans l'autre, comme ça la moitié des positions sont SL et l'autre moitié tape le TP.
Très interessant tu va coder un modèle d'ia pour te trouver les meilleurs stratégies?
Petite précision : les évolutions de portefeuille affichés ici ne sont pas forcément ceux qui correspondent aux plus gros montants finaux générés. J'ai préféré prendre des configs qui font par exemple x3 sur 3 ans au détriment de configs qui faisaient x5 ou plus car celle qui fait x3 a un meilleur winrate, moins de grosse séries perdantes et des drawdown (baisse maximale atteinte) moins élevés parce que ça me rend plus serein pour l'application réelle ensuite.
c'est intéréssant le coup des trades équilibrés, par contre ça peut très bien péter tes SL d'un coté et pas toucher tes TPs de l'autre meme en cas de mvt brusque du BTC (dépend des paires, je pense surtout au mèches vers le bas ultra rapides de 15 min puis ça repart) mais j'imagine que ça sera rare. en tt cas idée sympa. J'imagine qu'en backtest ça fonctionne plutôt bien
Le 12 août 2025 à 22:13:04 :
Très interessant tu va coder un modèle d'ia pour te trouver les meilleurs stratégies?
En fait pour les stratégies c'est une combinaison de mon expérience (j'suis dans les crypto depuis 8 ans) et de proposition de l'IA. Pour les idées de stratégies je trouve que grok se démerde mieux que chatgpt (la je parle de la logique de la stratégie, pas du code python).
Le 12 août 2025 à 22:17:06 :
c'est intéréssant le coup des trades équilibrés, par contre ça peut très bien péter tes SL d'un coté et pas toucher tes TPs de l'autre meme en cas de mvt brusque du BTC (dépend des paires, je pense surtout au mèches vers le bas ultra rapides de 15 min puis ça repart) mais j'imagine que ça sera rare. en tt cas idée sympa. J'imagine qu'en backtest ça fonctionne plutôt bien
Oui c'est toujours le risque, c'est un hedge assez basique. Mais vu l'évolution du portefeuille sur plusieurs années (sur un seul coin donc sans hedge) ça devrait tenir la route.
Je n’essaye pas le 100% automatisé mais j’essaie de trouver des bons filtres pour m’envoyer des alertes sur mon tel avec mt4 pour rapidement prendre une decision finale sur un potentiel trade
Par contre je fais surtout ca sur le forex
Salut khey, super intéressant ton topic. J’ai justement posté un truc similaire il y’a quelques jours mais j’ai flop ![]()
https://www.jeuxvideo.com/forums/42-3011927-76084417-1-0-1-0-j-ai-dev-un-algorithme-de-trading-sur-les-futures.htm
Sinon je suis parti sur une stratégie complètement différente, je l’ai backtesté et j’ai une renta annuelle assez correcte. J’ai pas encore codé le bot pour le moment car je ne me suis pas arrêté sur la techno, la facilité serait de le faire en python mais pour être opti je réfléchis à nodejs. Je pensais passer par la lib ccxt plutôt que par le sdk d’un cex.. t’as un avis la dessus?
Et sinon c’est quoi la lib qui te génère les graph? ![]()
Je comprends, je fais aussi du manuel. Soit long terme (j’ai investi pendant le bear market) soit des trades sur quelques jours plus en mode swing trading. Dans ce cas j’utilise quasi aucun indicateur, c’est full « price action », à la rigueur une moyenne mobile ou VWAP ou volume profile.
L’avantage du full automatisation c’est l’absence d’émotions, les trades seront exécutés exactement comme prévu, pas d’hésitation, de doutes, de sorties précoces.
Le 12 août 2025 à 22:34:03 :
Salut khey, super intéressant ton topic. J’ai justement posté un truc similaire il y’a quelques jours mais j’ai flop
https://www.jeuxvideo.com/forums/42-3011927-76084417-1-0-1-0-j-ai-dev-un-algorithme-de-trading-sur-les-futures.htmSinon je suis parti sur une stratégie complètement différente, je l’ai backtesté et j’ai une renta annuelle assez correcte. J’ai pas encore codé le bot pour le moment car je ne me suis pas arrêté sur la techno, la facilité serait de le faire en python mais pour être opti je réfléchis à nodejs. Je pensais passer par la lib ccxt plutôt que par le sdk d’un cex.. t’as un avis la dessus?
Et sinon c’est quoi la lib qui te génère les graph?
![]()
Perso mon code utilise le sdk du cex, j'avais envisagé ccxt mais y a un truc qui marchait pas bien et ça m'a saoulé (me souviens plus quoi...).
Sinon pour les graphs c'est du matplotlib ![]()
Y a des choses plus jolies qui existent mais je ne cherche pas l’esthétisme, mes efforts se focalisent sur la stratégie.
Le 12 août 2025 à 22:03:57 :
BonsoirPar curiosité y a t'il des gens qui font du trading automatisé en python ?
Ca fait pas mal de temps que je bosse dessus, j'ai un code qui me permet de backtester des stratégies sur les données que j'ai téléchargées de Binance ou Kucoin (avec un autre code qui utilise l'API). Avec l'IA et notamment Chatgpt en mode code-copilot et Grok je gagne beaucoup de temps, même si de base je sais coder en python, c'est super confortable de coder avec l'IA et gros gain de temps.Après de nombreux tests avec beaucoup de stratégies différentes, je converge vers un truc assez robuste : j'optimise mes paramètres (module optuna de python pour ceux qui connaissent), sur une période de 3 ans en TF=5min, par exemple de 2021à 2024, puis je test la configuration trouvée sur 2025.
Ensuite si ça marche je garde la config et je la teste sur d'autres altcoins.Un des problèmes majeurs est la sur-optimisation, je trouvais des configs avec pas mal de stratégies qui marchaient bien sur les 3 ans, mais dès que je passais sur l'année qui suivait (sur laquelle la config n'a pas été optimisée donc), ça s'écroulait, souvent le portefeuille restait constant voir s'écroulait, quelque rares fois ça restait positif.
Mais là je converge vers un truc vraiment solide, voici par exemple l'evolution du portefeuille pour plusieurs coin (soit en TF 5m soit en 15m, pour d'autres la stratégie marche moins bien, en 1m et 1h j'ai testé, ça marche mais moins rentable) :
SOLUSDT 5min
![]()
SOLUSDT 15min
![]()
NEARUSDT 5min
![]()
RUNEUSDT 5min
![]()
etc.
Les bandes vertes et rouges c'est pour mettre en surbrillance les séries de gains et de pertes les plus gros. Genre si le maximum de trades gagnant d'affilés c'est 7 alors il va mettre tous les séries de 7 gagnants en vert, même principe pour les séries perdantes.
Je donnerai pas la stratégie détaillée mais c'est à base de Volatilité, ADX, ATR, EMA et Bollinger. Les paramètres de la stratégie ont été optimisées sur SOLUSDT 5m puis testée telle quelle sur tous les autres. Le fait qu'elle reste rentable en changeant de TF et en plus de coin est un super crash test pour tester sa robustesse.
La stratégie a un winrate assez constant autour de 45% avec un R/R = 2 (les fees sont pris en compte). Le risque autorisé par trade est de 1% du portefeuille total, la taille de la position est calculée automatiquement avec le risque et la distance du SL. Le drawdown maximal ne dépasse jamais 5%.
Là j'ai quasiment fini le code qui va transposer ça en trading réel. Le but sera que le code cherche les configs d'entrées sur une dizaine de paires présélectionnées par mes soins (faut un minimum de volume, donc pas les shitcoin du fond de panier). Puis ouvrir au maximum 4 trades en simultanés toutes paires confondues et toujours équilibré (1 long et 1 short ou 2 long et 2 short) pour hedge en cas de mouvement brusque du BTC qui entraine dans une direction ou dans l'autre, comme ça la moitié des positions sont SL et l'autre moitié tape le TP.
J'ai fait ça sur 10 mois, les frais m'ont bouffé.
Les frais ? C’est que tu devais avoir un soucis de sélection des trades rentables je pense.
Par exemple mettons 0.1% de fees et un portefeuille de 10000 usdt.
Si t’acceptes un risque de 1% par exemple et que ton SL est à 0.2% tu peux utiliser un levier 1/0.2=x5. Ça donne une position de 50000 usdt. En fees c’est 0.1% x 2 x 50000 =200 usdt
(x2 car entrée puis sortie).
Avec un R/R de 2 ça ferait 0.4% x 50000 = 800 usdt mais y a 200 usdt qui partent en fees donc 25% de gains en moins, et ça sans parler des trades perdants.
Donc faut absolument filtrer les trades où la volatilité n’est pas suffisante pour assurer un gain non amputé massivement par les frais de la plateforme.
Je trade en auto depuis 9 mois avec de très bons résultats (x10
) mes conseils:
- reste simple: optuna c'est cool mais si ton espace de recherche est trop large, tu vas quasi certainement overfitter.
- pour vérifier une stratégie: train/test en fenêtre glissante + evaluation en situation live sur un paper account. La partie live est très importante car là que tu verras si tu avais des erreurs dans ton modèles.
- les erreurs de modélisations sont PARTOUT, et surtout là où on les attends pas. Y'a des gros classiques, comme leak le futur accessidentellemrnt dans une feature, mais il peut y avoir un milliard d'autre problème. Moi par ex récement je testais des trucs avec des résultats plutôt très bons, mais je me suis rendu compte après coup que les nans sont mal gérés dans les rollings/argsorts et ça me faisait resortir des stocks très peu liquides qui auraient du être filtrés ![]()
- tu prends en compte les fees, c'est bien. Quid des spreads? Souvent négligés, ça peut avoir un énorme impact sur tes résultats. Tu utilises quel fenetre? Tu as ajouté un shift temporel entre ton calcul (qui a un temps non négligeable surtout en python) et l'execution? Tu prends bien en compte les low conservativement sur le trigger des SL?
- Avoir des résultats positifs c'est bien mais quid d'un benchmark de type "hold du BTC"? Peut être que ta mèthode marche en periode de bull market, mais si tu ne bas pas un indice de ref, tu es mal partie. Une analyse que j'aime faire perso c'est de me benchmark contre une armée de bots aléatoires qui tradent sur les mêmes produits mais entrent et sortent au hasard. Si ton modèle ne fait pas lieux que 10%, voir 5% des agents aléatoires... Tu es peut être juste en train d'avoir de la chance.
- Quand j'explore une méthode, je passe en moyenne 10%-15% de mon temps à la coder, et le reste je le passe à visualiser tout ce que je peux pour comprendre ce qui se passe et essayer de deceler des erreurs ou des optims. C'est souvent comme ça que je trouve comme ça des problèmes et fini par abandonner une idée.
Et tu as testé avec des autres TF, 1h, 1d, .. ?
Le problème comme tu l’as bien dit c’est l’overfitting
Sujet clos
Très intéressant khey
faut checker l'overfitting et bien faire gaffe à avoir une période de bull et de bear dans ton dataset
une erreur que j'avais faite était que mon train était en bull et mon val était en bear ![]()
Un problème que je vois gros comme une montagne c'est que t'as que 2 sets, c'est absolument vital d'avoir un set de validation et d'avoir un test set qui ne sert qu'à accepter/rejeter la stratégie. Si t'as que 2 sets tu risques d'optimiser sur le test set (par exemple via sélection des hyperparametres) et donc overfit ![]()
Le trading c'est un milieu où le SnR est vraiment faible donc ton pire ennemi est l'overfit
python est trop lent... c'est pour apprendre les algo à l'école
Le 13 août 2025 à 08:24:04 :
python est trop lent... c'est pour apprendre les algo à l'école
Et tu penses quoi de tradingView ?
Le 13 août 2025 à 00:52:02 :
Je trade en auto depuis 9 mois avec de très bons résultats (x10) mes conseils:
- reste simple: optuna c'est cool mais si ton espace de recherche est trop large, tu vas quasi certainement overfitter.
Oué j'ai remarqué, j'ai simplifié les recherches, par exemple rechercher les fenetres des ema à l'unité près c'est débile, si la stratégie marche avec une EMA21 mais s'écroule avec une EMA22 c'est clairement overfitté. Je fais l'optimisation par palier de 10 entre 20 et 70 par exemple pour l'EMA courte.
- pour vérifier une stratégie: train/test en fenêtre glissante + evaluation en situation live sur un paper account. La partie live est très importante car là que tu verras si tu avais des erreurs dans ton modèles.
Mes 1er tests réels seront soit en paper account soit en réel mais avec un petit portefeuille genre 100 usdt.
- les erreurs de modélisations sont PARTOUT, et surtout là où on les attends pas. Y'a des gros classiques, comme leak le futur accessidentellemrnt dans une feature, mais il peut y avoir un milliard d'autre problème. Moi par ex récement je testais des trucs avec des résultats plutôt très bons, mais je me suis rendu compte après coup que les nans sont mal gérés dans les rollings/argsorts et ça me faisait resortir des stocks très peu liquides qui auraient du être filtrés
Pour le filtrage des paires c'est pas un soucis ici, pour le coup c'est moi qui lui impose une liste prédéfinis de paires que j'ai choisis pour pas qu'il me trouve de la merde. Si je lui impose une liste de 10-15 paires en 5m ou/et 15m je devrais déjà avoir beaucoup de trades quand je vois ce que donne le backtesting sur différentes paires.
- tu prends en compte les fees, c'est bien. Quid des spreads? Souvent négligés, ça peut avoir un énorme impact sur tes résultats. Tu utilises quel fenetre? Tu as ajouté un shift temporel entre ton calcul (qui a un temps non négligeable surtout en python) et l'execution? Tu prends bien en compte les low conservativement sur le trigger des SL?
C'est la partie un peu cruciale effectivement, soit je fais tout en limit et du coup pas de spread car prix bien défini, mais risque de non exécution, soit en market et du coup spread (mais celui-ci est plus faible sur des paires à forts volumes). Donc pour le moment pas de shift temporel, c'est le cas "parfait", mais je sais que l'application réelle va être moins bon, donc quand je cherche une bonne stratégie, je fais en sorte d'en trouver une vraiment très bonne et rentable car je sais qu'au final elle sera dégradée en réel.
Pour les low pris en compte conservativement tu veux dire quoi ? Dans ma logique si le prix touche le seuil de SL alors il est déclenché (pas attendre la cloture).
- Avoir des résultats positifs c'est bien mais quid d'un benchmark de type "hold du BTC"? Peut être que ta mèthode marche en periode de bull market, mais si tu ne bas pas un indice de ref, tu es mal partie. Une analyse que j'aime faire perso c'est de me benchmark contre une armée de bots aléatoires qui tradent sur les mêmes produits mais entrent et sortent au hasard. Si ton modèle ne fait pas lieux que 10%, voir 5% des agents aléatoires... Tu es peut être juste en train d'avoir de la chance.
Mes backtests se font sur des périodes où il y a bull et bear market, le portefeuille est croissant peu importe la période.
Par exemple ici en SOLUSDT 15m :
De janvier 2021 à fin 2024 le SOLUSDT ressemble à ça :
Le bull run de 2021 se finissait et ça se cassait la gueule, ensuite grosse période morte pendant 1 an et demi pendant bear market puis grosse reprise d'activité. Donc on a du price action qui se casse la gueule, qui reste ensuite stable puis qui remonte, et pendant tout ce temps le portefeuille augmente constamment malgré tout
- Quand j'explore une méthode, je passe en moyenne 10%-15% de mon temps à la coder, et le reste je le passe à visualiser tout ce que je peux pour comprendre ce qui se passe et essayer de deceler des erreurs ou des optims. C'est souvent comme ça que je trouve comme ça des problèmes et fini par abandonner une idée.
Idem, le codage ne prend pas le plus de temps, surtout avec l'IA, par contre l'analyse des résultats bouffe beaucoup de temps et m'a fait abandonner pas mal de stratégies que je pensais gagnantes à la base.
Le 13 août 2025 à 01:48:26 :
Et tu as testé avec des autres TF, 1h, 1d, .. ?
Comme dit plus haut, en plus du 5m et 15m où ça marche bien, j'ai testé aussi 1m et 1h.
Sur le 1m j'atteins environ le même max que en 5m ou 15m mais il faut beaucoup plus de trades pour y arriver, donc autant se contenter des TF qui font pareil mais avec moins de trades.
Sur le 1h y a moins de trades (normal), mais sur la même période le gain final est moins élevé, la stratégie choisie est vraiment optimale sur 5m et 15m. Mais le fait qu'elle marche toujours sur 1m et 1h (meme si un peu moins efficace) est encourageant pour la robustesse.
Le 13 août 2025 à 02:01:32 :
Le problème comme tu l’as bien dit c’est l’overfitting
Sujet clos
Bah non pas sujet clos, suffit de pas être débile et repérer l'overfitting ![]()
Si j'optimise sur une periode puis que je test la config obtenue sur une période totalement différente et en plus sur des paires différentes c'est que l'overfitting n'est plus un soucis.
Si effectivement ça se casse la gueule dès qu'on sort de la periode sur laquelle ça a été optimisé alors oui y a overfitting,.
Le 13 août 2025 à 06:39:18 :
Très intéressant kheyfaut checker l'overfitting et bien faire gaffe à avoir une période de bull et de bear dans ton dataset
une erreur que j'avais faite était que mon train était en bull et mon val était en bear
Un problème que je vois gros comme une montagne c'est que t'as que 2 sets, c'est absolument vital d'avoir un set de validation et d'avoir un test set qui ne sert qu'à accepter/rejeter la stratégie. Si t'as que 2 sets tu risques d'optimiser sur le test set (par exemple via sélection des hyperparametres) et donc overfit
Le trading c'est un milieu où le SnR est vraiment faible donc ton pire ennemi est l'overfit
Comme dit plus haut, j'ai testé en bear et bull sur différents coin en testant la config obtenue sur des periodes totalement en dehors de la periode qui a servi à l'optimisation
Le 13 août 2025 à 08:24:04 :
python est trop lent... c'est pour apprendre les algo à l'école
J'suis pas pisseur de code par métier, je me sert juste de python au boulot et je code comme un physicien et ça marche très bien. Ici c'est pas non plus du scalping à la seconde.
Le 13 août 2025 à 11:12:57 :
Le 13 août 2025 à 08:24:04 :
python est trop lent... c'est pour apprendre les algo à l'écoleEt tu penses quoi de tradingView ?
A ma connaissance Tradingview et son Pine Script ne sert qu'à tester des stratégies, pas à implémenter un bot de trading en réel.
Si VDD on peut rendre une stratégie automatique avec pinescript via webhook