Sunday 19 November 2017

Indicador De Media Móvil Variable Mq4


Uso de indicadores técnicos Según pertenecer al sistema de comercio en línea MetaTrader 4 hay dos tipos de indicadores en MQL4 - técnico y personalizado. Indicador técnico es una parte integral del sistema de comercio en línea MetaTrader, función incorporada que permite dibujar en la pantalla una cierta dependencia. Propiedades de los indicadores técnicos Dibujo en la ventana de seguridad Cada indicador técnico calcula una cierta dependencia predefinida. Para dibujar gráficamente esta dependencia en la pantalla, se debe adjuntar un indicador técnico a un gráfico. Esto se puede hacer a través del menú del sistema Insertar Indicadores gtgt oa través de la ventana Navegador de un terminal cliente. Para adjuntar un indicador técnico a un gráfico desde la ventana de Navegador, se utiliza un método muy sencillo: arrastre-amp-gota del nombre del indicador técnico de la ventana del Navegador a una ventana de gráfico. Como resultado, una o varias líneas calculadas en este indicador aparecerán en la ventana del gráfico. Las líneas de indicadores de un indicador técnico pueden dibujarse tanto en la ventana principal del gráfico como en una ventana separada en la parte inferior de una ventana de seguridad. En la Fig. 104 indicador técnico El cocodrilo se dibuja en una ventana de gráfico. Unchangeability de código Todos los indicadores técnicos están incorporados, su código no está disponible para realizar modificaciones. Así que un usuario está protegido de una modificación errónea de los indicadores técnicos incorporados. Sin embargo, el código fuente, en el que se calcula un indicador técnico, está disponible en el sitio web para desarrolladores de software (MetaQuotes Software Corp.) en la sección Indicadores técnicos. Si es necesario, un programador puede usar el código completo o parte de él para crear indicadores personalizados (consulte Creación de indicadores personalizados). Funciones de llamada de los indicadores técnicos La representación gráfica visible para un usuario es mostrada por un terminal cliente. Además, por conveniencia, llamaremos tales líneas de indicadores de dibujos. La línea de indicador es una representación gráfica de una cierta dependencia basada en los valores numéricos incluidos en una matriz de indicadores. El tipo de línea de indicador está configurado por un usuario. La línea indicadora puede visualizarse en forma de una línea sólida o discontinua, de un color determinado, así como en la forma de una cadena de ciertos signos (puntos, cuadrados, anillos, etc.). Durante los cálculos de indicadores, se calculan conjuntos de valores numéricos, se dibujarán líneas de indicador de acuerdo con estos cálculos. Estos conjuntos de valores se almacenan en matrices de indicadores. Indicador Array es un arreglo unidimensional que contiene valores numéricos, de acuerdo con el cual se construyen líneas de indicadores. Los valores numéricos de los elementos de la matriz de indicadores son coordenadas de puntos, sobre las cuales se dibuja una línea de indicador. La coordenada Y de cada punto es el valor de un elemento de matriz de indicadores, la coordenada X es el valor de índice del elemento de matriz de indicadores. La tecnología de almacenamiento de datos en matrices de indicadores es la base para la construcción de indicadores técnicos y personalizados. Los valores de los elementos de los indicadores de indicadores técnicos están disponibles en todos los programas de aplicación, incluidos los Asesores expertos, los guiones y los indicadores personalizados. Para obtener un valor de un elemento de matriz de indicadores con un cierto índice en un programa de aplicación, es necesario llamar a una función incorporada, cuyo nombre se establece de acuerdo con un nombre de indicador técnico. Para la ejecución de una función de indicador técnico, el indicador correspondiente no debe estar necesariamente unido a una ventana de seguridad. También la llamada de función de indicador técnico de un programa de aplicación no conduce a la conexión de un indicador correspondiente a una ventana de seguridad. El adjunto de un indicador técnico a una ventana de seguridad no da como resultado una llamada de indicador técnico en un programa de aplicación. Una serie de indicadores técnicos se incluye en el terminal de cliente del sistema de comercio en línea MetaTrader 4. Vamos a analizar algunos de ellos. Moving Average, MA Indicador técnico Moving Average, MA muestra el valor medio del precio del instrumento durante un cierto período de tiempo. El indicador refleja la tendencia general del mercado - puede aumentar, disminuir o mostrar algunas fluctuaciones cerca de algún precio. Para obtener valores de la línea del indicador MA en un momento determinado, utilice la función estándar: símbolo - nombre del símbolo de un valor, sobre los datos de los que se calculará el indicador. NULL significa el símbolo actual. Período de tiempo. Puede ser uno de los períodos de gráfico. 0 significa el período del gráfico actual. Período - período de promediación para los cálculos de MA. Mashift - indicador de cambio en relación con un gráfico de precios. Método de promediar. Puede ser uno de los valores de los métodos MA. Precio aplicado - precio usado. Puede ser cualquiera de las constantes de precios. Índice de valor de desplazamiento adquirido a partir de una matriz de indicadores (desplazamiento respecto a una barra actual por un número especificado de barras). A continuación se muestra un ejemplo de llamada a una función de indicador técnico del Asesor experto callindicator. mq4: En la llamada de EA callindicator. mq4 se utiliza la función llamada (función del indicador técnico Moving Average). Vamos a analizar esta parte del programa en detalles: NULL denota que el cálculo de una media móvil se realiza para una ventana de seguridad, a la que se adjunta la EA (en este caso es EA, en general, puede ser cualquier programa de aplicación) Calculado para el período de tiempo establecido en la ventana de seguridad, a la que se adjunta la EA PeriodMA - el valor del período de promedio se establece en una variable externa si después de adjuntar EA a una ventana de seguridad un usuario no cambia este valor en los ajustes de las variables externas EA , El valor es igual a 5 0 - el conjunto de indicadores no se desplaza con respecto a un gráfico, es decir, los valores de los elementos del conjunto de indicadores contienen valores de MA calculados para las barras, en los que se dibuja la línea del indicador MODESMA - Cálculos PRICECLOSE - el precio de cierre de la barra se utiliza para los cálculos 0 - Indice de elemento de matriz de indicadores, para el cual se adquiere el valor - en este caso es el elemento cero. Teniendo en cuenta que el conjunto de indicadores no se desplaza en relación con el gráfico, se obtiene el valor MA para la barra cero. La función iMA () devuelve un valor asignado a la variable MA. En otras líneas del programa, este valor se compara con el precio actual de la oferta. Si el precio actual es mayor o menor que el valor de MA obtenido, se muestra una alerta. El uso de variables FactUp y FactDn permite mostrar la alerta sólo después del primer cruce de la línea MA (nota, la línea de indicador azul en una ventana de seguridad se dibuja no porque la función de indicador técnico se llamó desde el programa, sino porque un usuario ha adjuntado El indicador al gráfico, figura 104). Debe notarse aquí que con la aparición de nuevos índices de barras de barras de historial se incrementa, la barra actualmente en formación siempre tiene el índice 0. En el Expert Advisor callindicator. mq4, la función de indicador técnico iMA () devuelve el valor calculado para la barra cero. Aunque el valor de índice nunca se cambia durante la ejecución de EA (es decir, los cálculos siempre se realizan en la barra actual), el valor devuelto por iMA () siempre corresponderá al último calculado, es decir, calculado para la barra cero actual. Si para algunos cálculos en el programa necesitamos obtener el valor de un valor de indicador técnico no para la barra actual, bur para un histórico, el índice de matriz de indicadores necesario debe especificarse en la llamada de función. Permite ver un ejemplo de EA historybars. mq4. En el que MA se calcula en la cuarta barra: En el EA historybars. mq4 se calculan los valores de MA para la barra actual (índice 0) y para la cuarta barra (índice 4). Los índices indicados 0 y 4 no cambian durante esta operación de programa y el programa puede funcionar infinitamente largo cada vez que se calculan valores de MA para el cero y las cuarta barras. Recuerde, aunque se hacen cálculos para MA en barras con los mismos índices, MA se cambiará, es decir, se corresponderá con los valores MA actuales en la barra cero actual y la cuarta barra actual. En la Fig. 106 está claro que a medida que los precios crecen en las barras de las barras, MA sube. La diferencia entre los valores de MA en el cero y la cuarta barras también crece lo que se refleja en las alertas visualizadas. Los indicadores técnicos pueden reflejar no sólo uno, sino también dos o más indicadores Indicador técnico Oscilador estocástico compara el precio de cierre actual con el rango de precios para un período de tiempo seleccionado. El indicador suele estar representado por dos líneas de indicadores. La principal se llama K. La segunda línea de señal D es la media móvil de K. Usualmente K se dibuja como una línea continua, D - con hilera. De acuerdo con una de las variantes de la explicación del indicador, debemos comprar si K es mayor que D y vender si K es menor que D. El momento más favorable para ejecutar una operación comercial se considera el momento de concurrencia de líneas. Nombre del símbolo de símbolo de un valor, sobre los datos de los cuales se calculará el indicador. NULL significa el símbolo actual. Período de tiempo. Puede ser uno de los períodos de gráfico. 0 significa el período del gráfico actual. Kperiod - período (número de barras) para calcular K. Dperiod - período de promediado de D. disminución de la desaceleración. Método - método de promediar. Puede ser uno de los valores de los métodos MA. Pricefield - parámetro de elegir los precios para los cálculos. Puede ser uno de los siguientes valores: 0 - Bajo / Alto o 1 - Cerrar / Cerrar. Mode - índice de las líneas indicadoras. Puede ser uno de los siguientes valores: MODEMAIN o MODESIGNAL. Shift - índice del valor obtenido de un búfer indicador (cambio de posición respecto a una barra actual por un número especificado de barras). El uso del oscilador estocástico ofrece la necesidad de analizar las posiciones relativas de las líneas. Para el cálculo de la decisión de comercio, debe tenerse en cuenta el valor de cada línea en la barra actual y la anterior (véase la figura 107). Cuando las líneas se cruzan en el punto A (la línea verde cruza la roja hacia arriba), se debe cerrar la orden de venta y se debe abrir el orden de compra. Durante la parte A - B (sin líneas cruzadas, la línea verde es más alta que la línea roja) La orden de compra debe mantenerse abierta. En el punto B (la línea verde cruza la roja hacia abajo) la compra debe ser cerrada y la venta debe ser abierta. Luego Sell debe permanecer abierto hasta el próximo cruce (sin cruzar, línea verde debajo de la línea roja). Higo. 107. Concurrencia de las líneas principal y de señal del Oscilador Estocástico. El siguiente ejemplo contiene la implementación de un algoritmo simple que demuestra cómo se pueden obtener los valores necesarios de cada línea y se pueden formar criterios de negociación. Para este fin se utilizan los valores de las funciones técnicas del indicador iStocásticas () en el EA callstohastic. mq4: Para obtener el valor de la línea K (verde sólido) en la barra cero se utiliza la siguiente línea de cálculo: Aquí el parámetro MODEMAIN indica la línea, el valor De la cual se solicita, el último parámetro 0 es el índice de barras, para el que se debe calcular el valor de la línea. En las tres líneas de programa siguientes se calculan otras variables por analogía - para la línea D (línea de puntos rojo, parámetro MODESIGNAL) para el cero y la primera barra. En el siguiente bloque se analiza la correlación de los valores obtenidos y la EA informa sobre el estado actual de cada señal. Por ejemplo, en líneas: se detecta el hecho de que las líneas rojas sean cruzadas por el verde hacia arriba. Si en la barra anterior la línea verde estaba por debajo de la roja (es decir, la expresión M1 lt S1 es verdadera) y en la barra actual la línea verde se eleva por encima de la roja o sus valores son iguales (es decir, la expresión M0 gt S0 es Verdadero), significa que desde la anterior formación de barra hasta el momento actual la verde solitaria cruzó la roja hacia arriba. Por lo tanto, la condición calculada en si el operador es verdadero, es por eso que el control se pasa a si el cuerpo del operador, como resultado Alert () se ejecuta para mostrar el mensaje correspondiente. En un asesor experto destinado a negociar en si el cuerpo del operador una función de negociación para abrir una orden de compra debe ser indicado. En este caso, la variante analizada del trazado de las líneas indicadoras conducirá a la formación de un orden comercial y, por último, a la ejecución de una operación comercial. Para la variante cuando la línea verde cruza la roja hacia abajo, en si se debe indicar una función comercial para abrir una orden de venta. Higo. 108 muestra el resultado de la operación callstohastic. mq4. Utilizando funciones de indicadores técnicos para crear Trading Expert Advisors y scripts es muy conveniente. La cantidad de funciones de indicadores técnicos utilizadas en un asesor experto es ilimitada. Un desarrollador de estrategias de negociación puede decidir definir diferentes criterios de negociación basados ​​en la combinación de valores de indicadores técnicos. El análisis de un simple experto en comercio de expertos, cuyos criterios comerciales se basan en indicadores técnicos, se encuentra en la sección Asesor experto simple. El promedio móvil variable es un promedio móvil exponencial que ajusta automáticamente la constante de suavizado en función de la volatilidad de la serie de datos. Mientras más volátiles sean los datos, mayor será la constante de suavizado utilizada en el cálculo del promedio móvil. Cuanto mayor sea la constante de suavizado, mayor será el peso dado a los datos actuales. Lo contrario es cierto para los datos menos volátiles. Las medias móviles típicas sufren la incapacidad de compensar los cambios en la volatilidad. Durante los mercados volátiles, desea un promedio móvil para aumentar su sensibilidad, por lo que rápidamente estará en el lado correcto de cualquier giros salvajes. Mediante el ajuste automático de la constante de suavizado, un promedio móvil variable es capaz de ajustar su sensibilidad, lo que le permite un mejor desempeño en los mercados de alta y baja volatilidad. Fórmulas: AbsCMO: (Abs (CMO (Close, CMOPeriod))) / 100 SC: 2 / (SmoothPeriod1) si el período gt CMOPeriod SmoothPeriod 2 entonces VARMA (SCAbsCMOC) (1- (SCAbsCMO)) VARMA VARMA Cerrar VARMA. Mq4 (1.71 KiB) Descargado 448 veces Alexander. Gettinger FXCodeBase: Usuario Confirmado Publicaciones: 2461 Registrado: Wed Mar 31, 2010 9:40 pm Ubicación: Russia, Omsk ¿Quién está conectado? Usuarios navegando por este Foro: azizhk y 1 invitado Powered by phpBB copy 2000, 2002, 2005, 2007 Grupo de phpBB FXCodeBase. La última fuente de los indicadores y señales para las aplicaciones FXCM Trading Station y Marketscope Forex Capital Markets, LLC. (FXCM LLC) es una entidad legal independiente y no está afiliada a Gehtsoft USA LLC. Fxcodebase no es propiedad, controlado u operado por FXCM LLC. FXCM no aprueba ningún producto o servicio de Gehtsoft USA LLC. Nada relacionado con esta promoción se considerará una solicitud de compra o una oferta para vender cualquier producto o servicio a cualquier persona en cualquier jurisdicción donde dicha oferta, solicitación, compra o venta sería ilegal bajo las leyes o reglamentos de dicha jurisdicción. Un puerto de Media Movible Variable basada en ADX con suavizado adicional opcional con el indicador de Promedio de Movimiento elegido. Una variable Moving Average es similar a la media móvil exponencial (EMA), pero es capaz de ajustar su porcentaje de suavizado basado en la inconstancia del mercado automáticamente. Su sensibilidad crece proporcionando más peso a los datos en curso, ya que genera una mejor señal para los mercados de corto y largo plazo. Por lo que sé, el indicador fue desarrollado inicialmente para VTTrader, luego optimizado y modificado por IgorAD para metatrader 4. Código: Seleccionar todo - Versión original: ----------------- -------------------------------------------------- - - FantailVMA3.mq4 - Copyright 2007, Forex-TSD - Escrito por IgorAD, igorad2003yahoo. co. uk - finance. groups. yahoo/group/TrendLaboratory -------------- -------------------------------------------------- ----- propiedad copyright quotCopyright 2007, Forex-TSD quot - vínculo de propiedad quotforex-tsd / quot - - Ported a Lua para fxcodebase función de sitio Indicador de Init (): name (quotFantail VMAquot) indicador: description (quotA Puerto de FantailVMA3.mq4 por IgorAD, igorad2003yahoo. co. ukquot) indicador: requiredSource (core. Bar) indicador: type (core. Indicator) indicator. parameters: addGroup (quotCalculationquot) indicator. parameters: addInteger (quotAdxNquot, quotNumber de periodos para ADXquot, quotEl valor debe estar entre 2 y 8, 2 para fast, 8 para slowquot, 2, 2, 8) indicador. parámetros: addDouble (quotWeightquot, quotWeigting factorquot, quotEl valor debe estar entre 1 y 8, 1 para rápido, 8 para slowquot, 2, 1, 8) indicator. parameters: addString (quotSmoothquot, quotSmooth VMAquot, quotquot, quotNOquot) indicator. parameters: addStringAlternative (quotSmoothquot, quotDont Smoothquot, quotquot, quotNOquot) indicator. parameters: addStringAlternative (quotSmoothquot, quot (SMA ) móvil simple Averagequot, quotquot, quotMVAquot) indicator. parameters: addStringAlternative (quotSmoothquot, quot (EMA) móvil exponencial Averagequot, quotquot, quotEMAquot) indicator. parameters: addStringAlternative (quotSmoothquot, quot (LWMA) lineal ponderada en movimiento Averagequot, quotquot, quotLWMAquot ) indicator. parameters: addStringAlternative (quotSmoothquot, quot (LSMA) menos Moving quot, quotquot, quotREGRESSIONquot) indicator. parameters (regresión) Square Promedio: addStringAlternative (quotSmoothquot, quot (SMMA) móvil suavizada Averagequot, quotquot, quotSMMAquot) indicator. parameters: addStringAlternative (quotSmoothquot, quot (WMA), Wilders Smoothquot quotquot, quotWMAquot) indicator. parameters: addInteger (quotMaNquot, quotNumber de periodos para smoothingquot, quotquot, 2, 2, 100) indicator. parameters: addgroup (quotStylequot) indicator. parameters: addColor (quotMainClrquot, quotMain colorquot, quotMain colorquot, core. rgb (255, 255, 0)) indicator. parameters: addInteger (quotwidthLinRegquot, quotLine widthquot, quotLine widthquot, 1, 1, 5) indicator. parameters: addInteger (quotstyleLinRegquot, stylequot quotLine , quotLine stylequot, core. LINESOLID) indicator. parameters: setflag (quotstyleLinRegquot, core. FLAGLINESTYLE) termina firstsrc local de fuente local, firstdi, firstvma str locales, SPDI, SMDI, ADX, VMA indi locales, hacia fuera, firstindi adxn local función de peso Prepare (onlyName) nombre local nombre perfil: id (). Quot (instance. source: name ().quot, quot. Instance. parameters. AdxN. Quot, quot. Instance. parameters. Weight si instance. parameters. Smooth quotNOquot then name name. Quot, quot. Instance. parameters. Quot (quot) instance. parameters. MaN. quot) quot) quot) quot instancia: name (nombre) if onlyName then return end weight instancia. parameters. Weight adxn instance. parameters. AdxN source instancia. source firstdi (Firstdi, 0) instancia de smdi: addInternalStream (firstdi, 0) instancia de adx: addInternalStream (firstdi, 0) si instance. parameters. Smooth quotNOquot luego indi nula instancia VMA: addStream (quotVMAquot, core. Line, nombre quot. VMAquot, quotVMAquot, instance. parameters. MainClr, firstvma.) VMA: setWidth (instance. parameters. widthLinReg) VMA: setStyle (instance. parameters. styleLinReg) else instancia vma: addInternalStream (firstvma, 0) indi core. indicators: create (instance. parameters. Smooth, vma, instance. parameters. MaN) firstindi indi. DATA:first () out instancia: addStream (quotVMAquot, core Línea, nombre. SetStyle (instance. parameters. styleLinReg) función final Actualización (período, modo) toros locales, osos, tr, pdi (por ejemplo, parámetro) , Mdi, dx, adxmin, adxmax, diff, c si período gt firstdi luego local hi, low, hi1, lo1, c1 hi source. high91period93 hi1 source. high91period - 193 lo source. low91period93 lo1 source. low91period - 193 c1 source. (Hi-hi, hi-hi1)) tiene 0.5 (math. abs (lo1-lo) (lo1-lo)) Si los toros gt soporta entonces los osos 0 los toros lt los osos entonces los toros 0 elseif los toros los osos entonces los toros 0 los osos 0 terminan si el período firstdi entonces spdi91period93 bulls smdi91period93 lleva str91period93 tr else str91period93 (peso str91period - 193 tr) / (peso 1) spdi91period93 (peso spdi91period - 193 toros) / (peso 1) smdi91period93 (smdi91period peso - 193 osos) / (peso 1) End If str91period93 gt 0 entonces PDI spdi91period93 MDI smdi91period93 demás PDI spdi91period - 193 MDI smdi91period - 193 final si PDI MDI gt 0 entonces dx (Pdi-mdi) / (pdi mdi) else dx 0 fin si periodo firstdi entonces adx91period93 dx else adx91period93 (peso adx91period - 193 dx) / (peso 1) fin si periodo gt firstvma entonces adxmin, adxmax mathex. minmax Adx, period - adxn 1, periodo) diff adxmax - adxmin si diff gt 0 entonces c (adx91period93 - adxmin) / diff else c 0 fin si período firstvma entonces vma91period93 source. close91period93 else vma91period93 (2 - c) vma91period - 193 c Source. close91period93) / 2 end end nil y period gt firstindi then indi: actualización (core. UpdateLast) out91period93 indi. DATA91period93 end_data final Nikolay. Gekht FXCodeBase: Base Builder Mensajes: 1230 Inscrito el: Wed Dic 16, 2009 6:39 pm Ubicación: Cary, NC

No comments:

Post a Comment