Backtesting con datos de tick - página 3

 

BTW - el script en su archivo .rar adjunto. ¿Es exactamente el mismo que el script que has publicado (cortar y pegar) en el foro antes?

 
mikey:

BTW - el script en su archivo .rar adjunto. ¿Es exactamente el mismo que el script que publicaste (cortar y pegar) en el foro antes?

Sí. El post es un cortar y pegar del archivo...


Con respecto a esto:

Una cosa - no es un gran drama - pero la última línea del archivo de salida es así:

2004.02.23,08:34,,,,,1

El script asume que al final de la última línea el archivo terminará. En tu caso el archivo probablemente tenía un carácter de nueva línea al final de la última línea, de ahí que el bucle no detectara un 'fin de archivo' y siguiera procesando la última línea que en realidad estaba vacía... Hay muchas maneras de resolver esto, por ejemplo puedes añadir una condición de que la variable 'sclose' no esté vacía antes de escribir:

if (sclose != "")     // make sure close price exists in last line processed
   FileWrite(trg_handle,output);
 

Gracias amigo. Una pregunta rápida sobre el coste del intercambio en el probador de estrategias. ¿Se añade al final o se añade sobre la marcha? Creo que puede ser añadido a medida que avanzamos: Me he dado cuenta de que para algunas operaciones: por ejemplo, si la toma de beneficios (TP) está en 100 cuando se cierra con un TP entonces un beneficio de +100 no se devuelve, pero en lugar de un TP de una cantidad inferior, por ejemplo. +80. ¿Podría ser esto debido a los costes de intercambio añadidos a esa operación (para tener en cuenta los días que se ha mantenido durante la noche - y, por supuesto, con este método tenemos más "noches" de las que deberíamos tener). (los costes de intercambio no son demasiado elevados para mis operaciones nocturnas, ya que estoy operando con lotes de 0,1, pero debido al factor de muchas noches, esto se acumula).

Sigue funcionando. Una cosa que yo diría es que los resultados son muy diferentes de con M1. Por lo tanto, si esto es realmente válido - que era sin duda vale la pena hacer. me está dando mucho más de una idea.

 
mikey:

Gracias amigo. Una pregunta rápida: el coste del swap en el probador de estrategias. ¿Se añade al final o se añade sobre la marcha? [...]

Se agrega exactamente como se agrega en una cuenta Live/Demo. Desde 'Probar las características y los límites en MetaTrader 4':

Se modelan todos los swaps, requisitos de margen, vencimientos, órdenes GTC.

Tenga en cuenta que el valor de los swaps se toma de la cuenta a la que está conectado en el momento en el que pulsa 'Start' en el Tester.

 

Un nuevo obstáculo. Cuando cargo 3 meses de datos de ticks en el centro de la historia (tratado como lo hemos hecho en este hilo - para hacer que cada tick tenga su propia barra M1) - aparentemente todo está bien PERO acabo de ver esto en el diario:

Historybase: no hay suficiente memoria '#CLX01' [8412861 barras]
Manejador de memoria: no puede asignar 370166236 bytes de memoria

¿Esto quiere decir que no se han cargado todos los datos?

 
mikey:

Un nuevo obstáculo. Cuando cargo 3 meses de datos de ticks en el centro de historia (tratado como lo hemos hecho en este hilo - para hacer que cada tick tenga su propia barra M1) - aparentemente todo está bien PERO acabo de ver esto en el diario:

Historybase: no hay suficiente memoria '#CLX01' [8412861 bars]
Memory handler: cannot allocate 370166236 bytes of memory

¿Esto quiere decir que no se han cargado todos los datos?

Puede ser porque has alcanzado el límite de 2GB. Después de presionar 'Start' el probador crea un archivo FXT que contiene ticks para la prueba (en su caso es 1 tick por barra). Este archivo se crea en la carpeta 'MetaTrader 4\tester\history'. Abra esta carpeta y compruebe si el último archivo creado tiene un tamaño de unos 2 GB. Si es así, entonces ha alcanzado el límite del Probador. No hay solución para esto además de probar en períodos más cortos de tiempo...


No estoy seguro de que esta sea la razón, podría ser otra cosa...

 

El probador sigue funcionando cuando comprobé el tamaño. Así que, ¿puede aumentar?

Pero en cualquier caso, a partir de ahora el tamaño es de sólo 412 MB. Lo que supongo que es bastante menos de 2 GB.

 

Por cierto, el diario en el que aparece este mensaje de error NO está en el probador de estrategias, sino en el otro (el de la cuenta)

 

Me estoy frustrando un poco. Es justo - estoy escribiendo algo nuevo y por lo tanto hay que tener problemas.

Pero sin relación con este tema, acabo de notar que en una estrategia estándar de Metatrader con datos M1 (no relacionados con lo que estamos hablando en este tema), durante 3 meses, obtuve datos de petróleo y noté que el probador de la estrategia dejó de abrir cualquier operación después de 2 semanas. Pero el probador de la estrategia está bien durante 2 semanas, abriendo operaciones y luego no tiene ninguna operación abierta durante unos 2,5 meses (a pesar de tener 5000 dólares de beneficio). Además, el tipo de resultados entregados están tan lejos de mis pruebas a futuro hasta ahora. Las dudas están empezando a entrar en mi mente sobre el motor del probador de estrategias de metatrader y su validez y uso.

(los datos todos cargados en tester ok porque para su rango de fechas en el informe - tiene el rango correcto)

mi sueño/objetivo: Lo que yo esperaba era que dar el probador de la estrategia de buenos datos históricos (especialmente si usted puede conseguir los datos de garrapatas) y obtendrá una buena visión de cómo tyour estrategia habría negociado realmente a lo largo de esa historia (deslizamiento, la varianza de propagación, etc. aceptado). Pero ahora me pregunto si esto es posible, si el motor de la estrategia puede realmente ofrecer esto. ¿ES ESTE OBJETIVO ALCANZABLE CON METATRADER? ¡Alguien que me de un poco de esperanza!

 
mikey:

Por cierto, el diario en el que aparece este mensaje de error NO está en el probador de estrategias, sino en el otro (el de la cuenta)

Bueno, entonces es probable que no tiene nada que ver con el probador (se puede ver sus registros en 'MetaTrader 4\tester\logs' carpeta), pero no puedo estar seguro.
Razón de la queja: