English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Random Walk y el Indicador de Tendencias

Random Walk y el Indicador de Tendencias

MetaTrader 5Trading | 21 marzo 2014, 13:39
3 155 0
Гребенев Вячеслав
Гребенев Вячеслав


Introducción

El juego de cara o cruz existe desde hace siglos. Juguemos a este juego, pero con la intención de probar y entender el mecanismo del comercio técnico en el mercado FOREX. No seremos en absoluto los primeros que tomaremos una moneda en las manos. Aquellos que deseen saber más sobre la teoría de probabilidad se pueden dirigir al libro An Introduction to Probability Theory and Its Applications (Una Introducción a la Teoría de Probabilidad y sus Aplicaciones), de William Feller. Nuestro objetivo es entender los mecanismos del comercio.


Random Walk (RW) y sus Propiedades

Para empezar, simulemos el resultado de un juego de cara o cruz usando un generador de números aleatorios. Cara será +1, y cruz -1. Los resultados del iº lanzamiento de la moneda serán x (i) = p (1/2), donde p (1/2) es una función, tomando los valores +1 con la probabilidad de 1/2 y el valor -1 con la misma probabilidad 1/2.

Entonces, Random Walk será, simplemente, la suma de x(i). Para hacerlo más sencillo, empezaremos de cero.

El curso de una moneda. A lo largo del eje vertical - los valores del curso, junto con el eje horizontal - el número de lanzamientos de moneda.

Figura 1. Random walk: (eje vertical - posición actual en la línea, por el eje horizontal - pasos de tiempo)

Random Walk se ha estudiado mucho y tiene algunas propiedades dignas de mención. Resumamos las que nos resultarán útiles:

  1. La Ley del Arcoseno. Cuanto más tiempo lancemos una moneda, menos pasará a través de cero la posición Random Walk.
  2. Alrededor del 90 por ciento del tiempo, Random Walk se sitúa a un lado del cero. En realidad, estos dos teoremas son inútiles en trading real. Nosotros los necesitamos básicamente para enfatizar las diferencias entre los tipos de cambio actuales y Random Walk.
  3. El gráfico de Random Walk es un fractal, es decir, se mantiene similar a sí mismo con el cambio de una escala. Un fractal es una palabra preciosa, tanto como las imágenes de fractales. Los parámetros estadísticos de Random Walk son invariables en la escala, lo que nos resulta muy útil.
  4. El teorema del marinero borracho. Random Walk - es el rastro de un marinero borracho que, tras gastarse el dinero, se val del bar con la velocidad media proporcional a la raíz cuadrada del número de pasos (o lanzamientos de moneda). Este es un teorema muy útil porque nos permite medir la aleatoriedad o falta de ella en eventos. Si, por algún milagro, hemos obtenido cara 65 veces en 100 lanzamientos, ¿hemos tenido suerte, o deberíamos compartir las ganancias con la utilidad de tal milagro?

Random Walk se puede usar para trading. En realidad, los estudiantes notaron esto desde hace tiempo y juegan a cara o cruz en los descansos entre clases. Random Walk se puede usar para organizar un mercado ficticio. Todas las reglas de trading en el mercado actual se deberían aplicar, pero en lugar de tomar los tipos de cambio actuales, tomamos los tipos de cambio de Random Walk. Como siempre, tendrá que haber un intermediario que tomará los diferenciales, comisiones e impuestos. Pero le pediremos amablemente que no tome nada por ahora para no amargar el juego.

