Mira cómo descargar robots gratis

¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!

¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5

Indicadores

Indicador de spread iSpread para el comercio con parejas - indicador para MetaTrader 5

Alexey Oreshkin | Spanish English Русский 中文 Deutsch 日本語 Português

Visualizaciones:
901
Ranking:
votos: 28
Publicado:
2014.05.28 14:07
Actualizado:
2016.11.22 07:33
ispread.mq5 (16.72 KB)ver

El indicador permite crear nuestro propio símbolo sintético en base a dos parejas elegidas.

El algoritmo de funcionamiento del indicador es el siguiente:

Elección de datos iniciales

  1. Desde qué fecha comenzamos - Elegimos la fecha inicial para la representación del símbolo sintético. Es necesario para excluir la parte de la historia más antigua, ya que es innecesaria.
  2. Símbolo 1/2 - Elección de las dos parejas iniciales.
En la siguiente etapa llevamos a cabo la preparación preliminar de los datos iniciales.

Transformación de los datos

  1. Acción - Elección de la acción aritmética mediante la cual ambas series se unirán en una sola. Hay 4 acciones disponibles: - + / * Yo he utilizado la diferencia y la proporción. Es posible que necesitemos la suma y el producto, pero aún no me he visto en tales situaciones. Me alegraría de que alguien me explicara un poco cómo usarlas.
  2. Reverso del símbolo 1/2 - Inversión de la serie elegida, si la correlacción es negativa.
  3. Grado del símbolo 1/2 - Exponenciación de la serie elegida. Sé que esto es necesario, aunque no uso este parámetro, ya que no entiendo exactamente para qué se debe exponenciar una serie. Sospecho que se usará para igualar las dimensiones de ambas series, pero para eso utilizo multiplicadores. Si esta presuposición es correcta, entonces, ¿qué ventajas tiene un enfoque con respecto al otro?
  4. Multiplicador de símbolo 1/2 - Posibilidad de multiplicar la fila por una cifra determinada. Lo uso para igualar de las dimensiones de las series.
  5. Logaritmación - Transformación de las series resultantes a una escala logarítmica. Si utilizo la logaritmación, entonces prepararé la última serie con la ayuda de la diferencia de las dos series iniciales, y si no la usas, entonces elige la acción: proporción. La transmisión a esta escala permite deshacerse de la influencia de la tendencia cuadrática, pero en los segmentos cortos no puedo ver la diferencia, y es por eso que no suelo usarla y establezco la acción: proporción. Si me he confundido en algo, acepto explicaciones con mucho gusto.
  6. Suavización.Periodo - Cuando se han llevado a cabo todas las acciones, antes de fundir las dos series en un sola, a veces se realiza una suavización ligera de los datos obtenidos. Yo suelo suavizar esta serie con una sencilla MA de periodo definido. Esto no produce apenas ninguna distorsión, pero permite cortar significativamente diversos picos y cotizaciones poco adecuadas para el mercado. Es posible no usar la suavización, si ponemos a 0 el valor del parámetro. Cuando uso un periodo corto para eliminar la tendencia (vea las opciones más adelante) no utilizo la suavización. La suavización no provoca pérdidas de información cuando los valores son grandes, mientras que la serie resulta algo más suave y con menos ruido.

Con esto damos por terminada la preparación de los datos y la creación de un símbolo sintético. Esto es lo que hemos hecho:

Hemos tomado EURUSD:

eurusd

Hemos tomado GBPUSD:

gbpusd

El símbolo sintético creado por nosotros:

símbolo sintético


Nos queda la última etapa, determinar la desviación necesaria para la búsqueda de los puntos de entrada:

