Pon "Me gusta" y sigue las noticias
Deje un enlace a él, ¡qué los demás también lo valoren!
Evalúe su trabajo en el terminal MetaTrader 5
![Asesores Expertos](https://c.mql5.com/i/code/expert.png)
Controlador de eventos multimoneda OnTick (símbolo del string) - Asesor Experto para MetaTrader 5
- Visualizaciones:
- 1854
- Ranking:
- Publicado:
- 2014.01.14 14:37
- Actualizado:
- 2016.11.22 07:33
-
¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Descripcion:
Esta es la nueva implementación de modo multi-moneda completo en MetaTrader 5. Se implementa en función OnTick(string symbol) extendida.
Beneficios:
- Proporciona el modo multi-moneda real en cuentas demo y real.
- Tiene configuración simple.
- Lista de los eventos para OnTick (símbolo de cadena): se puede configurar: NewTick o NewBar.
- Puede configurar la lista de símbolos (especifican todos los símbolos de Market Watch o algunos símbolos).
- Cuando se trabaja con símbolos Market Watch, permite administrar los eventos "al vuelo" en OnTick(string symbol).
- No es necesario entender los detalles de como trabaja. All code is contained in the include file.
- Puede ser utilizado en el probador de estrategias.
La plantilla de asesor experto es el siguiente:
//+------------------------------------------------------------------+ //| OnTick(simbolo del string).mq5 | //| Copyright 2010, Lizar | //| https://www.mql5.com/ru/users/Lizar | //+------------------------------------------------------------------+ #define VERSION "1.00 Build 1 (01 Fab 2011)" #property copyright "Copyright 2010, Lizar" #property link "https://www.mql5.com/ru/users/Lizar" #property version VERSION #property description "Template of the Expert Advisor" #property description "with multicurrency OnTick(string symbol) event handler" //+------------------------------------------------------------------+ //| AJUSTES DEL MODO MULTIMONEDA | //| controlador de eventos del OnTick(símbolo del string | //| | //| 1.1 Lista de símbolos necesarios para proceder en los eventos | #define SYMBOLS_TRADING "EURUSD","GBPUSD","USDJPY","USDCHF" //| 1.2 Si desea todos los símbolos de Market Watch, utilice esta: | //#define SYMBOLS_TRADING "MARKET_WATCH" //| Nota: Seleccione sólo una manera de 1.1 o 1.2. | //| | //| 2. Tipo de evento del OnTick(símbolo del string): | #define CHART_EVENT_SYMBOL CHARTEVENT_TICK //| Nota: el tipo de evento imperdible corresponde a | //| ENUM_CHART_EVENT_SYMBOL enumeration. | //| | //| 3. Incluir fichero: | #include <OnTick(string symbol).mqh> //+------------------------------------------------------------------+ //+------------------------------------------------------------------+ //| Función de inicio del EA | //| Esta función se debe declarar, aunque esté vacía. | //+------------------------------------------------------------------+ int OnInit() { //--- Añade tu código aquí... return(0); } //+------------------------------------------------------------------+ //| Función multi tick del EA | //| Utilice esta función en lugar de la función estándar OnTick () | //+------------------------------------------------------------------+ void OnTick(string symbol) { //--- Añade tu código aquí... Print("Nuevo evento el símbolo: ",symbol); } //+------------------------------------------------------------------+ //| función ChartEvent | //| Esta función se debe declarar, aunque esté vacía. | //+------------------------------------------------------------------+ void OnChartEvent(const int id, // id del evento const long& lparam, // parámetro del evento de tipo largo const double& dparam, // parámetro del evento de tipo doble const string& sparam) // parámetro del evento del tipo de string { //--- Añade tu código aquí... } //+------------------------------------------------------------------+ //| Función de desinicio del EA | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Añade tu código aquí... } //+------------------------------ fin -------------------------------+
Algunas características:
1. Configuración
Todos los parámetros pueden configurarse utilizando las directivas #define. Para el trabajo correcto de la función OnTick (símbolo del string) necesitará especificar sólo dos parámetros: SYMBOLS_TRADING y CHART_EVENT_SYMBOL. El primero (SYMBOLS_TRADING) define la lista de símbolos, utilizado para los eventos. El segundo (CHART_EVENT_SYMBOL) define los tipos de eventos para todos los símbolos.
El SYMBOLS_TRADING contiene la lista de símbolos, por ejemplo:
#define SYMBOLS_TRADING "EURUSD","GBPUSD","USDJPY","USDCHF"
La lista debe ser preparada como string, separadas por comas. La lista termina con un final de línea.
El SYMBOLS_TRADING puede ser definido como sigue:
#define SYMBOLS_TRADING "MARKET_WATCH"
De esta manera significa que se utilizarán todos los símbolos de Market Watch. Este método puede utilizarse para cambiar la lista de los símbolos "al vuelo". Sólo añadir o quitar a Market Watch los símbolos necesitados.
El tipo de evento CHART_EVENT_SYMBOL se define por la bandera o la combinación de la enumeración ENUM_CHART_EVENT_SYMBOL. Ver detalles aquí (en ruso).
Estos son ejemplos de los tipos de eventos:
//--- Ejemplo 1. OnTick event: #define CHART_EVENT_SYMBOL CHARTEVENT_TICK //--- Ejemplo 2. NewBar M1 y New Bar H1: #define CHART_EVENT_SYMBOL CHARTEVENT_NEWBAR_H1|CHARTEVENT_NEWBAR_M1
2. Incluir el archivo.
Es necesario el #include OnTick(símbolo del string).mqh, este archivo contiene la implementación de la función OnTick(símbolo del string). Proporciona la forma simple de usar todas las funciones de OnTick(string symbol). Algunas de las funciones estándar deben declararse en el código de EA, incluso si están vacías.
3. Probador de estrategias.
Como sabes (en la actualidad), el OnChartEvent no soporta en el probador de estrategias. Para solucionar este problema, las variables globales se utilizan para controlar los eventos. De esta manera se utiliza sólo en probador de estrategias, en todos los demás casos (en las cuentas real/demo) los eventos procesados a través de la OnChartEvent.
Aquí las características. En el probador de estrategias del OnTick(string symbol) trabajará en los ticks del símbolo, especificado en los ajustes del probador de estrategias. En otras palabras, funciona como OnTick(), pero llamado también cuando hay nuevos ticks en los símbolos seleccionados. Para trabajar con probador de estrategias del SYMBOLS_TRADING debe especificarse como una lista de símbolos.
4. "Espías".
Usa a los "espías" (agentes-indicadores). El archivo "Panel de Control de espía MCM.ex5" debe ubicarse en la carpeta \MQL5\Indicators\.
5. Deben extraerse los archivos desde el archivo en la carpeta \MQL5. Los archivos necesarios:
- /MQL5/expertos/OnTick(string symbol).mq5 -Ejemplo de EA, código fuente de la plantilla;
- /MQL5/Experts/OnTick(string symbol).ex5 - Ejemplo archivo compilado del EA;
- /MQL5/Indicators/Spy Control panel MCM.mq5 - Agente-indicador, código fuente;;
- /MQL5/Indicators/Spy Control panel MCM.ex5 - Agente-indicador, archivo compilado;
- /MQL5/Include/OnTick(string symbol).mqh - incluir el archivo con todas las funciones necesarias para la implementación de la función OnTick (símbolo de string).
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/280
![FigurelliSeries](https://c.mql5.com/i/code/indicator.png)
El indicador permite definir la dirección de la tendencia
![eKeyboardTrader](https://c.mql5.com/i/code/expert.png)
El asesor experto permite trading utilizando el teclado.
![Pruebas no paramétricas Zig Zag, de precio de a pie](https://c.mql5.com/i/code/indicator.png)
Zig-zag no paramétrico. La condición de monotonía para el segmento ascendente de los zig-zag: el alto cualquier barra posterior no debe ser inferior a cualquier bajo del segmento ascendente.
![Pruebas no paramétricas Zig Zag, Patrones A-la Clyde Lee](https://c.mql5.com/i/code/indicator.png)
Zig-zag no paramétrico, basado en Patrones "a-la Clyde Lee".