Algunos comentarios sobre trading:

  1. Usando Random Walk es posible adivinar hacia dónde se moverá la posición RW en los próximos momentos.
  2. La posición se puede mover del cero una distancia arbitraria, hacia valores positivos o negativos, sobre un numero suficientemente grande de pasos de tiempo.
  3. No existe un sistema de trading que pueda ganar o perder definitivamente con los tipos de cambio de Random Walk. Merece la pena señalar que, aunque se trata de un mercado ficticio, el saldo del sistema de trading puede llegar a ser negativo. Realizamos operaciones durante un número de pasos de tiempo finitos. En el último lanzamiento de la moneda se cierran todas las transacciones. El término clave "de media" se puede sustituir por la frase "de media sobre el conjunto de todos los valores posibles".
    Si el depósito del sistema de trading se limita y no puede pasar a ser negativo, entonces la siguiente declaración será cierta: cualquier sistema de trading que realice operaciones activamente en los datos de Random Walk seguirá perdiendo dinero, hasta que se hayan acabado todos.
  4. Si permitimos que el intermediario tome un pequeño diferencial de cada transacción, los fondos disminuirán a un ritmo proporcional al número de transacciones. La estrategia óptima al hacer trading con un intermediario es, básicamente, no jugar. Si realmente quiere hacer operaciones de trading, su mejor opción es ponerlo todo en una transacción. En este caso, las probabilidades de ganar son máximas, pero aún así, menores a 0,5.
  5. La mayoría de indicadores y Asesores Expertos funcionarán en los datos de Random Walk. Varios de ellos darán señales para comprar o vender. Pero sus señales son completamente inútiles. En el caso del trading usando datos de Random Walk con la presencia de un intermediario, un Asesor Experto (EA, por sus siglas en inglés) correcto debería dar solamente una recomendación: "No entre al mercado".
  6. Los valores de la cuenta Z para cualquier estrategia de trading basada en datos de Random Walk normalmente se distribuirán alrededor de cero. El valor específico de la cuenta Z para algunos datos RW no caracteriza una estrategia de trading. Al usar datos de Random Walk todos los gatos son pardos, en el sentido de que todas las estrategias de trading son iguales. Las estrategias de trading se diferencian en las formas de adivinar los cambios en el futuro, y la posición de Random Walk es imposible de predecir.
  7. En datos de Random Walk podemos observar tendencias, ciclos, patrones de inversión, canales y otros atributos de análisis técnico. Todos estos son patrones imaginarios, y no nos ayudan en trading. Esta es la psicología de un trader: ver oasis en el desierto, donde no en realidad no se puede encontrar ni una gota de información.
  8. Si dos personas con una cantidad limitada de monedas juegan con todos a "cara o cruz", el ganador medio será uno de los que tiene más monedas, puesto que el juego terminará automáticamente una vez que al otro no le quede dinero. Si el trader juega a "cara o cruz" en el contexto del mercado, las posibilidades de que el trader gane, de media, son proporcionales al capital del trader en relación al volumen del mercado. En otras palabras, el trader no tiene posibilidad alguna. Aún cuando no haya moderadores.
  9. Se puede llevar a cabo un campeonato con datos de Random Walk. El depósito virtual se da a cada participante. Los patrocinadores prometen dinero real a aquellos que obtengan la mayor cantidad de dinero virtual. Las expectativas matemáticas de beneficios pasan a ser significativamente positivas. El problema viene a raíz de la implementación de la estrategia martingale, optimizada para el campeonato. Los jugadores más agresivos agotarán sus depósitos mucho antes de que acabe el campeonato, mientras que los más cautos no conseguirán reunir fondos suficientes. Entre los participantes medios, se llevará a cabo una Lotería en Random Walk. Curiosamente, la estrategia se debería optimizar, no solo para el número de lanzamientos de moneda y el depósito inicial, sino también para el número de participantes agresivos y de otros tipos. Pero eso lo dejaremos para otro artículo. La belleza de Random Walk es que nos permite resolver estos problemas de optimización de forma numérica durante la simulación, así como de forma analítica también. Y una vez que el problema se ha resuelto y entendido, puede pasar a usarse en la vida real.

Diferencias Entre Cuotas de Divisas Reales y los Datos de Random Walk data

Las declaraciones de 1-8 son bastante pesimistas. Pronostican una pérdida incondicional de depósito para cualquier trader en el mercado de Random Walk. Pero las cuotas de pares de divisas difieren de los datos de Random Walk. Estas diferencias son la clave para construir una estrategia de trading rentable (¡de media!). Haremos una lista de las principales diferencias entre los tipos de cambio y los datos de Random Walk.

  1. El tipo de cambio de divisas real se limita por factores económicos fundamentales, y se sitúa dentro de un determinado canal horizontal fundamental. Basándonos en este hecho, por ejemplo, podemos construir una estrategia de trading basada en la "volatilidad" de marcos temporales grandes.
  2. Los cambios de un tipo de cambio real a veces se pueden predecir, por ejemplo, en base a las noticias de actualidad.
  3. Hay diferencias en las distribuciones estadísticas de los parámetros del tipo de cambio de divisas real y los de Random Walk. Esta declaración tan genérica es la clave para la gran mayoría de estrategias de trading. El tipo de cambio real o el de Random Walk se ven como series de números. La tarea es encontrar regularidades estadísticas en las series, y basándonos en ellas, predecir los valores futuros.   

