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
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?
Aquí lo tienes:
IF high>high[1] THEN
soporte = Lowest[1](low)
ENDIF
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
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”
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.
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
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í?
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.
Si que es dificil, sí. Yo no consigo sacarlo.
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.
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
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…)