screener à partir d’un indicateur

Forums ProRealTime forum Français Support ProScreener screener à partir d’un indicateur

Viewing 14 posts - 1 through 14 (of 14 total)
  • #244838

    Bonsoir, je souhaiterai avoir un screener à partir de cet indicateur

    period=50

    plusDM = (MAX(HIGH-HIGH[1], 0))*10
    minusDM = (MAX(LOW[1]-LOW, 0))*10

    IF plusDM > minusDM THEN
    minusDM = 0
    ENDIF

    IF plusDM < minusDM THEN
    plusDM = 0
    ENDIF

    IF plusDM = minusDM THEN
    plusDM = 0
    minusDM = 0
    ENDIF

    plusDI = WILDERAVERAGE[period](plusDM)
    minusDI = WILDERAVERAGE[period](minusDM)

    DM = (plusDI-minusDI)/pipsize

    moy = exponentialaverage[period]((DM))

    if Moy<Moy[1] and Moy[1]>Moy[2] and Moy[1]>0 then
    RetB5=RetB4
    RetB4=RetB3
    RetB3=RetB2
    RetB2=RetB1
    RetB1=Moy[1]
    ReturnBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5
    endif

    if Moy>Moy[1] and Moy[1]<Moy[2] and Moy[1]<0 then
    RetH5=RetH4
    RetH4=RetH3
    RetH3=RetH2
    RetH2=RetH1
    RetH1=Moy[1]
    ReturnHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5
    endif

    if abs(returnBmoy-0) > abs(returnHmoy-0) then
    limitUP = returnBmoy
    elsif abs(returnBmoy-0) < abs(returnHmoy-0) then
    LimitUp = -ReturnHmoy
    endif

    if abs(ReturnHmoy-0) > abs(ReturnBmoy-0) then
    limitDn = ReturnHmoy
    elsif abs(ReturnHmoy-0) < abs(ReturnBmoy-0) then
    LimitDn = – ReturnBmoy
    endif

    TopDMMoy = exponentialaverage [150](returnBMoy)
    BottomDMMoy = exponentialaverage[150](returnHmoy)

    if DM > 0 and DM > TopDMMoy then
    drawcandle (0,0, DM, DM) COLOURED (32,0,192)
    elsif DM > 0 and DM < TopDMmoy then
    drawcandle (0,0, DM, DM) COLOURED (0,204,255)
    endif

    if DM < 0 and DM < BottomDMmoy then
    drawcandle (0,0, DM, DM) COLOURED (255,0,0)
    elsif DM < 0 and DM > BottomDMmoy then
    drawcandle (0,0, DM, DM) COLOURED (255,204,153)
    endif

    Return DM as “DM”, moy as “DM Moy”, TopDMMoy as “TOP”, BottomDMMoy as “BOTTOM’

    Ce screener devrait identifier lorsque le DM est au dessus du TopDMMoy ou au dessous du BottomDMMOy avec un DM au dessus ou au dessous de la Moy.

    j’ai tenté le screener ci dessous mais il ne remonte pas tout :

    ///////////////////////////////////////////////////////////////////// DM

    period=50

    plusDM = (MAX(HIGH-HIGH[1], 0))*10
    minusDM = (MAX(LOW[1]-LOW, 0))*10

    IF plusDM > minusDM THEN
    minusDM = 0
    ENDIF

    IF plusDM < minusDM THEN
    plusDM = 0
    ENDIF

    IF plusDM = minusDM THEN
    plusDM = 0
    minusDM = 0
    ENDIF

    plusDI = WILDERAVERAGE[period](plusDM)
    minusDI = WILDERAVERAGE[period](minusDM)

    DM = (plusDI-minusDI)/pipsize

    moy = exponentialaverage[period]((DM))

    if Moy<Moy[1] and Moy[1]>Moy[2] and Moy[1]>0 then
    RetB5=RetB4
    RetB4=RetB3
    RetB3=RetB2
    RetB2=RetB1
    RetB1=Moy[1]
    ReturnBmoy=(RetB1+RetB2+RetB3+RetB4+RetB5)/5
    endif

    if Moy>Moy[1] and Moy[1]<Moy[2] and Moy[1]<0 then
    RetH5=RetH4
    RetH4=RetH3
    RetH3=RetH2
    RetH2=RetH1
    RetH1=Moy[1]
    ReturnHmoy=(RetH1+RetH2+RetH3+RetH4+RetH5)/5
    endif

    TopDMMoy = exponentialaverage [150](returnBMoy)
    BottomDMMoy = exponentialaverage[150](returnHmoy)

    DMStrongUp = (DM > moy) and (DM > TopDMMoy)
    DMStrongDn = (Dm < moy) and (DM < BottomDMMoy)

     

    screener [DMStrongUp or DMStrongDn]

     

    merci.

    #244839

    Bonsoir, tu l’as fait tourner avec une version de PRT “complete” (256 barres d’historique proscreener) ou “premium” (1024 barres d’historique proscreener)?

    Si en version “complete”, il faudrait vérifier ce que dit la mm expo de période 150 dans proscreener avec seulement 256 d’historique contre sans doute beaucoup plus d’historique en version indicateur dans probuilder, donc n’existant qu’à partir de la barre 150 pour les 106 dernières barres à peine. Car les math derrière le calcul d’une mm expo sont: on initialise à la première barre sur une valeur arbitraire forcément différente de ce que serait une mm expo si on avait beaucoup d’historique en amont, puis à chaque rang on calcule par récurrence en utilisant la valeur du rang précédent, ce procédé nécessite pas mal d’historique avant de converger, et donc les mm expo de grande période ne sont pas adaptées à l’usage de proscreener. Et sauf valeur arbitraire au premier rang très proche de ce qu’aurait été la mm expo 150, il n’est pas dit que tes TopDMMoy et BottomDMMoy  soient bien les mêmes dans proscreener que dans probuilder, par manque d’historique proscreener. Si c’est le cas, alors les conditions DMStrongUp et DMStrongDn peuvent différer dans proscreener par rapport à ce qu’elles sont dans probuilder, d’où “il ne remonte pas tout”.

    #244840

    alors là, tu me poses une colle.

    comment puis-je savoir quelle version j’utilise ? Je suis chez IG.

    #244841

    Tu peux créer un mini-screener dont le code est:

    sans oublier de sélectionner une liste pour que ça puisse tourner. S’il te donne 255 dans la colonne de tri “barindex”, c’est que tu as 256 barres d’histo proscreener (la première étant numérotée 0, de 0 à 255 on a les 256), et donc la version “complete”.

    1 user thanked author for this post.
    #244842

    il m’indique 255.

    #244867

    y a t il une solution pour régler ce problème : je le rappelle je suis client IG. merci.

    #244869

    De la même manière que tu as pu visualiser ton nombre de barres pour en conclure que tu n’as que 256 barres d’historique (et donc probablement utilisé une mm expo non convergée car sa période de 150 est trop grande pour proscreener), tu peux confirmer ou informer l’hypothèse que le problème vient de la mm expo en visualisant TopDMMoy ou BottomDMMoy dans proscreener avec des (“…”) afin de les comparer à ce qu’elles sont dans probuilder pour une même valeur:

    screener [DMStrongUp or DMStrongDn](TopDMMoy  as “TopDMMoy”)

    ou:

    screener [DMStrongUp or DMStrongDn](BottomDMMoy as “BottomDMMoy “)

    De là, soit ça confirme un écart non négligeable, et tu ne peux pas y faire grand chose en version complete à 256 barres pour proscreener (et d’ailleurs, avant de voir s’il est possible d’avoir une version premium, il vaut mieux vérifier dans probuilder si l’ema est suffisamment convergée avec seulement 1024 barres d’historique via un calculateonlastbars=1024 pour s’éviter des démarches inutiles)

    soit les valeurs sont bonnes pour les mm expo dans prosceener par rapport à ton indicateur dans probuilder et son plus grand historique, et ça ouvre la voie de chercher si le problème pourrait venir d’ailleurs et, une fois identifié, s’il a une solution…

    …mais pour le moment tant que tu n’as pas testé la comparaison de tes valeurs de mm expo, tu cours le risque de tourner en rond en cherchant un “autre” problème empêchant de remonter toutes les valeurs qu’il n’y a peut être pas…

     

    #244872

    d’accord.

    et ceci :calculateonlastbars=1024. je dois l’intégrer dans mon screener ? et si oui comment ?

    merci.

    #244892

    Non ça c’était pour probuilder (cf “…il vaut mieux vérifier dans probuilder si l’ema…”), afin de vérifier si même avec 1024 d’historique il reste un problème de mm expo ou pas par rapport à leur valeur avec ton historique habituel.

    La ligne entière dans probuilder serait:

    defparam calculateonlastbars=1024

    https://www.prorealcode.com/documentation/calculateonlastbars/

    Mais le plus simple bien qu’approximatif est de limiter ton historique probuilder à 1000 unités sans ajouter de calculateonlastbars, ce sera bien assez proche pour voir s’il y a des différences dans les mm expo par rapport à un historique plus long.

    #244895

    merci. ça devient trop technique pour moi. Comment stp ajouter dans mon screener cette limitation de mon historique à 1000 unités. Parce que dans mes indicateurs, tout fonctionne correctement. Mais je crois savoir que le moteur Probuilder est différent de celui de proscreener. C’est dommage.

    Merci.

    #244903

    Non, ton screener en version complete est déjà limité à moins que ça: à 256 barres, tu ne peux pas lui mettre une limite à 1000 ou 1024 de toi-même.

    Ma remarque sur “faire un test supplémentaire à 1024 avec probuilder” était juste pour voir si cela aurait pu éventuellement suffire pour que tes mm expo soient quasi-convergées aux bonnes valeurs, car si elles n’étaient pas encore assez bonnes (ce qui me semble très probable vu le très peu d’occurences différentes de ces valeurs au sein de la période 150) , tu aurais su que tu pouvais t’épargner les démarches de changement de courtier qui fournirait la premium (augmentant la limite de proscreener à 1024). Donc si tu ne vois pas comment augmenter la limite de proscreener dans les posts précédents, c’est normal, ce n’était pas de cela qu’il s’agissait.

    PS: Je rajoute un commentaire dans mon post suivant pour ne pas mélanger mes remarques, j’essaie d’écrire le post suivant avant midi.

     

    #244904

    ok. j’ai compris. le changement de courtier est une possibilité, en effet.

    Merci.

    #244906

    Le commentaire que je voulais rajouter, c’est que si le problème vient des mm expo (ce qui ne sera confirmé ou pas que si tu constates des différences de valeur entre proscreener et probuilder tel que discuté dans les posts précédents), tu peux de toute façon en amont de ce problème soulever la question de l’utilité ou pas d’utiliser des mm expo ici. En effet, je me demande si tu as cru coder une mm expo sur les 150 derniers changements de TopDMMoy ou BottomDMMoy , alors que ce qui est codé prend en compte les 150 barres les plus récentes, même si ces variables n’ont pas bougé (graphiquement ressemblant à des créneaux, succession de plats et de changements d’un coup). Or à l’intérieur des 150 dernières barres, il peut y a voir eu assez peu de changements, donc si ton intention était de faire une mm expo sur les 150 derniers changements de valeur, ce n’est pas le cas, donc la mm a essentiellement un rôle de lissage plutôt que d’emphase sur le dernier changement… et si tu es dans ce cas, tu peux peut-être préférer une mm simple, et si tu choisis de basculer plutôt sur une mm simple, alors proscreener et son historique limité de 256 suffira pour faire remonter des valeurs cohérentes avec ce qui est lu dans probuilder sur un historique pus grand. En tout cas, si ça ne suffit pas, c’est qu’il y a un autre problème quelque part…

    #244916

    je vais tester avec une moyenne mobile simple. Je te dirai;

    merci pour ton aide.

Viewing 14 posts - 1 through 14 (of 14 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login