Retournement MACD

Viewing 11 posts - 1 through 11 (of 11 total)
  • Author
    Posts
  • #87324 quote
    finplus
    Participant
    Master

    Bonsoir,

    à partir de l’indicateur ci-dessous, je souhaiterai un screener qui m’identifie les situations suivants :

    – croisement à la hausse de la ligne de signal par le macd lorsque celui-ci se trouve en dessous de la ligne basse (O-STDD) si j’ai tout compris

    – croisement à la baisse de la ligne de signal par le macd lorsque celui-ci se trouve au dessus de la ligne haute (STDU) si j’ai tout compris là aussi.

     

    voici le screener à partir du code pris sur le forum et retravaillé avec l’aide de Nicolas.

    pc=12
    pl=26
    ps=9
    p=13//periodos EIS
    aa=exponentialaverage[p](close)
    cc=MACD[pc,pl,ps](close)
    // --- nicolas
    periodSTD = 500
    coeffSTD = 8
    // --- fin nicolas
    
    if aa > aa[1] and cc>cc[1] Then
    dd =cc
    else
    dd=0
    endif
    if aa<aa[1] and cc < cc[1] then
    ee=cc
    else
    ee=0
    endif
    
    REM MACD
    hh=(exponentialaverage[pc](close) - exponentialaverage[pl](close))
    
    REM Signal
    hh1=exponentialaverage[ps](hh)
    
    stdu = std[periodSTD](dd)*coeffSTD
    stdd = std[periodSTD](ee)*coeffSTD
    
    hausse = (hh crosses over hh1) and (hh < stdd)
    baisse = (hh crosses under hh1) and (hh > stdu)
    
    screener [hausse or baisse]

     

    le problème est qu’il ne me renvoie pas les bonnes informations….

    #87343 quote
    Nicolas
    Keymaster
    Master

    Je n’ai pas testé mais je pense que le problème vient de “periodSTD = 500”, ProScreener étant limité à 255 bars d’historique, il faudrait baisser cette période à une valeur inférieure. Cela devrait fonctionner ensuite, merci de confirmer.

    #87393 quote
    finplus
    Participant
    Master

    Bonsoir,

    j’ai donc modifié le screener comme suit :

    pc=12
    pl=26
    ps=9
    p=13//periodos EIS
    aa=exponentialaverage[p](close)
    cc=MACD[pc,pl,ps](close)
    // --- nicolas
    periodSTD = 200
    coeffSTD = 8
    // --- fin nicolas
    
    if aa > aa[1] and cc>cc[1] Then
    dd =cc
    else
    dd=0
    endif
    if aa<aa[1] and cc < cc[1] then
    ee=cc
    else
    ee=0
    endif
    
    REM MACD
    hh=(exponentialaverage[pc](close) - exponentialaverage[pl](close))
    
    REM Signal
    hh1=exponentialaverage[ps](hh)
    
    stdu = std[periodSTD](dd)*coeffSTD
    stdd = std[periodSTD](ee)*coeffSTD
    
    hausse = (hh crosses over hh1) and (hh < stdd)
    baisse = (hh crosses under hh1) and (hh > stdu)
    
    screener [hausse or baisse]

     

    et le résultat en pièce jointe : pas concluant sauf si je me suis trompé quelque part.

     

    il me ressort le dax alors que le MACD croise bien la ligne de signal mais au-dessus de la ligne du bas.

    Capture-d’écran-2018-12-18-à-19.10.34.png Capture-d’écran-2018-12-18-à-19.10.34.png
    #87395 quote
    robertogozzi
    Moderator
    Master

    Pour ajouter du code , veuillez utiliser le bouton <> “insert PRT code”. Merci.

    #87396 quote
    finplus
    Participant
    Master

    En complément de mon dernier post, j’ai fait un second trimestre en ne reprenant que le croisement du signal par le macd et j’obtiens beaucoup plus de résultats. Ce qui me laisse à penser que le code du screener ci-dessus va dans la bonne direction mais que subsiste un problème puisqu’il me renvoie bien un croisement du signal par le macd mais pas au bon endroit.

    #87421 quote
    Nicolas
    Keymaster
    Master

    Est-ce que “periodSTD” est aussi réglé à 200 dans l’indicateur affiché sur la plateforme ? Histoire de bien comparer les mêmes valeurs.

    #87488 quote
    finplus
    Participant
    Master

    Bonsoir,

    je viens de le faire. Je surveille et vous reviens. Merci.

    #87489 quote
    finplus
    Participant
    Master

    ci-joint capture d’écran USD CAD unité de temps 1 heure signalé par le screener (copie du code joint) comme en retournement sauf que si le MACD croise bien le signal, ce n’est ni au-dessous de la ligne basse ni au dessus de la ligne haute.

    Je ne vois pas où est le problème dans le code du screener…

    Capture-d’écran-2018-12-19-à-21.42.04.png Capture-d’écran-2018-12-19-à-21.42.04.png
    #87507 quote
    Nicolas
    Keymaster
    Master

    Le code de l’indicateur original que j’ai fabriqué pour obtenir les lignes de volatilité haute et basse (stdd et stdu) n’est pas bien recopié dans ton screener, à mon avis.

    Je n’ai pas regardé, mais je pense que les lignes 29 et 30 devraient être remplacé par:

    stdu = 0+std[periodSTD](dd)*coeffSTD
    stdd = 0-std[periodSTD](ee)*coeffSTD

    Puisque l’oscillateur navigue autour de son centre, le niveau 0, les bandes haute et basse doivent être également situées de part et d’autre.

    #87574 quote
    finplus
    Participant
    Master

    Bonsoir. Je teste la modification. Je vous reviens.

    #87575 quote
    finplus
    Participant
    Master

    Impeccable. ça fonctionne. Merci et bon week end. Philippe.

Viewing 11 posts - 1 through 11 (of 11 total)
  • You must be logged in to reply to this topic.

Retournement MACD


ProScreener : Scanners de Marché & Détection

New Reply
Author
author-avatar
finplus @finplus Participant
Summary

This topic contains 10 replies,
has 3 voices, and was last updated by finplus
7 years, 2 months ago.

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