Bonjour,
en UT Hebdo, je souhaite utiliser les PP TRIMESTRIELS notamment pour détecter les rebonds sur supports S1, MidS, S2 etc. J’ai trouvé le code ci-dessous sur Prorealcode mais certains mois les points sont légèrement décalés en hauteur et en longeur, ce qui fausse mes détections. En cas de PP décalés, ceux de PRT me paraissent plus fiables. Bref, je voudrais qu’il y ait exacte simulitude entre les PP PRT et les miens.
J’ai l’impression que le problème vient des barres prises en compte, pourtant la formule me parait excate. Ou le problème vient-il de la formule qui regroupe en blocs de 3 mois ?
Nota : je ne rencontre pas ce problème avec les PP maisons MENSUELS (pour le JOURNALIER) dont le code est similaire et est joint ci-dessous également.
Bref, je sèche, une idée ?
Extrait du Code PP TRIMESTRIELS (UT HEBDO) qui pose problème :
If month<>month[1] then
if month=4 or month=7 or month=10 or month= 1 then
trimestrialHigh = Highest[max(1,BarIndex - lasttrimestrialBarIndex)](High)[1]
trimestrialLow = Lowest[max(1,BarIndex - lasttrimestrialBarIndex)](Low)[1]
lasttrimestrialBarIndex = BarIndex
trimestrialPivot = (trimestrialHigh + trimestrialLow + Close[1]) / 3
endif
endif
Return trimestrialPivot coloured(255,255,0,200) as "Pivot 3M" etc
Extrait code PP MENSUEL (pour UT Jour) exctement similaire à celui de PRT :
If Month<>Month[1] then
MonthlyHigh = Highest[max(1,BarIndex - lastMonthBarIndex)](High)[1]
MonthlyLow = Lowest[max(1,BarIndex - lastMonthBarIndex)](Low)[1]
lastMonthBarIndex = BarIndex
MonthlyPivot = (MonthlyHigh + MonthlyLow + Close[1]) / 3
Endif
return MonthlyPivot coloured(255, 255, 0) as "0 H Pivot M" etc
Un grand merci !
Bonne journée.
Pourquoi ne pas plutôt utiliser vraiment le timeframe 3 mois pour obtenir les données OHLC et ainsi obtenir un calcul plus précis :
timeframe(3 months,updateonclose)
Ht3 = high[0]
Bs3 = low[0]
C3 = close[0]
Pivot3 = (Ht3 + Bs3 + C3) / 3
Res13 = (2 * Pivot3) - Bs3
Res23 = Pivot3 + Ht3 - Bs3
Res33 = Res13 + (Ht3 - Bs3)
Sup13 = (2 * Pivot3) - Ht3
Sup23 = Pivot3 - (Ht3 - Bs3)
Sup33 = Sup13 - (Ht3 - Bs3)
return pivot3, res13,res23,res33,sup13,sup23,sup33
Merci Nicolas,
J’avais déjà essayé ce code et viens de le reessayer mais il ne fonctionne toujours pas en UT HEBDO a priori puisque l’UT du code est supérieure (3 mois). Une fenêtre PRT m’indique “Toutes les unités de temps (timeframe) appelées dans le code doivent être des multiples de l’unité de temps dans laquelle vous exécutez la stratégie”.
Je sèche..
Voici une autre version, toujours le décalage ..
//Quarter
lookback = 1
if openmonth <> openmonth[1] and (openmonth = 1 or openmonth = 4 or openmonth = 7 or openmonth = 10) then
quarterhigh = Highest[max(1,BarIndex - lastBarIndex)](High)[1]
quarterlow = Lowest[max(1,BarIndex - lastBarIndex)](Low)[1]
quarterclose = close[1]
lastBarIndex = barindex
pivot = (quarterlow + quarterhigh + quarterclose) / 3
endif
return pivot
.. qui selon moi est logique : en effet, en unité de temps hebdomadaire, on ne peut pas savoir si durant la semaine un nouveau mois a commencé et donc calculer les Close / High / Low en conséquence. Evidemment, l’indicateur interne de la plateforme ne connaît pas ce problème et heureusement 🙂
Donc puisque mon UT souhaitées est l’hebdo, et qu’il faudrait prendre en compte des données journalières pour obtenir des privost trimestriels précis, mais qu’il nexiste pas de fontion “OpenDayOfMonth or …Quarter etc” ce que je veux faire n’ets pas possible.
Dommage car je constatais qu’en HEBDO ACTIONS les pivots TRIM et ANNUELS offraient souvent une bonne proba.
Il faudrait que PRT rajoute celà :).
Merci en tous cas Nicolas !!
ça n’est pas gênant selon moi, pourquoi tu ne lances pas ta stratégie en daily ? Il faudra adapter ton code bien entendu, mais tu pourras calculer avec précision les points pivots trimestriels et les trader comme tu voulais le faire.
Le Daily only est effectivement une solution que je n’écarte pas mais ça va me demander pas mal d’heure de recodage de mes 1500 lignes. Autre solution : sur le format date =XXXXYYZZ, n’y t’il pas moyen de d’isoler ZZ ? En fixant une condition par exmple à ZZ=01, j’isole premier jour du mois et sa clôture. Idem pour les 28/30/31 selon les mois ou années. Savez vous s’il existe une formule pour celà ? J’ai fait des essais mais ça ne fonctionne pas.