Bonjour,
Je cherche à intégrer à mes graphes en UT 1 minute des Points Pivots Camarilla calculés sur les 60 dernières minutes (avec la possibilité de le faire en n périodes au choix: 120 /240 min/360 min)
Par exemple : Utilisation des datas de 08h00 pour les Pivots Camarilla de 09h00 etc, avec les lignes tracées tout au long de la journée.
A la suite de la suggestion de Nicolas, j’ai intégré un code dans un autre.
Merci à Smoke pour son code… 😉
Bon, ben j’ai quelque chose… Mais ça donne un résultat non satisfaisant.
Est- ce que quelqu’un peut m’aider à la conception de cet indicateur ?
// Variable Pivots
// by Smoke revisited by Choliver
// Zeitvariable
myStartHour = 1
myStartMinute = 0
myEndHour = 15
myEndMinute = 0
// umrechnung Zeit
start = (myStartHour * 10000) + (myStartMinute * 100)
ende = (myEndHour * 10000) + (myEndMinute * 100) + 1000
// Hoch-Tief-Close Berechnung
Once myHigh = 0
Once myLow = 1000
If (Day > Day[1]) Then
myLow = Low
myHigh = High
myClose = Close
Endif
If (Time >= start) Then
myClose = Close
If High > myHigh Then
myHigh = High
Else
myHigh = myHigh[1]
Endif
If (Time > ende) Then
myHigh = myHigh[1]
myClose = myClose[1]
Endif
If Low < myLow Then
myLow = Low
Else
myLow = myLow[1]
Endif
If (Time > ende) Then
myLow = myLow[1]
Endif
Endif
If Time >= ende Then
PP = myClose//PP = Previous Day's Close
R1 = ((myHigh-myLow) * 1.1)/12+myClose
RR2 = ((myHigh-myLow)*1.1)/6+myClose // Note: RR2 is used instead of R2 since R2 is the symbol for "R squared" in probuilder language.
R3 = ((myHigh-myLow)*1.1)/4+myClose
R4 = ((myHigh-myLow)*1.1)/2+myClose
S1 = myClose-((myHigh-myLow)*1.1)/12
S2 = myClose-((myHigh-myLow)*1.1)/6
S3 = myClose-((myHigh-myLow)*1.1)/4
S4 = myClose-((myHigh-myLow)*1.1)/2
Endif
RETURN PP COLOURED(0,0,0) AS "CAMA PP" , R1 COLOURED(155,155,155) AS "CAMA R1" , RR2 COLOURED(0,0,255) AS "CAMA R2" , R3 COLOURED(0,180,0) AS "CAMA R3" , R4 COLOURED(255,0,0) AS "CAMA R4" , S1 COLOURED(155,155,155) AS "CAMA S1" , S2 COLOURED(0,0,255) AS "CAMA S2" , S3 COLOURED(0,180,0) AS "CAMA S3" , S4 COLOURED(255,0,0) AS "CAMA S4"
Le code ci dessus donne le graphe ci-joint.
Le second graphe est ce que je fais manuellement et que je souhaite automatiser.
Toute aide est la bienvenue.
A suivre… 🙂
Bonjour à tous,
J’exhume cette file.
Je viens de tenter une autre option sur le code précédent (voir ci dessus), mais le résultat n’est toujours pas correct…
Comment pouvoir intégrer les PP Camarilla en intra day sur les n dernières bougies (heure ou min ou sec) ?
Ce n’est pourtant pas compliqué :
Souhait:
A partir de 08h00 et jusque 20h00 par exemple : prendre les extrêmes des 30 dernières bougies soit +Haut et +Bas, ainsi que le Close à l’issue de la période (n=30) comme base de calcul et tracer les PP Camarillas, ainsi de suite tout au long de la journée par tranche de 30 bougies.
Voici une partie de code qui ne fonctionne toujours pas.
REM Camarilla Pivot Points intra day
n=30
Myrange= Range[n]
cl = close[1]
R1 = (Myrange* 1.1)/12+cl
RR2 = (Myrange*1.1)/6+cl
R3 = (Myrange*1.1)/4+cl
R4 = (Myrange*1.1)/2+cl
S1 = cl-(Myrange*1.1)/12
S2 = cl-(Myrange*1.1)/6
S3 = cl-(Myrange*1.1)/4
S4 = cl-(Myrange*1.1)/2
RETURN R1 AS "CAMA R1" , RR2 AS "CAMA R2" , R3 AS "CAMA R3" , R4 AS "CAMA R4" , S1 AS "CAMA S1" , S2 AS "CAMA S2" , S3 AS "CAMA S3" , S4 AS "CAMA S4"
Avec un résultat erroné suivant, en graphe NQ 10 sec.
Le résultat visuel souhaité est sur mon premier message de 2018 graphe n°2 😉
Le code est d’ailleurs sûrement plus orthodoxe.
Merci pour le coup de main.
Bon début de semaine à venir.
A tester, brut de décoffrage… faire varier n, displaystart et displayend… customiser avec style de ligne et couleurs…
// PRC Camarilla Pivot Points intra day
// 04.10.2020
// Noobywan @ www.prorealcode.com
// Sharing ProRealTime Knowledge
// Forum ProBuilder user request
n=30 // or 60 or 120 or... // or as parameter
displaystart=080000 // or as parameter
displayend=220000 // or as parameter
if opentime=displaystart then
barstart=barindex
endif
if barindex=barstart+n or barindex=barchange+n then
barchange=barindex
myhigh=highest[n](high)[1]
mylow=lowest[n](low)[1]
myclose=close[1]
endif
if opentime>=displaystart and opentime<displayend and barindex>=barstart+n then
PPcama=myclose
R1cama=((myhigh-mylow)*1.1)/12+myclose
R2cama=((myhigh-mylow)*1.1)/6+myclose
R3cama=((myhigh-mylow)*1.1)/4+myclose
R4cama=((myhigh-mylow)*1.1)/2+myclose
S1cama=myclose-((myhigh-mylow)*1.1)/12
S2cama=myclose-((myhigh-mylow)*1.1)/6
S3cama=myclose-((myhigh-mylow)*1.1)/4
S4cama=myclose-((myhigh-mylow)*1.1)/2
else
PPcama=0
R1cama=0
R2cama=0
R3cama=0
R4cama=0
S1cama=0
S2cama=0
S3cama=0
S4cama=0
endif
RETURN PPcama AS "CAMA PP", R1cama AS "CAMA R1", R2cama AS "CAMA R2", R3cama AS "CAMA R3", R4cama AS "CAMA R4", S1cama AS "CAMA S1", S2cama AS "CAMA S2", S3cama AS "CAMA S3", S4cama AS "CAMA S4"
Bon matin,
Alors là, chapeau !
Je teste.
A première vue, cela me semble exactement ça. 🙂
Mon pseudo “code” était loin de ce résultat.
Merci à toi Noobywan.
Excellent début de semaine.
Choliver
Bonjour,
Juste une question.
Avec le test de 2 jours, je m’aperçois que le calcul des PP Camarilla s’effectuent avec un décalage certain de quelques min, sec.
Même si je change le n(90) par 89 ou que je débute la session à 075910 sur le graphe en 10 secondes, les calculs s’effectuent en décalé par exemple :
NQ cfd : 14h09 puis 14h22,40
Dax cfd : 14h16,40
Comment faire pour avoir des PP Camarilla qui se tracent à heure fixe chaque 15 min ? ( 14h00 – 14h15 – 14h30 etc)
Y a -t-il une ligne à modifier/enlever/ rajouter ?
Merci pour le coup de main.
En l’absence de capture écran spécifique pour mieux aider à être aidé, je ne peux que faire des hypothèses, la plus probable étant que sur un timeframe aussi petit que le 10 secondes, tu as eu des “barres vides”, pour lesquelles le barindex ne s’incrémente pas, ce qui va décaler le moment où les n bougies de la demande sont atteintes.
Soit on veut une variation toutes les n bougies indépendamment de l’heure, soit on veut garder le contrôle de l’horaire même si n n’est pas constant dans chaque période (et même là, espérer que l’heure fixe ne tombe pas sur une de ces barres vides).
Tu as raison, voici un graphique en 10 sec Dax. Désolé.
Je confirme ton hypothèse en étudiant le premier décalage de la matinée sur le Dax.
A partir de 09h00, je constate au fur et à mesure, des bougies absentes de cotations.
Le décalage s’amplifie pour aller jusqu’à 1 min 10 sec à 16h00 soit 7 fois 10 sec sans cotation depuis 09h00 ce matin.
A moi de voir quand il est plus pertinent de faire démarrer le calcul, voir de le “recaler” au fur et à mesure de la journée (périodes plus volatiles…) ou encore de prendre un TF plus large (30 sec – 1min).
Merci pour ton point de vue neuf.
Autre version où au lieu de jouer avec un n nombre de barres quelconque, tu choisis parmi quelques cas simples n=15,30,60,120,240 en minutes, que le programme devrait savoir gérer sans avoir besoin de créer une usine à gaz compensant l’absence de math-horaire dans la version actuelle de PRT (en espérant que ça vienne dans une version ultérieure) pour faire avec n’importe quel n, libre à toi de rajouter d’autres cas de “if n=…”
Avec cette version tu ne devrais pas avoir de décalage en cas de barres vides pour les n jusqu’à une heure aussi petite que soit ton ut. Pour les grands n (2h, 4h) j’ai paré au plus pressé mais pas forcément au plus robuste en cas de barre vide au moment clé.
// PRC Camarilla Pivot Points intra day
// 04.10.2020 mod 06.10.2020
// Noobywan @ www.prorealcode.com
// Sharing ProRealTime Knowledge
// Forum ProBuilder user request
n=15 // choisir parmi 15, 30, 60, 120 ou 240 minutes
//
displaystart=080000
displayend=220000
//
if n=15 then
changebarre= openminute[1]>openminute or (openminute[1]<15 and openminute>=15) or (openminute[1]<30 and openminute>=30) or (openminute[1]<45 and openminute>=45)
deltamin=1500
elsif n=30 then
changebarre= openminute[1]>openminute or (openminute[1]<30 and openminute>=30)
deltamin=3000
elsif n=60 then
changebarre= openminute[1]>openminute
deltamin=10000
elsif n=120 then
deltamin=20000
changebarre= (opentime mod deltamin = 0)
elsif n=240 then
deltamin=40000
changebarre= (opentime mod deltamin = 0)
endif
//
if changebarre then
stoque=barchange
barchange=barindex
myhigh=highest[barchange-stoque](high)[1]
mylow=lowest[barchange-stoque](low)[1]
myclose=close[1]
endif
//
if opentime>=displaystart+deltamin and opentime<displayend then
PPcama=myclose
R1cama=myclose+(myhigh-mylow)*1.1/12
R2cama=myclose+(myhigh-mylow)*1.1/6
R3cama=myclose+(myhigh-mylow)*1.1/4
R4cama=myclose+(myhigh-mylow)*1.1/2
S1cama=myclose-(myhigh-mylow)*1.1/12
S2cama=myclose-(myhigh-mylow)*1.1/6
S3cama=myclose-(myhigh-mylow)*1.1/4
S4cama=myclose-(myhigh-mylow)*1.1/2
else
PPcama=0
R1cama=0
R2cama=0
R3cama=0
R4cama=0
S1cama=0
S2cama=0
S3cama=0
S4cama=0
endif
RETURN PPcama AS "PP Camarilla", R1cama AS "R1 Camarilla", R2cama AS "R2 Camarilla", R3cama AS "R3 Camarilla", R4cama AS "R4 Camarilla", S1cama AS "S1 Camarilla", S2cama AS "S2 Camarilla", S3cama AS "S3 Camarilla", S4cama AS "S4 Camarilla"
Excellent !
Oui là c’est parfait. Paramétrable à souhait.
Aussi, je devrais pouvoir utiliser une partie du code pour d’autres idées.
Merci pour ton temps et tes suggestions pertinentes.
D’autres pourront en profiter. 🙂
Salut, semaine terminée, je reviens finir ce bout de code pour ne pas laisser inachevé le 2h,4h (et je te rajoute le 3h pour le même prix, hop). Avec cette version même si jamais il te manque une bougie sur petites ut (x)secondes juste au mauvais moment, les 2h, 3h, 4h devraient pouvoir fonctionner sans décalage elles aussi. A tester. Bon weekend.
// PRC Camarilla Pivot Points intra day
// 04.10.2020 mod 09.10.2020
// Noobywan @ www.prorealcode.com
// Sharing ProRealTime Knowledge
// Forum ProBuilder user request
n=120 // time span in minutes, choose parameter n equal to 15, 30, 60, 120, 180 or 240
//
start=080000 // time start in HHMMSS format
finish=220000 // time end in HHMMSS format
//
if n=15 then
changebarre= openminute[1]>openminute or (openminute[1]<15 and openminute>=15) or (openminute[1]<30 and openminute>=30) or (openminute[1]<45 and openminute>=45)
deltamin=1500
elsif n=30 then
changebarre= openminute[1]>openminute or (openminute[1]<30 and openminute>=30)
deltamin=3000
elsif n=60 then
changebarre= openminute[1]>openminute
deltamin=10000
elsif n=120 then
deltamin=20000
hrs=(opentime-start)/deltamin
changebarre= (hrs[1]<1 and hrs>=1) or (hrs[1]<2 and hrs>=2) or (hrs[1]<3 and hrs>=3) or (hrs[1]<4 and hrs>=4) or (hrs[1]<5 and hrs>=5) or (hrs[1]<6 and hrs>=6) or (hrs[1]<7 and hrs>=7) or (hrs[1]<8 and hrs>=8) or (hrs[1]<9 and hrs>=9) or (hrs[1]<10 and hrs>=10) or (hrs[1]<11 and hrs>=11)
elsif n=180 then
deltamin=30000
hrs=(opentime-start)/deltamin
changebarre= (hrs[1]<1 and hrs>=1) or (hrs[1]<2 and hrs>=2) or (hrs[1]<3 and hrs>=3) or (hrs[1]<4 and hrs>=4) or (hrs[1]<5 and hrs>=5) or (hrs[1]<6 and hrs>=6) or (hrs[1]<7 and hrs>=7)
elsif n=240 then
deltamin=40000
hrs=(opentime-start)/deltamin
changebarre= (hrs[1]<1 and hrs>=1) or (hrs[1]<2 and hrs>=2) or (hrs[1]<3 and hrs>=3) or (hrs[1]<4 and hrs>=4) or (hrs[1]<5 and hrs>=5)
else
DRAWTEXT("n must be 15, 30, 60, 120, 180 or 240", barindex, close)
endif
//
if changebarre then
stoque=barchange
barchange=barindex
myhigh=highest[barchange-stoque](high)[1]
mylow=lowest[barchange-stoque](low)[1]
myclose=close[1]
endif
//
if opentime>=start+deltamin and opentime<finish then
PPcama=myclose
R1cama=myclose+(myhigh-mylow)*1.1/12
R2cama=myclose+(myhigh-mylow)*1.1/6
R3cama=myclose+(myhigh-mylow)*1.1/4
R4cama=myclose+(myhigh-mylow)*1.1/2
S1cama=myclose-(myhigh-mylow)*1.1/12
S2cama=myclose-(myhigh-mylow)*1.1/6
S3cama=myclose-(myhigh-mylow)*1.1/4
S4cama=myclose-(myhigh-mylow)*1.1/2
else
PPcama=0
R1cama=0
R2cama=0
R3cama=0
R4cama=0
S1cama=0
S2cama=0
S3cama=0
S4cama=0
endif
RETURN PPcama AS "PP Camarilla", R1cama AS "R1 Camarilla", R2cama AS "R2 Camarilla", R3cama AS "R3 Camarilla", R4cama AS "R4 Camarilla", S1cama AS "S1 Camarilla", S2cama AS "S2 Camarilla", S3cama AS "S3 Camarilla", S4cama AS "S4 Camarilla"
Bonsoir à toi,
Merci pour ton implication, ta rigueur et ton suivi.
J’avais de mon côté ajouté le 5 par déduction des autres lignes. Juste pour voir… côté scalp.
Je vais donc rajouter ton code.
Cela fera un outil très complet 🙂
N’empêche, cela donne des indications intéressantes pour les In/Out avec Target multiples en Intra day.
Reste à observer les comportements sur différents “supports” : DAX, NQ, ES, Dow par exemple avec l’U.T. qui correspond à chacun.
A partager sans aucun doute.
Je te souhaite aussi un excellent week end.
Bonjour,
Excellent !
Satisfait d’avoir au moins une fois contribué d’une modeste manière. 🙂
Que penses-tu de rajouter les targets R5-R6/S5-S6 ?
if opentime>=displaystart+deltamin and opentime<displayend then
PPcama=myclose
R1cama=((myhigh-mylow)*1.1)/12+myclose
R2cama=((myhigh-mylow)*1.1)/6+myclose
R3cama=((myhigh-mylow)*1.1)/4+myclose
R4cama=((myhigh-mylow)*1.1)/2+myclose
R5cama=R4cama+(1.168*(R4cama-R3cama))
R6cama=(myhigh/mylow)*myclose
S1cama=myclose-((myhigh-mylow)*1.1)/12
S2cama=myclose-((myhigh-mylow)*1.1)/6
S3cama=myclose-((myhigh-mylow)*1.1)/4
S4cama=myclose-((myhigh-mylow)*1.1)/2
S5cama=S4cama-(1.168*(S3cama-S4cama))
S6cama=Myclose-(R6cama-Myclose)
else
PPcama=0
R1cama=0
R2cama=0
R3cama=0
R4cama=0
R5cama=0
R6cama=0
S1cama=0
S2cama=0
S3cama=0
S4cama=0
S5cama=0
S6cama=0