Mira cómo descargar robots gratis
¡Búscanos en Telegram!
Pon "Me gusta" y sigue las noticias
¿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
Scripts

ThirdPartyTicks - script para MetaTrader 5

Visualizaciones:
998
Ranking:
(39)
Publicado:
2018.07.03 09:50
Actualizado:
2018.08.30 13:14
\MQL5\Include\
Dictionary.mqh (38.15 KB) ver
Symbol.mqh (5.32 KB) ver
\MQL5\Include\fxsaber\ThirdPartyTicks\
Array.mqh (1.11 KB) ver
Casting.mqh (0.48 KB) ver
CustomSymbol.mqh (2.27 KB) ver
Data.mqh (1.12 KB) ver
File.mqh (2.6 KB) ver
Files_Prices.mqh (1.87 KB) ver
File_Prices.mqh (0.5 KB) ver
Rates.mqh (2.35 KB) ver
String.mqh (2.41 KB) ver
Ticks.mqh (7.89 KB) ver
Web.mqh (0.9 KB) ver
\MQL5\Include\Zip\
Zip.mqh (17.22 KB) ver
ZipContent.mqh (11.62 KB) ver
ZipDefines.mqh (1.17 KB) ver
ZipDirectory.mqh (1.85 KB) ver
ZipFile.mqh (5.91 KB) ver
ZipHeader.mqh (12.47 KB) ver
\MQL5\Scripts\fxsaber\
¿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

Hull MACD Hull MACD

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).

Improve Improve

Asesor 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.

Stochastic of T3 Stochastic of T3

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 average RSI of average

Es 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.