Screener Détection Figure Tasse et Anse

Viewing 15 posts - 1 through 15 (of 67 total)
  • Author
    Posts
  • #73297 quote
    Meta Signals Pro
    Participant
    Veteran

    Bonjour à Tous,

    Je cherche en vain un screener qui permette de repérer cette figure chartiste : Tasse et Anse aka Cup and Handle ;

    Quelqu’un aurait-il une solution ?

    Cela pourrait-il intéresser Nicolas à développer ?

    J’ai trouvé ces ressources

    Bien à vous,

    Christophe

    ———————————————————-

    https://www.quantopian.com/posts/anyone-know-how-to-code-for-cup-and-handle-pattern

    a = 10% // fluctuating toleration
    ß = 33% //cup depth criteria ? = 10% //RH,LH d = 15% //handle depth
    obsPoint = t, high = t // t > 26, suggest 52 weeks or longer
    //start from time t, trace back to find Righ High Point While (a[t-1] >= a[t] || a[t-1] < a[t]&a[t-1]>=(1- a )*high
    { If(a[t-1]>=a[t], then high=t-1; t–; }
    Right_High_Point = t; //found Right High
    If( |a[Right_High]-a[obsPoint] | > ? * a[Right_High])
    Return false; //rule 3
    //start from Right High, trace back to find Dip Point low = t
    While (a[t-1] <= a[t] || a[t-1] > a[t]&a[t-1]<=(1+ a )*low
    { If(a[t-1]<=a[t], then low=t-1; t–; }
    Dip_Point = t; //found Dip Point

    If(Right_High-Dip_point < 2 || Right_High-Dip_point > 8
    Return false;
    //shakeout handle is too long or too short (rule 5) If(a[Right_High]-a[Dip_point]> ß * a[Right_High])
    Return false; //because too dip (rule 2)
    //start from Dip, trace back to find Left High Point While (a[t-1] >= a[t] || a[t-1] < a[t]&a[t-1]>=(1- a )*high
    { If(a[t-1]>=a[t], then high=t-1; t–; }
    Left_High = t; //found Left High
    If(Right_High-Left_High <12&&Right_High-Left_High >26)
    Return false; //because cup is too narrow or too wide (rule 4)
    If(|a[Right_High]-a[Left_High]|> d*a[Right_High])
    Return false; //rule 1

    ——————————————————————-

    #74103 quote
    roberma
    Participant
    Junior

    Haiku labs avait une dll il y a quelques années, mais ils sont injoignables désormais.

    Les codes que l’on trouve sur le site, et sur le net,  sont issu de l’approche de Giorgios Siligardos, et de Rick Martinelli & Barry Hyman.

    Plusieurs articles différents sont consacrés au sujet, mais à titre de contrainte, la programmation d’un screener pour détecter la figure complète envisage un nombre de combinaisons par actif de l’ordre d’1 à 2 millions en associant les paramètres de taille des parties de la figure (intervalles définis par les points rouges de la figure plus haut).

    Une compilation de codes figure en : http://traders.com/documentation/feedbk_docs/2011/04/TradersTips.html.

    J’ai déjà passé quelques heures à tenter une programmation sur PRT, mais je n’avance guère, aussi par manque de temps.

    Meta Signals Pro thanked this post
    #74173 quote
    roberma
    Participant
    Junior

    J’oubliais https://www.sta-uk.org/download/1400%20Giorgos%20Siligardos.pdf pour le résumé de l’article de G.Siligardos.

    Meta Signals Pro thanked this post
    #74302 quote
    Meta Signals Pro
    Participant
    Veteran

    Un grand merci Roberma,

    J’ai le même problème de temps et d’expertise !

    => Nicolas pourrait-il nous aider ?

    => savez-vous comment le solliciter directement dans ce post ?

    #74305 quote
    Nicolas
    Keymaster
    Master

    Je suis en train de regarder ce que je peux faire à partir du code Amibroker, c’est le seul qui n’utilise ni les fonctions, ni les tableaux de données .. Il utilise cependant des instructions propres à Amibroker que je dois recréer “ValueWhen” ..

    Meta Signals Pro thanked this post
    #74317 quote
    Nicolas
    Keymaster
    Master

    Vous trouverez ci-dessous le code du screener adaptée pour la détection des figures dîtes de “tasse avec anse”. Les résultats semblent corrects. Je suis encore en train de débugger l’indicateur pour tracer la figure (à venir …).

    Il n’y a qu’un seul paramètre: “parameter”, celui-ci est un facteur multiplicateur pour trouver le prix qui débutera la figure à Close*parameter. Donc plus il est élevé, plus la figure sera grande et donc probante (sous réserve). Par défaut, il est réglé à 1.5, soit 150% du prix actuel.

    //PRC_CupFormations (beta) | screener
    //25.06.2018
    //Nicolas @ www.prorealcode.com
    //Sharing ProRealTime knowledge
    //adapted from MetaStock code version
    
    Parameter = 1.5//Param( "parameter", 1.5, 1, 10, 0.1 )
    C = close
    
    FilC = ( log( C ) )
    
    eps = 0.0000000001
    // basic Definitions
    for i = 1 to barindex do
    if c[i]>c*parameter then
    BarsSince=barindex-barindex[i]
    break
    endif
    next
    semicupperiod = Max( BarsSince, 1 ) + 1
    
    Ptop = highest[Semicupperiod](FilC)
    Pbot = lowest[Semicupperiod](FilC)
    boxheight = abs( Ptop - Pbot ) / 5
    boxlength = Max( round( semicupperiod / 5 ), 1 )
    
    // Grid Nodes
    bar = max(1,barindex)
    b0 = bar - semicupperiod + 1
    b5 = bar
    b1 = Min( b0 + boxlength, b5 )
    b2 = Min( b1 + boxlength, b5 )
    b3 = Min( b2 + boxlength, b5 )
    b4 = Min( b3 + boxlength, b5 )
    L2 = Pbot + 2 * boxheight
    L3 = Pbot + 3 * boxheight
    
    // Directional Strength
    Diff = FilC - FilC[1]
    UpSum2 = Summation[2*boxlength]( Max( Diff, 0 ) )
    DnSum2 = Summation[2*boxlength]( Max( -Diff, 0 ) )
    DSX1 = abs( UpSum2 - DnSum2 ) / ( eps + UpSum2 + DnSum2 ) * 100
    UpSum3 = Summation[3*boxlength]( Max( Diff, 0 ) )
    DnSum3 = Summation[3*boxlength]( Max( -Diff, 0 ) )
    DSX2 = abs( UpSum3 - DnSum3 ) / ( eps + UpSum3 + DnSum3 ) * 100
    
    // Coditions
    if(bar>b2) then
    test1=summation[bar-b2](FilC>L3)=0
    endif
    if(bar>b4) then
    test2=summation[bar-b4](FilC>L2)=0
    endif
    isSemicup = ( semicupperiod >= 20 ) AND ( DSX1[ b5 - b2] > 25 ) AND ( DSX2 < 25 ) AND test1 and test2
    
    LIS = isSemicup
    
    screener[LIS]

     

    Faîtes moi savoir si cela vous semble correct. Merci.

    cup-formations-screener.png cup-formations-screener.png
    #74329 quote
    sophia_etoille83
    Participant
    Average

    Je suivais ce post (car il m’interressait vivement).

    Je viens de terminer une année de swing/investissement le long terme uniquement sur les actions. Et nous traidons uniquement les tasses et anses. J’ai testé votre code mais je ne reconnais pas du tout  la figure. Le pivot doit être plus ou moins horizontal (avec une hausse au préalable) et sur les résultats j’ai des lignes obliques descendantes et sans tendance.

    Je l’ai testé sur les actions NASDAQ en daily et hebdo..

    #74330 quote
    Nicolas
    Keymaster
    Master

    Le code ci-dessus est une adaption pour PRT de la détection de “demi cup”, tel que définit dans le lien donné par @roberma

    J’ai testé votre code mais je ne reconnais pas du tout  la figure.

    D’après l’auteur, il est question de pré détection d’une probable figure (demi tasse), peut-être est-ce la raison ?

    demi-cup-screener.png demi-cup-screener.png
    #74332 quote
    sophia_etoille83
    Participant
    Average

     

    Mais je ne reconnais pas un petit prémice… 90% des actions ressorties sont en chute libre et opèrent à un petit rebond. Est ce petit rebond qu’il appelle pré détection … Si c’est le cas, je n’ai pas du tout la même vision de la tasse et anse…

    En tout cas, ces actions ne sont pas du tout tradables…

    Même si c’est une pré déctection, la anse doit être en formation et je ne la trouve null part.

    #74334 quote
    roberma
    Participant
    Junior

    Bonjour ou bonsoir, selon.

    Superbe effort de Nicolas, que je remercie au passage.

    S’agissant de la ‘tasse’ avec ou sans hanse comme l’écrivait Giorgios Siligardos, ce dernier avait préconisé une approche de détection résumée dans un article payant (3$95…) uniquement disponible sur Traders.com, 026SILI.pdf. J’ai mentionné plus haut le lien vers une résumé (pdf de ppt) de son approche (‘matrice’).

    En ce qui concerne le code transposé, il s’agit d’une autre approche du même auteur, mais avec l’idée d’anticiper la formation de la tasse.

    Pour info, il est toujours possible de downloader le fichier Excel qui traduit cette approche également (fichier ICFE.xls), qui est l’un des codes auxquels je faisais référence plus haut. J’avoue cependant qu’il est assez rébarbatif de tenter de comprendre comment s’articule cette approche ! J’ai jeté l’éponge…

    Perso, j’avais essayé de reprogrammer la dll du Haiku labs, en VB, pour pouvoir la compiler, mais comme indiqué plus haut j’ai également abandonné par manque de temps.

    Je crois que ce qui correspond le mieux à votre vision, est l’approche de Rick Martinelli & Barry Hyman. On trouve sur le net quelques traces, différant par quelques nuances mathématiques, voire omissions suite à copies, mais qui procèdent différemment, approche que j’avais évoquée en notant le nombre élevé de tests à effectuer selon le nombre élevé de  combinaisons possibles des paramètres (d’où l’idée de compiler une fonction / dll).

    Pour les soirées d’hiver, http://www.haikulabs.com/mh.htm, et http://www.haikulabs.com/mh2.htm, et un peu de ‘googling’ vous donnerons de quoi nous fournir une excellente synthèse.

    Merci déjà pour cette confrontation d’idée et les contributions respectives.

    Maurice

    Meta Signals Pro thanked this post
    #74362 quote
    Nicolas
    Keymaster
    Master

    Les androïdes rêvent-ils de moutons électriques ? 😉

    Merci pour le document de Giorgos Siligardos, il est synthétique et vulgarise vraiment comment procéder pour la détection de figures chartistes. Une figure de tasse avec anse n’a pas de coordonnées précises (sauf erreur de ma part), comme pour une figure harmonique et ses retracements en pourcentage par exemple, donc chacun verra midi à sa porte quand à sa détection ou non dans le bruit du marché.. C’est souvent le cas pour la détection de figure purement visuelle..

    [attachment file=”tasse avec anse 1.png”]
    [attachment file=”tasse avec anse 2.png”]
    [attachment file=”tasse avec anse 3.png”]

    En s’inspirant de ces principes et sans aller dans une programmation trop “lourde” avec trop de boucles (puisque pas de arrays), on pourrait peut être arriver à en sortir quelque-chose.

    1400-Giorgos-Siligardos.pdf tasse-avec-anse-1.png tasse-avec-anse-1.png tasse-avec-anse-2.png tasse-avec-anse-2.png tasse-avec-anse-3.png tasse-avec-anse-3.png
    #74387 quote
    Meta Signals Pro
    Participant
    Veteran

    Un grand merci Nicolas pour ce code qui reste intéressant pour une pré-détection pour une stratégie de Recovery ;

    Mais je crois aussi que nous avons aussi besoin d’un code qui détecte toute la figure Tasse et Anse car c’est dans la formation de cette figure que les chances d’explosion du cours deviennent significatives ; (suis preneur de stats pour étayer ce propos mais cela correspond à un sentiment de marché connu) ;

    Sans pouvoir directement vous aider sur le code, cette ressource donnée dans mon post initial semble donner les étapes de cette recherche ; elle est inexploitable ?

    https://www.haikulabs.com/CwH_SearchAlg.htm

    [attachment file=74388]

    Merci de votre aide

    Image1.png Image1.png
    #74390 quote
    Meta Signals Pro
    Participant
    Veteran

    Bonjour Sophia,

    Je trade depuis plusieurs moi déjà et suis toujours en négatif ; j’aurais aimé échanger avec vous pour voir comment vous vous organisez ;

    Auriez-vous quelques minutes à m’accorder pour partager votre expérience ?

    [ADRESSE EMAIL SUPPRIMEE PAR MODERATION]

    Christophe

    #74396 quote
    Nicolas
    Keymaster
    Master

    j’aurais aimé échanger avec vous pour voir comment vous vous organisez ;

    J’ai supprimé l’adresse email, l’échange de données personnelles est interdite sur le forum. Pour discuter de trading, une grande et belle section est disponible sur le site: Discussions générales sur le Trading

    Merci! 😉

    #74450 quote
    roberma
    Participant
    Junior

    Pour faire court et recadrer les alternatives, il y a l’approche qu’a bien résumée Nicolas, celle de Giorgos Siligardos, différente de celle de Rick Martinelli & Barry Hyman, qui elle, est à l’origine des publications du Haikulabs. S’y ajoute la détection précoce d’une tasse (figure ‘incomplète’ en quelque sorte, comme l’avait perçu Sophia).

    Algorithmiquement, les approches différent significativement. En partant des conditions définies dans l’article cité par Kris75, il faudrait boucler sur chacun des paramètres ‘frame length’ y indiqués, ce qui est particulièrement pénalisant en temps d’exécution. J’avais indiqué de Haikulabs avait développé une dll pour ce faire, mais la référence est trop ancienne et il m’a été impossible de retrouver cet outil.

    S’agissant des considérations de trading proprement dites, les articles – tant de Siligardos que de Martinelli et Hyman – se terminent tous par des considérations y relatives, soulignant que la détection des figures reste un outil dans un contexte plus global, en particulier ici axé sur la méthode CANSLIM.

    Quant au backtests, il y a pléthore d’articles sur le Net qui en traite, sur CANSLIM (R) et sur le ‘breakoutwatch’… Ils reprennent des conditions / critères supplémentaires utilisables pour programmer l’une ou l’autre stratégie.

    Ceci dit, pour la détection d’une tasse avec ou sans hanse à proprement parler, il est clair que les possibilités de ProRealCode doivent être prises en compte dans le choix de l’algo. C’est pourquoi j’avais cité ce que j’appelle l’approche ‘Matrice’ plus haut, simple et pas trop compliquée (comparée à des méthodes bien plus complexes citées par Siligardos d’ailleurs).

    Atteindre l’objectif avec un minimum d’efforts…

    Meta Signals Pro thanked this post
Viewing 15 posts - 1 through 15 (of 67 total)
  • You must be logged in to reply to this topic.

Screener Détection Figure Tasse et Anse


ProScreener : Scanners de Marché & Détection

New Reply
Author
Summary

This topic contains 66 replies,
has 8 voices, and was last updated by deletedaccount210122
5 years ago.

Topic Details
Forum: ProScreener : Scanners de Marché & Détection
Language: French
Started: 06/15/2018
Status: Active
Attachments: 17 files
Logo Logo
Loading...