Un número de cambios en Random Walk es una serie de números aleatorios tomados entre +1 y -1. Entonces, ¿cómo encontramos tendencias estadísticas en estas series? Este tema coincide con la tarea de verificar la secuencia de aleatoriedad. Se están desarrollando muchos tests de aleatoriedad. Si cualquier test muestra "aleatoriedad" en una serie, entonces se puede construir una estrategia de trading con esta base.


El Concepto de Tendencias

El test más fácil es el siguiente. Los números de +1 y -1 en una secuencia deberían ser aproximadamente iguales. Según el teorema del marinero borracho, el número de +1 no podría diferir del número de -1, en general, por más de la raíz cuadrada del número de datos en la secuencia. Para tipos de cambio real, este test de aleatoriedad se lleva a cabo en virtud de la limitación de los tipos de cambio reales por el canal fundamental. Aquí no podremos construir una estrategia de trading.

Este otro test es mucho más interesante. Contemos los números de cadenas "+1,+1", "+1,-1", "-1,+1" y "-1,-1". En una secuencia aleatoria, sus números deberían ser aproximadamente iguales (de nuevo, de forma similar al teorema del marinero borracho). Si el número de cadenas "++" (rennombradas "+1+1") de repente sobrepasa por mucho el número de cadenas "+-" ("+1,-1"), entonces podremos construir una estrategia: tras cada "+", hacemos una oferta en "+". Según las estadísticas, deberíamos ganar en más de la mitad de los casos.

Traduzcamos el último párrafo al lenguaje del trader. Las estrategias de trading más populares son las estrategias de seguimiento de tendencias. El principal objetivo de estas estrategias es reconocer la tendencia a tiempo, unirse y salirse de ella a tiempo. Pero hay espejismos de tendencias falsas, como en Random Walks. El test del número de cadenas descrito arriba nos ayudará a distinguir una tendencia falsa de una real. Si el número de cadenas "++" y cadenas "--" es mayor que el número de  "+-" y "-+", entonces el RW tiene una tendencia, y las estrategias de seguimiento de tendencias funcionarán. Si no, no deberíamos entrar en el mercado sobre señales basadas en estrategias de seguimiento de tendencias. 

Solo podemos considerar las cadenas binomias (++,+-,-+,--), pero de tres períodos (+++, ++-, +-+, ...), o cadenas aún más largas. Podemos contar el número de cadenas de tendencias (+++, ---, ++++) y de anti-tendencias (-+-, +-+, +-+-), o asignar a cada cadena un coeficiente de tendencia y calcular la suma usando los coeficientes. En última instancia, estas actividades nos llevarán al cálculo del resultado Z. Pero el resultado Z aquí no se calcula en una serie de estrategias de ganancia o pérdida a las que los traders están acostumbrados, sino en vista de los tipos de cambio. Un resultado Z negativo indicará que hay una serie de tendencias, y un resultado Z negativo indicará que la serie no tiene tendencias.

La consideración de cadenas largas y el cálculo del resultado Z requieren una serie lo suficientemente larga (empezando de 30). Nuestro objetivo es construir el indicador de tendencias, y la consideración de series largas llevará a retrasos en el indicador. La consideración de cadenas binomias puede empezar con series de 8 elementos. Por tanto, para construir el indicador, consideremos las cadenas binomias. Para un estudio más detallado de Random Walk (digamos, para construir un simulador de RW), necesitaremos el resultado Z.


La Ilustración de Tendencias en Random Walk

Ilustremos el concepto de tendencias en Random Walk.

Esta es una definición de tendencia: una memoria de los cambios previos. Random Walk no recuerda su historial. Por tanto, añadámosle memoria. Dejemos que el resultado del iº lanzamiento sea x (i) = p(1/2 + a*x(i-1)), donde hay un parámetro de tendencia entre -1/2 y +1/2. La función P (...) genera +1 con una probabilidad de 1/2+a*x(i-1) y -1 con la probabilidad de 1/2-a* x(i-1).

Si а<0, entonces, Random Walk es anti-tendencia. Si а>0, entonces es tendencia. Si а=0, entonces Random Walk no tiene tendencia.

En la imagen se muestran Random Walks generados en una misma secuencia de números aleatorios.

Cursos de una mondeda con una tendencia

Figura 2. Los Random Walks generados: tendencia (rojo, a = 0.2), sin tendencia (azul, a = 0), y anti-tendencia (amarillo, a =- 0.2)

