Si vous n'arrivez pas à lire ce message, rendez-vous à l'adresse suivante : https://www.waldata.fr/mailing/100319/index.asp


Apprenez à créer vos outils d’aide à la décision sur mesure

Épisode
5
: Création d'un assistant visuel

Dans les épisodes précédents, nous avons appris à programmer une colonne de MarketAnalyser qui nous permet de détecter toutes les valeurs qui dépassent leur plus haut (break out haussier) ou leurs plus bas (break out baissier) de 20 périodes dans des volumes supérieurs aux volumes moyens.

Dans l’épisode 5, nous allons apprendre à créer un Assistant Visuel WalMaster qui nous permettra d’afficher sur le graphique d’une valeur les signaux que le MarketAnalyser WalMaster aurait détecté.

Nous allons alors créer un assistant visuel qui va colorier les bar-charts pour lesquels un break out est détecté. Lorsqu’il s’agit d’un break out haussier, le bar-chart sera colorié en vert. Inversement lorsqu’il s’agit d’un break out baissier le bar-chart sera rose. Bien attendu, pour valider le break out le critère de volume au-dessus du volume moyen devra être respecté.


Épisode 1: Analyse des besoins
Épisode 2: Recherche
Épisode 3: Création
Épisode 4: programmation
Épisode 5: Création du PaintBar
Épisode 6: Assistant visuel
Épisode 7: Création de l'alerte




Un Assistant Visuel© WalMaster nous permet d’afficher sur le graphique d’une valeur les signaux que le MarketAnalyser WalMaster a détecté. Les assistants visuels sont également appelés PaintBars.



 


Le pixel, abrégé px, est une unité de surface permettant de mesurer une image numérique. Son nom provient de la locution anglaise picture element, qui signifie « élément d'image ». Le pixel est l'unité minimale adressable par le contrôleur vidéo. C'est par exemple l'unité utilisée pour spécifier les définitions d'affichage (largeur × hauteur)






























































































































1. Création d'un assistant visuel.

Les assistants visuels WalMaster sont également appelés « PaintBars ». Leurs création, suppression ou modification peuvent être faites à partir de la fenêtre d’édition des documents « ExpressLanguage ».

Pour accéder au code des différentes ressources ExpressLanguage

• cliquez sur l’icône «EL» dans la barre de commande principale de votre WalMaster.
• sélectionnez « Indicateur », «PaintBars » ou « fonction »
• Un double click sur le nom de la ressource vous permet d’editer son code ExpressLanguage.
 
Pour créer un « PaintBar »

• utilisez le bouton « Créer un nouveau document »
• sélectionnez l’option «Créer un PaintBar »
• nommez votre nouveau « PaintBar », par exemple « Break Out dans de forts volumes »
• validez par OK

La fenêtre d’édition de votre nouveau PaintBar s’ouvre automatiquement dans la partie gauche. C’est dans cette fenêtre que vous pouvez taper le code ExpressLanguage.

2. Programmation du "Paint bar"

Le principe de programmation des PaintBars, reste le même que celui des colonnes du MarketAnalyser. C’est-à-dire que nous allons utiliser les mêmes fonctions ExpressLanguage et utiliser les mêmes conditions.

La différence de programmation réside uniquement dans la façon de présentation du résultat final.

Rappelons que dans le cas des MarketAnalyser WalMaster, c’est la fonction SetResultTxt(texte) qui nous permet d’afficher le texte dans la colonne du MarketAnalyser. La fonction Select(True) ou Select(False), nous permet d’afficher ou non la valeur…

Dans le cas d’un PaintBar, nous cherchons à colorier les bars le jour ou le signal est détecté. Il faut alors utiliser une autre fonction permettant de le faire. En ExpressLanguage c’est la fonction

Barcolor ( Couleur, Epaisseur , Index du Bar )

qui permet de colorier un bar-chart du graphique.

Les propriétés de cette fonction sont les suivantes :

La couleur est définie par les mots clef ExpressLanguage ou par la fonction

