Et tu as raison, je m'aperçois que ce n'est pas la programmation qui est longue mais bien plus la réflexion autour des set-up et biais statistiques.
Oui effectivement profil IT équivalent . Moi c'est plutôt dans l'odre suivant : Assembleur, Pascal, Cobol, Pacbase, C, Fortran, UNIX shells, C++/MFC, C#. Ce qui me manque c'est maintenant les REST, JSON, ANGULAR et autres techno plus web. Pour REST, j'ai bien dû m'y mettre pour l'Api IG mais c'est pas très compliqué.
Et tu as raison, je m'aperçois que ce n'est pas la programmation qui est longue mais bien plus la réflexion autour des set-up et biais statistiques.
Et tu as raison, je m'aperçois que ce n'est pas la programmation qui est longue mais bien plus la réflexion autour des set-up et biais statistiques.
Suivi rapide de cette semaine :
[PSYCHO]
Règles respectées cette semaine à part une fois où je suis passé de 14 à 0 points. J'ai arrêté de trader ce jour là.
D'ailleurs, pour m'obliger à suivre mon processus de trade, je me suis fixé la règle suivante : si je fais un écart par rapport au respect de mon set-up et règles de sortie, je m'interdis de trader le reste de la journée
( bon en écrivant je m'aperçois que je me fixe des règles pour suivre mes règles, je me demande si je ne suis pas un peu tordu. Mais si ça peut me permettre de me maîtriser)
[AUTO]
Je pensais finaliser la programmation de mon modèle du début jusqu'à la fin mais suite à discussion sur la base de données de ticks suffisantes avec -, j'ai repriorisé cette action. J'ai donc transformé les ticks du 4 au 20 janvier qui étaient sur le serveur andlil et que j'avais au préalable téléchargé en un fichier à mon format.
Résultat : 1,5 millions de ticks ce qui est déjà conséquent.
J'ai chargé tout cela dans mon programme. Au surprise, il a pu tout charger grâce à mes réallocations dynamiques de tableau mais a planté au moment d'afficher le graphique par défaut par un out of memory (bon mon PC est un peu limité et je suis en 32 bits )
Bref, je vais revoir l'affichage des graphiques en limitant le nombre de ticks affichés, en attendant je les ai désactivés, cela me sert uniquement à vérifier les trades de toute façon.
Cela donne ceci :
Donc 3126 trades dans toutes les UTs. Sans surprise, l'equity curve n'est pas significative car mon set-up n'est finalisé que pour générer des alertes sans prendre en compte tous les éléments du set-up et pour les sorties, rien n'est fait.
Mais j'ai maintenant la base d'historique pour vérifier les conséquences d'un changement dans la programmation de mon modèle.
[PSYCHO]
Règles respectées cette semaine à part une fois où je suis passé de 14 à 0 points. J'ai arrêté de trader ce jour là.
D'ailleurs, pour m'obliger à suivre mon processus de trade, je me suis fixé la règle suivante : si je fais un écart par rapport au respect de mon set-up et règles de sortie, je m'interdis de trader le reste de la journée
( bon en écrivant je m'aperçois que je me fixe des règles pour suivre mes règles, je me demande si je ne suis pas un peu tordu. Mais si ça peut me permettre de me maîtriser)
Spoiler:
Je pensais finaliser la programmation de mon modèle du début jusqu'à la fin mais suite à discussion sur la base de données de ticks suffisantes avec -, j'ai repriorisé cette action. J'ai donc transformé les ticks du 4 au 20 janvier qui étaient sur le serveur andlil et que j'avais au préalable téléchargé en un fichier à mon format.
Résultat : 1,5 millions de ticks ce qui est déjà conséquent.
J'ai chargé tout cela dans mon programme. Au surprise, il a pu tout charger grâce à mes réallocations dynamiques de tableau mais a planté au moment d'afficher le graphique par défaut par un out of memory (bon mon PC est un peu limité et je suis en 32 bits )
Bref, je vais revoir l'affichage des graphiques en limitant le nombre de ticks affichés, en attendant je les ai désactivés, cela me sert uniquement à vérifier les trades de toute façon.
Cela donne ceci :
Spoiler:
Mais j'ai maintenant la base d'historique pour vérifier les conséquences d'un changement dans la programmation de mon modèle.
[PSYCHO]
Après un break pour quelques petits ennuis de santé, je m'y remets cette semaine.
Bilan psycho pas extraordinaire mais pas catastrophique non plus. Mercredi, je n'ai pu m'empêcher de trader sans suivre mes règles. Cela donne néanmoins une semaine positive.
Après un break pour quelques petits ennuis de santé, je m'y remets cette semaine.
Bilan psycho pas extraordinaire mais pas catastrophique non plus. Mercredi, je n'ai pu m'empêcher de trader sans suivre mes règles. Cela donne néanmoins une semaine positive.
[AUTO]
Plusieurs étapes franchies dans ce domaine :
- Mes graphiques plantaient lorsque le nombre de chandeliers était trop élevé (> 100000). Je les affiche donc maintenant que sur demande (double click sur un des signaux ou bien sur UT donnée dont je sais qu'elle a moins de 100000 chandeliers)
- En mode Live, graphiques au fil de l'eau désactivés également. Mais grâce aux alertes avec signal sonore, je peux afficher le graphique correspondant au moment de l'alerte
- J'ai affiné mon set-up d'entrée (prise en compte ADX/DI) et mis une sortie de base (divergence MACD). Mon equity curve commence à prendre bonne forme sur l'historique de 1.5 millions de ticks. Je n'aime pas trop ce plateau à partir du 500ème trade mais après avoir regardé les trades problématiques, ceux-ci sont dûs à des très mauvaises sorties (normal, peut attendre un moment la divergence. Il faut que je développe cette partie)
- Je peux maintenant vérifier rapidement chaque modification du code et l'effet immédiat sur l'échantillon historique complet. 1500 trades m'apparaît comme suffisant pour valider ou invalider un choix.
Prochaine étape : avancer sur la programmation de mes sorties
[PSYCHO]
Semaine satisfaisante d'un point de vue discrétionnaire. Je n'ai pas pété les plombs une seule fois. Par contre, je n'ai suivi mon modèle à la lettre car je garde une part de feeling dans la sortie.
Mon mode de trading est donc maintenant le suivant :
- Mise en route de mon programme en live (DJ le soir) sur mon compte demo
- Démarrage plate-forme IG avec graphiques PRT
- Sur alerte sonore de mon programme, je vérifie sur les graphiques PRT que mon set-up est bien là (bon quand c'est un set-up en UT 2 ou 3 ticks, il faut faire vite )
- Je prends position sur IG et je suis mes sorties manuellement
L'analyse de mes trades de cette semaine donne un % de gain de 70% pour un ratio win/loss de 0.87 environ. Je suis plutôt théoriquement sur une ratio de 2 à 3 avec un % de 50% à 55% (théorique car validé par programmation PRT sur un échantillon de 200 trades seulement). Ici, ce sont bien mes sorties trop anticipées qui limitent ce ratio.
Plusieurs étapes franchies dans ce domaine :
- Mes graphiques plantaient lorsque le nombre de chandeliers était trop élevé (> 100000). Je les affiche donc maintenant que sur demande (double click sur un des signaux ou bien sur UT donnée dont je sais qu'elle a moins de 100000 chandeliers)
- En mode Live, graphiques au fil de l'eau désactivés également. Mais grâce aux alertes avec signal sonore, je peux afficher le graphique correspondant au moment de l'alerte
- J'ai affiné mon set-up d'entrée (prise en compte ADX/DI) et mis une sortie de base (divergence MACD). Mon equity curve commence à prendre bonne forme sur l'historique de 1.5 millions de ticks. Je n'aime pas trop ce plateau à partir du 500ème trade mais après avoir regardé les trades problématiques, ceux-ci sont dûs à des très mauvaises sorties (normal, peut attendre un moment la divergence. Il faut que je développe cette partie)
- Je peux maintenant vérifier rapidement chaque modification du code et l'effet immédiat sur l'échantillon historique complet. 1500 trades m'apparaît comme suffisant pour valider ou invalider un choix.
Prochaine étape : avancer sur la programmation de mes sorties
[PSYCHO]
Semaine satisfaisante d'un point de vue discrétionnaire. Je n'ai pas pété les plombs une seule fois. Par contre, je n'ai suivi mon modèle à la lettre car je garde une part de feeling dans la sortie.
Mon mode de trading est donc maintenant le suivant :
- Mise en route de mon programme en live (DJ le soir) sur mon compte demo
- Démarrage plate-forme IG avec graphiques PRT
- Sur alerte sonore de mon programme, je vérifie sur les graphiques PRT que mon set-up est bien là (bon quand c'est un set-up en UT 2 ou 3 ticks, il faut faire vite )
- Je prends position sur IG et je suis mes sorties manuellement
L'analyse de mes trades de cette semaine donne un % de gain de 70% pour un ratio win/loss de 0.87 environ. Je suis plutôt théoriquement sur une ratio de 2 à 3 avec un % de 50% à 55% (théorique car validé par programmation PRT sur un échantillon de 200 trades seulement). Ici, ce sont bien mes sorties trop anticipées qui limitent ce ratio.
[PSYCHO]
Semaine mitigée voire mauvaise.
J'ai commencé lundi par faire n'importe quoi, laissant tomber mes règles de suivi de signaux, déplaçant certains stops, bref du nawak. Le pire c'est qu'en terme de points, je m'en suis sorti grâce à 1 trade très positif. Le reste de la semaine a été réglo mais ne m'a pas permis d'engranger suffisamment de points
Semaine mitigée voire mauvaise.
J'ai commencé lundi par faire n'importe quoi, laissant tomber mes règles de suivi de signaux, déplaçant certains stops, bref du nawak. Le pire c'est qu'en terme de points, je m'en suis sorti grâce à 1 trade très positif. Le reste de la semaine a été réglo mais ne m'a pas permis d'engranger suffisamment de points
[AUTO]
Nouvelle version de l'algo. L'equity curve commence à prendre une bonne forme
Le nombre de trades a diminué mais reste conséquent. Il faut que je comprenne pourquoi j'ai cette période flat entre 400 et 1000
Le % et le ratio restent faibles par rapport à ce que j'attends mais c'est probablement parce qu'il me manque la programmation de certains indicateurs de sortie.
Il va falloir que je m'attelle également à la mesure de la qualité du modèle avec la problématique d'un ratio avec des UT multiples.
En effet, le ratio de 2.06 correspond à la division du gain moyen par la perte moyenne. Du coup un trade avec une UT élevée a un poids trop fort par rapport à une UT plus faible. Je vois 2 solutions :
- par du money management : en adaptant la taille de position en fonction de l'ATR par exemple. Cela correspond à ma vue long terme. Insérer le money management dans l'algo n'était pas ma priorité
- par le calcul du ratio : en pondérant le résultat en nombre de points par l'ATR également
A suivre ...
Nouvelle version de l'algo. L'equity curve commence à prendre une bonne forme
Le nombre de trades a diminué mais reste conséquent. Il faut que je comprenne pourquoi j'ai cette période flat entre 400 et 1000
Le % et le ratio restent faibles par rapport à ce que j'attends mais c'est probablement parce qu'il me manque la programmation de certains indicateurs de sortie.
Il va falloir que je m'attelle également à la mesure de la qualité du modèle avec la problématique d'un ratio avec des UT multiples.
En effet, le ratio de 2.06 correspond à la division du gain moyen par la perte moyenne. Du coup un trade avec une UT élevée a un poids trop fort par rapport à une UT plus faible. Je vois 2 solutions :
- par du money management : en adaptant la taille de position en fonction de l'ATR par exemple. Cela correspond à ma vue long terme. Insérer le money management dans l'algo n'était pas ma priorité
- par le calcul du ratio : en pondérant le résultat en nombre de points par l'ATR également
A suivre ...
[AUTO]
Plutôt des réflexions ces 2 dernières semaines. Je les consigne ici.
1. Comme indiqué précédemment, le nombre de points sur l'équity curve n'est pas juste car il somme des points sur des trades à UT différente. Mes UT paramétrées sont :
{ 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 32, 36, 40, 45 }
Un trade en 45 Ticks aura un poids beaucoup plus fort en terme de points par rapport à un trade en 2T.
J'ai donc divisé les points par l'ATR moyen du trade. Cela donne ça : Ce qui est bon signe, c'est que cela lisse la courbe et diminue cet énorme palier entre 500 et 1500.
2. J'ai effectué un test de rajouter un objectif de trade en nombre d'ATR. Actuellement, je n'ai pas d'objectif mais plutôt des indicateurs de sortie.
Le résultat est plutôt décevant. En fonction du nombre d'ATR comme objectif, cela augmente le % de réussite mais diminue le ratio gain/perte moyen car je perds le gain des très gros trades. Au final, cette règle n'a que peu d'effet. Ce que je pourrai faire plus tard, c'est lorsque l'objectif est atteint, mettre le stop à ce niveau d'objectif ce qui permettra de profiter des gros mouvements. Bon cette partie de money management n'est pas ma priorité pour l'instant.
3. Je me suis aperçu que le RSI calculé par ma librairie TA-LIB avait 2 problèmes :
- Comme il est fonction des données précédentes encore avant la durée propre du RSI, il y a un paramètre SetUnstablePeriod pour rajouter de la stabilité au calcul lors du calcul des dernières valeurs du RSI. Mais je trouve que ce paramètre change pas mal les résultats. Il me faut revenir 100 ticks en arrière pour avoir un calcul fiable et encore. Je n'ai pas encore la solution et c'est lié au 2ème problème.
- Il ne donne pas les mêmes résultats que celui de PRT : trop aplati. J'ai trouvé la solution dans un des posts andlil : http://www.andlil.com/forum/formule-du- ... 83-20.html
C'est donc dû au fait que PRT utilise une moyenne mobile de Wilder (logique pour le RSI) mais ce ne semble pas être le cas pour le RSI de TA-LIB
Merci -, je vais me servir de ton code PRT pour comparer les RSI. Mais la solution sera donc de ré-écrire mon RSI comme je l'entends. Dommage
4. Hier, j'ai tradé pour la première fois sans les graphiques PRT. J'ai le ticket IG d'un côté et mon application de l'autre. C'est probablement l'avenir pour moi car je ne serais pas tenté de prendre des trades nawak qui ne respectent pas mes règles, choses que j'ai encore fait cette semaine ce qui a évidemment entrainé des pertes.
Il faut maintenant que lorsqu'une alerte se présente, je puisse passer automatiquement en mode mise à jour du graphique en temps réel sur l'UT et l'abscisse de l'alerte (par un double click sur le signal). L'étape d'après sera de me servir de la L3 ou mieux d'intégrer un ticket dans mon appli pour une réactivité maximummale aux ticks
5. Amélioration de mon modèle : en observant quelques trades pris au hasard, j'ai identifié 11 pistes d'améliorations. Je vais maintenant coder ces pistes une par une et vérifier immédiatement l'effet sur l'equity curve
Plutôt des réflexions ces 2 dernières semaines. Je les consigne ici.
1. Comme indiqué précédemment, le nombre de points sur l'équity curve n'est pas juste car il somme des points sur des trades à UT différente. Mes UT paramétrées sont :
{ 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 18, 20, 22, 25, 28, 32, 36, 40, 45 }
Un trade en 45 Ticks aura un poids beaucoup plus fort en terme de points par rapport à un trade en 2T.
J'ai donc divisé les points par l'ATR moyen du trade. Cela donne ça : Ce qui est bon signe, c'est que cela lisse la courbe et diminue cet énorme palier entre 500 et 1500.
2. J'ai effectué un test de rajouter un objectif de trade en nombre d'ATR. Actuellement, je n'ai pas d'objectif mais plutôt des indicateurs de sortie.
Le résultat est plutôt décevant. En fonction du nombre d'ATR comme objectif, cela augmente le % de réussite mais diminue le ratio gain/perte moyen car je perds le gain des très gros trades. Au final, cette règle n'a que peu d'effet. Ce que je pourrai faire plus tard, c'est lorsque l'objectif est atteint, mettre le stop à ce niveau d'objectif ce qui permettra de profiter des gros mouvements. Bon cette partie de money management n'est pas ma priorité pour l'instant.
3. Je me suis aperçu que le RSI calculé par ma librairie TA-LIB avait 2 problèmes :
- Comme il est fonction des données précédentes encore avant la durée propre du RSI, il y a un paramètre SetUnstablePeriod pour rajouter de la stabilité au calcul lors du calcul des dernières valeurs du RSI. Mais je trouve que ce paramètre change pas mal les résultats. Il me faut revenir 100 ticks en arrière pour avoir un calcul fiable et encore. Je n'ai pas encore la solution et c'est lié au 2ème problème.
- Il ne donne pas les mêmes résultats que celui de PRT : trop aplati. J'ai trouvé la solution dans un des posts andlil : http://www.andlil.com/forum/formule-du- ... 83-20.html
C'est donc dû au fait que PRT utilise une moyenne mobile de Wilder (logique pour le RSI) mais ce ne semble pas être le cas pour le RSI de TA-LIB
Merci -, je vais me servir de ton code PRT pour comparer les RSI. Mais la solution sera donc de ré-écrire mon RSI comme je l'entends. Dommage
4. Hier, j'ai tradé pour la première fois sans les graphiques PRT. J'ai le ticket IG d'un côté et mon application de l'autre. C'est probablement l'avenir pour moi car je ne serais pas tenté de prendre des trades nawak qui ne respectent pas mes règles, choses que j'ai encore fait cette semaine ce qui a évidemment entrainé des pertes.
Il faut maintenant que lorsqu'une alerte se présente, je puisse passer automatiquement en mode mise à jour du graphique en temps réel sur l'UT et l'abscisse de l'alerte (par un double click sur le signal). L'étape d'après sera de me servir de la L3 ou mieux d'intégrer un ticket dans mon appli pour une réactivité maximummale aux ticks
5. Amélioration de mon modèle : en observant quelques trades pris au hasard, j'ai identifié 11 pistes d'améliorations. Je vais maintenant coder ces pistes une par une et vérifier immédiatement l'effet sur l'equity curve
Hello bobbyO,
J'ai lu ton journal avec beaucoup de plaisir merci pour tout ton partage. Je fais du dev C# dans ma vie pro, et après quelques essais sur ProOrder, je souhaite me coder mon propre automate pour fiabiliser le backtest.
Tu parles de TA-LIB, à part le rsi les autres indicateurs sont corrects ou pas ?
Sinon as-tu quelques conseils avant que je me lance ?
Je pense que je dois d'abord m'atteler à savoir faire un backtest. La connexion vers ig on verra plus tard.
Merci !
J'ai lu ton journal avec beaucoup de plaisir merci pour tout ton partage. Je fais du dev C# dans ma vie pro, et après quelques essais sur ProOrder, je souhaite me coder mon propre automate pour fiabiliser le backtest.
Tu parles de TA-LIB, à part le rsi les autres indicateurs sont corrects ou pas ?
Sinon as-tu quelques conseils avant que je me lance ?
Je pense que je dois d'abord m'atteler à savoir faire un backtest. La connexion vers ig on verra plus tard.
Merci !
Bonjour Xavier,
Je comprends effectivement ta volonté d'aller plus loin que Pro-Order qui a ses limites.
Maintenant que j'ai un programme .NET qui tourne, je peux programmer une stratégie en peu de temps et surtout la tester sur un historique conséquent. En 10 mn, j'ai le backtest d'un mois de ticks sur 20 ut différentes. Avant, il fallait que je teste sur chaque ut avec un historique faible, c'était manuel et ça me prenait un temps fou du coup.
A propos de TA-LIB, je n'ai noté des problèmes que sur le rsi parce que la moyenne mobile des hausses et baisses utilisée dans le rsi est une MM simple et non de Wilder. Je viens de terminer la programmation du rsi qui correspond bien à celui de prt du coup.
Les autres indicateurs, aucun pb. Ceux que j'ai utilisé : moyennes mobiles, macd, ADX, atr
Pour te lancer, je dirais dans l'ordre :
1. Te définir un algo de gestion des status du trade (cf mon message page 2 du 2 mars)
2. Te constituer un historique (en ticks ? minutes ? secondes ?) que tu chargeras dans ton programme. Je peux te fournir des fichiers historiques si tu veux.
3. Te programmer une stratégie de base simple (tu pourras la faire évoluer plus tard)
4. Facultatif mais j'ai commencé assez vite par un affichage graphique des cours + indicateurs + trades dans mon outil pour pouvoir valider le bon déroulement des traitements, parce valider par visualisation des tableaux de valeurs bonjour . Un autre moyen est d'exporter les données résultats dans un fichier que tu exploites dans un logiciel pour ça (Excel ou autre). Je suis parti sur mes propres graphiques car je voulais également du "walk forward" sur les cours en live de l'Api IG
Voilà c'est déjà pas mal
N'hésites pas si tu as besoin d'aide
Je comprends effectivement ta volonté d'aller plus loin que Pro-Order qui a ses limites.
Maintenant que j'ai un programme .NET qui tourne, je peux programmer une stratégie en peu de temps et surtout la tester sur un historique conséquent. En 10 mn, j'ai le backtest d'un mois de ticks sur 20 ut différentes. Avant, il fallait que je teste sur chaque ut avec un historique faible, c'était manuel et ça me prenait un temps fou du coup.
A propos de TA-LIB, je n'ai noté des problèmes que sur le rsi parce que la moyenne mobile des hausses et baisses utilisée dans le rsi est une MM simple et non de Wilder. Je viens de terminer la programmation du rsi qui correspond bien à celui de prt du coup.
Les autres indicateurs, aucun pb. Ceux que j'ai utilisé : moyennes mobiles, macd, ADX, atr
Pour te lancer, je dirais dans l'ordre :
1. Te définir un algo de gestion des status du trade (cf mon message page 2 du 2 mars)
2. Te constituer un historique (en ticks ? minutes ? secondes ?) que tu chargeras dans ton programme. Je peux te fournir des fichiers historiques si tu veux.
3. Te programmer une stratégie de base simple (tu pourras la faire évoluer plus tard)
4. Facultatif mais j'ai commencé assez vite par un affichage graphique des cours + indicateurs + trades dans mon outil pour pouvoir valider le bon déroulement des traitements, parce valider par visualisation des tableaux de valeurs bonjour . Un autre moyen est d'exporter les données résultats dans un fichier que tu exploites dans un logiciel pour ça (Excel ou autre). Je suis parti sur mes propres graphiques car je voulais également du "walk forward" sur les cours en live de l'Api IG
Voilà c'est déjà pas mal
N'hésites pas si tu as besoin d'aide
Merci beaucoup pour ta réponse détaillée !
J'ai commencé à réfléchir à l'archi, et ça va démarrer le code ce week end...
Je te tiendrais au courant de mes avancées
J'ai commencé à réfléchir à l'archi, et ça va démarrer le code ce week end...
Je te tiendrais au courant de mes avancées
[PSYCHO]
Suivi du trading discrétionnaire : Très satisfait de mon mois de Juin. Certains trouveront que 60 points sur un mois c'est minable, mais tenir globalement mes règles de trading pendant autant de temps, c'est pour moi un succès. De plus, tenir ses règles et s'apercevoir qu'on parvient à être positif, c'est un plus de confiance.
Bref continuons le combat.
[AUTO]
De ce côté, pas grand chose de neuf. Je teste des optimisations que je entrevoyais depuis un moment mais sans grand succès. Ma piste principale est maintenant d'éliminer les trades dont le set-up n'est pas correct. Techniquement, ce n'est pas toujours facile.
Suivi du trading discrétionnaire : Très satisfait de mon mois de Juin. Certains trouveront que 60 points sur un mois c'est minable, mais tenir globalement mes règles de trading pendant autant de temps, c'est pour moi un succès. De plus, tenir ses règles et s'apercevoir qu'on parvient à être positif, c'est un plus de confiance.
Bref continuons le combat.
[AUTO]
De ce côté, pas grand chose de neuf. Je teste des optimisations que je entrevoyais depuis un moment mais sans grand succès. Ma piste principale est maintenant d'éliminer les trades dont le set-up n'est pas correct. Techniquement, ce n'est pas toujours facile.
On est pas là pour se comparer. Un mois vert est un mois vert. 10 points ou 1000 points
Bravo
Bravo
Sujets similaires
cours médecine et psycho en libre accés
Fichier(s) joint(s) par noko » 11 oct. 2018 23:22 (5 Réponses)
Fichier(s) joint(s) par noko » 11 oct. 2018 23:22 (5 Réponses)
Demande de conseils pour contourner des biais psycho
Fichier(s) joint(s) par David » 26 nov. 2020 11:18 (4 Réponses)
Fichier(s) joint(s) par David » 26 nov. 2020 11:18 (4 Réponses)