Deseos para MQL5 - página 90

 

Ahora no se puede poner un filtro de posiciones sólo para un determinado símbolo. Es decir, hay que pasar por todos los pedidos.

Esto ralentiza el EA y si hay muchos gráficos en los que el EA está trabajando, puede ralentizar y cargar considerablemente la CPU.

Например такой код

for( Ord = 0; Ord < OrdersTotal(); Ord++) {
   OrderSelect( Ord, SELECT_BY_POS);
   if(Symbol() == OrderSymbol() && StringFind(OrderComment(), "MA-Price") != -1) {
      IsOrdFound = true;
      break;
   }
}
А хотелось бы фунцию для установки фильтра по символу

OrderSelectSymbol(Symbol());

for( Ord = 0; Ord < OrdersTotal(); Ord++) {
   OrderSelect( Ord, SELECT_BY_POS);
   if(StringFind(OrderComment(), "My comment") != -1) {
      IsOrdFound = true;
      break;
   }
}



Или если теперь будет объектный язык, то что то типа такого варианта:

OpenedOrdGroup ordGroup = new OpenedOrdGroup(Symbol());

for( ord = 0; ord < ordGroup. count; ord++) {
  if( findSubstr( ordGroup. orders[ ord]. comment, "My comment") != -1) {
     isOrdFound = true;
     break;
  }
}
 
stringo писал(а) >>

Sin embargo, cabe mencionar que los indicadores personalizados pueden realizar tareas puramente computacionales y no tienen acceso a ninguna ventana u objeto gráfico.

Y... ¿es posible ejecutar dicho indicador "computacional" fuera de todas las ventanas? (por ejemplo, para supervisar IsExpertEnabled y cosas así y decirle a quién se supone que debe hacerlo).

¿Puede dibujar? ¿Puede hacer un bucle?

¿Puede llamar/descargar EAs, scripts, establecer/desactivar indicadores por defecto y personalizados?

 
SK. писал(а) >>

Y... ¿puede ese indicador "computacional" funcionar fuera de todas las ventanas? (por ejemplo, para supervisar IsExpertEnabled y demás e informar a quien lo necesite)

¿Puede dibujar? ¿Puede hacer un bucle?

¿Puede llamar/descartar EAs, scripts, establecer/desactivar indicadores por defecto y personalizados?

Para todas estas preguntas - no, por desgracia.

Tengo que tener una ventana de gráfico separada y adjuntarle un Asesor Experto "calculador". El Asesor Experto puede trabajar con un temporizador, por lo que no necesita estar en bucle.

 

Gracias, eso aclara algunas cosas.

¿Hay alguna forma de ejecutar algo que no esté ligado a una ventana? (para necesidades generales).

¿Y hay alguna forma de llamar a otra cosa desde ese "algo"? (un experto en temporizadores, por ejemplo)

 
SK. писал(а) >>

Gracias, eso aclara algunas cosas.

¿Hay alguna forma de ejecutar algo que no esté ligado a una ventana? (para necesidades generales).

¿Y hay alguna forma de llamar a otra cosa desde ese "algo"? (un experto en temporizadores, por ejemplo).

No habrá nada que no esté atado a una ventana.

Todavía no puedo responder a esa pregunta.

Puede enviar un evento personalizado a cualquier gráfico. El Asesor Experto que cuelga de ese gráfico puede manejar los eventos entrantes

 
stringo писал(а) >>

No va a pasar nada que no esté ligado a la ventana

Todavía no puedo responder a esa pregunta.

Puede enviar un evento personalizado a cualquier gráfico. Colgado en ese gráfico el Asesor Experto puede manejar los eventos entrantes

Gracias por la respuesta.

Pero necesitamos un Asesor Experto en ese gráfico. Estos EAs no estarán siempre sincronizados (sin características especiales - nunca).

En mi caso, estoy hablando de un programa de servicio personalizado (aplicación). Las tareas incluyen, por ejemplo, el análisis técnico, el análisis de velas y los algoritmos de procesamiento de posiciones personalizados. Por ejemplo, si pulsa el botón (en el menú del sistema), la pantalla actual muestra el análisis de velas. Pulse otro - aparece una ventana en la que puede establecer las preferencias de SL y TP para la ventana actual. Presione el tercer botón - se abren las paradas en todas las posiciones (donde no están disponibles, bueno antes de las noticias) de acuerdo con las preferencias y la configuración actual del corredor. Otro botón - el corredor de distancia mínima se dibujó... Y así sucesivamente. Y todo está interconectado por los fondos disponibles, por la probabilidad de éxito de la operación según los diferentes instrumentos financieros, con sus preferencias, prioridades, análisis integral, etc.