Como podemos ver, un Random Walk con tendencia se caracteriza por una volatilidad relativamente alta, con tendencia a formar canales inclinados. El Random Walk anti-tendencia tiene volatilidad relativamente baja, y tiene a curvarse hacia arriba en un canal horizontal.

En el mercado real no es tan fácil distinguir entre RWs tendencia y anti-tendencia, especialmente si la tendencia es débil. Un indicador de tendencia es absolutamente esencial. Como mencionamos antes, al hacer trading en RWs sin tendencia y anti-tendencia, usar estrategias de seguimiento de tendencias es una forma segura de perder el depósito.

Cuando se trata de un RW de tendencia, puede llevar a cabo operaciones siguiendo estrategias de seguimiento de tendencias. El arte de detectar tendencias y examinar los puntos de inversión de las tendencias se puede sustituir por métodos estadísticos de matemáticas. Pero la pregunta sigue en el aire: ¿quedarán suficientes beneficios no aleatorios para pagar al intermediario y no agotar el beneficio? Para obtener una respuesta aproximada, tendremos que fijarnos en el indicador de la tendencia, que se facilita al final de este artículo.

Si tenemos un RW anti-tendencia, podemos operar con volatilidad. Un RW anti-tendencia tiene como objetivo romper cualquier tendencia descendente y pasar a un canal horizontal. Puede establecer el Take Profit en cualquier lugar del canal horizontal, independientemente de la tendencia actual, y el Stop Loss más allá de los bordes del canal. No importa hacia dónde vaya el precio dentro del canal; eventualmente se encontrará con el Take Profit.

Cuando se trata de un RW sin tendencia, no podemos operar con estrategias de seguimiento de tendencias. Deberemos usar otras ideas, como la idea de los ciclos.


Proposición para un simulador de Random Walk

Un Random Walk con tendencia es también útil para simular estrategias de trading. Podemos crear un simulador de RW en base a la función:


Donde:

  • Amp - amplitud,
  • P(...) - la función de probabilidad,
  • Trend - la tendencia, la función de los cambios previos,
  • Cycle - ciclo, una función de tiempo,
  • Limit - una función de Random Walk,
  • Expect - las expectativas, las funciones de cambios futuros.

Los parámetros de estas funciones están adaptadas a los parámetros estadísticos de los tipos de cambio real.

La simulación de los tipos de cambio reales por el Random Walk tiene un significado mucho más profundo que una simple ilustración de la debilidad de la percepción humana. La simulación del RW de los tipos de cambio le permite simular cualquier Asesor Experto en un conjunto COMPLETO de posibles tipos de cambio (o al menos en una muestra razonable del conjunto completo). Esto, a su vez, nos permitirá construir una función de distribución de probabilidad por medio del Asesor Experto especificado. Esta función de distribución caracteriza de forma única la rentabilidad del EA, así como su agresividad y otros parámetros.

La definición del conjunto completo:

  1. El conjunto de los datos completos de tipos de cambio históricos significa: hay un patrón RW para las cuotas reales del mercado muy similar a él. Con el aumento del numero de tipos de cambio en un conjunto, la similitud se vuelve absoluta (la distancia (norma) en el espacio de tipos de cambio (funciones) entre los tipos de cambio reales y los simulados más cercanos se acerca a cero).
  2. La estrategia "Dummy" (hombre de paja) - una estrategia cuyas transacciones se hacen de forma arbitraria, pero sin el conocimiento de los tipos de cambio históricos y actuales. Los resultados de las transacciones anteriores también son desconocidos. Solo sabemos el momento del comienzo o el número de lanzamiento de la moneda. El hombre de paja nunca paga los diferenciales, comisiones ni impuestos. El hombre de paja también puede tener medios negativos.
    El conjunto de tipos de cambio es matemáticamente completo si la función de distribución de probabilidad de cualquier estrategia del hombre de paja, en el conjunto, se acerca a una distribución normal.
  3. El conjunto está completo si es matemática e históricamente completo.

La simulación en datos históricos es definitivamente mejor que nada. Pero hay una falta de datos históricos, y se ha quedado obsoleto. Además, los datos históricos pueden incluirse en el diseño del EA en forma de optimización. Entonces, ¿cómo podemos hacer una simulación con ellos? Así, la curva de beneficios del EA, en datos históricos, es simplemente una sección de la función de distribución de probabilidad de los beneficios en la implementación ocurrida históricamente de los tipos de cambio. Y no puede ser una característica suficientemente completa de un Asesor Experto.

