Calculs & affichages / Le mode geek /
Partie 2 : Créer ses indicateurs

Repousser les limites


Avant-propos

Voici un exemple de pensée :


Caractéristiques non aléatoires :


Sujets à maîtriser :


Description

Pan du tuto :
  1. Le gabarit "best zones".
  2. L'indicateur "polarity".
  3. Structure d'un indicateur personnalisé - Checklist.
  4. L'indicateur "normalize".
  5. L'indicateur "standardize".
  6. Surcharge d'un indicateur existant.

1 - Le gabarit "best zones" :

Retour au plan

Ce n'est pas un indicateur, mais un gabarit, c'est à dire un outil d'aide à la création d'indicateurs.
Les indicateurs que vous créerez devront proposer des points d'entrée dans les zônes de couleur : jaune = achat, rose = vente.

 

 

 

 


2 - L'indicateur polarity :

Retour au plan

Il faut effectuer des backtests pour vérifier que les rebonds l'emportent sur les traversées (breakouts).
 

 

 


3 - Structure d'un indicateur personnalisé - Checklist.

Retour au plan


Checklist :


 

  1. ☐ Créer un fichier python dans le dossier qui correspond à sa famille d'indicateurs, ici /functions/custom_ta/volatility/normalize.py.
  2. ☐ Le même nom normalize doit impérativement se trouver aux 5 endroits indiqués.
  3. ☐ La méthode appelée est normalize_method(), elle doit avoir les valeurs par défaut des paramètres.
  4. ☐ La méthode de l'indicateur est normalize().
  5. ☐ Elle doit retourner une 'Serie' pandas ou un DataFrame pandas.
  6. La documentation est facultative.

4 - L'ndicateur 'normalize' :

Retour au plan

Les zones de saturation provoquent des pertes d'information.
 


5 - L'indicateur 'standardize'

Retour au plan

Le problème de saturation est résolu.
 

 


6 - Surcharge d'un indicateur existant :

Retour au plan


Exemple :

On obtient cette erreur : 'module' object is not callable.
 

Le problème est résolu, quelle que soit la valeur de l'argument mamode.
Notez la méthode zlma_method() ajoutée, nécessaire pour  activer cet indicateur.

Important :

Le bug dans un indicateur n'est pas la seule raison pour procéder de la sorte.
Vous pouvez vouloir améliorer un indicateur, l'alléger ou l'enrichir, ou bien en créer un nouveau qui y ressemble à quelques détails près.

  • Si votre indicateur porte le même nom que l'original, il sera prioritaire.
  • S'il porte un nom différent, par exemple ici  my_zlma.py, vous devrez faire le choix dans le code appelant.

Bonnes recherches et bon courage !


Bonjour les codeurs !