Señalizador de cruces con parabolica

Viewing 12 posts - 1 through 12 (of 12 total)
  • Author
    Posts
  • #227689 quote
    Patrickgarridoo
    Participant
    New

    Buenas, me gustaria crear un indicador que cuando un ema3 cruce a un ema9 alcista me dibujaria de 0 un parabolica sar pero me la dibuje a partir de la parabolica sar actual en el cruce es decir que sea una sar que empiece el factor de aceleracion de 0. Un saludo

    #227719 quote
    robertogozzi
    Moderator
    Master

    Quieres decir así?

    Ema3  = average[3,1](close)
    Ema9  = average[9,1](close)
    pSAR1 = SAR[0.02,0.02,0.2]
    pSAR2 = SAR[0.000000001,0.02,0.2] //no puede ser 0
    ONCE mySAR = pSAR1
    IF Ema3 CROSSES OVER Ema9 THEN
       mySAR = pSAR2
    ENDIF
    RETURN mySAR AS "SAR" style(line,2),Ema3 AS "Ema3" style(line,2),Ema9 AS "Ema9" style(line,2)

    Pero, ¿tiene que volver a la normalidad o tiene que permanecer así siempre?

    #228036 quote
    Patrickgarridoo
    Participant
    New

    Lo he estado probando y deberia ser asi pero que los puntos vaya sumando 0.02 cada maximo desde el cruce no que sigan en linea recta como adjunto en la imagen.

    #228160 quote
    robertogozzi
    Moderator
    Master

    No entiendo muy bien lo que quieres, puedes dibujar el SAR estándar y el que te gustaría para entender la diferencia.

    #228214 quote
    Patrickgarridoo
    Participant
    New

    si claro, te explico mejor. En la imagen puedes ver que cuando se cruza ema 3 con ema9 me sale otra sar nueva pero el punto que empieza es en la sar donde ha echo el cruce y de ahi empieza una nueva sar a contar hasta que haya un cambio de tendencia o otro cruce de ema3 con ema9, creo que así esta mejor explicado. La sar negra es una nueva sar que ha salido por el cruce de ema3 con ema9 y su punto de inicio es la sar donde la vela ha echo el cruce y de ahi va sumando 0.02 cada nuevo maximo o minimo Un saludo

    #228271 quote
    robertogozzi
    Moderator
    Master

    Espero haber entendido bien:

    ONCE SARinit  = 0.02
    ONCE SARstep  = 0.02
    ONCE SARlimit = 0.2
    Ema3 = average[3,1](close)
    Ema9 = average[9,1](close)
    IF BARINDEX < 2 THEN
       parabolic = LOW
       islong    = 1
       af        = SARlimit
       hp        = HIGH
       lp        = LOW
    ELSE
       IF Ema3 CROSSES UNDER Ema9 THEN
          af = SARlimit
       ENDIF
       IF islong THEN
          parabolic = parabolic + af * (hp - parabolic)
       parabolic = MIN(parabolic, LOW[1])
          parabolic = MIN(parabolic, LOW[2])
       ELSE
          parabolic = parabolic + af * (lp - parabolic)
          parabolic = MAX(parabolic, HIGH[1])
          parabolic = MAX(parabolic, HIGH[2])
       ENDIF
       reverse = 0
       IF islong THEN
          IF LOW < parabolic THEN
             islong    = 0
             reverse   = 1
             parabolic = hp
             lp        = LOW
             af        = SARinit
          ENDIF
       ELSE
          IF HIGH > parabolic THEN
             islong    = 1
             reverse   = 1
             parabolic = lp
             hp        = HIGH
             af        = SARinit
          ENDIF
       ENDIF
       IF NOT reverse THEN
          IF islong THEN
             IF HIGH > hp THEN
                hp = HIGH
                af = af + SARstep
                af = MIN (af,SARlimit)
             ENDIF
          ELSE
             IF LOW < lp THEN
                lp = LOW
                af = af + SARstep
                af = MIN (af,SARlimit)
             ENDIF
          ENDIF
       ENDIF
    ENDIF
    Offset = parabolic - (average[100,0](range) / 3)
    IF close <= parabolic THEN
       Offset = parabolic + (average[100,0](range) / 3)
    ENDIF
    RETURN Parabolic AS "mySAR"
    #228468 quote
    Patrickgarridoo
    Participant
    New

    Funciona pero me gustaría que si hace un cruce y aparece las sar nuevas se borren todas las sar dibujadas anteriores que solo se queden las de la tendencia actual

    #228495 quote
    robertogozzi
    Moderator
    Master

    Lamentablemente, los datos antiguos no se pueden eliminar.

    #228538 quote
    Patrickgarridoo
    Participant
    New

    Creo que si se puede hacer ya que yo lo hice con algún otro indicador. Quiero que cuando no me cumpla la condición: “IF NN > 0 and N > 0 and A1 < M1 and A2 < M2 THEN” se me borre todo y cuando se cumpla empiece a dibujarse hasta que ya no se cumpla o el precio rebase las sar. A1, M1, A2 Y M2 ya los tengo yo definidos en el codigo restante pero es en esa parte donde hay que mnodificar. Un saludo

    ONCE SARinittt  = 0.02
    ONCE SARsteppp  = 0.02
    ONCE SARlimittt = 0.2
    
    IF BARINDEX < 2  THEN
    paraboliccc = LOW
    islonggg    = 1
    afff        = SARlimittt
    hppp        = HIGH
    lppp        = LOW
    ELSE
    IF NN > 0 and N > 0 and A1 < M1 and A2 < M2  THEN
    afff = SARlimittt
    ENDIF
    IF islonggg THEN
    paraboliccc = paraboliccc + afff * (hppp - paraboliccc)
    paraboliccc = MIN(paraboliccc, LOW[1])
    paraboliccc = MIN(paraboliccc, LOW[2])
    ELSE
    paraboliccc = paraboliccc + afff * (lppp - paraboliccc)
    paraboliccc = MAX(paraboliccc, HIGH[1])
    paraboliccc = MAX(paraboliccc, HIGH[2])
    ENDIF
    reverseee = 0
    IF islonggg THEN
    IF LOW < paraboliccc THEN
    islonggg    = 0
    reverseee   = 1
    paraboliccc = hppp
    lppp        = LOW
    afff        = SARinittt
    ENDIF
    ELSE
    IF HIGH > paraboliccc THEN
    islonggg    = 1
    reverseee   = 1
    paraboliccc = lppp
    hppp        = HIGH
    afff        = SARinittt
    ENDIF
    ENDIF
    IF NOT reverseee THEN
    IF islonggg THEN
    IF HIGH > hppp THEN
    hppp = HIGH
    afff = afff + SARsteppp
    afff = MIN (afff,SARlimittt)
    ENDIF
    ELSE
    IF LOW < lppp THEN
    lppp = LOW
    afff = afff + SARsteppp
    afff = MIN (afff,SARlimittt)
    ENDIF
    ENDIF
    ENDIF
    ENDIF
    Offsettt = paraboliccc - (average[100,0](range) / 3)
    IF close <= paraboliccc THEN
    Offsettt = paraboliccc + (average[100,0](range) / 3)
    ENDIF
    RETURN Paraboliccc AS "mySAR"
    
    
    #228540 quote
    robertogozzi
    Moderator
    Master

    Esto no se puede hacer con los datos devueltos por RETURN.
    Necesitas usar una matriz, pero es bastante complicado. Puedo intentar hacerlo, pero necesitaré tiempo.

    #228755 quote
    Patrickgarridoo
    Participant
    New

    Vale de acuerdo coméntame cuando tengas algo por favor ya que a mi me da error al desarrollarlo. Un saludo

    #229404 quote
    robertogozzi
    Moderator
    Master

    Publica el archivo ITF, el que publicaste no tiene todas las variables.

Viewing 12 posts - 1 through 12 (of 12 total)
  • You must be logged in to reply to this topic.

Señalizador de cruces con parabolica


ProBuilder: Indicadores y Herramientas

New Reply
Author
Summary

This topic contains 11 replies,
has 2 voices, and was last updated by robertogozzi
1 year, 11 months ago.

Topic Details
Forum: ProBuilder: Indicadores y Herramientas
Language: Spanish
Started: 02/08/2024
Status: Active
Attachments: 4 files
Logo Logo
Loading...