[¡AVISO CERRADO!] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen. No puedo ir a ningún sitio sin ti. - página 657

 
IgorM:

gracias si esto es lo que estaba buscando, ¿alguien ha medido la velocidad del mismo tipo de código para mt4 y mt5?

Yo añadiría. Lo más interesante es la diferencia en la velocidad de las pruebas/optimización de los EAs del mismo tipo.
 
ToLik_SRGV:

Yuri, para el futuro, si el código repite al menos dos veces, debería asignarse a un método, y no necesitarás montones de arrays abarrotando el código...


Anatoly, muchas gracias, es una pena que no se pueda insertar un icono en este artículo como en Skype con un lazo. Todo es sencillo y elegante. Entiendo por la comunicación con otras herramientas de análisis técnico, que debería ser así, pero aún estoy sin práctica en el trabajo con mql. Gracias por el consejo de marcarlo como método, intentaré averiguarlo.

Por último, ¿podría sugerir cómo evitar la colocación de múltiples órdenes en la misma barra por parte de este EA? Buenas personas ya han dado algunas pistas, pero no se han mantenido.

 
granit77:
Yo añadiría. Lo más interesante es la diferencia en la velocidad de las pruebas/optimización del mismo tipo de EAs.


Verás que la optimización de MT4 y MT5 debería ser muy diferente al menos por el hecho de que MT5 ya implementa la comprobación de condiciones incompleta - para que MT4 logre esto necesitas hacer un montón de sentencias if anidadas - y esto reduce la legibilidad del código y conduce a errores lógicos
 
IgorM:


Muchas gracias, es lo que buscaba, ¿quién ha medido la velocidad del mismo tipo de código para MT4 y MT5?


2010.06.29 16:29:56 Test_Speed (EURUSD,M1: tiempo 1641 mseg MT-4

2010.06.29 16:28:56 Test_Speed (EURUSD,M1) tiempo 359 mseg MT-5

este código no necesita ser traducido ya que ves que sirve para 5 y 4

 int start_=GetTickCount();
 int d=0;
 for(int i=0;i<100000000;i++)d+=11;
 Print("время ",GetTickCount()-start_," мсек");

No puedo creer que sea una simple adición, imagina lo que los desarrolladores han hecho para acelerar las funciones complejas.

 
Urain:

Y esto es en la adición elemental, imagina lo que los desarrolladores han jodido allí para acelerar las funciones complejas.


Esperemos que así sea, en MT4 el procesamiento del código del EA es muy similar al de Java - las funciones incorporadas son muy rápidas, pero las funciones de usuario no lo son tanto, incluso las acciones más básicas

cuando se trata de la optimización, estoy muy confundido por la comprobación completa de las condiciones - no he oído hablar de tal cosa desde hace unos 20 años - fundamentos de la escuela :)

 

No puedo encontrar un indicador multidivisa que tenga GoldUSD. Póngame el enlace, por favor.

upg upg índices que

 
IgorM:


Sea más específico con su pregunta.

Si está interesado en el precio actual en el momento de realizar un pedido, puede añadir una llamada al código que se encargará de almacenar el precio actual en una matriz global con el cambio del índice del contador de la matriz, que luego podrá ver desde cualquier punto del código


Es decir, necesito que se escriban en el array todos los precios a partir del precio de apertura de la orden, para luego poder extraer los elementos máximos y mínimos del array.

¿Puedes decirme cómo implementarlo en el código?

 
zelek:


Es decir, necesito que todos los precios a partir del precio de apertura de la orden se escriban en un array, para luego poder extraer el elemento máximo y mínimo del array.

¿Podría decirme cómo implementarlo en el código?


No entiendo el problema. Has abierto una orden y quieres escribir los precios actuales en el array , ¿por qué? Tienes barras que te darán los precios mínimos y máximos. Si escribes los precios por ticks, no quiero ni imaginar la cantidad de datos que contendrá el array: ticks de 20 a 80 unidades/min.

¿o necesita los precios a los que se abrieron los pedidos? - es posible ver las órdenes cerradas y abiertas en el terminal

 
IgorM:


No entiendo el problema. Has abierto un pedido y quieres guardar los precios actuales en la matriz de datos, ¿por qué?

¿o quiere ver los precios a los que se abrieron los pedidos? - es posible ver las órdenes cerradas y abiertas en el terminal


Quiero implementar algo similar a un trailing stop virtual de un pip

necesitas saber el valor máximo en cada nuevo tick

 
zelek:


Quiero implementar algo similar al trailing stop virtual desde un punto

para ello necesito saber el valor máximo en cada nuevo tick


No es necesario registrar y almacenar toda la matriz. Basta con almacenar sólo dos cifras: el máximo y el mínimo de la apertura del pedido. Pero para ello -de hecho- sólo necesitamos controlar el precio de la barra del primer minuto en la que se abrió la orden. A partir de entonces, el máximo y el mínimo están bastante determinados por las barras de minutos sin almacenar constantemente el precio.