Aide programmation

Forum d'entraide ProRealTime : prise en main, réglages, indicateurs, programmation ProBuilder et ProOrder, astuces entre utilisateurs de la plateforme.
RicLg
Ewok
Messages : 13
Enregistré le : 04 févr. 2016 16:35

Aide programmation

Message non lu par RicLg »

Bonjour

Voila plusieurs jours que j'essaye d'améliorer un code, que j'ai trouvé sur un fameux site.
Je souhaite créer un indicateur qui reproduit un graphe, à l'identique du graphe gains-pertes généré par Probacktest.
Je n'y suis pas absolument pas parvenu.

J'utilise Probacktest en compte démo, la stratégie en journalier est:
Achat sur croisement haussier de la Mb7 et Mb15.
Vad sur croisement baissier Mb15 et Mb7.

Voici le code de de l'indicateur, le problème est que durant la période de vad, j'ai un traçage horizontale. Si des âmes charitables peuvent m'aider, je les remercie Mille Fois.
Merci, merci, merci...merci...

once cap=1000
MbCt=Average[7](close)
MbLt=Average[15](close)

if MbCt crosses over MbLt then
Position=1
elsif MbCt crosses under MbLt then
Position=-1
else
Position=0
endif

Rem Achat
if Position=1 then
nbr=round (cap/close)
cap=cap-(nbr*close) //-5
flag=1
ENDIF

Rem Vente
if Position=-1 then
flag=0
cap=cap+(nbr*close) //-5
endif

if flag=1 then
capital=cap+(nbr*close)
else
capital=cap
endif
return capital
GBL
Messages : 1
Enregistré le : 28 févr. 2016 21:18

Re: Aide programmation

Message non lu par GBL »

Bonjour,

Tout d'abord, je pense que le code peut être simplifié. Note : l'utilisation des balises CODE et /CODE est assez pratique pour insérer et visualiser du code sur un forum.

Code : #

once cap=1000 // ligne lue 1 seule fois : cap est initialisé à 1000

condition1 = Average[7](close) CROSSES OVER Average[15](close)  // simplification du code
condition2 = Average[7](close) CROSSES UNDER Average[15](close)  // simplification du code

// Achat
if condition1 then
nbr = round (cap/close)
cap = cap - (nbr * close)
flag = 1
endif

// Vente
if condition2 then
flag = 0
cap = cap + (nbr * close)
endif

if flag=1 then
capital = cap + ( nbr * close) 
capital = cap 
endif
return capital
Ensuite, j'ai du mal à comprendre cet algorithme. A quoi sert la variable "nbr" ? A quoi sert-il de lui affecter l'arrondi d'un rapport d'un cumul et du prix de clôture ?

De plus, il y a bien des sections "Achat" et "Vente" mais à quoi servent-elles ? De même, quel est l'intérêt de la variable d'état "flag" ?

Si le code était davantage commenté, je pourrais comprendre plus facilement.

Merci pour tes commentaires éventuels.

G-B-L.
RicLg
Ewok
Messages : 13
Enregistré le : 04 févr. 2016 16:35

Re: Aide programmation

Message non lu par RicLg »

Bonsoir à Tous

Tout d'abord merci GBL pour l'intêret porté à mon post, de l'aide proposée, et les remarques justifiées concernant le code. Comme je l'ai signalé dans mon premier post, je n'en suis pas l'auteur, et je n'ai pas la compréhension complète de son approche. ( le propriétaire du code).
Le code semblait répondre à mon besoin sur le moment, et au final il ne répondait qu'en parti.
Pour rappel ma recherche à pour objectif de créer un indicateur ayant pour résultat le traçage d'une courbe de Gains&Pertes, à l'identique que celle générée par Probaktest.

J'ai donc abandonné le code mentionné dans le forum et essayé d'entreprendre ma propre programmation pour atteindre l'objectif,
C'est encore en cours de réflexion et de développement.

Mon intention n'est nullement de faire de la publicité et Je ne sais pas s'il est autorisé de mentionner le nom d'un site extérieur au forum, mais simplement pour signaler qu'une file de discussion est entamée et que le code de ma recherche est à disposition à la communauté.

En attendant d'avoir la réponse à mon interrogation, je reste en standby malheureusement sur ce post.

A bientôt