El autor - página 3

 
ivandurak:
Estoy en la etapa de escribir un Probador de Estrategias, y me encuentro con un dilema. Si tomamos el 4 como base, entonces obtenemos una herramienta simple y muy efectiva en términos de análisis de TS basado en los resultados de las operaciones. Si tomamos 5, entonces la conveniencia de la portabilidad del código. Hasta ahora, mi imho se inclina por la primera opción, como se suele decir: comprobar o conducir.

Aquíhttps://www.mql5.com/ru/forum/4956/page46#comment_117097 yhttps://www.mql5.com/ru/forum/4956/page47#comment_118646, puedes echar un vistazo para empezar.

Primero los cheques y los guiones, luego los paseos. imho.

 
Bene_Nota:
Y según mis observaciones, la historia no se repite, así que no estaría de acuerdo con el primer punto.

Discute.

No estamos diciendo que el movimiento actual sea exactamente un punto más cerca de lo que era. Si tomamos unos cuantos signos de un piso, unos cuantos signos de una tendencia, pongamos todo en una red neuronal, obtendremos un número limitado de clusters (esto no son mis conclusiones, vi una nota donde no lo encuentro). Podemos construir una TS adecuada para cualquier pedazo de historia o un cluster no necesita pruebas. Por lo tanto, debemos reconocer oportunamente en qué cluster estamos, para tener tiempo de recoger algunas migajas. Hacer estadísticas, tiempo para encontrar, pensar en la posible trayectoria de las características del mercado para seleccionar preventivamente la TS .........

Eso.humano

Muchas gracias. El caso es que si aceptamos la filosofía de funcionamiento de orden y posición para 5 . Creo que lo mejor de los Asesores Expertos multitemporales es complicado por la posición neta, sin ninguna ecuación adicional es imposible decir que TS en una hora o minuto es más preferible, y si usted tiene una estrategia multitemporal no sé cómo abordar tal tarea, salvo la creación de un conjunto de objetos y su gestión. Todo es mucho más sencillo en el 4 en términos de comodidad de programación. Basta con crear una matriz de estructuras que describan la orden, cada una de las cuales tiene su propia vida, se guardan todos los datos de apertura, cierre, beneficios, pérdidas. Ya lo hice, y resultó ser una solución bastante aceptable.

 
ivandurak:

A ella.humana

Gracias .

1) La cosa es que si aceptamos la filosofía de funcionamiento del orden y la posición del 5. No sé cómo resolver este problema, salvo la creación de muchos objetos y su gestión.

2) En la 4, todo es mucho más fácil desde el punto de vista de la comodidad de la programación. Basta con crear una matriz de estructuras que describan la orden, cada una de las cuales tiene su propia vida, se guardan todos los datos de apertura, cierre, beneficios, pérdidas. Ya lo hice, resultó ser una solución bastante aceptable.

1) El punto es que si usted hace un diario virtual (probador) de la gestión y la contabilidad de las posiciones en MT5, todos los problemas con la prueba simultánea de múltiples estrategias y el bloqueo (relacionados con el uso de múltiples estrategias), desaparecen. Además, puede realizar una operación virtual y, basándose en el análisis de la operación virtual, sacar conclusiones relativas a la operación real, y llevar la posición total al mercado.

Hice tal cosa en MT5, pero no como una biblioteca separada (clase), no veo ningún problema.

2) En MT4 no hayestructuras de array . En MT4 se puede hacer lo mismo sin problemas, pero utilizando un array bidimensional en lugar del array de estructuras.

¿Tal vez algo se confunde entre MT4 y MT5?

 
her.human:

1) Ese es el punto, si usted hace un diario virtual (probador) de la gestión y la contabilidad de las posiciones en МТ5, todos los problemas con la prueba simultánea de varias estrategias y el bloqueo (relacionados con el uso de varias estrategias) desaparecen. Además, puede realizar una operación virtual y, basándose en el análisis de la operación virtual, sacar conclusiones relativas a la operación real, y llevar la posición total al mercado.

Hice tal cosa en MT5, pero no como una biblioteca separada (clase), no veo ningún problema.

2) En MT4 no hayestructuras de array . En MT4 se puede hacer lo mismo sin problemas, pero utilizando un array bidimensional en lugar del array de estructuras.

¿Tal vez algo se confunde MT4 - MT5?

Estamos hablando de lo mismo con palabras diferentes. Yo sólo uso las funciones de trading de la copia de MT4 como mínimo necesario y suficiente.

Tengo otro problema aquí, cómo sincronizar los instrumentos de negociación para el probador multidivisa. Revisaré los artículos.

Документация по MQL5: Торговые функции
Документация по MQL5: Торговые функции
  • www.mql5.com
