Discusión sobre el artículo "Creación y simulación de símbolos personalizados en MetaTrader 5"

 

Artículo publicado Creación y simulación de símbolos personalizados en MetaTrader 5:

La posibilidad de crear símbolos propios abre nuevos horizontes en el desarrollo de sistemas comerciales y el análisis de cualquier mercado financiero. Ahora los tráders pueden construir gráficos y simular estrategias comerciales con un número ilimitado de instrumentos financieros.

Para importar la historia, damos los pasos análogos: en la carpeta Custom\<Grupo_personalizado> encontramos nuestro símbolo personalizado EURUSD_my, entramos en la pestaña Ticks, elegimos el archivo CSV necesario y pulsamos el botón "Importar ticks" (para importar las barras, todo sucede de forma análoga).


Autor: MetaQuotes Software Corp.

 

CustomTicksReplace

Полностью заменяет ценовую историю пользовательского инструмента в указанном временном интервале данными из массива типа  MqlTick

Es muy costoso en el script crear un clon de tick de un símbolo antiguo con historial de tick ya cargado. CopyTicks no funciona instantáneamente en absoluto.

 
Intentando backtest (en cualquier modo) desde el 1 de agosto, error se bloquea
2017.09.04 11:52:40.139 Tester  EURCHF_custom: history data begins from 2017.07.25 00:00
Añadido historias, no hubo suerte
2017.09.04 11:57:50.498 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
 
fxsaber:
Trato de backtest (en cualquier modo) desde el 1 de agosto, me sale un errorAgregado historia, no hubo suerte

¿Qué marco de tiempo se establece para las pruebas? El artículo Fundamentos de las pruebas en MetaTrader 5 dice que se requieren 100 barras:

El agente de pruebas descarga sólo la historia que falta con una pequeña reserva para proporcionar los datos necesarios en la historia para el cálculo de indicadores en el momento de la prueba. El volumen mínimo del historial descargado del servidor comercial para los plazos D1 e inferiores es de un año. Por lo tanto, si inicia la prueba en el intervalo 2010.11.01-2010.12.01 (prueba en el intervalo de un mes) con el período M15 (cada barra equivale a 15 minutos), el terminal solicitará el historial del instrumento para todo el año 2010. Para los plazos Semanales, se solicitará el historial de 100 barras, lo que equivale aproximadamente a dos años (hay 52 semanas en un año). Para las pruebas en el marco temporal mensual, el agente solicitará el historial de 8 años (12 meses * 8 años = 96 meses).

 
Rashid Umarov:

¿Qué marco de tiempo se establece para las pruebas? El artículo Fundamentos de las pruebas en MetaTrader 5 dice que se requieren 100 barras:

M1. Utilicé este script para crear un símbolo.

 
fxsaber:

M1. Utilicé este script para crear un símbolo.

Además de EURCHF_custom, creé EURUSD_custom. Y el backtest en EURCHF continuó, mientras tiraba datos de EURUSD_custom.

Pensé que después de borrar EURUSD_custom el backtest no funcionaría, pero no. Ahora funciona.

No entiendo por qué tuve que crear EURUSD_custom y luego borrarlo para que el backtest funcionara.


ZY Bug.

Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading.

Bibliotecas: Symbol

fxsaber, 2017.09.04 13:54

El nuevo cruce cuenta correctamente - no convierte beneficios. Pero por alguna razón está tirando de un mayor cuando no se utiliza en cualquier otro lugar

2017.09.04 14:46:43.062 Core 1  EURCHF_custom: generate 975389 ticks in 0:00:00.063, passed to tester 3210 ticks
2017.09.04 14:46:43.062 Core 1  EURUSD: generate 979976 ticks in 0:00:00.062, passed to tester 8696 ticks
 
fxsaber:

Además de EURCHF_custom, he creado EURUSD_custom. El backtest EURCHF continuó, extrayendo datos de EURUSD_custom.

Pensé que después de borrar EURUSD_custom el backtest no funcionaría, pero no. Ahora funciona.

No entiendo por qué era necesario crear EURUSD_custom y luego borrarlo para que funcionara la prueba.

