Monday, November 7, 2016

Metatrader 5 - Sistemas De Trading

Explorando Clases estrategia de negociación de la librería estándar - Estrategias Personalización Explorando Clases estrategia de negociación de la librería estándar - Estrategias Personalización En este artículo vamos a mostrar cómo explorar la Biblioteca Estándar de Trading Clases de estrategia y cómo agregar Estrategias personalizada y Filtros / señales utilizando los patrones-y-Modelos lógica del Asistente para MQL5. Al final usted podrá fácilmente añadir sus propias estrategias utilizando MetaTrader 5 indicadores estándar y MQL5 Wizard creará un código limpio y potente y experto asesor completamente funcional. Introducción Este artículo está destinado a los usuarios principiantes / principiantes que quieran acercarse a algún tipo de personalización con la funcionalidad y sin necesidad de escribir una EA desde cero. En MetaTrader 5 tenemos una gran posibilidad de que el comercio de expertos con un conocimiento mínimo o cero (y competencias) sobre el lenguaje de programación y codificación de fuentes, gracias a la función de un MetaEditor: Asistente para MQL5. El mago (no vamos a explicar sus detallados a trabajar aquí en este artículo) está destinado a generar programas terminados (.mq5 y archivos. ex5), algoritmos y código. Se beneficia de usar MQL5 biblioteca estándar y sus clases de estrategia de comercio (que son grandes recursos). Hay un montón de clases de estrategia de comercio presentes en la biblioteca estándar de hecho, algunos de ellos ya son muy buenos y vienen de los estudios más o menos famosas sobre los mercados financieros y análisis de rentabilidad. Hay por lo menos una estrategia para cada indicador del conjunto estándar de indicadores que vienen con MetaTrader 5. Establecer señales de comercio de estas Clases de estrategia comercial, Asistente para MQL5 utiliza un mecanismo que requiere de indicador de conductas inventada por una lógica codificada en forma de "patrones de comercio". Y cada EA generada específica llama a indicadores (a través de las instrucciones # include) y sus conjuntos de patrones y las decisiones comerciales que luego se importan en el núcleo de EA para el propósito de la negociación. Asistente para MQL5 El primer paso es crear un Asesor Experto utilizando Asistente para MQL5. Para abrir el Asistente MQL5 en MetaEditor seleccionar "Nuevo" en el menú "Archivo" o pulse el botón "Nuevo", a continuación, seleccione la opción "Asesor Experto (generar)". Vamos a nombrar nuestra Expert Advisor generada en Asistente para MQL5 como "MyExpert". Luego añadimos dos indicadores / señales para trabajar con él (se puede seleccionar tantas condiciones como desee a partir de los indicadores disponibles). Para nuestro ejemplo vamos a añadir dos indicadores famosos: Índice de Fuerza Relativa (RSI) y la media móvil (MA). Añadir el indicador RSI primero y luego añadir el indicador MA. Podemos establecer algunos parámetros, como queremos, o salir de los parámetros por defecto para nuestro ejemplo. Después de hacer clic en Aceptar y pasando con el Asistente, no vamos a seleccionar (por ahora) cualquier parada que se arrastra en la ventana siguiente, pero si lo desea, puede añadir: que no afectará el tema de este artículo. En la siguiente ventana seleccionaremos 5.0 como porcentaje de la negociación y 0,1 lotes, o cualquier otro parámetro que desee: una vez más, esto no afectará el argumento de nuestro artículo. Analizar Generated Código Después de terminar tendrá el archivo "MyExpert. mq5". Vamos a analizar los puntos principales del código generado. Primer aviso los archivos #include añaden al código generado por el asistente. Podemos ver: Expert. mqh SignalRSI. mq SignalMA. mqh Entonces la siguiente porción de código: Como el título lo indica, es el "filtro" que se aplicará a las condiciones del mercado de la EA generada que se va a unir a un gráfico o probado en el probador de estrategia. El filter0 es entonces el primer filtro con un "índice" de cero, y para este primer filtro hemos seleccionado RSI en nuestro ejemplo. CSignalRSI significa Clase Señal RSI. Esta clase se utiliza para llamar al indicador RSI y aplicar a él algunas condiciones para la creación de compra o venta de señales a través de la utilización de patrones de la lógica del Asistente. RSI es entonces nuestra primer filtro (filtro número 0). En la siguiente parte del código hay parámetros de algunos filtros, luego Trailing Stop Sección (hemos optado sin arrastre) y más tarde - la parte del código que se trata de la administración del dinero. Pasando, tenemos: En esta sección pertenece a los Expert. mqh archivo de inclusión. Se trata de la inicialización de los indicadores necesarios para el funcionamiento experto. Y la última parte del código EA generada se trata deinicialización y los otros eventos Expert Advisor habituales: En realidad esta EA utiliza dos indicadores (RSI y MA) para decisiones comerciales a través de la biblioteca estándar de las clases comerciales que utilizan "filtros" y la lógica "pesos". Puede encontrar más información al respecto en los módulos de la sección Señales de Comercio de MQL5 referencia. Pero nuestro objetivo es utilizar nuestras propias estrategias de trading como nuevos filtros. Así que para la primera etapa (utilizando nuestras propias estrategias de operación) que vamos a modificar ligeramente nuestra MyExpert. mq5. En primer lugar, vamos a añadir otro filtro. Será el filter2 y vamos a ponerlo justo después de la porción Filtro1 de código. Volvamos a los archivos # include que son el núcleo de la decisión de los filtros y de mercado decisiones. La primera de ellas es #include & lt; Experto \ Expert. mqh & gt; archivo. Este archivo incluye a su vez incluye otros archivos: #include "ExpertBase. mqh" #include "ExpertTrade. mqh" #include "ExpertSignal. mqh" #include "ExpertMoney. mqh" #include "ExpertTrailing. mqh" Estos incluyen los archivos son la estructura principal de la EA, la estructura de comercio, de la señal, dinero y posterior manipulación de parada, respectivamente. No vamos a analizar en profundidad estos archivos o modificarlos. Nuestro propósito es centrarse en añadir nuestras propias estrategias mediante el uso de los indicadores existentes de la MetaTrader 5 conjunto estándar de indicadores y la adición de su archivo de inclusión. En el código MyExpert. mq5 tenemos los archivos #include de los indicadores RSI y MA que hemos utilizado en este ejemplo como señales / filtros de la decisión de mercado de comercio. En este punto, vamos a añadir nuestra propia aduana archivo de inclusión. Para ello vamos a utilizar una versión modificada ("mejorado") de señales pertenecientes al indicador CCI. El archivo SignalCCIxx. mqh debe ser colocado en el directorio \ MQL5 \ Include \ carpeta Experto \ señal \ y debe corresponder con la integrabilidad del asistente generada EA, al igual que las otras clases de comercio #include de la Biblioteca Estándar - archivos de señal ya presente en esta carpeta (SignalRSI. mqh y SignalMA. mqh). Para este ejemplo, vamos a copiar el archivo ICC original, crear otro llamado CCIxx con algo de código ligeramente modificada y utilizarlo como el archivo #include. Ahora, por razones de simplicidad, sólo tiene que utilizar una versión copiada del indicador CCI de la librería estándar. Lo que tenemos que hacer es copiar el "\ MQL5 \ Include \ expertos \ señal \ SignalCCI. mqh" archivo a la "\ MQL5 \ Include \ xx. mqh Experto \ señal \ SignalCCI" archivo. La forma más fácil que usted puede hacer es hacer una copia del archivo en la carpeta y luego cambiarle el nombre. Echemos un vistazo a este archivo ahora. La integración de esta manera "costumbre" en el asistente generada MyExpert. mq5 es sólo una obra terminada. Hemos añadido el código filter2, como se explicó anteriormente, y ahora vamos a completar después el siguiente. Así que no nos vamos a centrar en el archivo MyExpert. mq5 más, pero a partir de ahora nos centraremos en el archivo SignalCCIxx. mqh que es el núcleo real de la EA debido a su señal para el comercio filter2 del indicador CCI. Estrategia Personalización Volvemos a la adición de los filtros de estrategia 'semi-custom' llamamos CCIxx que es la versión modificada del SignalCCI. mqh. Me defino semi-custom, porque en realidad no lo es totalmente un nuevo encargo de la señal, sino más bien una versión rediseñada de indicador CCI del conjunto estándar de indicadores que vienen junto con MetaTrader 5. De esta manera, incluso los usuarios inexpertos y programadores puede modificar ligeramente los patrones y los filtros de una EA generados por MQL5 Wizard utilizando el gran número de indicadores existentes, por lo que en otras palabras, usted puede crear sus propias versiones de los filtros y los patrones de generación de compra y venta de las señales del mercado. Esto sigue siendo una base excelente para trabajar con estrategias. Echemos un vistazo a este ejemplo. Será útil para aquellos que sólo necesitan esta función (para añadir algunos patrones personalizados a los indicadores existentes) y para aquellos que quieran participar en el Campeonato Automated Trading simplemente mediante el Asistente para crear rápidamente un EA totalmente funcionales (y válidos) que tienen algunos tipos de personalizaciones. Esto se puede lograr en sólo 1 hora de trabajo - la creación de un amistoso EA Campeonato, totalmente funcional, con trailing stop, la administración del dinero y todo lo necesario para el comercio competitivo. Centrándonos de nuevo en que la EA es generado por el Asistente, como lo he denominado Campeonato amable, en realidad esto significa que el código generado está libre de errores, por lo que los participantes no han de corregir nada ni temor a errores o error! La EA acaba de comercio y será perfecto para el comercio, por lo menos para aquellos que quieran participar, pero no saben acerca de la programación y no quiero pedir un EA en el servicio de empleo (una buena alternativa a participar en el Campeonato) . Hay un montón de parámetros de entrada que se pueden asignar para tener su propio robot de comercio cerca de la estrategia que tiene en mente. Pero en realidad sólo puede utilizar el conjunto estándar de indicadores con el conjunto estándar de filtros / patrones ofrecidos por MetaQuotes a través de la Biblioteca de clases de estrategia de negociación Asistente y Standard. Ofrece un gran número de combinaciones y posibilidades de éxito comercial, como indicadores tienen muchos parámetros (marco temporal, símbolo) y todos los parámetros de la propia indicadores, por ejemplo Período, Applied Precio, etc. En este artículo se quiere rápido y fácil de aprender cómo personalizar y añadir patrones / filtros para MetaTrader 5 indicadores estándar. Vamos a continuar en el archivo SignalCCIxx. mqh con el fin de personalizar y modificar su comportamiento, para hacer nuestro propio modelo de comercio señal CCI (CCIxx). En primer lugar, en el archivo MyExpert. mq5 vamos a añadir nuevas variables para el nuevo código en la sección de entrada, como en el ejemplo siguiente (ver código en negrita): Hemos cambiado los valores de las variables Signal_RSI_Weight y Signal_MA_Weight de 1,0 a 0,7 y 0,6 respectivamente, y hemos añadido las líneas resaltadas anteriormente. Con el fin de trabajar correctamente con los parámetros de entrada para la versión CCIxx modificada del patrón de pertenencia al indicador CCI en las clases de estrategia de negociación, de hecho copiamos esto 3 líneas de código del archivo SignalCCI. mqh y acaba de agregar el sufijo "xx" después "CCI". En la sección "protegida" de la declaración de clase hay muchos elementos interesantes: Echa un vistazo a los tipos int llamados m_pattern. Estas variables están numerados progresivamente de 0 a 3, cada uno de ellos es un "patrón" o, en otras palabras, un modelo de la haciendo que las condiciones de compra y venta de un instrumento financiero decisión mercado. Vamos a añadir 2 patrones personalizados: m_pattern_4 y m_pattern_5. Se realiza simplemente añadiendo dos líneas de código, dos variables de tipo entero. Si continúa mirar el código, se entiende la lógica de la compra y venta, y todo. Pero nos concentraremos aquí sólo en las secciones de cómo añadir nuestros propios patrones, ya que no vamos a explicar línea por línea los incluye archivos (para este fin, el lector puede abrir los archivos en sí y estudiar, y hay MQL5 Referencia también para ayudar en la comprensión). También queremos hacer esto: en el archivo CSignalCCIxx. mqh presione CTRL + H, busque "CCI" y reemplazarla por "CCIxx". Haz clic en "Reemplazar todo" - 41 ocurrencias deben ser encontrados y reemplazados. Vamos a ir allí, en la parte superior del archivo: y cambiar esto: con este como en el SignalCCI. mqh el original: Hacemos esto porque Cicci se llama de otra incluyen, y si cambiamos su nombre habrá varios errores obviamente. Ahora podemos compilar el archivo SignalCCIxx. mqh, y no deberíamos ser 0 errores y 0 advertencias. Si hay algunos, que posiblemente cometido algunos errores y debe repetir el procedimiento. Ahora vamos a ir a la base de añadir nuestros propios patrones. Sólo por pura fantasía, añadimos 2 patrones de comportamiento comercial de mercado. En total tendremos nuevos 4 señales (patrones), 2 de una clase para la compra y 2 de una clase para la venta. La parte que cambiar es la siguiente: Asignamos el valor 90 a la m_pattern_4 y m_pattern_5, pero usted debe (debemos) cambiarlos con su propio: son los pesos que desea asignar a sus nuevos modelos de mercado, ya que influyen en todo el comportamiento comercial Expert Advisor. Para la fantasía vamos a añadir dos nuevos modelos de mercado. Ellos van a ser muy simple - que son sólo para fines de educación y son señales no probado de comercio, por lo que no comercian con ellos. La cruz nos ayudará a identificar los valores del indicador CCI en los ejemplos de abajo para barras correspondiente. Primer patrón Cruzando la línea cero de abajo hacia arriba Este es nuestro primer patrón para: "la votación que el precio va a crecer". La Figura 5 muestra el valor de CCI que corresponde a Bar 1 (un bar antes de la barra actual). Su valor es de 45,16 por tanto, & gt; 0. La figura 6 muestra el valor de CCI que corresponde a Bar 2 (dos bares antes de la barra actual). Su valor era de -53,92 por tanto, & lt; 0. Zero línea (valor de 0,00) del indicador CCI se ha cruzado de abajo a arriba dentro de 2 bares. Cruzando la línea cero de arriba hacia abajo Este es nuestro primer patrón para: "la votación que el precio va a caer". La Figura 7 muestra el valor de CCI que corresponde a Bar 1 (un bar antes de la barra actual). Su valor es de -28,49 por tanto, & lt; 0. La Figura 8 muestra el valor de CCI que corresponde a Bar 2 (dos bares antes de la barra actual). Su valor fue de 2,41 por lo tanto & gt; 0. Línea cero (valor de 0,00) del indicador CCI se ha cruzado de arriba hacia abajo dentro de los 2 bares. Segundo patrón Cruzando la línea cero de arriba hacia abajo y volver de nuevo por encima Este es nuestro segundo patrón para: "la votación que el precio va a crecer". La Figura 9 muestra el valor de CCI que corresponde a Bar 1 (un bar antes de la barra actual). Su valor es de 119,06 tanto & gt; 0. La figura 10 muestra el valor de CCI que corresponde a Bar 2 (dos bares antes de la barra actual). Su valor era de -20,38 por tanto, & lt; 0. La figura 11 muestra el valor de CCI que corresponde a Bar 3 (tres bares antes de la barra actual). Su valor era de 116,85 tanto & gt; 0 de nuevo. Zero línea (valor de 0,00) del indicador CCI se ha cruzado desde arriba hacia abajo. Luego línea indicadora CCI volvió anterior rebotando alrededor de la línea de cero a 3 bares. Cruzando la línea cero de abajo hacia arriba y volver de nuevo por debajo Este es nuestro segundo patrón para: "la votación que el precio va a caer". La figura 12 muestra el valor de CCI que corresponde a Bar 1 (un bar antes de la barra actual). Su valor es de -58,72 por tanto, & lt; 0. La figura 13 muestra el valor de CCI que corresponde a Bar 2 (dos bares antes de la barra actual). Su valor era de 57,65 por tanto, & gt; 0. La figura 14 muestra el valor de CCI que corresponde a Bar 3 (tres bares antes de la barra actual). Su valor era de -85,54 por tanto, & lt; 0 de nuevo. Zero línea (valor de 0,00) del indicador CCI se ha cruzado de abajo hacia arriba. Luego línea indicadora CCI volvió abajo rebotando alrededor de la línea de cero a 3 bares. La implementación de Patrones Con el fin de poner en práctica estas 4 condiciones (dos por patrón), tenemos que modificar la siguiente sección del código de esta manera. En el fondo, hemos añadido las líneas resaltadas de código para la "compra" condición (véase más arriba en los comentarios: "Votar" que el precio va a crecer). Vamos a modificar el apartado correspondiente del código para el "vender" condición. En el fondo, hemos añadido las líneas resaltadas de código para el "vender" condición (véase más arriba en los comentarios: "Votar" que el precio va a caer). El (idx + 1) o (idx + 2). (idx + n) de las últimas líneas añadido es muy simple, pero punto muy importante de la cuestión: 1, 2, 3, etc., son sólo el número de barras anteriores a la actual (la actual es la realidad que viven "vela", la barra de 0 ª). Así, más del idx + N, los más barras vuelta vamos. Cada bar (idx + n) se corresponde con el valor del indicador en la misma posición "vertical" en el mismo plazo. En esta figura 16 la barra de orden cero (la más a la derecha primera vela, correspondiente a idx o (idx + 0) en el código) tiene el valor por debajo de 0,00 CCI correspondiente. También la segunda barra (idx + 1) y la tercera barra (idx + 2) tienen valores por debajo de la línea de 0,00. No hemos firmado otros bares con una flecha vertical, pero si se pasa el ratón sobre la barra de cuarto de vuelta (idx + 3) se puede ver que su valor CCI correspondiente está por encima de 0,00. Para la mayoría de los usuarios de este hecho es evidente, pero para los usuarios novatos es mejor saber cómo gráfica barras / velas del gráfico de precios, vista gráfica del indicador CCI, y, respectivamente, la variable (IDX) y el valor del indicador CCIxx corresponden con cada uno. Esto es importante para ver los indicadores seleccionados en un gráfico y tratar de "visualizar" (o descubrir) correspondencias entre los precios de barras / velas y comportamiento del indicador seleccionado, tratando de hacer una suposición de una estrategia, que puede fácilmente código usando la barra índice (IDX) y el valor de la variable de indicador. En el SignalCCIxx. mqh presentar el siguiente código: escrito por palabras significa: Este es el ejemplo más pequeña de cómo agregar simplemente dos patrones de medida solo basado en el valor del indicador que elijamos (en este caso - CCI). La condición de "precio crecerá" o "precio caerá" debe ser por escrito y añadido en los patrones de esta manera, y nadie lo quiera para crear condiciones más complejas. Antes de la prueba final, vamos a darle un vistazo a los mecanismos de cómo se abren y cierran posiciones. El mecanismo y la lógica se explican muy bien ya en el Manual de Referencia MQL5 en la sección Clases estrategia comercial de la Biblioteca Estándar. En pocas palabras, en el archivo MyExpert. mq5 tenemos 2 parámetros de entrada (dos variables enteras): Estos umbrales para la apertura y cierre son dos valores que se utilizan para la informática, si (de acuerdo con nuestros modelos comerciales) de un comercio se abre a largo o corto y luego cerrada. Los umbrales suponen un número de tipo entero de 0 a 100. ¿Qué significan estos parámetros? Signal_ThresholdOpen es el valor para abrir una posición larga o corta, Signal_ThresholdClose es el valor para cerrar la posición abierta anteriormente. Estos valores se calculan en el contexto de un mecanismo simple pero brillante, que se pega a la totalidad de la lógica de Asistente generado EAS. Cada señal en los __ archivos. mqh Señal (__ significa el nombre del indicador utilizado, en nuestro caso - MA, RSI y CCIxx) está formado por los patrones, como hemos visto antes en los detalles. Echemos un vistazo a ellos de nuevo en nuestro ejemplo. Desde el archivo SignalMA. mqh tenemos 4 patrones con su "peso" relativo para cada patrón: y para RSI desde el archivo SignalRSI. mqh de la misma manera: En "nuestra propia" SignalCCIxx. mqh (que es casi del todo una copia de SignalCCI. mqh) tenemos los siguientes valores: Estos son el estándar de 0, 1, 2, 3, además de nuestras propias 4 y 5 patrones con dos últimos valores de 80 y 90. Cuando le damos la MyExpert. ex5 a la carta o probamos en el probador de estrategia, los patrones de todo el Las señales que hemos seleccionado (RSI, MA y CCIxx) se calculan de forma continua. Si las condiciones de uno o más patrones tienen éxito, la señal de que el patrón se activa para el próximo computing. Por ejemplo, si m_pattern_4 desde el archivo SignalCCIxx. mqh está sucediendo, a partir de la condición: se convierte en una señal potencial de comercio. En otras palabras, si el valor de CCI en la barra 1 es & gt; 0,0 y al mismo tiempo el valor de la CCI en la barra 2 fue & lt; 0,0, como en la Figura 5 y la Figura 6, la condición está sucediendo y la m_pattern_4 (número de señal 4) se activa. El valor de peso establecimos para esta señal de nuestra estrategia CCIxx es igual al valor absoluto de 80, pero asumirá -80 en el caso de un caso de "votación que el precio va a caer", y 80 para el caso "de que la votación precio crecerá ". El "derecho a voto que el precio caerá" sólo hay que poner un signo negativo al valor original del peso del patrón. Suponiendo que la condición del m_pattern_4 tiene éxito, un oficio que se abre sólo si: Número de señal 4 (m_pattern_4) es la única señal que la condición es verdadera (señal activa) y alcanzó la meta de Signal_ThresholdOpen (su valor se multiplica por un coeficiente, alcanzó y superó el valor Signal_ThresholdOpen) Número de señal 4 alcanzó la meta de Signal_ThresholdOpen, mientras compite con otras señales de su propia contraparte de CCIxx estrategia (el "voto que el precio caerá" señales / patrones de estrategia CCIxx) y competir con todas las demás señales de otros indicadores "(señales de RSI y las señales MA) direcciones opuestas (en este caso la dirección opuesta es la dirección corta, porque estamos analizando la m_pattern_4 sobre "la votación que el precio va a crecer"). Así que podemos considerar cada patrón como competidor en 2 facciones: señales alcistas y señales bajistas. Cuando estos patrones / señales de la misma dirección ("votando que el precio va a crecer") tienen éxito (activa), que se suman entre sí, y la suma se compara con el valor Signal_ThresholdOpen. Si no hay posiciones donde abierto o la suma se compara con el valor Signal_ThresholdClose en el caso de una posición previamente opuesto (en este ejemplo, una posición corta), el m_pattern_4 de SignalCCIxx. mqh tiene el valor de: 80 en el caso de "precio a crecer" condición -80 En el caso de "precio-caída" condición Vamos a suponer que todos los demás patrones de todas las señales (SignalRSI. mqh, SignalMA. mqh y el 0,1,2,3 y 5 patrones de SignalCCIxx. mqh) obtienen valor de 0. Eso es como "competidores señal" están fuera de la "juego", y los únicos competidores son los dos de m_pattern_4 - uno para la compra y otro para la venta. Así que tenemos sólo el trabajo m_pattern_4, porque tiene un valor diferente de 0, es decir, 80. Y para RSI desde el archivo SignalRSI. mqh de la misma manera: En "nuestra propia" SignalCCIxx. mqh (que es casi del todo una copia de SignalCCI. mqh) tenemos los siguientes valores: Al principio del artículo, añadimos estas líneas: Nos centramos en la variable Signal_CCIxx_Weight que tiene un valor de 0,8. El Signal_ThresholdOpen se consigue (activa), cuando se alcanza el valor de umbral. El valor se calcula de la siguiente manera: Se "votando que el precio va a crecer", porque el algoritmo llamó un "precio creciente" de la señal (m_pattern_4 de SignalCCIxx), y el valor es 80. Si hipotéticamente que atrapó un "voto que el precio caerá" (m_pattern_4 de SignalCCIxx), el valor es -80. Para "la caída de los precios", el algoritmo sólo hay que poner un signo menos al valor patrón. Supongamos el caso de "la votación que el precio va a caer" los cálculos son como siguiente: -64 - & Gt; 64 (en valor absoluto) es la intensidad de la señal para el "voto que el precio va a caer". La intensidad de la señal siempre se expresa en valor absoluto, mientras que los valores de posición cortos son precedidos por un signo menos, y los valores de posición de largo - por un signo más. Volvamos al ejemplo anterior de la posición larga con el valor alcanzado del 64 y la señal de fuerza de 64. Si no hay otra opuesta (con signo negativo) señales (m_pattern_N de Signal__) que compiten, la Signal_ThresholdOpen que tiene se alcanza el valor de 40, debido a que la intensidad de la señal de largo es de 64, y el nivel 40 de Signal_ThresholdOpen se logra y superó por 24 (40 + 24 = 64). Desde el Signal_ThresholdOpen se ha alcanzado, una posición larga se abre. Por ejemplo, si fijamos el valor 0,4 en Signal_CCIxx_Weight, no hay posiciones largas serían abiertos porque: y el nivel 40 (Signal_ThresholdOpen) no se alcanza porque 32 & lt; 40, por lo que se abren no hay posiciones largas. El ejemplo conjunto de valores anteriores (todos los valores de 0 a excepción de la 80 en m_pattern_4 de SignalCCIxx. mqh) sólo se utiliza para el absurdo vamos a entender la excelente lógica detrás del Mago y el sistema de pesos y umbrales. En la programación normal que se asigne un peso preferido a cada uno de m_pattern_N de cada Signal__. Si asigna el valor 0 a un patrón, sólo significa que no va a utilizar este patrón. Si queremos cambiar otro valor en el ejemplo anterior (con todos los parámetros establecidos en 0 a excepción de m_pattern_4 de SignalCCIxx. mqh), decir m_pattern_1 de SignalRSI. mqh a 100, el cambio de los cálculos de modo que ahora tenemos 4 competidores: m_pattern_4 (Bull) y m_pattern_4 (oso) del archivo SignalCCIxx. mqh, valores de 80 y -80, respectivamente. m_pattern_1 (Bull) y m_pattern_1 (oso) del archivo SignalRSI. mqh, los valores de 100 y -100 respectivamente. Por lo tanto vamos a tener 4 combinaciones posibles: Valor positivo de 67. Posición larga se abre porque Signal_ThresholdOpen con valor de 40 que se consigue y superado. Posición larga tarde se cierra cuando se alcanza el Signal_ThresholdClose con valor 60 y superado por el valor absoluto del caso D = -67 = | 67 | (valor absoluto) porque la fuerza de la caja D en valor absoluto 67 & gt; 60 (es decir el umbral de Signal_ThresholdClose). Valor negativo -3. No hay posiciones cortas se abren, porque Signal_ThresholdOpen con valor de 40 no se logra y superado por el caso B valor absoluto: -3 convirtió 3 si tenemos en cuenta su valor absoluto con el fin de calcular la "fuerza de la señal", y 3 & lt; 40 (valor de una señal a la posición abierta). No hay posiciones cortas abiertas y, obviamente, no hay cálculos para el cierre de posiciones cortas. Valor positivo 3. No posiciones largas se abren, porque Signal_ThresholdOpen con valor de 40 no se logra y superado por el valor de la caja C desde el 3 de & lt; 40 (valor de una señal a la posición abierta). No hay posiciones largas abiertas y, obviamente, no hay cálculos para el cierre de posiciones largas. Valor negativo -67. Posición corta se abre porque Signal_ThresholdOpen con se logra y supera por intensidad de la señal que se calcula de forma sencilla con el valor absoluto de -67 que es 67, y el 67 & gt valor de 40; 40. Posición corta más tarde se cierra cuando se alcanza con Signal_ThresholdClose y superado por el valor de caso A = 67 desde 67 (la fuerza del caso A) & gt valor de 60; 60 (es decir el umbral de Signal_ThresholdClose). En otras palabras, para la apertura de posiciones cortas, primero tenemos que identificar la dirección por el valor negativo de señales, entonces valor negativo se convierte en su valor absoluto con el fin de calcular la intensidad de la señal que se compara con el valor Signal_ThresholdOpen para ver si ex & gt; = último. Cierre de posiciones largas se lleva a cabo de una manera similar: primero consideramos valor negativo para cerrar posición larga (por el contrario, el valor de cierre de la posición corta es positivo), entonces este valor negativo se convierte en su valor absoluto de ser comparados con la Signal_ThresholdClose para ver si el ex & gt; = último. Para la apertura de posiciones largas y el cierre de posiciones cortas que los cálculos se realizan en números positivos (no hay señales con signo menos), así que no hay necesidad de considerar los valores absolutos para los cálculos. Las posiciones largas apertura se desencadena por un valor positivo de la intensidad de la señal, y el cierre posición corta se activa también por un valor positivo de la intensidad de la señal. En primer lugar se considera el signo más y el signo menos para abrir largo o abrir posiciones cortas, y para cerrar un corto o cerrar una posición larga respectivamente. Entonces hemos calculado sus valores absolutos para la comparación con los valores de umbral de Signal_ThresholdOpen y Signal_ThresholdClose que siempre se calculan con signo positivo (no hay señales negativas para Signal_ThresholdOpen y Signal_ThresholdClose). Posición Detalles Vamos a continuar profundizando en los detalles de la posición: El comercio normal. Posición se abre y se cierra. Después de eso, la posición no se vuelve a abrir inmediatamente. Posición de inversión. Posición se abre, a continuación, cierra y se abre de nuevo en la dirección opuesta. Posición larga se abre si:


No comments:

Post a Comment