Errores, fallos, preguntas - página 579

 

olyakish:

>Y ahí tienes dos operaciones, una que dio beneficios y otra que cerró a cero, pero el patrimonio seguía fluctuando.

en realidad se trata de una operación que consiste en vender (abrir la posición para vender) y comprar(cerrar la posición para vender)

Exactamente se trata de una doble operación In - abre una posición, y Out - la cierra (que yo recuerde también hay InOut - una contra operación a una posición existente).

La regla es que hay una posición, y puede haber tantas órdenes y operaciones en ella como se quiera.

 
papaklass:

Lo que no está claro es lo siguiente:

Tenemos dos EAs monovalentes, cada uno trabajando en su propio hilo y con su propio y único instrumento, con su propio conjunto consecutivo de ticks. Estos dos conjuntos consecutivos de ticks son independientes el uno del otro. Por ejemplo, llegan los ticks del GBPUSD. ¿Afectan al EURUSD? El EURUSD tiene su propio flujo independiente de cotizaciones. ¿Tengo razón o me equivoco en algo? Si estoy en lo cierto, ¿por qué no se pueden distribuir estos dos flujos independientes en diferentes núcleos? Eso es lo que no me queda claro.

Si hablamos de dos Asesores Expertos que ejecutan gráficos diferentes, se benefician plenamente de la capacidad multinúcleo porque trabajan en hilos diferentes.

Si hablamos de pruebas en paralelo, puede lanzar dos terminales de cliente desde diferentes carpetas y ejecutar dos pruebas simultáneamente. Los agentes se ejecutarán en diferentes núcleos.

 
Interesting:

Son sólo dos operaciones In - abre una posición, y Out - la cierra (por lo que recuerdo también hay InOut - una contraoperación a una posición existente).

La regla es: hay una posición, y puede haber tantas órdenes y tratos en ella como se quiera.



Ok, estoy de acuerdo, no estaba del todo bien.

En mi caso, hay un ciclo normal (mínimo): abrir una posición , cerrar una posición.

A continuación, cree una posición de oferta-orden-compra, y luego una oferta-orden-compra (cierre de venta).

Pregunta sustantiva - por favor, comente el gráfico de patrimonio/balance en el probador.

 
papaklass:

Perdona mi brusquedad. Entiendo la prueba resaltada cuando se refiere (texto) a una sola corriente (instrumento financiero). Es decir, tenemos un Asesor Experto monovalente que trabaja con un símbolo. Las garrapatas se procesan constantemente en él y no tiene sentido procesarlas en paralelo. Ya veo.

Lo que no está claro es lo siguiente:

Tenemos dos EAs monovalentes, cada uno trabajando en su propio hilo y con su propia herramienta, con su propio conjunto consecutivo de ticks. Estos dos conjuntos consecutivos de ticks son independientes el uno del otro. Por ejemplo, llegan los ticks del GBPUSD. ¿Afectan al EURUSD? El EURUSD tiene su propio flujo independiente de cotizaciones. ¿Tengo razón o me equivoco en algo? Si estoy en lo cierto, ¿por qué no se pueden distribuir estos dos flujos independientes en diferentes núcleos? Eso es lo que no me queda claro.

estrangulamiento:

Si se trata de dos EAs que trabajan en gráficos diferentes, se benefician plenamente del multinúcleo porque trabajan en hilos diferentes.

Si hablamos de pruebas en paralelo, puede lanzar dos terminales de cliente desde diferentes carpetas y ejecutar dos pruebas simultáneamente. Los agentes se ejecutarán en diferentes núcleos.

1. los EAs ubicados en diferentes gráficos (idealmente en diferentes símbolos) realmente aprovechan al máximo el multihilo/multi-núcleo. También puede ejecutar varios terminales a la antigua usanza (por ejemplo, si opera con varias cuentas).

2. Cuando hablo de multihilo, me refiero a trabajar dentro de un solo Asesor Experto. Y no importa cómo y por qué medios se puede organizar el procesamiento simultáneo.

No tiene sentido organizar dicho procesamiento dentro de este marco, o causará muchos problemas tanto para los desarrolladores como para los usuarios finales(como mencionaron Renat y Stringo).

Pero hay una solución, al menos teórica, aunque no sé si será posible aplicarla y qué sentido tiene todo esto.

Este "multithreading" será posible tras realizar al menos dos pasos (los desarrolladores sabrán más):

a) manejadores paramétricos para ciertos eventos (posiblemente añadiendo nuevos o cambiando los existentes);

b) cambio de la arquitectura de todo el terminal para que dentro de un Asesor Experto (sólo para Asesores Expertos) se puedan ejecutar simultáneamente algunos manejadores.

Y según tengo entendido, sin manejadores paramétricos, no tiene sentido hablar de ello.

3. Desde el punto de vista de los desarrolladores, la introducción del tratamiento paramétrico de los ticks es una cuestión abierta. Pero, a pesar de todos los problemas relacionados con su introducción, es posible que se decidan por esta medida (habiendo pospuesto su realización para un futuro lejano). La realización de todo lo posterior es de un mundo de fantasía y aquí por supuesto sólo queda soñar.

Sólo después de añadir el parámetro a OnTick será posible dividir y manejar simultáneamente los ticks por carácter, hasta entonces la implementación no tiene sentido.

PS

Conclusión uno - Primero OnTick con parámetros (el nombre de un símbolo será suficiente), y luego la continuación de la conversación sobre para qué sirve todo esto.

