Buenos días, quisiera por favor ayuda, para mejorar este indicador publicado. Cuando se cumplen las condiciones dadas el indicador muestra un aviso en forma de flecha tanto alcista como bajista y tantas veces como se cumple la condición. Mi deseo es que si se cumple la condición alcista no se indiquen mas flechas alcistas (solo una) hasta que se cumpla la condición bajista solamente de nuevo con una flecha bajista, es decir, indicar solo una flecha alcista cuando se cumpla condición alcista y una flecha bajista cuando se cumpla condición bajista, no como ahora que se anuncia la flecha bajista o alcista tantas veces como se cumple la condición.
Muchas gracias.
saludos
//----- Highs -----
ONCE HighCount = Undefined
ONCE HighFractal = Undefined
IF (High > High[1]) AND (High > High[2]) THEN
HighLevel = High
ENDIF
IF (High < HighLevel) THEN
HighCount = HighCount - 1
ELSIF (High >= HighLevel) THEN
HighCount = 0
ENDIF
IF HighCount = -2 THEN
HighFractal = HighLevel
ELSE
HighFractal = HighFractal
ENDIF
if high crosses over Highfractal then
DRAWARROWUP(barindex, low +0.0001)coloured(0,255,0)
endif
//----- Lows -----
ONCE LowCount = Undefined
ONCE LowFractal = Undefined
IF (Low < Low[1]) AND (Low < Low[2]) THEN
LowLevel = Low
ENDIF
IF (Low > LowLevel) THEN
LowCount = LowCount + 1
ELSIF (Low <= LowLevel) THEN
LowCount = 0
ENDIF
IF LowCount = 2 THEN
LowFractal = LowLevel
ELSE
LowFractal = LowFractal
ENDIF
if LOW crosses UNDER LOWfractal then
DRAWARROWDOWN(barindex, high -0.0001)coloured(255,10,10)
endif
RETURN HighFractal as "High Level", LowFractal as "Low Level"
Para un tema nuevo, su título debe ser lo suficientemente explícito como para solicitar a la comunidad que lea su discusión.
De lo contrario tendremos 1000 sujetos “necesitan ayuda para codificar el indicador” … ¡gracias!
Cada vez que detecte un nuevo fractal, compárelo con el último (la variable de señal que usé en el código). Si es igual que la última vez, no trace la flecha.
//----- Highs -----
ONCE HighCount = Undefined
ONCE HighFractal = Undefined
IF (High > High[1]) AND (High > High[2]) THEN
HighLevel = High
ENDIF
IF (High < HighLevel) THEN
HighCount = HighCount - 1
ELSIF (High >= HighLevel) THEN
HighCount = 0
ENDIF
IF HighCount = -2 THEN
HighFractal = HighLevel
ELSE
HighFractal = HighFractal
ENDIF
if high crosses over Highfractal and signal<=0 then
DRAWARROWUP(barindex, low +0.0001)coloured(0,255,0)
signal=1
endif
//----- Lows -----
ONCE LowCount = Undefined
ONCE LowFractal = Undefined
IF (Low < Low[1]) AND (Low < Low[2]) THEN
LowLevel = Low
ENDIF
IF (Low > LowLevel) THEN
LowCount = LowCount + 1
ELSIF (Low <= LowLevel) THEN
LowCount = 0
ENDIF
IF LowCount = 2 THEN
LowFractal = LowLevel
ELSE
LowFractal = LowFractal
ENDIF
if LOW crosses UNDER LOWfractal and signal>=0 then
DRAWARROWDOWN(barindex, high -0.0001)coloured(255,10,10)
signal=-1
endif
RETURN HighFractal as "High Level", LowFractal as "Low Level"
Muchas gracias por su ayuda, siento mucho no haber sido más explícito con el título.
Voy a probar su aportación.
saludos
Buenos días
Esta programación es la que deseaba, muchas gracias Nicolas.
saludos