Bonjour,
En utilisant ces quelques lignes de code ci-dessous j’arrive à peu de choses près à calculer la valeur d’un pivot M, d’une résistance R1M et ainsi de suite.
A “peu de choses près” car j’ai toujours un écart que je ne m”explique pas entre l’indicateur standard des points Pivots sur la plateforme PRT et ce que me retournent ces quelques lignes de code.
C’est souvent un écart de quelques points mais cela reste gênant. En pièce jointe une capture d’écran du paramétrage des points pivots dans la plateforme.
En vous remerciant pour votre éclairage,
// Calcul du pivot M
If Month<>Month[1] then
monthlyHigh = Highest[BarIndex - lastMonthBarIndex](High)[1]
monthlyLow = Lowest[BarIndex - lastMonthBarIndex](Low)[1]
lastMonthBarIndex = BarIndex
monthlyPivot = (monthlyHigh + monthlyLow + Close[1]) / 3
monthlyR1 = 2*monthlyPivot - monthlyLow
Endif
Alors je viens de vérifier comme un grand et mon problème vient apparemment de la variable Close[1] qui n’est pas calé sur le timeframe Monthy mais sur mon UT de travail.. Ma question du coup est comment avoir la cloture du mois précédent, quelle que soit l’UT dans laquelle on travaille?
Suite de mes recherches, j’utilise à présent le MTF pour récupérer en Monthly mes calculs de pivot mais… je n’accède pas à la cloture de la bougie du mois N-1 (en fait le mois qui vient juste de clôturer).
Ca marche pour N-2 et plus mais ce n’est pas ce que je veux.
Y a t’il quelque chose que je fais de faux?
timeframe(monthly, updateonclose)
Once lastMonthBarIndex = 0
Once monthlyHigh = undefined
Once monthlyLow = undefined
Once monthlyPivot = undefined
Once monthlyR1 = undefined
Once monthlyR2 = undefined
// Calcul du pivot M
If Month<>Month[1] then
monthlyHigh = Highest[BarIndex - lastMonthBarIndex](High)
monthlyLow = Lowest[BarIndex - lastMonthBarIndex](Low)
lastMonthBarIndex = BarIndex
monthlyPivot = (monthlyHigh + monthlyLow + Close) / 3
monthlyR1 = 2*monthlyPivot - monthlyLow
monthlyR2 = monthlyPivot + (monthlyHigh - monthlyLow)
graph Close
Endif
timeframe(default)
Je crois que je viens de comprendre un truc car très souvent les autres mois sont bien calculés.
Je travaille sur Allemagne 30 (1€) et en fait pour 1 mois (juin 2020) il considère que le close du mois n-1 (mai 2020) est l’ouverture du mois suivant (juin 2020).. comme s’il avait intégré le gap sur la bougie n-1.
Ou bien j’ai écris quelque chose de faux dans mon programme? Une variable à réinitialiser peut-être? En preloadbar j’ai 10000..
Si tu veux utiliser le timeframe monthly, inutile d’utiliser le code qui va chercher lui même les hauts/bas/close comme tu le fais, utilise simplement les données OHLC de ce timeframe :
timeframe(monthly, updateonclose)
mPivot = (High + Low + Close) / 3
Merci Nicolas 🙂
Je me faisais la réflexion ce matin à ce sujet, et vous répondez du coup à cela.
Des que mon Walk Forward termine je modifie mon code.