Por supuesto, nunca podremos incorporar todas las sutilezas y matices de los tipos de cambio reales dentro de tipos de cambio simulados. La simulaciónd de tipos de cambio reales es un tema inagotable para artículos y estudios separados. Pero para empezar, podemos usar un simulador bastante sencillo para simular los sistemas de seguimiento de tendencias basado en Random Walk con tendencia.

Un simulador sencillo con la capacidad de determinar la función de distribución solo necesita estar adjunto al Probador de Estrategias. Otro lugar donde los tipos de cambio del simulador son el escaparate de los EAs. De lo contrario, nos resultaría difícil ver qué estamos comprando. Yo solo compraría un EA de trading tras haberlo simulado en varios simuladores y datos históricos fundamentalmente diferentes. Para cada EA que se venda, al lado del precio debería haber una función de distribución de probabilidad de los fondos adjunta, y un simulador desde el que se obtuvo.

La función de distribución de probabilidad de un Asesor Experto es un pasaporte técnico del EA, y su garantía del productor. La Ley de Protección de los Derechos del Consumidor en la Federación Rusa se aplica a los EAs del mismo modo que a cualquier otro producto. Aquí, no obstante, deberemos construir primer un sistema de certificación para simuladores.


Indicador de Tendencias

Usando la idea de las tendencias en un tipo de cambio, podemos construir un indicador de tendencias de lo más sencillo. A diferencia del Random Walk, los tipos de cambio reales se representan como barras. Sustituyamos los tipos de cambio reales con los de Random Walk. Cada barra se sustituye con un valor medio único (high + low)/ 2 (vea la pregunta al final del artículo).  Eliminemos la amplitud de los cambios y dejemos solo los signos. Obtendremos una serie de símbolos como esta: ++-+---+-+-- .... Cuente el número de cadenas de tendencias "++" y "--" y cadenas anti-tendencia "+-" y "-+" para las últimas barras N. Como indicador, tomaremos el valor de "++" + "--" - "-+" - "+-".

Por motivos de conveniencia, dibujaremos una línea en el indicador, que evaluará la fuerza de la tendencia: + o - raíz cuadrada de N.

El código del indicador en MQL5 se encuentra al final del artículo (TrendingHL.mq5).

Indicador de tendencias en EURUSD

Figura 3. Indicador de tendencias, EURUSD, intervalo de tiempo mensual. Los tipos de cambio casi siempre marcan una tendencia (sobre cero), y la mitad del tiempo es una tendencia fuerte (por encima de la línea verde superior). El número de barras por las cuales se evalúa la tendenia N=30

Tras jugar con el indicador de tendencias con los tipos de cambio EURUSD, notaremos lo siguiente:

  1. La mayor parte del tiempo, el indicador es mayor de cero. Esto significa que los tipos de cambio marcan una tendencia. La tendencia débil de los tipos de cambio ya se ha tratado. Pero una imagen vale más que mil palabras.

  2. Los tipos de cambio reales no siempre siguen una tendencia.

  3. El indicador de tendencias va con retraso, al igual que todos los demás indicadores.

  4. El indicador de tendencias nos permite calcular el tamaño del beneficio no aleatorio, que se puede obtener con la estrategia de trading de tendencia en este gráfico. El valor medio del indicador en la figura es de 7 aproximadamente. El cambio medio del tipo de cambio para una barra es de 0,01 dólares (aproximadamente). 0,01*7=0,07. Y por tanto, de un dólar invertido, podremos ganar unos 7 céntimos de beneficio cada mes. Esta es una evaluación aproximada, pero nos da una percepción de la magnitud. Nos hemos olvidado del intermediario, trading de margen y los puntos de entrada y salida al mercado.

    La buena noticia es que, a diferencia de los tipos de cambio de Random Walk, los tipos de cambio reales tienen una tendencia, y nos permiten ganar dinero.
    La mala noticia es que el interés del capital es muy bajo, y comparable con otros instrumentos de inversión.

  5. El hecho es que la tendencia, de media y a través de los años, es positiva, y le da al indicador la capacidad de predicción. Podemos esperar que la naturaleza de tendencia de los tipos de cambio continuará en el futuro.

  6. Las tendencias se pueden ver mejor en intervalos de tiempo grandes.

  7. La anti-tendencia se ve muy de vez en cuando.

  8. A pesar del hecho de que los tipos de cambio reales son un fractal, el concepto de invariación de tendencia bajo un cambio de la escala (intervalo de tiempo) no se puede afirmar con certeza.
    Probablemente, la siguiente hipótesis es correcta: el beneficio relativo es invariable bajo los cambios de la escala.


    donde:

    • Trend - tendencia,
    • AverChangePerBar - el cambio medio absoluto en los tipos de cambio para una barra,
    • TimeInBar - la duración de la barra en el tiempo (intervalo de tiempo).


    Mientras tanto, el beneficio se mantiene, no solo en intervalos diferentes, sino también en ideas de trading diferentes (ciclos, volatilidad) para varios tipos de cambio reales y en varios instrumentos de inversión. La rentabilidad se limita desde arriba por un ejército de especuladores e inversores. Desde abajo, el beneficio real de todos los instrumentos se limita por el aumento en el volumen total del capital o, si generalizamos, por el desarrollo de la humanidad.

    Basándonos en el último párrafo, podemos contruir un indicador de la tendencia del beneficio de un tipo de cambio, y con la involucración de otras ideas y un indicador, el beneficio total. Al construir indicadores similares para otros instrumentos, llegaremos a investigar el movimiento del capital a través del mercado, y después, quizás, podremos predecir los tipos de cambio de forma más precisa.

