Calculs & affichages / Coding des nodes /
MACD - RSI - Modèles yaml

Modèles = Gain de temps lors des paramétrages


Avant-propos

Étudier les formules du MACD et du RSI.


Description

Les 5 courbes du MACD (2 en haut, 3 au milieu), et la courbe du RSI (en bas) avec ses seuils.
 


Ces indicateurs de trading sont codés ici à titre d'exemple.


Plan du tuto :
  1. Le MACD.
  2. Le RSI.
  3. Simplifier les affichages grace aux modèles yaml.

1 - Le MACD :

 

 

/functions/indicators/macd() :

def macd(v_signal, d_val):
    """ Ordre des calculs des vecteurs : https://fr.wikipedia.org/wiki/MACD
            1) v_long = mm(v_signal)
            2) v_short = mm(v_signal)
            3) v_diff = (court - long)
            4) v_signal = mm(diff)
            5) v_macd = (diff - signal) """
    _long, _short, _diff, _signal, _macd = None, None, None, None, None,

    # à coder ...

    return v_signal, _long, _short, _diff, _signal, _macd

Ne pas oublier de modifier le code d'appel dans show_matplotlib.py, à la fin : Remplacer 'MM' par 'MACD'


2 - Le RSI :

Retour au plan

/functions/indicators/rsi() :

def rsi(v_signal, period):
    """ https://fr.wikipedia.org/wiki/Relative_strength_index
    RS = H / B   =>   RSI = 1 - (100 / (1 + RS))   <-- Normalisé à [0, 100]
    """

    # à coder ...

    """ Normalisation entre 0 et 100. """
    return 100 - (100 / (1 + rs))

 


3 - Simplifier les affichages grâce aux modèles yaml.

Retour au plan


Vérification

Vérification :

  • ☐ Lancer show_matplotlib.py, afin de s'assurer qu'il n'y a pas d'erreurs. Le cas échéant, les corriger.

  • ☐ Tout refermer (main.py et show_matplotlib.py).

  • ☐ Supprimer l'éventuel fichier /backups/MACD/node0/0-matplotlib.yaml.

  • ☐ Lancer uniquement le PC.

  • ☐ Cliquer sur le bouton Voir de l'afficheur : La fenêtre des graphiques s'affiche.

  • ☐ Cliquer sur le bouton des paramètres avancés de Plots-0.

  • ☐ Déclarer le modèle subplots_60_20_20.yaml.

  • Pour que celui-ci soit pris en compte, il faut commenter :

    • ☐ La clé Fenêtre et toutes ses entrées.

    • ☐ Les 3 clés Entrée0Entrée1 et Entrée2.

  • ☐ Enregistrer.

  • ☐ Cliquer sur le bouton Fermer puis Voir pour la prise en compte des paramètres de la fenêtre.

  • Les couleurs inter-courbes :

    • ☐ Remplacer Entrée 1 et Entrée 2 par ce code :

      Entrée 1:
        color between:
          - MACD:     # Juste pour l'utilisateur. Non utilisé dans le code.
              # Nom des courbes : seule une partie du nom affiché dns le dockable.
              courbes: [-MACD, 0]   # Seules le 2 premières valeurs de la liste sont traitées.
              couleurs: [ '#00f8', '#f006' ]
      
      Entrée 2:
        color between:
          - RSI low:
              courbes: [Normal, Normal$low]   # Ici emploi de la variable 'low' du signal contenant 'Normal' dans son nom.
              couleurs: [ '#0000', '#f008' ]
          - RSI high:
              courbes: [Normal, Normal$high]   # Ici emploi de la variable 'low' du signal contenant 'Normal' dans son nom.
              couleurs: [ '#00fc', '#0000' ]
      

      Notez l'emploi de variables : ici, $low et $high (voir rsi.py > Calcul.descr_signal()).

    • ☐ Enregistrer.

  • Les couleurs inter-courbes s'affichent.


Comme vous le voyez, les possibilités sont infinies, il vous appartient d'adapter les fichiers de modèles et les seeders comme bon vous semble.

Bon coding et bon courage !


Snippets

Essayez de résoudre cette fonctionnalité par vous-même.
Consultez les réponses (snippets) seulement si vous n'avez pas trop de temps.

Bonjour les codeurs !