No das todos los detalles - divisa de la cuenta, divisa del beneficio. Si el probador intenta obtener el historial por algunos símbolos, significa que necesita estos símbolos para los cálculos.

 
Rashid Umarov:

No das todos los detalles - moneda de la cuenta, moneda de los beneficios. Si el probador intenta obtener el historial por algunos símbolos, significa que estos símbolos son necesarios para los cálculos.

Es interesante que el EURCHF real tiene CHF como moneda de ganancia, EUR como moneda de margen y EUR como moneda base.

Así que el probador se encuentra con una especie de paradoja. Tiene que calcular cuánto EUR (moneda base) se incluye en un lote, y luego convertir esta cantidad en EUR (moneda margen) - aquí sólo tuvo suerte con la proporción (EUR/EUR = 1). A continuación, debe convertir el margen en USD (divisa de la cuenta) y ver si es suficiente. Al calcular el beneficio, debe convertir CHF (divisa del beneficio) a USD (divisa de la cuenta).


En total, en el peor de los casos, el probador deberá realizar hasta tres conversiones (si dispone de las correspondientes divisas principales). Y, por supuesto, ¡aportar adicionalmente TRES divisas principales al cruce en el que se realiza la prueba!

 
fxsaber:

Usted está probando instrumentos de forex en modo forex/cross rates. Por lo tanto, los requisitos para el entorno de mercado son los mismos.

En sus preguntas, por favor proporcione registros completos de una vez, no líneas arrancadas, por favor.

 
Renat Fatkhullin:

Usted está probando instrumentos de forex en modo forex/cross rates. Por lo tanto, los requisitos en el entorno de mercado son los mismos.

No lo entiendo.

En sus preguntas, por favor proporcione registros completos, no líneas rasgadas, por favor.

Adjunto.

Archivos adjuntos:
Log.zip  3 kb
 
fxsaber:

No lo entiendo.

Adjunto.

Según los registros, la moneda del depósito = USD, la prueba se realiza en el símbolo EURCHF. El probador necesita cotizaciones EURUSD o USDEUR para el cálculo del margen.

2017.09.04 15:26:30.999 Tester  EURCHF_custom: history data begins from 2017.06.13 00:00
2017.09.04 15:26:31.000 Core 1  agent process started
2017.09.04 15:26:31.442 Core 1  connecting to 127.0.0.1:3000
2017.09.04 15:26:31.442 Core 1  connected
2017.09.04 15:26:31.448 Core 1  authorized (agent build 1653)
2017.09.04 15:26:31.452 Tester  EURCHF_custom,M1 (MetaQuotes-Demo): testing of Experts\Test.ex5 from 2017.08.01 00:00 to 2017.08.15 00:00
2017.09.04 15:26:31.468 Core 1  common synchronization completed
2017.09.04 15:26:31.529 Tester  quality of analyzed history is 100%
2017.09.04 15:26:31.683 Core 1  MetaTester 5 started on 127.0.0.1:3000
2017.09.04 15:26:31.683 Core 1  initialization finished
2017.09.04 15:26:31.683 Core 1  login (build 1653)
2017.09.04 15:26:31.683 Core 1  38520 bytes of account info loaded
2017.09.04 15:26:31.683 Core 1  1482 bytes of tester parameters loaded
2017.09.04 15:26:31.683 Core 1  2748 bytes of input parameters loaded
2017.09.04 15:26:31.683 Core 1  4356 bytes of symbols list loaded
2017.09.04 15:26:31.683 Core 1  expert file added: Experts\Test.ex5. 446309 bytes loaded
2017.09.04 15:26:31.683 Core 1  initial deposit 10000000.00 USD, leverage 1:500
2017.09.04 15:26:31.683 Core 1  successfully initialized

Las busca entre los símbolos disponibles y encuentra EURUSD, luego las descarga y sincroniza

2017.09.04 15:26:31.683 Core 1  EURUSD: symbol to be synchronized
2017.09.04 15:26:31.683 Core 1  EURUSD: symbol synchronized, 3464 bytes of symbol info received
2017.09.04 15:26:31.683 Core 1  EURUSD: load 27 bytes of history data to synchronize in 0:00:00.000
2017.09.04 15:26:31.683 Core 1  EURUSD: history synchronized from 2016.01.04 to 2017.08.15