Permítame explicar el último párrafo con más detalle. Hay dos tipos de predicciones de tipos de cambios:

  1. Sabemos que es imposible sacar beneficios usando los tipos de cambio de Random Walks. Exploramos los tipos de cambio reales y vimos que estos tienen tendencias, que existen en ellos desde hace ya mucho tiempo. Bien, puesto que las tendencias han existido durante años, podemos asumir que seguirán ahí mañana también. Y esta es toda la predicción. Un tipo de tendendia no aleatoria. La no aleatoriedad de los tipos de cambio se genera por el crecimiento de la cantidad total de capital. La acumulación del capital llega a varios porcentajes cada año. Este porcentaje del capital es básicamente lo que tendremos de nuestra apuesta en esta no aleatoriedad.
  2. No solo sabemos la historia de los tipos de cambio, sino también los movimientos en mercados vecinos. La suma del capital en todos los mercados es el valor constante aproximadamente. Investigamos los movimientos del capital entre los mercados, encontramos tendencias, y las usamos para predecir los tipos de cambio. El beneficio en este caso será proporcional al flujo no aleatorio de capital entre mercados. Pero la implementación de tales predicciones en MetaTrader 5 por ahora solo es posible dentro de los límites del mercado de divisas. 

Ese 7 por ciento de la rentabilidad de tendencia (vea "tendencias no aleatorias"), que contamos por el indicador, es la suma de las nos no aleatoriedades consideradas arriba, y otras no aleatoriedades que ni siquiera yo conozco.

Los mercados aquí se ven como sistemas no cerrados (abiertos) con un flujo hacia dentro y otro hacia fuera. Aumento = flujo hacia dentro - flujo hacia fuera. Si el flujo hacia dentro es más grande que el flujo hacia fuera, el mercado (tipos de cambio de mercado) está siguiendo una tendencia. Si el flujo hacia dentro es igual al flujo hacia fuera, el mercado no tiene una tendencia. Si el flujo hacia dentro es menor que el flujo hacia fuera, entonces el mercado sigue una anti-tendencia.

Este artículo contiene una seria contradicción. Por un lado, usando el indicador de tendencias, hemos llegado a la conclusión de que los tipos de cambio reales siguen una tendencia. Pero por otro lado, hemos argumentado que los tipos de cambio reales fluctúan dentro de los límitesde un canal horizontal fundamental. Y un canal horizontal es una fuerte indicación de anti-tendencia.

De modo que, tras todo esto, ¿siguen los tipos de cambio reales una tendencia, o una anti-tendencia? Mi sentido de la armonía me dice que los tipos de cambio siguen una tendencia, y que no existe un canal horizontal fundamental. Y esto significa que los máximos y mínimos históricos se actualizarán constantemente. Y, en correspondencia a ellos, las crisis se harán cada vez más fuertes, hasta que la siguiente crisis destruya el sistema. En general, esto es comprensible, una tendencia es un signo de que en el sistema se está acumulando algún parámetro (beneficio). Si continuamos cargando un sistema, eventualmente se vendrá abajo. Se procederá a un restablecimiento del parámetro acumulado, y empezará un nuevo ciclo de desarrollo.


