Macd Inversion et Signal

Forums ProRealTime forum Français Support ProBuilder Macd Inversion et Signal

Viewing 15 posts - 1 through 15 (of 15 total)
  • #218907

    Bonjour,

    Je pêche à trouver ce que je cherche depuis plusieurs jours, j’aurais bien besoin d’un petit coup de clavier!

    J’ai détourné un code déjà existant pour le remettre à ma sauce, mais je crains que la sauce a tourné.

    Ce que je cherche à faire comme dans l’image ci-jointe, c’est de mettre en évidence lorsque le prix fait de nouveaux plus bas alors que le Macd>0!

    Sur l’image le fond gris = Macd<0, fond blanc Macd>0

    Je souhaiterais récupérer le prix le plus bas lorsque le Macd<0 et le comparer avec un nouveau plus bas du prix lorsque le Macd >0.

    (Désolé pour le titre, mais je ne sais pas comment appeler ça!)

     

    #218908

    J’ai oublié l’image du post précédent…

    #219321

    Up

    #219336

    Bonjour,

    tu as inclus dans la définition de macdmin que mymacd[0] est <0

    donc quand tu fais “if macdmin then”… on n’entrera pas dans ce bloc if quand mymacd[0]>0. Or en plein dans ce bloc if en ligne 22 mymacd[0]>0 y est une des conditions pour avoir ton etrade=1, ce qui du coup n’arrive jamais…

    Quoique tu veuilles chercher quand mymacd[0]>0, cela doit se faire en dehors d’un bloc nécessitant par définition mymacd[0]<0

     

    1 user thanked author for this post.
    #219347

    Bonjour,

    ci joint fichiers indicateur semblant répondre à votre demande

     

    1 user thanked author for this post.
    #219350

    et le proscreener associé

    #219435

    @JC_Bywan Je comprends ce que tu veux dire! Mais j’ai beau tenter de reformuler je pêche à savoir quoi rajouter ou quoi enlever et Où!

    @jacquesgermain Merci pour votre aide, il y a de l’idée, mais la récurrence des signaux n’y est pas… Ou plutôt ne correspondent pas à ce que je cherche à faire apparaitre…

     

    Je vais essayer d’être plus loquace avec des mots et une nouvelle image d’illustration. Dans le premier post je souhaitais comparer les “Low”, ici on garde la même idée, mais en comparant des “Close”… Je sais qu’un code fonctionne en lecture de droite à gauche, donc dans l’idée de droite à gauche : Lorsque macd>0 je compare le Close actuel avec le Close(minimum) le plus bas lorsque le macd était inférieur à 0 dans la vague précédente et si le Close actuel est < au Close(minimum) alors je déclenche un signal +1 !!!

    Donc dans l’image ci-jointe je cherche à identifier le Close (Flèche Grise) par rapport au Close(Flèche Verte)…(Le fond écran gris = Macd<0 et fond écran blanc = Macd>0)

    Merci pour votre aide

    #219455

    Mea culpa j’ai mal interprété “coup de clavier” j’ai cru que tu voulais juste un coup de pouce pour voir ce qui coince et pouvoir continuer à chercher plutôt qu’une proposition directe de solution.

    En voici une, je t’ai mis une variable mavar, comme ça puisque tu passes d’un post avec les low à un post avec les close tout en ayant eu les high dans macdmin dans le listing du premier code, tu peux choisir dans mavar lequel tu veux, et/ou en changer que là sans avoir à modifier tout le code si tu passes de l’un à l’autre.

    A tester:

     

     

    #219487

    Bonjour JC_Bywan , merci infiniment, c’est exactement ce que je cherchais à faire et cela fonctionne très bien pour identifier les Bottom…

    J’ai cependant essayé de le terminer afin d’identifier aussi les Top, mais visiblement même avec le copié/collé j’ai du mal car je n’arrive pas à afficher les Top!!! Si tu pouvais m’indiquer ce qui cloche ligne 42 à 60 ou ailleurs ? Merci

     

    #219510

    Je ne sais pas si tu as enlevé dans plusbas les comparaisons de [2] avec [1] par oubli en changeant le nom mavar en myvariable ou bien si c’est intentionnel, vu qu’a priori le fait de garder les condtions sur bottom1 dans les if des lignes 28 et 33 fera qu’ils sont visités aussi souvent que si tu n’avais pas changé… donc sans être connecté à la plateforme en première impression je pense que ce changement n’a pas introduit d’erreur dans le cas des bottom en amont du copier coller pour créer les top.

    La ligne 53 devrait inclure un top1>0 plutôt que <0 , post- “copier-coller de la ligne33 et adaptation aux tops” :

    if Plushaut2 and Top1>0 and MyVariable[1]>=Top1 and MyMacd[1]<0 then
    A tester avec ce changement pour voir s’il suffit à résoudre le cas des top ou s’il y autre chose…
    #219583

    @JC_Bywan En effet tu avais raison pour la ligne 53, le problème venait de là! Pour les définitions de Plusbas et Plus haut, oui c’est intentionnel de les avoir modifié…

    A tout hasard, penses-tu qu’il soit possible dans le cas du Botom de faire en sorte de comparer le close(MyVariable) avec low lorsque Macd>0?

    Et encore merci pour ton travail.

    #219602

    Si tu regardes un low pour créer bottom1 pendant que macd<0 et que pendant que macd>0 tu veux comparer le close au low obtenu pour bottom1, alors la ligne 14 devient:

    MyVariable=low

    on  supprime la ligne 25,

    et la ligne 33 serait:

    if close<close[1] and MyMacd>0 and Bottom1>0 and close[1]<=Bottom1 and MyMacd[1]>0 then
    (et la ligne 35 si tu as besoin de la valeur bottom2 plus tard:
    bottom2=close[1]
    )

     

    #219723

    Salut JC_Bywan j’ai apporté les modifications que tu préconises, mais plus rien ne fonctionne, plus rien ne s’affiche! Et pas sûr que l’on se soit bien compris, non plus… Je mets donc une image en support pour réitérer ma demande! Si je ne dis pas d’ânerie “Bottom1” est la partie en noire sur l’image soit Macd<0, ici je veux récupérer le close le plus bas. Ensuite lorsque Macd>0 soit la partie en vert je veux déclencher le signal eTrade dès qu’un low vient coter Bottom1(il est pas impossible que je dises des âneries, non plus ;)). En simplifiant au maximum je veux récupérer le close sur écran noir et déclencher eTrade sur low écran vert!

    #219756

    Effectivement j’avais compris l’inverse (et avec une erreur en modif de ligne33 en plus), désolé, on remplace les modifs par:

    Garder en ligne 14 le MyVariable=close

    Mettre des // devant la ligne 25

    Essayer la ligne33 ainsi:

    if low[1]<low and MyMacd>0 and Bottom1>0 and low[1]<=Bottom1 and MyMacd[1]>0 then
    (et la ligne 35 si tu as besoin de la valeur bottom2 plus tard:
    bottom2=low[1]
    )

     

    2 users thanked author for this post.
    #219987

    C’est super, cela fonctionne très bien comme ça…

    Encore merci JC_Bywan

    Bonne journée

    1 user thanked author for this post.
Viewing 15 posts - 1 through 15 (of 15 total)

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