Zona 2 y zona 4

Viewing 15 posts - 1 through 15 (of 18 total)
  • #247733

    Como veis estoy aprendiendo a hacer los programas porque tengo que tener una utilidad mayor en los gráficos

    Quiero crear un indicador para ver las zonas 2 alcista y 4 bajista del ciclo de vida de la acción

    Mi planteamiento es este aunque con errores

    Si lo podéis corregir estaré muy agradecido

    / Media móvil simple de 20 periodos
    mediaMovil = Average[20](Close)

    IF
    // Máximos relevantes
    maxrelevantes=(High > High[1] AND High[1] > High[2] AND High[2] > High[3] AND High < High[-1] AND High[-1] < High[-2] AND High[-2] < High[-3])
    // Mínimos relevantes
    minrelevantes = (Low < Low[1] AND Low[1] < Low[2] AND Low[2] < Low[3] AND Low > Low[-1] AND Low[-1] > Low[-2] AND Low[-2] > Low[-3])

    // Zona 2
    zona2 = (maxrelevantes AND minrelevantes AND mediaMovil < High AND mediaMovil < Low)

    // Zona 4
    zona4 = (minrelevantes AND mediaMovil > Low)

    // Dibujar zona 2
    IF zona2 THEN
    DRAWRECTANGLE(barindex – 1, Low, barindex, High, “Zona 2”, RGB(144, 238, 144), 50)
    END IF

    // Dibujar zona 4
    IF zona4 THEN
    DRAWRECTANGLE(barindex – 1, Low, barindex, High, “Zona 4”, RGB(255, 182, 193), 50)
    ENDIF

    Gracias

    #247746

    Como se puede ver en la foto inundada:

    • En la línea 1 falta una barra diagonal inicial (se necesitan dos barras diagonales, //, para los comentarios).
    • En la línea 4 falta la condición seguida de “THEN” (puede haber más condiciones, pero siempre solo un “IF” al principio y un “THEN” al final de la línea).
    • En la línea 18 la instrucción gráfica es incorrecta (consulte los detalles en https://www.prorealcode.com/documentation/drawrectangle/).
    • En la línea 19, “ENDIF” es una sola palabra.
    • En la línea 23, se indica lo mismo para la línea 18.

     

     

    1 user thanked author for this post.
    #247754

    Roberto gracias pero no he podido con el rectángulo

    // Media móvil simple de 20 periodos
    mediaMovil = Average[20](Close)

    // Máximos relevantes
    maxrelevantes=(High > High[1] AND High[1] > High[2] AND High[2] > High[3] AND High < High[-1] AND High[-1] < High[-2] AND High[-2] < High[-3])
    // Mínimos relevantes
    minrelevantes = (Low < Low[1] AND Low[1] < Low[2] AND Low[2] < Low[3] AND Low > Low[-1] AND Low[-1] > Low[-2] AND Low[-2] > Low[-3])

    // Zona 2
    zona2 = (maxrelevantes AND minrelevantes AND mediaMovil < High AND mediaMovil < Low)

    // Dibujar zona 2
    IF zona2 THEN
    DRAWRECTANGLE(barindex – ], Low, barindex, High, “Zona 2”) COLOURED(144, 238, 144)
    ENDIF

    // Zona 4
    zona4 = (maxrelevantes AND minrelevantes AND mediaMovil > Low)

    // Dibujar zona 4
    IF zona4 THEN
    DRAWRECTANGLE(barindex – 1, Low, barindex, High, “Zona 4”) COLOURED(255, 182, 193)

    ENDIF

    #247758

    Las instrucciones dicen https://www.prorealcode.com/documentation/drawrectangle/:

    • x1 y x2 son las dos coordenadas de la abscisa (horizontal), por lo que deben indicar las barras desde las que se inicia y finaliza la impresión
    • y1 e y1 son las dos coordenadas de la ordenada (vertical), por lo que deben indicar los valores de precio dentro de los cuales se imprimirá, es decir, la esquina inferior izquierda y la esquina superior derecha
    • En el centro, antes del color, falta la instrucción STYLE para determinar el tipo de línea y su grosor (https://www.prorealcode.com/documentation/style/)
    • Después, se indica el color, que debe estar en formato RGB (Rojo, Verde y Azul); en francés se indica como RVB; la “a” final significa alfa y es un valor entre 0 y 255 que indica visibilidad (0 = invisible, 255 = máxima visibilidad)
    • Entre los cuadrados de precio (por ejemplo, HIGH [-1] o LOW[-1]), no debe haber números negativos ni decimales, solo enteros a partir del 1. 0 indica la barra actual, 1 la anterior, 2 la anterior, etc.
    • Los indicadores SIEMPRE deben tener la instrucción RETURN como su última línea.

    La instrucción correcta es:

    Si lo deseas también puedes indicar el color interno del rectángulo (el relleno), entonces queda:

    Como puedes ver, los colores también se pueden indicar por su nombre, como se muestra en estas tablas:

    https://www.prorealcode.com/documentation/coloured/

    https://cloford.com/resources/colours/500col.htm

    Este es el código correcto:

     

     

     

     

     

    1 user thanked author for this post.
    #247759

    Para imprimir texto es necesario utilizar la instrucción DRAWTEXT (https://www.prorealcode.com/documentation/drawtext/).

    Este código también contiene el texto impreso, ENCIMA del triángulo:

    Como puede ver, DRAWTEXT no quiere la declaración STYLE, ya que la fuente, el formato y el tamaño del texto son internos a la declaración en sí.

    1 user thanked author for this post.
    #247760

    Roberto no entiendo porqué el high del máximo relevante es mayor que el máximo de la vela anterior [1] y al mismo tiempo es menor

    maxrelevantes=(High > High[1] AND High[1] > High[2] AND High[2] > High[3] AND High < High[1] AND High[1] < High[2] AND High[2] < High[3])

    Perdona pero soy principiante

    Gracias

     

    #247770

    Eliminé todos los errores de sintaxis, así que eliminé los valores negativos de la fórmula incorrecta que publicaste, pero no abordé su función.
    Si me das los detalles de lo que necesitas hacer con esa fórmula, puedo intentar ayudarte.

     

    #247771

    Roberto

    Busco máximos relevantes que son los que tienen máximos a la izquierda más bajos y máximos a la derecha más bajos, aunque entre ellos pueden ser crecientes o decrecientes, no importa

    Lo mismo para mínimos decrecientes: la única condición es que existan 3  mínimos a la izquierda más altos y 3 mínimos a la derecha más altos, entre ellos (que no son los relevantes) pueden estar más altos o más bajos da lo mismo

    Si puedes por unas cruces negras encima de los máximos relevantes  y unas cruces negras arriba de los mínimos relevantes pegados al punto en la gráfica

    Un saludo y gracias por tu ayuda

     

    #247791

    buenas. Para detectar maximos y minimos relevantes puedes utilizar el codigo siguiente: https://www.prorealcode.com/topic/detection-swing/

    #247813

    Buenas tardes Iván he visto el código en francés y es muy bueno.

    Te lo dejo aquí por si falta alguna sintaxis para ejecutarlo en ProRealTime

    Quito las entradas tipo REM y pongo el código en esqueleto

    Muchas gracias Iván, eres un crack

    —————————————————————————————

    input LookbackLeft = 5 // Nombre de bougies à gauche à comparer (X)

    input LookbackRight = 5 // Nombre de bougies à droite à comparer (Y)

    SwingHighDetected = 1
    FOR i = 1 TO LookbackLeft
    IF high[0] <= high[i] THEN SwingHighDetected = 0

    BREAK

    ENDIF

    NEXT

    IF SwingHighDetected THEN

    FOR i = 1 TO LookbackRight

    IF high[0] <= high[-i] THEN

    SwingHighDetected = 0

    BREAK

    ENDIF

    NEXT

    ENDIF

    SwingLowDetected = 1

    FOR i = 1 TO LookbackLeft

    IF low[0] >= low[i] THEN
    SwingLowDetected = 0
    BREAK
    ENDIF
    NEXT

    IF SwingLowDetected THEN
    FOR i = 1 TO LookbackRight
    IF low[0] >= low[-i] THEN
    SwingLowDetected = 0
    BREAK
    ENDIF
    NEXT
    ENDIF

    IF SwingHighDetected THEN
    DRAWSHAPE (high + 0.0005) AS “Square” AT BARINDEX COLOUR (255,0,0)

    DRAWTEXT (“SH”) AT BARINDEX ON SwingHighDetected

    ENDIF

    IF SwingLowDetected THEN
    DRAWSHAPE (low – 0.0005) AS “Square” AT BARINDEX COLOUR (0,255,0)

    DRAWTEXT (“SL”) AT BARINDEX ON SwingLowDetected

    RETURN
    ————————————————————————————————————————–
    Por favor míralo y corrige la sintaxis. Me he hecho un poco de lío con los BREAK – ENDIF – NEXT. Gracias
    #247832

    Buenas! Pero no has cogido mi código… has cogido el código del usuario que no era funcional…
    Este código te permite detectar pivots high y low.

    #247891

    Hola Iván el código tuyo está muy bien, me olvido del francés, pero lo que pretendo es otra cosa.

    Como sabes toda acción en su recorrido tiene cuatro etapas que son repetitivas

    La segunda tiene máximos relevantes crecientes y mínimos relevantes crecientes y se encuentra por encima de las dos medias móviles de 20 y 40 periodos

    Lo importante es saber la vela que comienza la zona 2 porque si tu “parabolic RSI” también lo indica podemos hacer una entrada en largo (compra) porque el precio está al principio de una etapa 2 y va a subir seguro

    Por lo tanto el indicador que pretendo hacer es muy importante combinado con tu indicador y el “volume profile”

    Lo que pretendo es conocer la vela donde comienza cada etapa y que se fije en el gráfico o también la zona coloreada donde estén las velas de cada zona (que abarque toda la zona hasta arriba del gráfico, no un cuadrado que incluya cada vela)

    Te paso unos ejemplos del DAX y del IBEX 35 para que veas lo que pretendo

    Si lo incluidos en PRT nos ayudaría muchísimo

    Lo interesante es hacer las etapas 2 y 4 que son las que vamos a operar. Ahora si también se incluyen las otras dos mucho mejor

    Pienso que es importante trabajar sobre este indicador y gracias por hacerlo, ayudándome mucho

    Luego te mandaré fotos

     

    #247894

    Aquí están las fotos del indicador donde figuran las zonas 1-2-3-4 en la vela donde comienzan

    #247919

    Buenas. Creo que este indicador podría ayudarte y darte pistas para programar lo que estás buscando. https://www.prorealcode.com/prorealtime-indicators/smart-money-concepts-smc-indicator/

    #247947

    Creo que este indicador para detectar tendencias 1 a la 4 puede estar bien, ahora lo he probado en PRT y da errores.

    ¿Puedes verificar esto cuando tengas tiempo (después de tu vuelta de Madrid a la convención económica de los días 6-7-8 de junio).

    Gracias

Viewing 15 posts - 1 through 15 (of 18 total)

Create your free account now and post your request to benefit from the help of the community
Register or Login