Conclusiones

Este es otro artículo sobre el mercado FOREX. Cientos de estos artículos se pueden encontrar en internet, con un precio medio de un dólar por artículo. Y el número de artículos gratuitos es incontable. De modo que, ¿qué hay de nuevo en este artículo en particular?

  1. Para la conveniencia de los traders, se presentan las propiedades de Random Walks y se crea un indicador que nos permite distinguir los tipos de cambio reales con tendencia de los datos de Random Walk.
  2. Usando el indicador, pudimos medir los beneficios que se pueden obtener con una estrategia de seguimiento de tendencia.
  3. Propusimos añadir a la plataforma de trading MetaTrader 5 un simulador de tipos de cambio. Y propusimos la idea de este simulador.  


Pregunta

Pregunta: ¿por qué se han tomado las medias para el indicador (High + Low)/2? Teniendo en cuenta que no podemos operar con este precio. Y tomando la media es peligroso; los tipos de cambio medios (suavizados) de Random Walk tendrán una tendencia. Además, cuando más suavizado se realice, mayor será la tendencia.

Respuesta: comprobémoslo. Para comprobar esto, tomamos los precios sin suavizado alguno. Por ejemplo, simplemente tomando el precio de apertura o de cierre. La tendencia se mantendrá, pero no se puede ver.


Consideremos el efecto del suavizado en el indicador de tendencias (EURUSD, intervalo mensual). El indicador más bajo se calcula en las medias (High + Low)/2 (trendinghl.mq5). El indicador del medio se calcula con el precio de Open (apertura) (trendingopen.mq5). El indicador de arriba se calcula con el precio de Close (cierre) (Trendingclose.mq5). Es evidente que todos los indicadores son positivos, y los tipos de cambio tienen una tendencia. Pero el valor medio del indicador, para Open y Close no es 7, como lo es para (High + Low)/2, y es aproximadamente 2. Para las precisiones cuyos cálculos se dan en este artículo, la diferencia no es significativa. Debo admitir que el suavizado ha aumentado artificialmente la tendencia de los tipos de cambio.

Puede encontrar pruebas (mediciones) más atractivas, precisas, con más autoridad y más difíciles de la tendencia de los tipos de cambio fácilmente en una búsqueda usando la palabras clave "tendencia", "persistencia", "exponente de Hurst"...

La parte de la pregunta que dice "después de todo, no podemos operar con este precio" es una experiencia no realista. El oponente espera (y busca subconscientemente) el indicador con el que podrá ver la señales con sus propios ojos, y operarlo expertamente con sus manos. Me veo obligado a decepcionarle. Los ordenadores han eliminado el trading manual.

Tal y como se evaluó en el artículo, la no aleatoriedad de los tipos de cambio dura por un 10 por ciento del capital cada año (preciso al orden). Estos valores en los tipos de cambio no se pueden ver con los ojos, ni controlar con las manos. Se requiere un Asesor Experto automatizado. El EA luchará por un pequeño porcentaje del capital en un año, y en el futuro próximo, luchará por una milésima parte de un porcentaje. Por ello necesitamos un simulador, para rastrear y optimizar las fracciones del porcentaje del beneficio.  

Al simular en tipos de cambio reales, es imposible detectar una porción de un porcentaje, o ni tan siquiera un porcentaje entero del beneficio por año.

Por eso hay requisitos muy altos de la máquina matemática del simulador.

//+------------------------------------------------------------------+
//|                                                     Trending.mq5 |
//|                                      Copyright 2010, Grebenev V. |
//|                                              https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2010, Grebenev V."
#property description "Trending Indicator"
#property version   "1.00"
#property indicator_separate_window
#property indicator_separate_window
#property indicator_buffers 3
#property indicator_plots   3
#property indicator_type1   DRAW_LINE
#property indicator_type2   DRAW_SECTION
#property indicator_type3   DRAW_SECTION
#property indicator_color1  LightSeaGreen
#property indicator_color2  DarkGreen
#property indicator_color3  DarkGreen
#property indicator_label1  "Trending"

//--- input parameters N – number of bars, by which the trend is calculated
input int      N=30;

double ExtTRbuffer[];   // array for the indicator
double ExtTRbufferP[];  // array for the upper estimation of the trend
double ExtTRbufferM[];  // array for the lower estimation of the trend
double average[150000];  // array for the average values of the rates

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- indicator digits
//   IndicatorSetInteger(INDICATOR_DIGITS,0);
//--- indicator short name
   IndicatorSetString(INDICATOR_SHORTNAME,"Trending");
