ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...

Garder une valeur en mémoire

par layzard » 29 janv. 2015 19:15

Bonjour à tous,

Malgré recherches je ne trouve point réponse. Voici la situation :
Je suis en train de coder un indicateur et lorsqu'il dépasse une certaine valeur je souhaiterai garder la valeur du prix du sous-jacent en mémoire.
Comment faire ?

Je suis parti sur quelque chose dans le style :
IF indicateur > 2 THEN
valeur = Close
ENDIF

Le problème c'est que si la Bougie suivant vérifie encore la condition, valeur va changer alors que je souhaite qu'elle reste la même jusqu'à ce qu'une autre condition se vérifie.

Bon(s) trade(s) et merci d'avance !
++
layzard

Re: Garder une valeur en mémoire

par bzumell1 » 29 janv. 2015 20:57

Tu ajoutes un compteur.

#initiatlisation
compteur=0
.../...
IF indicateur > 2 AND compteur = 0 THEN
valeur = Close
compteur = compteur + 1
ENDIF

Re: Garder une valeur en mémoire

par Mister Hyde » 29 janv. 2015 21:01

layzard a écrit : Le problème c'est que si la bougie suivant vérifie encore la condition, valeur va changer alors que je souhaite qu'elle reste la même jusqu'à ce qu'une autre condition se vérifie.
Tu viens de donner la réponse, il faut que dans ton IF THEN tu rajoutes cette condition.

Re: Garder une valeur en mémoire

par frigolite » 29 janv. 2015 22:17

J'ai trouvé un très, trop, bon moyen de garder en mémoire une valeur, celle de mon capital il y a 6 mois. :)

Re: Garder une valeur en mémoire

par layzard » 30 janv. 2015 00:45

@frigolite Haha !
Spoiler:
frigolite a écrit :J'ai trouvé un très, trop, bon moyen de garder en mémoire une valeur, celle de mon capital il y a 6 mois. :)
@Mister Hyde bzumell1Merci pour vos réponses rapides.
J'ai réussi à faire ce que je souhaitais, voici le code pour les prochains qui en auront besoin :

Code : #

compteur = 1
condition1 = [...] // Il est très important de noter que je fais la structure suivante car //condition 1 est plus "simple" à obtenir que condition2 i.e. la condition la plus simple doit ////être en première
condition2 = [...]
WHILE condition1 DO
WHILE condition2[compteur] DO
[...]
compteur = compteur + 1
WEND
BREAK
WEND
En espérant avoir été clair...
Encore merci à vous :mercichinois:

Re: Garder une valeur en mémoire

par ladefense92800 » 12 mars 2015 22:05

je relance un peu la file , en fait je pensait que le code de layzard faisait ce que je pensait mais non ....

En fait ce que voudrait obtenir c est ce que l ' on voit sur ces deux graphiques de la file de teg .... que je vous met a la suite
epargne63.jpeg
epargne63.jpeg (44.76 Kio) Vu 1570 fois
epargne62.jpeg
epargne62.jpeg (33.14 Kio) Vu 1570 fois

ce que je voudrait reproduire c est l espece de highest ( en rouge ) que l on voit sur le graph des prix .

comment ça marche :

- si rsi superieur a 70 je prend max (open,close)

- si rsi repasse en dessous de 70 je garde le derniere valeur lorsque rsi etait superieur a 70 .

j ai deja demandé de l aide sur un autre site mais sans succes .

En fait j ai deja produit quelque chose mais ça me donne souvent un boucle sans fin .

quelques codes qui marche pas :

Code : #

condition = rsi>70
WHILE condition  DO
signal=max (open,close)
if rsi>70 then
signal=signal[1]
continue
break
endif
WEND
RETURN signal

Code : #

compteur = 0
condition = rsi>70
signal=max (open,close)
WHILE condition  DO
signal=signal

if rsi>70 then
signal=signal[compteur]
compteur = compteur + 1
continue
break
endif
WEND
RETURN signal

Re: Garder une valeur en mémoire

par Arnaud_vh » 12 mars 2015 23:45

