croisement mme

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

    Bonjour,

     

    j ai créé un indicateur détectant les croisement de mme à la hausse et à la baisse

     

    seulement en faisant fonctionner le programme il n arrive pas à détecter les croisements alors qu’ils se produisent

     

    voici le programme:

     

     

    En vous remerciant pour votre aide

    #60471

    Bonjour, merci de respecter les consignes du petit cadre jaune “astuces” lors de la création d’un post, ici en particulier d’utiliser le bouton <> “insert PRT code” pendant la création du message, afin de rendre la partie code du post plus lisible. Nous tenons à la lisibilité des messages sur nos forums pour qu’ils gardent un maximum de chances d’être lus attentivement par les autres membres (et donc plus de chances de recevoir des réponses). J’édite votre message pour vous cette fois-ci, merci d’y faire attention lors des prochains posts.

    #60473

    Ce code, par l’usage de AND pour 4 conditions à la fois, recherche 4 croisements simultanés, ce qui a très peu de chances de se produire au vu des paramètres des mm, la fonction cross over n’est valable qu’à la clôture de bougie où le croisement a lieu…

    Il semble probable que vous cherchiez plutôt le moment où la mme A croise à la hausse la dernière des 4 autres après l’avoir déjà fait pour 3 parmi ces 4, ce qui peut se faire avec une combinaison de conditions “supérieur ou égal” pour 3 cas et “cross over” pour le 4e (et si l’ordre de croisement importe peu, avec des OR pour faire permuter toutes les combinaisons de 3 “>=” et un “cross over”).

    Si c’est un état plutôt qu’un instant qui est recherché, alors plus simplement faire 4 fois >=

    (et inversement pour le cas de baisse)

    1 user thanked author for this post.
    #60521

    Bonjour,

     

    merci pour ta réponse et merci d’avoir éditer le code .

    Je ferais attention la prochaine fois.

     

    En fait je veux avoir le signal au moment ou la 20 croise toutes les mme

     

     

     

    #60522

    @primo1

    Ce que Noobywan explique, c’est qu’il est presque impossible que la MME20 croise au même moment toutes les autres moyennes mobiles (de 50 périodes à 300). Il faut donc revoir la condition générant ton signal avec pourquoi pas des conditions de dessus/dessous et non des croisements strictes.

    1 user thanked author for this post.
    #60523

    je vais essayer

    #60529

    Bonjour,

    Suite à vos remarques j’ai amélioré le code seulement je n’arrive pas caractériser le signal sur le graphique PRT;

    En effet, je voudrais une fleche m ‘indiquant  le sens du signal directement sur le graphique  .

    voici mon code

     

     

     

     

     

     

    #60532

    ok, pour avoir toutes les permutations possibles si on ne veut pas un état permanent tant qu’on a 4 fois A> 4 autres, il aurait fallu faire 3 fois > et une fois cross over, mais en attribuant le cross over tour à tour à chacune des 4mme, et avec un or pour les les 4 groupes de4 conditions. Mais c’est un peu lourd en écriture, une possibilité plus légère pour tenir compte de tous les cas est la suivante:

     

    J’y ai au passage positionné les flèches au même x = barindex bien sûr, mais avec une ordonnée y compatible avec n’importe quel actif (alors que y=+/-action va mettre la flèche à hauteur +/-1 ce qui est un peu bas sur un graphe CAC40 ou DAX30 par exemple.

    Si on veut les flèches sur le graphe, il ne faut plus faire un “return action” mais juste un “return”, et ajouter l’indicateur à la fenêtre du prix (via la petite clé à molette immédiatement à droite du titre “prix” au coin supérieur gauche de la fenêtre) plutôt qu’en fenêtre séparée sous le prix.

    Si par contre on préfère garder l’indicateur sous le prix en fenêtre séparée pour voir “action” à +/-1, alors il faut garder la ligne “return action” et supprimer le “return” seul. Mais on ne peut pas simultanément avoir un indicateur en fenêtre séparée qui sait mettre la flèche sur le prix, c’est ou l’un ou l’autre (ou alors il faut faire tourner 2 versions de l’indicateur, à la fois une en fenêtre séparée avec “return action” sans flèche, et une sur la fenêtre prix avec “return” et les flèches)

    2 users thanked author for this post.
    #60536

    à quoi ça sert “2*highlow)”

    #60540

    C’est juste une façon parmi plusieurs possibles de positionner la flèche selon l’axe vertical de telle sorte qu’elle soit proche des bougies avec une distance d’écart compatible aussi bien avec un graphe cac40 (vers 5500) qu’un graphe action, ou qu’un graphe forex (euro vers 1.24) etc… on n’est pas obligé de choisir celle-là, on peut lui préférer par exemple “high+averagetruerange[10](close)” et “low-averagetruerange[10](close)”… ou tant d’autres façons de faire, du moment qu’elles rendent la position de la flèche de ce morceau de code compatible avec le graphe de n’importe quel actif, et ce d’autant plus qu’a priori je ne savais pas pour quel niveau de prix tu voulais positionner les flèches

    2 users thanked author for this post.
    #60565

    je te remercie pourrais tu m ‘expliquer cette ligne e code  en gras

    “if crit1 and not crit1[1]  then”
    #60572

    C’est un choix de programmation que j’ai fait pour simplifier les choses et éviter d’avoir à écrire les 4 permutations possibles (8 si on dit 4 pour la hausse et 4 pour la baisse) de 3 fois “>” et 1 fois “cross over” en faisant tourner à chaque permutation le cross over pour chaque mme à croiser…

    Ce choix me fait stocker dans la condition crit1 (nom choisi juste comme ça vite fait pour dire “critère 1” mais on peut la nommer comme on veut tant que ce n’est pas un mot réservé du langage PRTt) l’ensemble des 4 conditions avec “>”, donc crit1 est “vrai” chaque fois que la mme20 est-au-dessus des 4 autres mme, et “faux” dès que mme20 est en-dessous de l’une d’entre elle peu importe laquelle.

    Rajouter [1] à la fin pour faire crit1[1] me donne accès à la valeur de crit1 à la bougie précédente (crit1[2] aurait été la valeur de crit1 il y a 2 bougies, etc…). Dire “not crit1[1]” revient à dire que crit1[1] n’était pas vrai.

    Et donc écrire “if crit1 and not crit1[1]  then” me permet de sélectionner le cas où la mme20 est au-dessus des 4 autres mais ne l’était pas en bougie précédente, c’est une façon de résumer tous les cas possible de cross over de mme20 sur n’importe laquelle des 4 autres mme.

    1 user thanked author for this post.
    #60591

    merci pour ces explications,

     

    est ce que je peux adjoindre  un son à cet indicateur?

     

    ça serait génial!!!

    #60597

    Oui et non, ça dépend de la façon dont tu veux générer ce son…

    Non au sens où il n’y a pas de mot clé dans le langage PRT qui permette de générer un son via code…

    Mais oui au sens où PRT te permet de créer des alertes sonores, il est donc possible de créer en dehors de l’indicateur (mais se servant des données de l’indicateur) une alerte haussière quand action=1 et une alerte baissière quand action=-1, et même de choisir le son dans les menus déroulants de l’alerte (et/ou la voix qui dit “alerte déclenchée…”). Voir petite vidéo tuto ci-dessous sur la création d’alertes dans PRT:

    https://www.youtube.com/watch?v=HIMvhprZIzA

    1 user thanked author for this post.
    #60645

    merci beaucoup,

    je vais regarder

     

Viewing 15 posts - 1 through 15 (of 19 total)

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