Bonjour à tous,
Le but de ce thread est de lister les limitations pour développer des indicateurs sous ProRealTime. Peut être que cela peut aider les nouveaux venus à connaître les problèmatiques classiques avant de se plonger dans du code complexe (ou pas).
Pour l’instant de mon côté après 5-6 jours d’utilisation et une vingtaine d’indicateurs développés, voici les limitations :
- Pas de déclaration/utilisation de tableaux possible (extrêmement limitant / véritable point noir)
- Pas de fonction Power du type Power(nombre, exposant)
- Pas de fonction Median() et j’ai du mal à voir comment faire sans tableau
- Difficulté de créer facilement des fonctions (indicateurs) et de les appeler dans d’autres indicateurs
- Pas de fonction Floor() et Ceil() mais Round() à la place
Voilà n’hésitez pas à continuer la discussion pour essayer de lister tous les points dérangeant pour les développeurs d’indicateurs.
On a tous en tête la même liste en effet 🙂
Pour la fonction Power, voilà plusieurs alternatives : https://www.prorealcode.com/topic/mathematical-functions/
Pour la fonction Median(), en effet sans tableau c’est plutôt délicat. Personnellement, j’en ai jamais eu besoin.
Pour Floor et Ceil, j’ai créé des fonctions mais c’était pour un client si je me souviens bien donc je ne pourrai pas partager.
Les tableaux c’est un manque en effet et pas seulement pour les indicateurs, ça finira par arriver sans aucun doute !
Les tableaux c’est un manque en effet et pas seulement pour les indicateurs, ça finira par arriver sans aucun doute !
Tu crois? Je trouve des articles de blog d’une dizaine d’années qui indiquent déjà le problème! 🙁
Bien sur puisque ça n’a jamais existé et PRT existe depuis 15 ans. Si on compare l’évolution du langage et de la plateforme depuis 1 ou 2 ans, on peut être confiant sur les futures améliorations à venir. Je pense que les tableaux ne sont pas prioritaire pour le moment dans leur dev list, pour en avoir parlé avec PRT il y a quelques mois.
Merci pour toutes ces infos! Tu as une idée des axes prioritaires?
Encore merci pour ton forum, il est vraiment chouette 🙂
Le support multi timeframe pour ProOrder accompagné d’un nouveau moteur de données. Il n’y a pas que ça bien entendu, mais ce sont les choses les plus proche d’une release pour le moment.
Bonjour,
Voici un code que je viens de faire pour Floor & Ceil, à améliorer et transformer en fonction(s).
Sinon, les tableaux manquent cruellement…
Philippe
// Pepsmile
// myVar est la valeur à arrondir
myVar = 45.31
// DecAr indique le niveau d'arrondi souhaité, dizaines ou décimales
DecAr = 0.1
//test 1 fois (puisqu'il n'existe pas de "ONCE" applicable à plusieurs lignes à la fois)
if barindex = 1 then
if DecAr = 0 then
InvDec = 1
else
InvDec = 1/DecAr
endif
endif
Floor = round(InvDec*myVar-0.5)/InvDec
Ceil = round(InvDec*myVar+0.5)/InvDec
return myVar as "myVar",Floor as "Floor",Ceil as "Ceil"
On peut rajouter l’absence de la fonction LOG() qui est en fait LN().
Donc absence d’une réelle fonction LOG().
Sous PRT LOG(a), Mathematical function “Neperian logarithm” of ‘a’ value.
Pour avoir le vrai LOG(a)
Il faut faire
LogA = LOG(a) / LOG(10)
Tout à fait Laurenzo.
D’ailleurs on pourrait utiliser le LOG(a) pour déterminer le nombre de décimales voulues pour Floor/Ceil ci-dessus à la méthode Excel/VBA, sauf qu’à la fois la “lisibilité” en prendrait un coup et la possibilité utile (pour le DAX par exemple) d’avoir des arrondis pour les dizaines serait moins “naturelle”, sans compter que les calculs seraient plus gourmands en ressources. Keep It Simple & Stupid