Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 761

 
psyman:

Si hay más de una posición abierta a mano, ¿cómo asigno el EA a la que hay que arrastrar?

Hasta ahora, sólo he pensado en iniciar un script que cree un GP y copiar el ticket desde allí.

¿Es posible introducir el valor del ticket en la entrada del búho como un int de entrada o al menos como un enum de enumeraciones de ticks de todas las posiciones del símbolo dado?

Al hacer clic en el icono de la posición abierta/orden establecida, se selecciona como objetivo de arrastre. Pulsando+Ctrl se seleccionan varias posiciones/órdenes para la red de arrastre. Todo lo que tienes que hacer es escribir la reacción a los eventos de clic en los objetos. Y permitir establecer la posición/orden de los iconos.

 
Artyom Trishkin:

:)

¿Y si ejecutas el EA a 9,22?

¿Qué pasa si hay un fallo del sistema o del terminal? El precio se perderá.

Es decir, hay que buscar lo que había hace 20 minutos cuando se hace esta comprobación. Ha llegado el momento en que los minutos son mayores o iguales a un múltiplo de veinte - compruebe el estado del RSI en la barra, que fue hace 20 minutos. Si tiene el cruce deseado, entonces procedemos como estaba previsto...

Sin embargo, en M15 no se puede determinar la hora exacta del cruce ni el precio exacto, pero se puede mirar el precio en M1 - al menos 15 veces más preciso.

¿No se puede hacer un bloc de notas que registre la hora exacta del cruce y el precio)?
Hay EA que registran todo tipo de información en un bloc de notas.

 
Alexey Viktorov:

Más a menudo se utiliza GV de GlobalVariable***, yo no haría esta pregunta entonces. La pregunta es ambigua. Hay muchas posiciones, pero sólo necesitamos un arrastre. ¿Es el mismo Asesor Experto el que fija las posiciones? La pregunta suena extraña en este caso. Si las posiciones se colocan manualmente o por otro EA, entonces, cuando se ejecuta el EA, se inserta en entrada y ya está... Si el Asesor Experto establece un número aleatorio de posiciones y la lista se puede cambiar sobre la marcha... El trabajo autónomo es útil.


Entiende correctamente e incluso escribe lo que hay que hacer, pero no dice cómo :-)

Los puestos se abren a mano, el búho sólo puede distinguirlos por el billete. Puedo pegar el billete a mano a través de la copia en el buffer, pero es mejor no hacer eso, pero ofrecer a elegir de una lista. ¿Es posible hacerlo?

 
Artyom Trishkin:

Pregunta: ¿se refiere al entorno de desarrollo IntelliJ IDEA?

Sí, estoy hablando deIntelliJ IDEA

 
secret:

Toda la vida parece estar aquí, nadie mira los hilos individuales.

Mira mi pregunta, por favor: ¿Puedo inventar un análogo de CopyBuffer() para MT4?

https://www.mql5.com/ru/forum/302404

Sí, pero en este caso hay que completar el código del indicador, que debe producir su propio buffer

 
psyman:

Entiende correctamente e incluso escribe lo que hay que hacer, pero no dice cómo :-)

Los puestos se abren a mano, el búho sólo puede distinguirlos por el billete. Puedo pegar el billete a mano a través de la copia en el buffer, pero es mejor no hacer eso, pero ofrecer a elegir de una lista. ¿Es posible hacerlo?

Todo es posible. Por ejemplo para mostrar un panel con posiciones, y en él elegir para qué pista. Pero es más bien como lo que has dicho arriba en Freelance.

 
Artyom Trishkin:

Al hacer clic en el icono de una posición/orden abierta, se selecciona como objetivo de la red de arrastre. Haga clic+Ctrl para seleccionar varias posiciones/órdenes de arrastre. Todo lo que tienes que hacer es introducir la reacción a los eventos de clic en los objetos. Y permitir establecer la posición/orden de los iconos.


¿Corresponde entonces a la ejecución de PositionSelect?

 
psyman:


¿Entonces esto corresponde a la ejecución de PositionSelect?

No, no es así. Era una sugerencia de cómo se podía hacer.

 
Artyom Trishkin:

Al hacer clic en el icono de una posición abierta/orden de conjunto, se selecciona como objetivo de arrastre. Pulsando+Ctrl se seleccionan varias posiciones/órdenes para la red de arrastre. Todo lo que tienes que hacer es insertar la reacción a los eventos de clic. Y permitir establecer la posición/orden de los iconos.

¿Se refiere a la red de arrastre integrada en el terminal? No puede hacer cierre parcial, que es lo que quiero hacer, por eso es un lío.


=Sólo necesito escribir la reacción a los eventos de clic en los objetos.

¿Y cómo puedo manejar eventos fuera de la ventana gráfica?

Por lo que está escrito en la ayuda, ninguno de los tipos de eventos es adecuado.

 
psyman:

¿Se refiere a la red de arrastre integrada en el terminal? No puede hacer cierre parcial, que es lo que quiero hacer, por eso es un lío.


=Sólo tengo que poner la reacción a los eventos de hacer clic en los objetos.

¿Y cómo puedo manejar eventos fuera de la ventana gráfica?

Por lo que está escrito en la ayuda, ninguno de los tipos de eventos encaja.

Entiendo que el Asesor Experto necesita indicar de alguna manera la entrada de la posición abierta manualmente que debe arrastrar.

  1. Añade al Asesor Experto el seguimiento de las nuevas posiciones abiertas y si no tiene magik, significa que se abre manualmente. El Asesor Experto pondrá un icono de apertura de esta posición en el precio y la barra de su apertura. El nombre del objeto debe contener un prefijo con el nombre común del objeto para todos los objetos de este tipo, por ejemplo "manual_" y también debe estar presente el ticket de la posición. Como resultado, el nombre del objeto puede ser el siguiente: "manual_12345678". Aquí: manual_ - prefijo, 12345678 - billete de posición.
  2. Añade al Asesor Experto OnChartEvent() y monitoriza el evento del clic del ratón sobre el objeto. Analiza el nombre del objeto y si contiene una subcadena manual_, entonces mira el número que hay después de manual_. Este número es el billete de la posición cuyo icono ha pulsado.
  3. El siguiente paso es una cuestión técnica: hay que guardar el número encontrado, para que no se pierda al reiniciar el Asesor Experto/Terminal/Ordenador/Mundo... Por ejemplo, en los recursos o en las variables globales del terminal.
  4. El Asesor Experto debe leer este recurso y tomar la entrada de la posición a arrastrar desde él
  5. En el ciclo de arrastre, debe buscar el ticket de la posición seleccionada y buscar este número en la lista de tickets guardados. Si se encuentra un billete de este tipo, la posición con este billete debe ser rastreada.
  6. Si se modifica el número de posiciones, hay que comprobar el ticket de la posición cerrada y encontrarlo en la lista guardada. Si tal billete existe en la lista, debe ser eliminado de la lista - la posición ya no existe, y no hay nada que hacer con su billete en la lista de billetes para el cebado.
Es algo así. La lógica fue escrita de rodillas, así que puede que no haya tenido en cuenta nada...