Point Pivot Camarilla Hourly

Viewing 13 posts - 1 through 13 (of 13 total)
  • Author
    Posts
  • #73597 quote
    Choliver
    Participant
    Veteran

    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… 🙂

    #146401 quote
    Choliver
    Participant
    Veteran

    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.

    #146420 quote
    JC_Bywan
    Moderator
    Master

    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"
    #146424 quote
    Choliver
    Participant
    Veteran

    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

    #146578 quote
    Choliver
    Participant
    Veteran

    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.

    #146582 quote
    JC_Bywan
    Moderator
    Master

    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).

    #146585 quote
    Choliver
    Participant
    Veteran

    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.

    #146588 quote
    JC_Bywan
    Moderator
    Master

    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"
    #146602 quote
    Choliver
    Participant
    Veteran

    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. 🙂

    #146920 quote
    JC_Bywan
    Moderator
    Master

    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"
    #146921 quote
    Choliver
    Participant
    Veteran

    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.

    #147178 quote
    JC_Bywan
    Moderator
    Master

    Le code répondant à ta demande est maintenant disponible dans la library: https://www.prorealcode.com/prorealtime-indicators/intraday-flexible-camarilla-pivot-points/

    #147179 quote
    Choliver
    Participant
    Veteran

    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
Viewing 13 posts - 1 through 13 (of 13 total)
  • You must be logged in to reply to this topic.

Point Pivot Camarilla Hourly


ProBuilder : Indicateurs & Outils Personnalisés

New Reply
Author
author-avatar
Choliver @choliver Participant
Summary

This topic contains 12 replies,
has 2 voices, and was last updated by Choliver
5 years, 3 months ago.

Topic Details
Forum: ProBuilder : Indicateurs & Outils Personnalisés
Language: French
Started: 06/18/2018
Status: Active
Attachments: 4 files
Logo Logo
Loading...