Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

EA de Roland

  • roland

    Salut tout le monde.
    Voilà je suis en train de débuter la programmation d'un gros EA pour le site :) C'est juste commencé, je sais pas du tout quand ça sera terminé car faire un EA complet ça reste un travail assez titanesque :D
    Pour les curieux, le système sera bipolaire, c'est à dire qu'il pourra choisir entre appliquer une stratégie ou une autre en fonction des conditions du marché. Donc j'ai pas encore tout décidé, mais globalement on discernera une stratégie pour un marché en Range et une autre stratégie. Pour savoir si le marché est en range ou pas, on utilisera la pente d'une droite de regression linéaire. J'ai pas trouvé sur le web cet indicateur donc je le code moi même, bien entendu je vais m'arranger pour borner cet indicateur entre -100 et 100 comme ça on pourra établir des zones précises pour savoir s'il y a tendance ou pas. Pour ceux que ça intéresse et qui connaissent quelques trucs en stats ou en math, la régression linéaire est une méthode prédictive en statistique:http://fr.wikipedia.org/wiki/R%C3%A9gression_lin%C3%A9aire

    Normalement on saura dire s'il y a tendance ou non, ensuite faut savoir quoi faire dans chaque cas. Alors pour l'instant ça reste encore vague, je pense que je dériverai l'indicateur de la pente de la régression linéaire pour obtenir un indicateur de l'accélération des cours, cela nous permettra assurément d'optimiser au moins nos sorties(et on verra peut être pour les entrées), en fait si l'accélération baisse on pourra liquider progressivement nos positions et si celle ci remonte on pourra re entrer en position(ça reste seulement une idée).

    Pour les conditions d'entrées, de sorties, de pyramidages, et de clôtures partielles je verrais ça une fois que le cadre global de la stratégie sera posé, l'important dans ce système c'est qu'il sera normalement capable d'appliquer une stratégie en phase de range et une autre stratégie en phase de tendance.

    Pour le money management, ça sera soi un système smart soi un TSSF, si vous connaissez pas allez dans le cours j'ai expliqué tout ça dedans ;)

    Voilà je vous poste une première version de base des indics de base que je pourrais employer, sur le graph une droite de regression linéaire à 60 périodes et en bas l'indicateur de la pente de la regression linéaire à 20 période, bien entendu je ne l'ai pas encore borné mais ça va pas tardé(je suis en train de réflechir en ce moment même à cela).

    Bon j'en ai finit, j'espère qu'il fonctionnera et qu'il produira de bons résultats. Si vous avez des questions ou des remarques n'hésitez pas, je tacherai de poster régulièrement mes avancements.

    roland a joint une image
    G3046HD
  • Lorka85

    Si furynick passe par la je pense que ton indicateur sera pret en quelques heures :)

    En tous cas merci je vais suivre ça avec grand interet :)
  • roland

    Bon je viens de finaliser mon premier indicateur. C'est un indicateur de la pente relative de la régression linéaire, il s'exprime en degrés et se trouve naturellement borné par les valeurs 90 et -90°.
    Concrètement, si ça intéresse quelqu'un, voilà la construction de l'indicateur en question: La droite de la régression linéaire a pour équation(comme toute droite) Y=A*x+B. Pour avoir la pente c'est pas compliqué, on dérive l'expression, cela nous donne Y'=A. Donc notre pente(coefficient directeur de la droite) c'est A.
    Or, A=Cov(x,y)/V(x), donc on calcule empiriquement la variance est la covariance grâce aux expressions des estimateurs.
    Le problème c'est que nous on veut borner notre pente, c'est pas compliqué, suffit de passer des coordonnées cartésiennes en coordonnées polaires. Et pour ça, il y a une relation sympa qui est l'angle=arctan(A). Donc du coup on peut avoir notre angle, le deuxième petit problème c'est que notre angle ici s'exprime sur le cercle trigonométrique et nous on le voudrait en degré. Pour arranger ça, suffit de faire une règle de trois et le tour est joué :D

    Y'avait un autre petit problème qui a été partiellement réglé(enfin c'est pas gênant pour l'instant), c'est la variation d'échelle des différents instruments, en effet quand je calcule le A sur le cac40 ou sur l'eur/usd j'ai une forte différence d'échelle, du genre sur le cac40 ça sera en unité voir en dizaines et sur l'eur/usd ça sera plutôt de l'ordre du 0.001... Pour arranger ça j'ai pratiqué un changement d'échelle, le problème c'est qu'il n'est pas spécialement dynamique et adaptatif, du coup je dois changer la valeur du facteur d’échelle en fonction du Timeframe...

    Alors, voilà une image de l'animal. A première vue on dirait un indicateur qui fait de la peinture, c'est surement vrai, mais il présente un retard beaucoup plus faible qu'une moyenne mobile(la regression linéaire est un outil bien plus perfectionné que la moyenne mobile).

    Maintenant la prochaine étape, c'est de créer l'indicateur du facteur d'accélération de la droite, ce n''est rien d'autre que la pente de l'indicateur que je viens de vous présenter ici. En gros le premier indicateur c'est la pente de la droite et le deuxième c'est la pente de la pente ce qui donne l'accélération :D
    roland a joint une image
    G3055AA
  • furynick

    Je vais suivre également (qui eu aurait douté) ;)
    Mais je crains que tu ne t'avances Lorka, il faut déjà commencer par les trouver les heures pour coder ;)

    Ceci dit, si un besoin se fait sentir je peux aider.
  • Lorka85

    Fury :) petit hs mais tans que je te tien en ce beau dimanche, tu peu voir mon petit soucis de logique tous simple a propos de 3 EMA sur ce topic ?
    http://www.forexagone.com/forum/t/6263-mon-premier-robot-expert-advisor-macd-cci-bbands.html?page=1#27670
    Merci!

    Roland, vraiment merci, je vais voir ça de très près ces régressions linéaires !
  • roland

    Ouais c'est déjà sympathique d'y prêter attention, faire des indicateurs c'est vraiment long et c'est vrai que vu de l’extérieur on se dit que c'est surement facile, mais c'est réellement fastidieux.
    De toute façon, cet EA n'est pas pressé, ce qui compte sur celui là, ça sera d'avoir les meilleurs résultats possible. Je veux pas faire demi EA bancale optimisé de manière purement empirique en multipliant les backtests et pour un résultat au final sur optimisé qui fera n'importe quoi une fois passé en forward test.
    C'est vraiment sympa de ta part de proposer ton aide, mais je ne peux pas te demander une telle chose, c'est vraiment monstrueusement long à faire, je suppose que tu le sais mieux que moi d'ailleurs et qu'il est souvent pénible de travailler sur les projets des autres(ça je peux te l'assurer car à une époque je proposais largement mes services gratuitement pour développer des projets d'ea et c'était pour ainsi dire passablement gonflant :D )
    Par contre si je suis amené à être bloqué dans la programmation, je posterai mes soucis sur ce topic au cas où vous pourriez avoir la réponse ;)

    Je pense que l'EA en question ne sera pas finit avant Juillet(faut dire que je prends aussi 2 semaines d'exams en juin), après c'est tellement dur de mettre une date sur un EA. Ce qui est sûr c'est que je ne manquerai pas de montrer les avancements de mon système. La prochaine étape comme je l'ai dit c'est de programmer mon indicateur d'accélération et mon coefficient de corrélation, après je backtesterai les indicateurs sous plusieurs conditions pour m'assurer de leur validité et de leur pertinence.
  • furynick

    Tout à fait d'accord avec toi, mais je pense qu'on peut être deux à travailler sur un EA puisqu'il y a au moins deux axes distincts de développement : l'analyse des signaux et la gestion des ordres.
    Si l'interface entre les deux est correctement définie les deux parties sont indépendantes.

    Mais je reste de ton avis, développer un EA est long et fastidieux et si tu as des pb n'hésite pas à les poster, on pourra certainement leur trouver des solutions.
  • ForexAutomatique

    Slt,

    Je vais poster mon avis sur ce que j' ai lu.
    Quel trader se base sur une ligne de regression linéaire pour faire du trading ? C' est un indicateur fait pour analyser le marché, sûrement pas pour anticiper les tendances. De plus, placer manuellement une droite ou un canal de regression linéaire est assez simple, mais par un EA... quasiment impossible. Les plupart des stratégies énoncées ( type "Pour savoir si le marché est en range ou pas, on utilisera la pente d'une droite de regression linéaire" ) ne fonctionneront pas, ce serait trop facile.
    Un EA complet, je le code en quelques heures si je sais précisément ce que je dois faire. Ce sont les tests qui me prennent beaucoup plus de temps.
    Dsl de donner une appréciation négative à ton projet, mais tu acceptes la critique je suppose ^^

    PS : c' est le site forexagone qui t' a commandé cet EA ?
  • furynick

    Pourquoi parles-tu d'anticiper les tendances ? la droite de régression a pour but d'analyser le marché (comme tu l'indiques) et d'adopter une stratégie différente en fonction de son interprétation !

    De plus, il existe déjà des indics basés sur des courbes de régression (iregr), si tu es programmeur tu devrais savoir qu'il n'y a quasiment rien d'impossible pour un programme et encore moins des calculs mathématiques (ce pourquoi ils existent) !

    Enfin, ce n'est forcément pas le site Forexagone qui lui a commandé cet EA puisque d'une part il n'y a pas ou peu de relation commerciale entre les membres et d'autre part Roland fait partie de la Team Forexagone tout comme Fab, Matt, Lu-K (les fondateurs), Jvalau et Yorgo94.
  • ForexAutomatique

    Parce qu' on s' en fout de savoir quel était l' état du marché 50 périodes auparavant. Ce qui est intéressant, c' est le moment T, voire, ce qui va arriver ensuite. Quand je disais impossible, c' était sous-entendu impossible de faire quelque chose d' efficace et de pertinent avec une droite de regression linéaire. Ce projet n' est ni sérieux ni viable, je le dis clairement. Continuez, vous verrez bien.
  • roland

    "De plus, placer manuellement une droite ou un canal de regression linéaire est assez simple, mais par un EA... quasiment impossible"

    Je l'ai déjà fait donc possible

    "Les plupart des stratégies énoncées ( type "Pour savoir si le marché est en range ou pas, on utilisera la pente d'une droite de regression linéaire" ) ne fonctionneront pas, ce serait trop facile."

    La régression linéaire est techniquement un outil plus complexe et plus élaboré qu'une moyenne mobile, et d'autre part je vois pas pourquoi les choses simples sont vouées à l'échec. Comment vous modélisez le comportement global du marché ? avec une moyenne mobile à 150, avec un retard monstrueux ? La droite de régression n'est pas un miracle mais elle affiche peu de retard.

    "Ce qui est intéressant, c' est le moment T, voire, ce qui va arriver ensuite"

    J'ai essayé de trader avec un pendule et un tarot de Marseille mais les résultats n'ont été que passablement moyen, je plaisante bien entendu. L'AT se base sur ce qui s'est passé, donc sur le passé, en disant ça vous ne remettez pas en question cet EA mais le fondement de l'analyse graphique. Et pour s'intéresser à ce qui va arriver ensuite il faut que ça soit arrivé pour l'étudier....

    Pour les choses du genre "c'est trop facile", j'ai eu l'occasion de programmer pour une grosse entité un expert advisor basé simplement sur un calcul de volatilité et des points pivots, évidemment ensuite le système de gestion de positions et de MM était assez complexe, mais ce qui est du système d'entrée c'était très basique et pourtant la stratégie fonctionnait très bien...

    Oui je créer cet EA à l'intention du site mais j'avais aussi dans l'idée d'en faire un cet été donc ça tombe bien. Pour ce qui est du résultat final, vous avez peut être raison, mais peut être pas et si à chaque fois on se disait "c'est trop facile, ça marchera pas" on ne ferait rien.

    J'accepte bien entendu la critique, mais la critique constructive, je retiens aucun argument fondé sur quoi que ce soit ni aucun conseil si ce n'est que d'arrêter, donc pour moi ça reste qu'un passable avis dénué d'objectivité.
  • redapple

    Du nouveau ? :)
  • savabien

    je trouve personnellement bien l'élan de Roland et de ceux qui soutienne une envie et participation tel que celle de Roland...
    et je trouve encore plus dommage de venir appuyé sur des points négatifs sans but constructif, s'il y a manière a détaillé un poitn il faut le faire ca aidera a la construction pour Roland et Fury et d'autres qui s'y colleront...

    J'encourage en tout cas ce que fais Roland. je ne suis pas programmeur, mais soutiens moralement son initiative.
  • Richmond

    Bonjour Roland,

    Je trouve ton idée très intéressante. Comme toi je me suis toujours demandé pourquoi au bout d'un moment un EA crashait le compte.
    Et je me suis rendu compte qu'il y a plus ou moins 2 sortes d'EA. Ceux qui se plaisent à merveille en Range et ceux qui au contraire se plaisent quand une tendance apparait.
    J'avais eu à l'époque l'idée et seulement l'idée vu que je n'y connais rien en programmation de pouvoir réunir un EA qui se plait en Range avec un EA qui se plait en Tendance.
    La difficulté réel de ce projet est de déterminer à quel moment on doit couper les pertes d'un EA (soit en range ou tendance) pour éviter l'enfoncement et ainsi prendre les bénéfices de l'autre EA.
    Je suivrai ce fil de discussion avec attention.
    Merci Roland
  • xanklo — en réponse à roland dans son message #27992

    Bonjour,

    Je viens sur ce site que j'avais délaissé depuis longtemps.... En parcourant ce forum je tombe sur sur votre message qui me paraît intéressant. Où en êtes-vous de ce sujet ? Avez-vous finalisé cet EA ? Si vous avez une minute, merci de me répondre.
    A bientôt j'espère.
    xanklo