Esta tarea en su conjunto no requiere muchas copias de un Asesor Experto en todas las ventanas. Este programa puede ser "uno para todos, nosotros pagaremos el precio". Podría ser. Por el momento no conozco las capacidades de MT5.

 
Hacer la interacción con la base de datos MySql
 
stringo писал(а) >>

No va a pasar nada que no esté ligado a la ventana

Todavía no puedo responder a esa pregunta.

Puede enviar un evento personalizado a cualquier gráfico. El Asesor Experto que cuelga de ese gráfico puede manejar los eventos entrantes

1. Sin embargo, es una pena. // Sobre el prog. sin ataduras.

Como un compromiso razonablemente (imha) barato en términos de implementación: tal vez debería hacer algún tipo de gráficos "nulos",

en el que se pueden colgar calculadoras? Y preferiblemente un número ilimitado de estos gráficos, ya que a estas alturas sospecho de la herencia de la MT.

porque aquí sospecho de la herencia de la restricción de MT4 "un gráfico - un Asesor Experto"... :)

2. Sobre los eventos. Eventos personalizados: eso es genial. Muchas gracias por ello. :)

Ya me alegré de ver el Tetris con el evento OnTimer y en general la aparición de la organización por eventos del lanzamiento

funciones. Y aquí me gustaría ir más despacio y con más detalle :)

¿Qué otros eventos "estándar" existentes (eventos de plataforma) se envían a las aplicaciones de los usuarios?

Por ejemplo, me gustaría tener algo como OnPositionIsClosed(int ticket) - para no tener que buscar en todas las pilas de

órdenes abiertas en busca de las órdenes que acaban de cerrarse por el stop. Creo que incluso en 4

además de las funciones estándar Init()-Deinit()-Start(), es muy fácil añadir OrderStopped() - en cualquier caso, el terminal sigue

El terminal sigue controlando el cierre de las órdenes para mostrar los cambios de la situación en sus ventanas. Bueno, ¿por qué los programas de los usuarios no

¿Informarles? Y recibirías mucha gratitud de los usuarios... - Te lo garantizo. :)

Lo ideal sería tener (en MT5) un gestor de eventos para toda la plataforma, con posibilidad de

para suscribirse a los mensajes sobre un evento, y también iniciar

y también para iniciar eventos de propósito general enviados por broadcast a todas las aplicaciones suscritas.

 

Queridos desarrolladores

Sólo tenemos que añadir una opción para una orden al ver MODE_HISTORY - cómo se cierra la orden, por ejemplo:

- StopLoss;

-TakeProfit;

- Por mercado, etc.

Algunos bancos que utilizan la plataforma MQ4 cierran todas las órdenes y abren otras nuevas cuando pasan de 0 (esto no es nuevo en sí mismo).

Pero en este caso el Asesor Experto tiene que esforzarse mucho para averiguar en el programa cómo se cerró una orden, y lo más importante es un montón de código innecesario.

Cuanto más código, menos fiable es.

.

P.D. Puede que ya se haya hablado de esto, pero no lo he visto y he decidido compartir mis preocupaciones.

 
VBAG писал(а) >>

Algunos bancos que utilizan la plataforma MQ4 cierran todas las órdenes y abren otras nuevas cuando pasan por 0 (esto no es nuevo en sí mismo).

Pero en este caso el Asesor Experto tiene que esforzarse mucho para saber cómo se cerró la orden en el programa, y lo más importante, aparece mucho código innecesario.

Y, lo que es más importante, hay mucho código innecesario.

Y, lo que es peor, no existe un método STATE inequívoco de identificación del orden en esta situación. En este caso, por ejemplo, la empresa de intermediación, sin pensárselo dos veces, asigna nuevos billetes que no tienen ninguna relación con los iniciales.

con las iniciales, sólo según una lista :) Tenemos que hacer un gran esfuerzo para seguir el historial de cada pedido.

Pero en MT5 el trabajo con las órdenes parece haber cambiado radicalmente (ver MetaTrader 5 Client Terminal),

y exactamente cómo - parece ser un terrible secreto o una gran sorpresa, sobre la que no es muy apropiado preguntar - es más fácil esperar a la nueva terminal que obtener respuestas inteligibles

de los desarrolladores. :) Sin embargo, este tema es sobre sugerencias, y espero que los desarrolladores estén buscando la raíz del problema, más que una manera formal de implementar el comercio.

Estoy de acuerdo con ellos en todos los aspectos - necesitan un buen servicio para que los programadores trabajen con puestos abiertos - pausados.