ProRealTime – “Etes-vous Trader ou Programmeur?”

Votre premier indicateur ProRealTime – “Etes-vous Trader ou Programmeur?

Après avoir utilisé, avec ou sans succès, tous les indicateurs mis à disposition par l’éditeur de votre plateforme de trading, ou d’analyse technique, vous êtes sans doute frustrés de ne pas jouir de davantage d’autonomie dans la mise en application de vos idées. Et si seulement vous pouviez bâtir rapidement votre indicateur de tendance et vous consacrer à l’activité lucrative du trading… ?

C’est alors que vous décidez d’apprendre le langage de programmation ProRealTime généreusement documenté dans une bible de plusieurs centaines de pages. Et oui, c’est un passage obscure et étroit dans lequel il faut vous engager, sans toutefois savoir s’il s’agira, ou non, pour vous, d’une impasse. Il va sans dire, quelque soit votre choix, que s’engager dans cette voie est obligatoire pour accédez à l’autonomie…  A noter toutefois, en comparaison avec d’autres plateformes,  que la documentation mise à disposition par ProRealTime est d’une qualité exceptionnelle!

Bref, je pourrais détailler toutes les étapes successives de votre démarche, ou encore choisir de documenter cet article avec mille et une images comme celles ci après…

 

Mais je préfère, dans un soucis d’économie de votre temps, en arriver directement à l’étape ou vous  décidez de demander de l’aide sur les forums.  Vous ne comprenez pas  vraiment ni ce qu’il faut écrire, ni comment. C’est une étape incontournable car elle vous permet d’apprendre énormément sur les possibilités de programmation de ProRealTime, ou toute autre plateforme de trading. Sur les forums, nombreux sont ceux qui ont une riche expérience en programmation. Parmi eux, nombreux sont aussi ceux qui vous aideront. En revanche, veillez à ne pas abuser de leur temps ou générosité car la source se tarit vite !!

La question, notamment en matière d’utilisation de votre temps libre, est toujours la suivante :

“Etes-vous Trader ou Programmeur?”

De nombreuses plateformes, telles que ProRealTime, vous permettent d’associer les deux activités. Mais ce cruel dilemme fait surface à chaque nouvelle difficulté rencontrée dans l’écriture d’un nouvel indicateur.

Et puis, reste à savoir comment arriver à vos fins sans divulguer.. sur des forums publics… vos idées ou encore votre système de trading qui, peut-être, s’avère d’une efficacité redoutable.

Quelque soit votre approche, je vous souhaite de parvenir rapidement à l’étape finale, c’est à dire l’utilisation de votre indicateur pour l’activité de trading. Ne perdez pas trop de temps à programmer si vous êtes ni à l’aise avec la programmation, ni passionné. Dans tous les cas, je me permets de vous proposer une approche qui vous encouragera d’une part à écrire des programmes de qualité et d’autre part à avoir des réponses rapides et précises lorsque vous solliciterez de l’aide.

Cette approche est la suivante : Abusez des commentaires afin d’écrire, dans une première étape, votre programme tel que vous le pensez.

Pour illustrer cette approche, voici une idée simple de détection des prix les plus hauts et les plus bas sur une application ProRealTime.  Je vous rappelle qu’il ne s’agit pas d’un système de trading testé et je vous déconseille fortement son utilisation. En revanche, je vous laisse lire la suite…

// Votre nom et prénom … 15.08.2010
// Mise à jour : 20.08.2010
// Idée : Identifier les points les plus hauts et les plus bas du marché… Utopie ?
// Comment : Variation de prix, avec un calcul d’un point de retournement sur 3 bougies
//
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum

// Initialisation des variables.

// Seuil de prix le plus haut.
// Seuil de prix le plus bas.

// Plafond “à la hausse”.
// Plancher “à la baisse”.

// Indicateur de phase de détection d’un plus haut… en cours
// Indicateur de phase de détection d’un plus bas… en cours

/////////////////////////////////////////
// Calcul d’un plus haut
/////////////////////////////////////////

// Etablir une condition de prix qui doit être remplie pour l’identification d’un plus haut.
// Condition de prix :
// Plus haut du jour inférieur au plus haut de la vielle.
// ET
// Plus haut de la veille supérieur au plus haut précédent.
// ET SURTOUT
// Absence d’une phase de détection et de calcul en cours.

// Si les trois conditions sont remplies … ou satisfaites… alors…
// Activation d’une phase de détection d’un plus haut.
// Calcul d’un plafond d’invalidation de la phase en cours.
// Valeur : Plus haut des deux précédentes bougies
// Calcul d’un plancher de confirmation.
// Valeur : Plus bas de la bougie en cours.

// Etapes …

// Détection validée d’un plus haut niveau de prix.
// Plafond d’invalidation :Prix du plus haut de référence (Plus haut précédentes 2 bougies).
// Plancher de confirmation : (“à enfoncer”) pour confirmation d’un retournement.
// Seuil de prix au plus bas de la bougie en cours pour validation du plus haut

// Si les prix repartent à la hausse !!!
// Invalidation de la phase de détection d’un plus haut en cas d’une clôture supérieure au plus haut de référence.
// C’est à dire en cas d’un prix de clôture supérieur au plafond précédemment calculé (Plafond d’invalidation).

// OU

// Si les prix continuent à la baisse…
// Validation d’un retournement par clôture au dessous du plancher de confirmation
// Attribution au plafond de retournement de la valeur “Plus Haut” calculée.

// Si nous avons, en cours, la détection d’un plus haut.

// Invalidation !!

// Si le plus haut de la bougie en cours (en clôture) est supérieur au plafond d’invalidation

// Invalidation d’un nouveau plus haut. Echec et nouvelle détection possible !!

// Confirmation !!

// Validation du seuil de retournement à la baisse (Plancher de confirmation)
// Permet la détection du plus haut suivant

///////////////////////////////////////
// Calcul d’un plus bas
///////////////////////////////////////

// ect….

// Vous pouvez vous exercer à écrire le plus bas…

//////////////////////////////////
// Mise à disposition du résultat
//////////////////////////////////


Et voilà donc votre programme déjà écrit dans la langue… heu… de vous…  et qui certainement sera plus compréhensible qu’une tentative avortée de programmation. Et puis, si à la relecture de votre texte, tout ne vous paraît par clair ou précis… peut-être est-ce aussi parce que votre idée d’indicateur n’est pas encore totalement aboutie.

Pour aller plus en avant, il vous suffit alors de traduire le texte dans la langue ProRealTime

Voilà une proposition du résultat final…

// Votre nom et prénom … 15.08.2010
// Mise à jour : 20.08.2010
// Idée : Identifier les points les plus hauts et les plus bas du marché… Utopie ?
// Comment : Variation de prix, avec un calcul d’un point de retournement sur 3 bougies
//
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum
// Plus de détails….. commenter votre idée au maximum

// Initialisation des variables.

ONCE SRH = undefined // Seuil de prix le plus haut.
ONCE SRL = undefined // Seuil de prix le plus bas.

ONCE PLH = undefined // Plafond “à la hausse”.
ONCE PLL  = undefined // Plancher “à la baisse”.

ONCE NewHDetect = 0 // Indicateur de phase de détection d’un plus haut… en cours
ONCE NewLDetect = 0 // Indicateur de phase de détection d’un plus bas… en cours

/////////////////////////////////////////
// Calcul d’un plus haut
/////////////////////////////////////////

// Etablir une condition de prix qui doit être remplie pour l’identification d’un plus haut.
// Condition de prix :
// Plus haut du jour inférieur au plus haut de la vielle.
// ET
// Plus haut de la veille supérieur au plus haut précédent.
// ET SURTOUT
// Absence d’une phase de détection et de calcul en cours.

 

