La valeur de Signal est égalee à 1 ou -1, il suffit de changer ces valeurs à convenance.
Bonjour Oraclus et Nicolas
Je trouve cette idée d’indicateur excellente mais je n’arrive pas a retrouver la même chose avec cet indicateur que j’ai appelé mon indicateur PRT2.J’ai mis en copie ce que j’obtiens qui ne correspond pas à l’indicateur programmé par Nicolas.Je ne sais pas pourquoi.Exemple capgemini.
Désolé, je n’avais pas inclut de test pour savoir si on avait déjà cassé durant la tendance actuelle, le code ci-dessous corrige cette lacune:
up = PRTBandsUp
dn = PRTBandsDown
//le prix casse la bande supérieure
if close crosses over up and trend <= 0 then
trend = 1
//ou la bande inférieure
elsif close crosses under dn and trend >= 0 then
trend = -1
endif
//reinitialise les valeurs hautes et basses et enregistre les précédentes
if trend<>trend[1] then
if trend = 1 then
prevmax=maxtrend
maxtrend=0
else
prevmin=mintrend
mintrend=close*1000
endif
endif
//enregistre les valeurs hautes et basses en temps réel
if trend=1 then
maxtrend=max(maxtrend,high)
else
mintrend=min(mintrend,low)
endif
//cassure du plus haut/bas de la précédente tendance
if trend=1 and close crosses over prevmax and signalprice<>prevmax then
signal=1
signalprice=prevmax
elsif trend=-1 and close crosses under prevmin and signalprice<>prevmin then
signal=-1
signalprice=prevmin
else
signal=0
endif
return signal
Bonjour
J’ai testé sur Michelin, on dirait qu’il manque le signal sur la cassure du 9 Nov. J’ai pensé à
//cassure du plus haut/bas de la précédente tendance //
if trend=1 and (close crosses over prevmax or low<prevmax and high>prevmax ) and signalprice<>prevmax then
Salut à tous
Très intéressant
il semblerait quand même que le 2e signal Michelin soit un faux signal, non?!
Bien présent pour ma part sur Michelin, code modifié ?
Bonjour Nicolas et bonjour à tous.
Merci pour ce forum et les échanges.
Je début sur le code de PRT, et ma faible expérience est du code en VBA il y a maintenant plus de 15 ans.
J’ai une question basique (concernant le code de PRT bands) accompagnée d’une question de fond.
La question de fond : Où peut on trouver des éléments de formation sur la syntaxe du code ?
La question basique :
Sur le code basique de détection de tendance j’aimerai pouvoir récupérer les informations des actions qui ont changé de tendance, avec un offset. Ca me donne le code ci-dessous, mais ça ne me renvoie rien alors que je sais qu’il y avait des actions concernées. Il y a probablement une erreur de syntaxe. Question subsidiaire de syntaxe, pourquoi le “wtrend=1” ne peut pas être changé en “wtrend[1]” dans la condition du “If”. 2ème question subsidiaire. Si je veux déclarer l’offset en variable locale, j’imagine que je peux la déclarer en haut avec offset = X (X étant un nombre) et ensuite mettre l’offset entre les crochets [offset] et mettre [offset+1] pour ma deuxième condition de screener.
Merci pour vos retours.
up = PRTBAndsUp
dn = PRTbandsDown
timeframe (weekly)
If close[1] crosses over up[1] and wtrend[1] <=0 then
wtrend= 1
elsif close[1] crosses under dn[1] and wtrend[1] >=0 then
wtrend=-1
endif
screener [wtrend[1]=1 and wtrend[2]=-1]
Pour apprendre à programmer avec ProRealTime, il y a myriades d’exemples sur le site 🙂 Mais il y a la formation en français aussi: https://www.prorealcode.com/courses/premiers-pas-avec-la-programmation-pour-prorealtime/ et l’ensemble de la documentation en ligne avec les instructions détaillées: https://www.prorealcode.com/prorealtime-documentation/
Tu peux en effet déclarer ton offset en variable comme tu le proposes, aucun problème.
Merci pour les sources d’information !
Concernant la syntaxe dans mon exemple, est il de possible de préciser ce qui mène à l’absence de retour du test (problème probable de syntaxe) et pourquoi le wtrend après le “then” n’acceote pas l’offset ?
Merci.
Pour débugger un screener, la manière la plus simple est de le transformer en indicateur, peut être que ça te mènera sur la piste :
up = PRTBAndsUp
dn = PRTbandsDown
If close[1] crosses over up[1] and wtrend[1] <=0 then
wtrend= 1
elsif close[1] crosses under dn[1] and wtrend[1] >=0 then
wtrend=-1
endif
return wtrend[1],wtrend[2]
Bonjour Nicolas,
Est-il possible de mettre à disposition sous la forme “PRTBandsSpeed” l’indicateur de vitesse qui est actuellement disponible en UT hebdo et sous forme graphique uniquement ?
Comme il s’agit d’un faisceau de courbes, on prendra la courbe la plus proche du cours actuel en par exemple celle en dessous du cours ou bien un calcul actualisé au dernier close, par exemple.
Ca serait bien de le rendre disponible sur toutes les UT.
Merci par avance,
Cordialement,
Pascale
L’indicateur original n’ayant pas été conçu de cette manière, je ne pense pas qu’il sera modifié (ajouter des faisceaux en d’autres TF que le weekly).
Bonsoir Nicolas,
Peux t’on isoler le code qui reproduit les ronds bleus sur les prix, et seulement lui pour pouvoir l’ajouter à un autre indicateur ?
merci de ton retour, bonne soirée.
Non il n’y a pas d’instruction pour récupérer ces ronds bleus, toutefois j’ai fait la demande pour l’ajouter.
merci Nicolas, bon dimanche