CODIGO DE SOPORTE

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #7468 quote
    RICHARDYUSTE
    Participant
    Junior

    Quiero programar un soporte pero no lo consigo. Adjunto una foto de lo que busco (está marcado en un cuadro). Si un máximo supera otro máximo quiero que me calcule el minimo entre esos dos puntos

    Sin-título.jpg Sin-título.jpg
    #7472 quote
    Adolfo
    Participant
    Senior

    Bien, cuando el máximo de la vela actual supere al máximo de la vela anterior, quieres tener como soporte el mínimo de esas dos últimas velas, ¿es correcto?

    #7480 quote
    RICHARDYUSTE
    Participant
    Junior

    Exacto

    #7506 quote
    Adolfo
    Participant
    Senior

    Aquí lo tienes:

    IF high>high[1] THEN
    soporte = Lowest[1](low)
    ENDIF
    #7516 quote
    RICHARDYUSTE
    Participant
    Junior

    En este codigo que me envias me marca el soporte en la barra anterior pero yo lo quiero en el punto más bajo de las 17 barras entre los dos máximos

    #7530 quote
    Adolfo
    Participant
    Senior

    Vaya… eso no es lo que había entendido.

    Si quieres el minimo de las últimas 17 velas, cambia ésto:

    IF high>high[1] THEN
    soporte = Lowest[17](low)
    ENDIF

    No entiendo a qué te refieres cuando dices “entre los dos máximos”

    #7557 quote
    RICHARDYUSTE
    Participant
    Junior

    No me estas entendiendo. En el código que me envías estás calculando ” que el máximo de hoy es mayor que el máximo de ayer” y yo lo que busco es que “el máximo de hoy sea mayor que el máximo de todas las barras de la foto”. “17” es el caso concreto del ejemplo. Necesito que me cuente el numero de barras que hay comprendida entre la primera barra y la ultima para poder hallar el mínimo.

    #7560 quote
    RICHARDYUSTE
    Participant
    Junior

    Sería algo así:

    IF HIGH[0]>”Máximo histórico” THEN

    N= Contar nº de barras entre el máximo histórico y el nuevo máximo

    SOPORTE= LOWEST [N] (LOW]

    Endif

    #7561 quote
    Adolfo
    Participant
    Senior

    Vale, ahora te he entendido, de hecho llevo tiempo desarrollando algo similar.

    Para que sigamos por la línea correcta, entendemos como máximo el máximo de la última vela hizo un máximo y que a partir de ahí hubo máximos mas bajos hasta que, x velas después tenemos un nuevo máximo y en ese momento establecemos el mínimo entre esos dos puntos, ¿es así?

    #7562 quote
    Adolfo
    Participant
    Senior

    Ha quedado claro, lo que ocurre es que no es tan sencillo como planteas ahí, el “máximo histórico” hay que definirlo, pero tengo alguna idea al respecto, voy a ver qué sale.

    #7564 quote
    RICHARDYUSTE
    Participant
    Junior

    Si que es dificil, sí. Yo no consigo sacarlo.

    #7565 quote
    Adolfo
    Participant
    Senior

    Parece que va saliendo algo, para ser viernes, jejeje!

    IF High[1]>High[2] AND High<High[1] AND High[1]>=Highest[300](High) THEN
    ultimomaximo = High[1]
    velainicial = BarIndex-1
    ENDIF
    IF High>ultimomaximo THEN
    velaactual = BarIndex
    soporte = Lowest[velaactual-velainicial](low)
    ENDIF

    Probado, en la imagen adjunta tienes el resultado.

    codigo-de-soporte.png codigo-de-soporte.png
    #7581 quote
    RICHARDYUSTE
    Participant
    Junior

    ME DA ERROR

    Sin-título.png Sin-título.png
    #7695 quote
    RICHARDYUSTE
    Participant
    Junior

    Sé que es el foro de PROORDER pero por no salirme del tema y dejarlo zanjado creo que casi tengo el código para que me grafique tanto el soporte como la resistencia. Pero me surge un error. A ver si me lo puedes solucionar:

    IF High[1]>High[2] AND High<High[1] AND High[1]>=Highest[300](High) THEN
    ultimomaximo = High[1]
    velainicial = BarIndex-1
    ENDIF
    IF High>ultimomaximo THEN
    velaactual = BarIndex
    soporte=Lowest[velaactual-velainicial](low)
    ENDIF

    HH=ultimomaximo[0]
    IF(BARINDEX>0) THEN
    HH=MAX(HH[1],HIGH[0])
    ENDIF

    RETURN HH, SOPORTE

    #7863 quote
    Adolfo
    Participant
    Senior

    Acabo de darme cuenta de que el código funciona correctamente en ProOrder, mientras que en ProBuilder devuelve el error (Se espera campo positivo entero para Lowest…).

    IF High<High[1] AND High[1]>=Highest[300](High) THEN
    ultimomaximo = High[1]
    velainicial = BarIndex-1
    ENDIF
    IF High>ultimomaximo THEN
    velaactual = BarIndex
    soporte = Lowest[velaactual-velainicial](low)
    ENDIF
    
    HH=ultimomaximo[0]
    IF(BARINDEX>0) THEN
    HH=MAX(HH[1],HIGH[0])
    ENDIF
    
    
    graph hh
    graph soporte
    
    // Condiciones para entrada de posiciones largas
    IF NOT LongOnMarket AND close<close[1] THEN
    BUY 1 CONTRACTS AT MARKET
    ENDIF
    

    Tienes que crear una nueva estrategia de trading y pegar el código adjunto.

    P.D. Eliminada la primera condición (High[1]>High[2]), es innecesaria desde que añadimos la última (High[1]>Highest…) 

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

CODIGO DE SOPORTE


ProOrder: Trading Automático y Backtesting

New Reply
Author
Summary

This topic contains 18 replies,
has 4 voices, and was last updated by quo
9 years, 6 months ago.

Topic Details
Forum: ProOrder: Trading Automático y Backtesting
Language: Spanish
Started: 05/20/2016
Status: Active
Attachments: No files
Logo Logo
Loading...