Búsqueda de desviaciones

  1. Selección de un algoritmo - Eliminación de la tendencia con una MA simple o una Primera Diferencia. De la serie obtenida hay que eliminar la tendencia. Conozco dos métodos para ello (prefiero el segundo) El primero consiste en eliminar la MA de la serie obtenida mediante un periodo pequeño (lag). El periodo lo elegimos partiendo del horizonte de inversión. La MA se basa en un algoritmo sencillo. Aún no tengo del todo claro si es mejor utilizar aquí una exponencial y cuál sería la diferencia. Si alguien me lo puede aclarar, le estaría agradecido. El segundo método consiste en tomar la primera diferencia por dos, al principio para cada pareja, y después entre los resultados obtenidos. El resultado final de los métodos es muy similar, siempre que no haya movimientos intensos en una de las series. Si tenemos un movimiento fuerte, el primer método nos dará un regreso más rápido del resultado sintético hacia 0, lo que con toda probabilidad conlleva una indicación falsa. Una pequeña observación con respecto a la primera diferencia. En lugar de Close[1]-Close[2] yo utilizo Close[1]/Close[2], es decir "el primer índice" aunque es verdad que aún no me he topado con semejante término
  2. Periodo del algoritmo - Lag, desplazamiento, ventana. Si ponemos 0, el símbolo sintético no se modifica.
  3. Mostrar los niveles - Mostrar o no los niveles de desviación con cuyo cruce se toma la decisión de entrar en el mercado. Yo uso 3 niveles en ambas direcciones: rojo, amarillo, verde.
  4. Método de cálculo de los niveles - Conozco 3 métodos para determinar los datos de los niveles. Método 1 (se llama normalización en 0..1 con desplazamiento) - un símbolo sintético desprovisto de tendencia en un diapasón único, seguido de un desplazamiento =-0.5, para que las fluctuaciones se mantengan en torno a 0. Lo más frecuente es utilizar este método precisamente, pero hay que entender que los datos iniciales disponibles cuando no tenemos extremos estables, aun así, se normalizan, y estos valores no deberían ser tenidos en cuenta. Dado que el indicador no redibuja el pasado después de que se actualicen los extremos, en el gráfico esto tendrá el aspecto siguiente:

normalización


Tras 2 o 3 buenas divergencias de las series iniciales, podremos comenzar a confiar en estos niveles. Los extremos para la normalización no se pierden conforme la información se va acumulando.

Método 2 (llamado niveles de los extremos) - simplemente se trata de rastrear la desviación máxima absoluta y su división en 3 niveles para la entrada en el mercado.

Las peculiaridades son las mismas que con la normalización, mientras no obtengamos extremos estables, no es recomendable creer en semejante niveles.

Cuando utilizamos este método, podemos ver la siguiente imagen:

Desviaciones conforme a los extremos

Cuando usemos cualquiera de los métodos mencionados más arriba para representar los niveles, hay una ventaja bastante significativa: los niveles no se estrechan. Sin embargo, también hay una desventaja: si aparece un pico, los cálculos siguientes se orientarán conforme a él. Para quitarlo, introducimos el último parámetro en el indicador, llamado Coeficiente de niveles (se trata simplemente de un multiplicador que permite estrechar o expandir de manera manual los datos de los niveles para la entrada).

El método de representación número 3 es el cálculo de la desviación estándar. Esta variante no se encuentra implementada en el indicador, dado que este método provoca el estrechamiento de los niveles, cosa que considero inasumible. Como resultado, los niveles parecen burbujas que se encogen y expanden constantemente. Desafortunadamente, no dispongo de capturas de pantalla, ya que borré este método de cálculo de todos los indicadores. Existe otro defecto más: hay que comprobar constantemente todos los datos disponibles, para que todo esto pueda ser calculado.

P.S. He trasladado el indicador desde MetaTrader 4 para comprobar ciertas ideas en el simulador múltiple, pero tengo algunas observaciones:

  1. El indicador, de alguna forma, dibuja cierto ruido si no consigue obtener todos los datos. Por qué sucede eso es algo que no comprendo, en MetaTrader 4 no me pasa;
  2. Cuando aparecen agujeros en la historia, en principio, el indicador debe tomar los valores anteriores, pero por los motivos detallados en el primer párrafo he dejado vacía esta información, para que se vea con exactitud dónde se encuentra el agujero.
  3. Si algo se dibuja de manera incomprensible, actualizad el gráfico, cambiad el periodo, la pareja, etc.
  4. He intentado usar el temporizador cuando no hay información, pero el resultado es insatisfactorio, así que he eliminado el temporizador.
  5. Sospecho que los puntos 1-4 no me han salido muy bien debido a que estoy poco familiarizado con MQL5, así que estaré encantado de recibir vuestros comentarios.

Traducción del ruso realizada por MetaQuotes Software Corp.
Artículo original: https://www.mql5.com/ru/code/2197

BB-HL BB-HL

Otra variante del tema de las bandas de Bollinger. En este indicador, al calcular la desviación estándar, en lugar de Close se usan los precios High y Low.

BBands_Stop_v1_HTF BBands_Stop_v1_HTF

Indicador BBands_Stop_v1 con posibilidad de cambiar el marco temporal del indicador en los parámetros de entrada.

BWImp-T01 BWImp-T01

Oscilador de tendencia no normalizado.

Simple EA Simple EA

¡El robot más sencillo capaz de comprar y vender!