Rgb ( Niveau du rouge , Niveau de vert , Niveau de bleu )

La fonction Rgb() permet de mélanger les 3 couleurs primaires, afin d’obtenir des couleurs personnalisées. Le niveau de chaque couleur est définit par des valeurs de 0 à 255.

Couleur Mot clef ExpressLanguage Equivalent en RGB()
Vert clGreen Rgb(255,0,0)
Rouge clRed Rgb(0,255,0)
Bleu clBlue Rgb(0,0,255)
Gris clGray Rgb(100,100,100)
Noir clBlack Rgb(0,0,0)
Blanc clWhite Rgb(255,255,255)


Epaisseur – définis l’épaisseur en pixel du contour du corps des chandeliers. Dans le cas des bar-charts la valeur par défaut est 1 pixel.

Index du Bar – permets de définir le bar-chart qui sera peint. Par exemple, « 0 » signifie que c’est le bar-chart le jour du signal qui sera colorié. Les valeurs négatives de l’index permettent de peindre les bar-charts qui précèdent le signal. Par exemple, « -1 » permet de peindre le bar-chart de la veille, « -10 » le bar-chart d'il y à 10 jours...

Le reste du code est identique. Nous pouvons alors réutiliser le code de la colonne en le modifiant légèrement.
Code de la colonne Code du PaintBar
{Déclaration des variables}

Variables :
HHV(0),
LLV(0),
VolMoyen(0),
Signal(0);

{Affectation des valeurs des indicateurs aux variables utilisés}

HHV = Highest(High,20)[1] ;
LLV = Lowest(Low,20)[1] ;
VolMoyen = MMA(volume,20) ;

{Conditions}

if (Close[1] < HHV)
   and (Close > HHV)
   and (volume > VolMoyen) then
begin
   SetResultTXT("Achat",clGreen) ;
   Signal = 2 ;
end
else if (Close[1] > LLV)
   and (Close < LLV)
   and (volume > VolMoyen) then
begin
   SetResultTXT("VAD",clRed) ;
   Signal = 1 ;

end
else
begin
   SetResultTXT("--",clBlack) ;
   Signal = 0 ;

end ;

{Criters de tris et d'affichage}

Result = Signal;
if Signal <> 0 then
   Select(True)
else
   Select(false);
{Déclaration des variables}

Variables :
HHV(0),
LLV(0),
VolMoyen(0),
Signal(0);

{Affectation des valeurs des indicateurs aux variables utilisés}

HHV = Highest(High,20)[1] ;
LLV = Lowest(Low,20)[1] ;
VolMoyen = MMA(volume,20) ;

{Conditions}

if (Close[1] < HHV)
   and (Close > HHV)
   and (volume > VolMoyen) then
begin
   barcolor(rgb(0,255,0),1,0);
end
else if (Close[1] > LLV) and (Close < LLV) and (volume > VolMoyen) then
begin
   barcolor(rgb(214,6,212),1,0);
end;


Comme vous pouvez le constater, c’est uniquement le code à l’intérieur des conditions « if … Then » qui a changé. De plus, nous n’avons plus besoin de reprendre la partie appelé « Criters de tris ou d’affichage », car le PaintBar travail sur le graphique d’une valeur et non pas sur une liste de valeurs comme le MarketAnalyser WalMaster. Le filtrage est alors inutile.

Notre assistant est prêt et il ne nous reste plus qu’à vérifier le code et l’afficher.

3. Afficher un Assistant visuel sur le graphique

• accéder aux propriétés de la zone graphique en question
• cliquer sur « Ajouter indicateur »
• sélectionner « PaintBar »
• sélectionner le « PaintBar » que vous voulez afficher, ici « Break Out dans de forts volumes »
• valider par OK


4. Conclusion

La semaine prochaine nous allons
•  apprendre a ajouté le PaintBar à la liste de vos assistants visuels favoris
• de modifier les paramètres de détection des signaux à l’aide des « réglettes dynamiques de WalMaster ».