Торговые функции - Документация по MQL5
 
ivandurak:

Estamos hablando de lo mismo con palabras diferentes.

1) Sólo utilizo las funciones de trading de la copia de MT-4 como mínimo necesario y suficiente.

2) Tengo otro problema, cómo sincronizar las herramientas de negociación en un probador multidivisa. Voy a repasar los artículos.

1) Estoy de acuerdo. Mi opinión es la misma.

2) No necesitamos sincronización para el probador. La introducción de las cotizaciones en el probador es otra cuestión.

¿Cuál es el problema de la sincronización? Tal vez te dé una pista.

 
her.human:

1) Estoy de acuerdo. Eso es lo que quiero decir.

2) La sincronización no es necesaria para un probador. Alimentar las cotizaciones en el probador es un tema diferente.

¿Cuál es el problema de la sincronización? Tal vez te dé una pista.

Todavía no he formulado completamente la tarea yo mismo .

Para las pruebas multidivisa, todas las barras de los símbolos seleccionados deben estar sincronizadas en un segmento de optimización seleccionado. De lo contrario, si hay una brecha, puede resultar en mirar hacia el futuro (el grial del probador en 4, las señales para un instrumento pueden abrir posiciones para otro).

Básicamente, podemos trabajar en los detalles de la sincronización de barras, formando nuestra propia matriz de cotizaciones sincronizadas que será utilizada por el probador.

El problema está en la construcción de indicadores, en los que se basan las estrategias en la mayoría de los casos, porque el valor del indicador se calcula para un número de barra concreto. Si podemos corregir los archivos con historia en la cuarta versión, no podemos hacerlo aquí.

Como alternativa, ejecutamos el EA en modo multidivisa, el propio terminal sincroniza el historial, ahora escribimos el archivo del historial junto con los valores de los indicadores, y si es necesario nos sumergimos en él, pero es rascarse la oreja derecha con la mano izquierda.

 
ivandurak:

Tengo otro problema aquí, cómo sincronizar las herramientas de negociación si hago un probador multidivisa. Voy a revisar los artículos.

Hay una solución de problemas de sincronización para la cuenta realaquí . Tal vez le dé algunas ideas sobre la sincronización para su probador.
 

Lo mejor hasta ahora es añadir un método.

bool  HoleHistory(int Bar,string Simb) ;//метод возвращает признак дыры в истории если выбранный бар выбранного символа
      //моложе одноименного бара хотя бы одного из выбранных символов возвращaем фальсе расчеты на этом баре не производятся  
Sin embargo, sigue habiendo un vínculo con el instrumento financiero que se está probando.
 
ivandurak:

Todavía no he formulado la tarea.

Para las pruebas multidivisa, todas las barras de los símbolos seleccionados deben estar sincronizadas en un segmento de optimización seleccionado. De lo contrario, si hay un hueco, podemos obtener un vistazo al futuro (el grial del probador en 4 - señales para un símbolo abren posiciones para otro).

Básicamente, podemos trabajar en los detalles de la sincronización de barras, formando nuestra propia matriz de cotizaciones sincronizadas que será utilizada por el probador.

El problema está en la construcción de indicadores, en los que se basan las estrategias en la mayoría de los casos, porque el valor del indicador se calcula para un número de barra concreto. Si podemos corregir los archivos con historia en el 4, no podemos hacerlo aquí.

Como alternativa, ejecutamos el EA en modo multidivisa, el propio terminal sincroniza el historial, ahora escribimos el archivo del historial junto con los valores de los indicadores y nos sumergimos en él cuando sea necesario.

Si entiendo bien el problema.

//=============================================================================================
// Подготавливаем массивы цен с синхронизацией по времени 
void PrepareQuotes()
{
 CopyTime("EURUSD",0,0,Количество_Баров,Time);
 CopyOpen("EURUSD",0,0,Количество_Баров,OpenEU);
 for(int i=0; i<Количество_Баров; i++)
    {
     CopyOpen("EURJPY",0,Time[i],1,OpenEJ);
     CopyOpen("EURGBP",0,Time[i],1,OpenEG);
    }
}
//=============================================================================================
// Получаем значение индикатора по времени    
CopyBuffer(handle,0,Time[i],1,Buffer);

El indicador no debe calcularse por el número de barra, sino por el tiempo. O calcule usted mismo, hay suficientes bibliotecas en la base.

 
Si hay un salto antes del compás para un instrumento, es mejor no hacer nada. Es fácil identificar el hueco, basta con comparar la hora de apertura de la barra con la hora de apertura de la barra en otros instrumentos.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства позиций - Документация по MQL5