Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 318

 
barabashkakvn:

Aquí hay más:

Hay que probarlo.

Gracias, tengo que marcarlo como favorito.

Por lo tanto, la animación lista resulta (en formato gif) en el gráfico no puede ser empujado, o el progreso ha ido más allá y hay una solución simple?

 
pako:

Para hacer sonar un evento comercial utilizando las herramientas MQL5, puede utilizarlas funcionesAlert() yPlaySound(). Si se utilizaAlert(), se reproducirá siempre el mismo sonido y se abrirá la ventana de mensajes.

¡Interesante idea la de los eventos de voz para los Asesores Expertos!

¿Podría hacer este sonido para MT4?

Intento (en MT4) que suene el siguiente evento: "Cerrar orden por SL o TP".

No puedo hacerlo de forma "sencilla".

(¿O tal vez todas las condiciones iniciales deben ser "puestas" en una matriz ...? cómo hacerlo correctamente).

¿Tal vez alguien ha tratado este tema de la voz?

 
mobility-energy:

...

¿Tal vez alguien se ha enfrentado a este problema de voz?

Vea los ejemplos en este artículo:MQL5 Recipes - Voicing Trade Events in MetaTrader 5

Función SoundNotification().

 

tol64:


Vea los ejemplos en este artículo:MQL5 Recipes - SoundNotification of Trade Events in MetaTrader 5

Función SoundNotification().

Gracias por el comentario.

He mirado (con cuidado) antes, es exactamente lo que necesito (!!!), pero la versión para MT5.

Ah, necesito la misma versión (sonidos) sólo para MT4 (Receta para MT4),

Necesito una versión similar (sonidos) sólo para MT4 (Prescripción para MT4).

Todavía no puedo averiguar correctamente cómo hacer un sonido en el código para MT4 al cerrar una orden (exactamente) por SL (TP).

Los aspectos generales de las órdenes de apertura/cierre (sonido) ya están resueltos/desarrollados.

En cuanto a las condiciones del SL (TP), no puedo determinar correctamente las condiciones y funciones a ejecutar.

es decir, el pedido se abre y se modifica, ¡bien!

si la orden se cierra debido a las condiciones de beneficio, ¡bien! La orden se cierra y "suena".

Pero si se fija el SL (TP) después de la modificación de la orden, no se "sonará" nada. Si se activó el SL(TP), después de la modificación de la orden no se "sonará" nada, es decir, el terminal cierra la orden "silenciosamente".

es decir, el terminal cierra la orden "silenciosamente". la simple indicación (como la búsqueda de la orden y el if()) no ayuda o lo indico incorrectamente.

Tal vez deberíamos "poner" todos los pedidos en una matriz y establecer una condición (comprobación de la matriz, selección de una matriz) ,

y luego cuando se cumple esta condición SL(TP ) en "sonido" ... Pero, ¿cómo describirlo correctamente en código?

He probado algunas variantes de "kim" de eventos sonoros ,

Cuando se disparan las órdenes pendientes y se anuncia el evento (condiciones+array) todo funciona bien,

Tengo una buena orden de trabajo, pero similar a SL(TP) no funciona (tal vez estoy usando algo mal), es por eso que estoy preguntando aquí. Tal vez alguien tiene una solución, que ya está probado y funcionando en el código?

Me gustaría no complicar demasiado las cosas,

Me gustaría que no fuera tan complicado, porque no es lo principal en el trading, sino que hay que utilizarlo como indicador auxiliar (sonido que acompaña a todos los eventos).

================================

He encontrado una solución, ha funcionado, gracias a todos por la discusión.

asunto cerrado.


================================

 

¡Estimados usuarios del foro!

Estoy intentando ordenar un array unidimensional. El array se declara como estático con el número de elementos 150. Primero probé con ArraySort(). Tengo un exceso. Escribí una clasificación simple por mí mismo (el código de abajo).

Imprimí todo lo que pude, incluyendo los valores e índices de los elementos del array. El resultado es el mismo. La impresión no muestra ningún índice fuera de los límites del array.

¿Qué puede ser?

Se lo agradezco,

e2718

for(i=0;i<n;i++) ag[i]=pow(o[i]*h[i]*l[i]*c[i],0.25); //Создание массива

Print("ag0=",ag[0]," ag1=",ag[1]," ag2=",ag[2]," ag3=",ag[3]," ag4=",ag[4]," ag5=",ag[5]); //Печать значений проходит

for(i=1;i<=n;)//Начало сортировки методом вставки
 {
 Print("i=",i); 
  w=ag[i]; j=i-1;
  Print("j=",j); 
  while((w<ag[j]&&(j>=0)))
   {
    ag[j+1]=ag[j];j=j-1;
   }
  ag[j+1]=w; 
 } 
//if(!ArraySort(ag))return;//Стандартная сортировка

Resultado en ambos casos:
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 array out of range in 'EHHT.mq5' (145,14)
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 j=0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 i=1
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 ag0=1.254399984056122 ag1=1.254224993272838 ag2=1.254049991029702 ag3=1.254024993271765 ag4=1.254 ag5=0.0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 t5=1970.01.01 00:00:00o1=0.0 h1=0.0 l1=0.0 c1=0.0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 t4=2014.11.21 00:00:00o1=1.254 h1=1.254 l1=1.254 c1=1.254

Pregunta: ¿Qué ocurre? ¿Dónde está la salida fuera de la matriz?

Документация по MQL5: Основы языка / Переменные
Документация по MQL5: Основы языка / Переменные
  • www.mql5.com
Основы языка / Переменные - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
e2718:


La mejor manera de insertar el código es de la siguiente manera:Inserte el código correctamente en el foro

¿Qué línea tiene el número 145?

Y luego está esta condición:

for(i=1;i<=n;)//Начало сортировки методом вставки

parece que debería serlo:

for(i=1;i<n;)//Начало сортировки методом вставки
 

¡Buenas tardes!

¿Puede decirme cómo evaluar la pestaña ACTIVIDADES de la ventana TERMINALES (Ctrl + T) del terminal de comercio?

Puramente visual...

 
e2718:

¡Estimados miembros del foro!

Intentando hacer una ordenación en un array unidimensional...

No te inventes una bicicleta. Utilizar la biblioteca estándar, es decir, las clases del grupo CArray... (CArrayObj, CArrayInt, etc.) La ordenación se realiza allí lo más rápido y bien posible. Puede ordenar estas matrices por cualquier criterio.
 
e2718:

¡Estimados usuarios del foro!

Estoy intentando ordenar un array unidimensional. El array se declara como estático con el número de elementos 150. Al principio probé con ArraySort(). Tengo un exceso. Escribí una ordenación sencilla por mí mismo (el código de abajo).

Imprimí todo lo que pude, incluyendo los valores e índices de los elementos del array. El resultado es el mismo. La impresión no muestra ningún índice fuera de los límites del array.

¿Qué puede ser?

Se lo agradezco,

e2718


Resultado en ambos casos:
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 array out of range in 'EHHT.mq5' (145,14)
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 j=0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 i=1
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 ag0=1.254399984056122 ag1=1.254224993272838 ag2=1.254049991029702 ag3=1.254024993271765 ag4=1.254 ag5=0.0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 t5=1970.01.01 00:00:00o1=0.0 h1=0.0 l1=0.0 c1=0.0
2014.11.23 20:16:30 Core 1 2014.11.21 00:00:30 t4=2014.11.21 00:00:00o1=1.254 h1=1.254 l1=1.254 c1=1.254

Pregunta: ¿Qué ocurre? ¿Dónde está la salida fuera de la matriz?

¡Gracias por la ciencia de la inserción de códigos! Yo no lo entendí. La línea 145 es una línea con el bucle while. Allí se hace la primera referencia a la matriz ag. La primera llamada da lugar a un conflicto. El comentario sobre el límite superior del bucle no afecta a esto. Además, ¿por qué llamar a la ordenación estándar ArraySort(ag) lleva al mismo resultado?


 
e2718:

Para entender dónde está el error, se necesita no sólo este trozo de código, sino también la declaración de variables. Sólo podemos adivinar lo que ha declarado allí.

Y aquí hay otro enlace:Foro: al responder, el cursor salta a la cita