//---- index buffer
   SetIndexBuffer(0,ExtTRbuffer);
   SetIndexBuffer(1,ExtTRbufferP);
   SetIndexBuffer(2,ExtTRbufferM);
//--- set index draw begin
   PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,1);
   PlotIndexSetInteger(1,PLOT_DRAW_BEGIN,1);
   PlotIndexSetInteger(2,PLOT_DRAW_BEGIN,1);
//---- Array Initialization
   ArrayInitialize(ExtTRbuffer,0);
   ArrayInitialize(ExtTRbufferP,0);
   ArrayInitialize(ExtTRbufferM,0);
   ArrayInitialize(average,0);
   return(0);
  }


//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {

   double pp=0,pm=0,mp=0,mm=0; // pp - number of «++» chains, pm  - number of «+-», mp – «-+», mm – «- -»

   / Fill the array of the average values of the rate with average values (high+low) /2
   for(int i=prev_calculated;i<rates_total;i++) average[i]=(high[i]+low[i])/2;

   for(int i=prev_calculated;i<rates_total;i++)
     {
      pp=0; pm=0; mp=0; mm=0;

      for(int j=0;j<N;j++)
        {
         if(i-j-2>=0) // check that the index of the array did not exceed the border 0
           {
            if((average[i-j-1]-average[i-j-2])>0 && (average[i-j]-average[i-j-1])>0) pp++;
            if((average[i-j-1]-average[i-j-2])>0 && (average[i-j]-average[i-j-1])<0) pm++;
            if((average[i-j-1]-average[i-j-2])<0 && (average[i-j]-average[i-j-1])>0) mp++;
            if((average[i-j-1]-average[i-j-2])<0 && (average[i-j]-average[i-j-1])<0) mm++;
            // chain containing "0" omitted
           }
        }
      // fill indicator arrays
      ExtTRbuffer[i]=pp+mm-pm-mp;
      ExtTRbufferP[i]=sqrt(N);
      ExtTRbufferM[i]=-sqrt(N);
     }
   return(rates_total);
  }

Traducción del ruso hecha por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/ru/articles/248

Archivos adjuntos |
trendingclose.mq5 (3.69 KB)
trendinghl.mq5 (3.67 KB)
trendingopen.mq5 (3.69 KB)
Exponer código C# a MQL5 usando exportaciones no gestionadas Exponer código C# a MQL5 usando exportaciones no gestionadas
En este artículo presento diferentes métodos de interacción entre código MQL5 y código gestionado C#. También facilito varios ejemplos sobre cómo ordenar estructuras MQL5 en contraposición a C#, y cómo invocar funciones DLL exportadas en scripts MQL5. Creo que los ejemplos que proporciono podrán servir como base para estudios futuros sobre escritura de DLLs en código gestionado. Este artículo también abre puertas para MetaTrader para usar varias bibliotecas que ya están implementadas en C#.
Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR Implementación de Indicadores como Classes por Ejemplos de Zigzag y ATR
El debate sobre la mejor forma de calcular indicadores es infinito. Dónde deberíamos calcular los valores de indicador: en el indicador mismo, o incrustar la lógica entera en un Expert Advisor que la use? Este artículo describe una de las variantes para mover el código fuente de un indicador personalizado iCustom al código de un Expert Advisor o script con optimización de cálculos y modelizacion del valor prev_calculated.
Modelo de Regresión Universal para la Predicción de Precio de Mercado Modelo de Regresión Universal para la Predicción de Precio de Mercado
El precio de mercado se forma mediante un equilibrio estable entre oferta y demanda, que a su vez depende de una variedad de factores económicos, políticos y psicológicos. Las diferencias en su naturaleza, así como las causas de influencia de estos factores, hacen que sea difícil considerar directamente todos los componentes. Este artículo llevará a cabo un intento de predecir el precio de mercado basándose en un elaborado modelo de regresión.
Gráficos y diagramas en HTML Gráficos y diagramas en HTML
Hoy día es difícil encontrar un ordenador que no tenga instalado un navegador de internet. Los navegadores han ido evolucionado y mejorando durante mucho tiempo. Este artículo tratará la forma más sencilla y segura de crear gráficos y diagramas basándonos en la información obtenida del Terminal de Cliente MetaTrader 5 para mostrarlos en el navegador.