Je regarderai peut être le détail de ton problème plus tard mais en tout cas trois choses
- Utiliser une instruction genre Continue ce n'est pas sérieux si on veut programmer proprement, idem pour break
- Si tu utilises un if, tu dois mettre un else sinon ça veut dire que tu ne maitrises pas ce qui se passe voir que tu n'y as pas réfléchis
- Avoir Continue et Break à la suite, à mon avis ça ne doit pas faire ce que tu attends car le break n'est jamais exécuté

Cela dit je suis le premier à râler contre les limitations du langage prt

Re: Garder une valeur en mémoire

par ladefense92800 » 12 mars 2015 23:58

Arnaud_vh a écrit :Je regarderai peut être le détail de ton problème plus tard mais en tout cas trois choses
- Utiliser une instruction genre Continue ce n'est pas sérieux si on veut programmer proprement, idem pour break
- Si tu utilises un if, tu dois mettre un else sinon ça veut dire que tu ne maitrises pas ce qui se passe voir que tu n'y as pas réfléchis
- Avoir Continue et Break à la suite, à mon avis ça ne doit pas faire ce que tu attends car le break n'est jamais exécuté

Cela dit je suis le premier à râler contre les limitations du langage prt
vu comme ça tu as raison ...........mais la tu as juste les derniers codes que j ai ecrit , avant je suis passe par pleins pleins de versions .


je regarderait pour le continue et le break et le reste , mais si j ai mis " continue" et "break " c est que ça devait me dire "boucle sans fin" deja ........ :D

toutes les aides sont les bienvenues . :mercichinois:

je me considere comme un codeur amateur ( c est a dire qui " aime " ) et je doit bien l avouer assez peu doué ...

Re: Garder une valeur en mémoire

par Arnaud_vh » 13 mars 2015 00:10

Une boucle while bien écrite elle s'articule autour de conditions que tu maîtrises dans la boucle genre un compteur ou un booléen. Si tu te plantes avec continue c'est la boucle infinie garantie vu que des que tu atteins cette instruction tu recommences la boucle au début.
En fait je viens de regarder la doc pro builder et même leur exemple pour le continue il est mal écrit (il fonctionne hein mais ce n'est pas bien lisible). Le break devrait être dans le else qu'ils ont omis. Alors oui ça fait exactement la même chose mais s'il avait mis un else il n'y avait pas besoin de continue et on voyait tout de suite la logique du truc ->
SI condition ALORS on reste dans la boucle SINON on sort de la boucle FINSI

Re: Garder une valeur en mémoire

par ladefense92800 » 13 mars 2015 00:26

SI condition ALORS on reste dans la boucle SINON on sort de la boucle FINSI
ça a l air bien ça je vais voir demain ... :top:

Sujets similaires
Levier, Valeur du point VS valeur du contrat.
Fichier(s) joint(s) par Futtrader2000 » 27 mars 2020 12:24 (14 Réponses)
Afin de garder un forum agréable et clair
Fichier(s) joint(s) par Amarantine » 08 mai 2015 21:18 (47 Réponses)
Garder son paper trading?
par esyfinances » 28 mai 2015 19:34 (17 Réponses)
Garder uniquement le nuage d'Ichimoku
par plataxis » 16 févr. 2016 21:49 (1 Réponses)
Garder des actions pour leurs dividendes : pour ou contre ?
par Pierre02 » 31 mars 2016 20:00 (10 Réponses)
Garder un moral béton en Automne.
par Benoist Rousseau » 16 oct. 2017 09:48 (2 Réponses)
Comment garder ses lignes en changeant d'unité de temps.
Fichier(s) joint(s) par smop » 08 nov. 2017 12:32 (10 Réponses)
ISF : garder ou supprimer l'ISF ?
par Benoist Rousseau » 07 déc. 2018 16:18 (72 Réponses)
Garder ses gains
par Amarantine » 27 juil. 2019 17:23 (6 Réponses)
Garder une bonne position ou la vendre?
par Frath » 19 mars 2020 15:41 (2 Réponses)