// Si les trois conditions sont remplies … ou satisfaites… alors…
// Activation d’une phase de détection d’un plus haut.
// Calcul d’un plafond d’invalidation de la phase en cours.
// Valeur : Plus haut des deux précédentes bougies
// Calcul d’un plancher de confirmation.
// Valeur : Plus bas de la bougie en cours.

 

// Etapes …

IF NewH AND NOT NewHDetect THEN
// Détection validée d’un plus haut niveau de prix.
NewHDetect = 1
// Plafond d’invalidation :Prix du plus haut de référence (Plus haut précédentes 2 bougies).
PLH  = MAX(High[1], High[2])
// Plancher de confirmation : (“à enfoncer”) pour confirmation d’un retournement.
// Seuil de prix au plus bas de la bougie en cours pour validation du plus haut
NewHConf = Low
ENDIF

// Si les prix repartent à la hausse !!!
// Invalidation de la phase de détection d’un plus haut en cas d’une clôture supérieure au plus haut de référence.
// C’est à dire en cas d’un prix de clôture supérieur au plafond précédemment calculé (Plafond d’invalidation).

// OU

// Si les prix continuent à la baisse…
// Validation d’un retournement par clôture au dessous du plancher de confirmation
// Attribution au plafond de retournement de la valeur “Plus Haut” calculée.

// Si nous avons, en cours, la détection d’un plus haut.
IF NewHDetect = 1  Then 

// Invalidation !!

// Si le plus haut de la bougie en cours (en clôture) est supérieur au plafond d’invalidation
IF High > PLH THEN

// Invalidation d’un nouveau plus haut. Echec et nouvelle détection possible !!
NewHDetect = 0
ENDIF

// Confirmation !!
IF Close < NewHConf  Then

// Validation du seuil de retournement à la baisse (Plancher de confirmation)
SRH = PLH

// Permet la détection du plus haut suivant
NewHDetect = 0
ENDIF
ENDIF

///////////////////////////////////////
// Calcul d’un plus bas
///////////////////////////////////////

// ect….

//////////////////////////////////
// Mise à disposition du résultat
//////////////////////////////////

Return SRH as “Seuil Haut”

Et voilà le résultat !! Vous constaterez qu’il n’y avait que peu d’instructions ProRealTime à ajouter. Surement car la programmation est facilitée par la clarté de l’expression d’un besoin dans un langage simple et accessible à tous.

 

ou encore…

aie… vous avez fait ” copier / coller…. “

Et le résultat est plutôt… du genre…

C’est que je n’ai pas encore réussi à vous convaincre de l’utilité des commentaires et de l’importance, pour réussir en trading, de comprendre les indicateurs que vous utilisez Cool … Faites les trois changements en rouge ci dessous …

// Initialisation des variables.

ONCE SRH = undefined   // Seuil de prix le plus haut.
// ONCE SRL = undefined  // Seuil de prix le plus bas.

ONCE PLH = undefined  // Plafond “à la hausse”.
// ONCE PLL  = undefined // Plancher “à la baisse”.

ONCE NewHDetect = 0 // Indicateur de phase de détection d’un plus haut… en cours
// ONCE NewLDetect = 0   // Indicateur de phase de détection d’un plus bas… en cours

Quel travail fastidieux !!! Vous avez l’impression de perdre du temps ? Mais réfléchissez au bénéfice de cet effort, soit lorsque vous aurez besoin d’une aide pour finaliser votre code, soit lorsque vous reviendrez sur cette idée mise de coté il y a quelques mois.

Enfin, si vous êtes Trader, Programmeur et généreux, pensez que lorsque vous partagerez votre programme avec d’autres, qui comme vous au début… ou peut-être encore maintenant… ne savent pas lire les programmes, ils pourront comprendre et plus encore vous répondre et échanger avec vous de nouvelles idées…

Pour conclure, n’hésitez pas à solliciter notre aide ! prorealtime@trading-automatique.fr

Vous aurez des réponses professionnelles, c’est à dire rapides et efficaces.

G. Tardy 20.08.2010

gregoire.tardy@trading-automatique.fr

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>