Документация по MQL5: Предопределенные переменные / _Symbol
Документация по MQL5: Предопределенные переменные / _Symbol
  • www.mql5.com
Предопределенные переменные / _Symbol - Документация по MQL5
 
papaklass:
Es decir, dentro de un probador, incluso si el EA es multidivisa, los ticks son consistentes (independientemente del instrumento), un hilo, un núcleo. ¿Verdad?

1. los tics en la arquitectura existente sólo son manejados por la herramienta principal (la herramienta gráfica). Por lo tanto, el esquema debe ser coherente.

La multidivisa en este caso sólo indica que el Asesor Experto puede solicitar datos de otros símbolos y/o otros TFs, pudiendo realizar operaciones en los símbolos seleccionados.

Las pruebas individuales (y cualquier trabajo del Asesor Experto) se realizan secuencialmente, en un hilo. Es decir, sólo un comando (línea de código) a la vez.

Cuando llevamos a cabo la optimización de un Asesor Experto, los diferentes agentes (es decir, los núcleos) reciben su propia copia del Asesor Experto con sus propios parámetros y entradas.

Cada agente realiza la prueba de forma secuencial, pero en su interior (los demás agentes ni siquiera son conscientes de su trabajo). En este caso, el agente sólo conoce su tarea, claudicando sobre todas las tareas que recibió de un probador en particular y que dio a los agentes, y el usuario final/probador conoce todas las tareas y recibe los resultados de todos los pases.

 
papaklass:
Es decir, aunque un EA sea multidivisa, los ticks son secuenciales (independientes de la herramienta), un hilo, un núcleo. ¿Verdad?

Sí. Es como en la vida. En la vida real, todos los tics son consistentes. En un quantum de tiempo, en principio, no puede haber más de un tick.

Dos hilos trabajan en el probador - uno para comunicarse con el terminal, el otro procesa los ticks y prueba el Asesor Experto.

Pero la arquitectura del terminal cliente es tal que los ticks son recibidos por el terminal cliente en un hilo y distribuidos a diferentes hilos para cada herramienta por separado. Además, cada Asesor Experto trabaja en su propio hilo. Si hay varios núcleos, todos estos hilos se distribuyen entre ellos.

Un Asesor Experto multidivisa en el probador y en el terminal siempre ocupa un hilo, pero esto no significa que otros hilos estén inactivos en ese momento

 

Buenas tardes, estoy preocupado por el sistema de órdenes de MT5. No estoy en contra de la red en general, pero creo que es cruda en 5. He estado tratando de averiguar cómo hacer un buen pivote MT5 con el fin de permanecer en el mercado si la inversión no se ha producido, pero o no soy inteligente o la tarea es imposible. Me he dado cuenta de que MQ no quiere discutirlo. ¿Es necesario que lo describa con detalle? Además, ¿cómo se responde a esta pregunta?

El sistema actual de pedidos:

а. Bien y no lo cambiaremos.

б. Necesita mejorar

IMHO: La única manera de organizar el comercio en este momento es que el PC controle siempre el proceso. Pero esto es una carga y unos nervios. Por qué necesito todas estas preocupaciones - si hay una conexión o no. Voy a invertir un dinero importante en el mercado, así que es importante para mí.

 
Vict:

Buenas tardes, estoy preocupado por el sistema de órdenes de MT5. No estoy en contra de la red en general, pero creo que es cruda en 5. He estado tratando de averiguar cómo hacer un buen pivote MT5 con el fin de permanecer en el mercado si el pivote no ha sucedido, pero estoy demasiado tonto o la tarea es imposible.


Por favor, envíame un mensaje en privado, y lo discutiremos.
 
Vict:

...Durante los últimos días he estado tratando de averiguar cómo hacer un buen pivote en MT5, de modo que estaría en el mercado si no ocurriera ningún pivote, pero o soy tonto o la tarea es imposible.

¿Qué quiere decir con "permanecer en el mercado si no se produce la inversión"? ¿Cómo se invierte una posición con la que se tienen problemas?
 

Estoy viendo el mercado como un guardián de las olas. Encuentro la primera ola y entro en el rebote, apuntando a un tres. No estoy atado a ningún orden específico, por lo que las primeras ondas pueden ocurrir tanto al alza como a la baja al mismo tiempo. Por lo tanto, si tengo una posición bajista o alcista, y llega una señal en la otra dirección, tengo que invertir, ¡pero no anula la tendencia pasada! Si el precio supera el último rebote tenemos que retroceder nuestra posición anterior. Debe ser confuso, abajo está la imagen.

Explicación de la imagen:

* La señal de alta aparece, abrimos una posición de compra.

* Una señal de baja llega, no tiene sentido tomar una posición de compra ahora. Mi acción en el 4 es bloquear el beneficio stopLoss en los niveles 1, takeProfit después del rebote mayor. Como resultado, si el mercado baja, tomaré una parte de mis ganancias, si vuelve a subir esperaré al nivel objetivo de tres.

*¿Qué hago en MT5? Por ejemplo, he invertido una posición para obtener beneficios. ¿Cómo puedo reabrir mi compra anterior si el mercado repunta? ¿Podría confiar en mi EA para hacerlo (no es fiable, quiero colocar estos comandos en el servidor)? ¿Debo colocar un BuyStop pendiente en los niveles 1? Pero, ¿qué debo hacer si el precio se mueve por debajo del rebote superior, cómo debo eliminarlo?

Archivos adjuntos:
x71ec4t1j4.png  15 kb
Razón de la queja: