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
ThirdPartyTicks - script para MetaTrader 5
- Visualizaciones:
- 1025
- Ranking:
- Publicado:
- 2018.07.03 09:50
- Actualizado:
- 2018.08.30 13:14
- ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa
Históricamente, para MetaTrader 4 son muy populares las aplicaciones de terceros que permiten obtener el historial de diferentes fuentes. Comúnmente, se usa en el Probador de Estrategias como un polígono para testear los Asesores Expertos, así como para las investigaciones (aprendizaje automático, etc.). Algunas fuentes de cotizaciones, en las discusiones se han hecho casi como un estándar durante la búsqueda del «Grial».
Criterio
En la librería MQL5 presentada no hay ningún criterio para comparar los ticks. No han sido descritas las razones de la selección de la fuente del archivo de ticks propuesta. Pero este archivo es absolutamente nuevo, y por tanto, no está estudiado. Por eso, para desarrollar su propio criterio del valor/utilidad, a cada uno se le propone realizar una simple acción: iniciar en el modo «Cada tick a base ticks reales» su Asesor Experto en el símbolo incorporado en MetaTrader 5 y en el símbolo personalizado creado por el script (con el historial de ticks real de terceros), comparando los resultados obtenidos. Para eso, no será necesario salir fuera del Terminal y tener conocimientos profundos del mismo.
Script
El script extrae el historial de ticks de la fuente interna y crea a su base los símbolos personalizados correspondientes.
Los comentarios en el código fuente revelan parcialmente el principio de la acción.
// https://www.mql5.com/es/code/20225 #property script_show_inputs #include <fxsaber\ThirdPartyTicks\ThirdPartyTicks.mqh> sinput bool Sync = true; // Synchronization sinput string symbol = ""; // Symbol (NULL - current, "AllSymbols" - All) THIRDPARTYTICKS ThirdPartyTicks; // Conexión con el archivo local de cotizaciones // Un símbolo void CreateSymbol() { // Definición del símbolo para el trabajo const string Symb = (symbol == "") ? StringSubstr(_Symbol, 0, 6) : symbol; if (Sync) ThirdPartyTicks.Refresh(); // Lectura de datos disponibles en la fuente del archivo de ticks ThirdPartyTicks[Symb].Update(); // Sincronización del archivo local con la fuente según el símbolo seleccionado ThirdPartyTicks[Symb].ToCustomSymbol(true); // Creación del símbolo personalizado a base del archivo local } // Todos los símbolos void CreateAllSymbols() { if (Sync) ThirdPartyTicks.Refresh(); // Lectura de datos disponibles en la fuente del archivo de ticks const uint Amount = ThirdPartyTicks.GetAmount(); for (uint i = 0; _CS(i < Amount); i++) { ThirdPartyTicks[i].Update(); // Sincronización del archivo local con la fuente según el símbolo seleccionado ThirdPartyTicks[i].ToCustomSymbol(); // Creación del símbolo personalizado a base del archivo local } } void OnStart() { if (symbol != "AllSymbols") CreateSymbol(); else if (MessageBox("Creating all the symbols can take a long time. Do you agree?", __FILE__, MB_YESNO | MB_ICONQUESTION) == IDYES) CreateAllSymbols(); }
Para un trabajo de pleno valor, es necesario escribir la dirección de la fuente de cotizaciones en los ajustes del terminal, por ejemplo:
El trabajo del script se acompaña con los registros detallados de sus acciones:
UnZip <nombre de la fuente>\EURUSD.<sufijo>\EURUSD.<sufijo>_20180313.csv.zip 724002 bytes - unpack size 5466504 bytes. Total Ticks (EURUSD.<sufijo>) = 1645897 Corrected 3 ticks. EURUSD.<sufijo>_<nombre_de_la_fuente> saved ticks = 1645897
Después de eso, Usted puede ejecutar los EAs en el Probador en los símbolos personalizados nuevos:
Particularidades
- Se usan sólo los recursos personales de MQL5: no hay DLL, conviene para el Market;
- El archivo de cotizaciones se guarda en la máquina local en forma de los archivos ZIP con los ficheros CSV;
- El archivo de cotizaciones se sincroniza con la fuente: se descargan sólo los datos que faltan;
- En el código fuente, existen las librerías ZIP y Symbol;
- El script puede trabajar con el archivo local sin conectarse a Internet;
- Se permite la modificación/adición manual de los datos del archivo local;
- El repositorio de archivos no depende de la presencia del directorio dentro: se puede crear las carpetas y distribuir los datos dentro a su parecer;
- El historial de barras se crea tomando en cuenta las pérdidas mínimas de la calidad al pasar del modo de simulación «Cada tick a base de ticks reales» al modo «Sólo precios de apertura»: sistema comercial en órdenes limitadas;
- El núcleo del script es una librería con el mismo nombre. Con su ayuda, se puede escribir unos escenarios más interesantes;
- Realizada la optimización del análisis sintáctico;
- La fuente se ofrece para fines educativos, tal como es;
- Para que la librería usada como núcleo sea completamente universal, hace falta una mejora para trabajar con las fuentes aleatorios y con cualquier formato de cotizaciones.
Traducción del ruso realizada por MetaQuotes Ltd
Artículo original: https://www.mql5.com/ru/code/20225
En esta versión, para el cálculo de MACD, en vez de la EMA (como en la versión original de Gerald Appel), se usa la media móvil de Hull (Hull Moving Average). Eso la hace más rápida que en la versión con la EMA. Conviene tanto para el scalping, como para las tecnologías tendenciales del trading (si se usan los períodos del cálculo más largos).
ImproveAsesor Experto a base de dos iMA (Moving Average,MA) y un iRSI (Relative Strength Index, RSI). Rastrea el beneficio virtual. Trabajo con dos símbolos.
Esta versión del oscilador estocástico reduce el número de alertas falsas mediante el suavizado del precio antes de usarlo para calcular el estocástico. Como resultado, obtenemos un estocástico suavizado cómodo que se puede usar fácilmente en los sistemas del trading por la tendencia.
RSI of averageEs el RSI bien conocido a base de la MA que se compone apenas de cuatro líneas del código del ciclo principal (color de la inclinación del RSI se atribuye en una de estas 4 líneas). Se puede usarlo como plantilla para algunos de otros indicadores. Asegura la sencillez de las soluciones para aquellos quien considera que en MetaTrader 5 todo es muy complicado.