Página 1 de 1
Cruce de medias + 2 ticks
Publicado: 22 Sep 2017 23:22
por eryo
Hola. Quiero hacer un cruce de medias pero que se active la condición cuando una media este por encima de otra al menos cinco ticks. No se como codificar esa condición. Alguien sabe?. Gracias.
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 11:38
por cls
Hola eryo,
para detectar el cruce de dos medias puedes usar las funciones CrossAbove y CrossBelow. Estas funciones te dicen si hay cruce, pero no la separación entre las curvas que ya tendrías que calcularla tú explícitamente.
Cuándo quieres calcular la distancia entre las medias ? En la propia barra del cruce ? Ése caso sería el más sencillo y el siguiente código lo resolvería :
Código: Seleccionar todo
// Comprobar si en la barra corriente la SMA(9) ha cruzado al alza
// a la SMA(21) y, en tal caso, si la distancia es mayor a 10 ticks :
if (CrossAbove(SMA(9), SMA(21), 1))
{
// Distancia en puntos entre las SMAs :
Double separacion = SMA(9)[0] - SMA(21)[0];
// Convertir los puntos de distancia a ticks :
Int32 numTicks = Convert.ToInt32(separacion / Instrument.MasterInstrument.TickSize);
if (numTicks > 10)
{
// Condición cumplida !
}
}
Más complicado sería si quisieras dar un margen de barras para que se cumpliera la restricción de distancia después del cruce, p.ej. que a partir del cruce y hasta dos barras después las medias se separaran un mínimo de 20 ticks.
Y cuantas más barras dieras de margen más posibilidades de que las medias se volvieran a cruzar, pero en sentido contrario, y ya tendrías montado un pequeño lío para resolver.
Pero si es el caso sencillo espero que con el código que he puesto te sirva.
Saludos
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 13:10
por Rango Starr
.
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 13:47
por Guille
Buenos dias,
Yo creo que se refiere a lo que expone Rango.
lo que entiendo que eryo quiere decir es otra cosa... el cruce y la distancia no deben ni tienen por que coincidir... puede darse el cruce en esta vela, y la distancia dos velas despues, por ejemplo.
Pero Rango, no estoy de acuerdo con tu planteamiento ,pues tu obligas a que se de el cruce y la distancia entre medias al mismo tiempo
Ten en cuenta que crosess above/under obliga a que la media rápida este por encima de la lenta en la vela actual pero que esté por debajo en la vela anterior (que cruce, vamos).
Yo enfocaría poniendo esas mismas condiciones en el if, pero en vez de poner conceretamente que haya cruce (crosses above /under) y también distancia mínima, poner en la condición if que la mediarápida sea > media lenta y que la diferencia entre medias sea los 5 ticks que quiere. De esta forma no tiene porque cumplirse justo en el momento del cruce
Saludos
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:21
por Rango Starr
.
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:23
por Guille
Perdón ... rectifico. Tu planteamiento si es bueno.
has creado un flag, que cuando se da la condición (en este caso cruce de medias) se pone en true(1)... y este valor se mantiene hasta que pones el flag en false (0).
Es un poco más complicado que lo que yo propongo pero si...
Saludos
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:24
por Guille
Si Rango, llevas razón
Teno que salir menos por la noche

Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:27
por Rango Starr
.
Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:40
por Guille
Rango Starr escribió:espesor alcoholico lo llamo yo...
Fiestas de Cartagineses y Romanos... si entras en la caseta de las Amazonas y te dejas llevar... pierdes el control..
Esta noche voy otra vez

Re: Cruce de medias + 2 ticks
Publicado: 23 Sep 2017 15:45
por Rango Starr
.