Bonsoir tout le monde,
J’ai essayé de passer une variable décimale vers le 14ème variable qui est aussi déclarée comme décimale (MyOHLCratio) dans mon indicateur caché. mon algo bouble sans fin (pendant plus de 5 minutes), dès que je change ma 14ème variable en nombre entier, ou en valeur décimale, tout passe (éxécution en 2 secondes)
Je travaille en système français, le point décimal est la virgule. Est ce que c’est là, le problème.
Merci de vos lumières.
MyOHLCratio = Close * 0.17
MyOHLCratioRounded = Round(MyOHLCratio, 0)
//Graph MyOHLCratio Coloured(0,0,0) As "My OHLC Ratio"
//Graph MyOHLCratioRounded Coloured(0,0,0) As "My OHLC Ratio Rounded"
//-----Pose Premier SL 45 pts dès ACHAT----
Slstart = Close + (Close * 0.3 / 100) //Pose Premier SL
Set Stop %Loss 0.4
//-----Seuil de déclenchement du BE (12 pts)-----
TrailingStart = Close * 0.1 / 100
TSstep = Close * 0.25 / 100 //Step (Ex : NQ=25 pts)
TimeFrame(15 Minutes)
//-----OHLC-----
My15MnOpen = Open
My15MnHigh = High
My15MnLow = Low
My15MnClose = Close
//-----OHLC-----
//-------- Appel du Sous Programme --------
My15MnCalledR0, My15MnCalledR1, My15MnCalledR2, My15MnCalledR3, My15MnCalledR4, My15MnCalledR5, My15MnCalledR6, My15MnCalledR7, My15MnCalledR8, My15MnCalledR9, My15MnCalledR10 = CALL "P11_HA_515_Called"[10, 15, 2, 0, 515, BBrange, 10, 1, 0, 9, 9, 9, 9, MyOHLCratio]
En programmation, les décimales sont toujours avec un point.
Donc si je comprends bien lorsque tu passes la variable MyOHLCratio, le temps de calcul est plus long.
On peut essayer de réduire la quantité de décimales uniquement à celles utiles en utilisant la quantité de décimales de l’instrument en cours, avec :
MyOHLCratio = round(Close * 0.17,decimals)
Idem
Le problème de lenteur est toujours là, ça boucle à l’infini
Par contre, lorsque je renseigne la 14ème variable en valeur constante comme 14.75 ou 15, là ça passe en 2 secondes
Ci-dessous, l’exemple :
//-------- Appel du Sous Programme --------
My15MnCalledR0, My15MnCalledR1, My15MnCalledR2, My15MnCalledR3, My15MnCalledR4, My15MnCalledR5, My15MnCalledR6, My15MnCalledR7, My15MnCalledR8, My15MnCalledR9, My15MnCalledR10 = CALL "P11_HA_515_Called"[10, 15, 2, 0, 515, BBrange, 10, 1, 0, 9, 9, 9, 9, 14.75]
Le problème existe t’il toujours en version 12 ? On avait un problème similaire sous ProScreener en v11 mais résolu en v12, même si il ne s’agit pas d’un screener ici ..
Idéalement il faudrait lancer un ticket support à travers la plateforme ou éventuellement partager le code complet, pour rechercher la cause, merci.