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

 
Algus:

Sí, un grupo de señales de sonido, de lo contrario se obtiene un montón de archivos de sonido (ver #7763). Y la frecuencia es demasiado alta o demasiado baja. El análisis principal tiene lugar en la apertura de los bares. No hay duplicados, por supuesto.

Y en general no son las melodías sino los mensajes. Los tonos no son informativos, los pájaros lo eran al principio, cuando se podían contar las señales con los dedos):

Bien, entonces escribe el cifrado de la señal en el buffer del indicador también de 6 dígitos, donde se codificará la información sobre el par TF y el tipo de señal - entonces no te confundirás - toma el valor del buffer al array, y empieza a decodificar en orden, y también puedes organizar el array, para que las señales vayan en orden por un símbolo, entonces la duración de la señal se reduce - primero par de tiempo y luego TF-señal, y todo esto en el bucle. No es tan complicado. Lo único que hay que hacer es comprobar una nueva vela para cada par, de lo contrario la señal puede no estar sincronizada y saltarse. En general, es mejor recoger la señal de un instrumento, procesarla, reproducirla y recogerla de otro. O bien hacer un array booleano, donde se marque que la señal ya ha sido recibida desde el instrumento, y actualizarlo después de cada reproducción de información desde TF. Entonces no tendrá que esperar a que todos los indicadores hagan el cálculo debido a la aparición de una nueva barra.

 
anatoliy.r:
Aquí estoy ....... ¡Resulta tan fácil! Gracias!!!)

De nada :)

 
Algus:

No está claro. El multiindicador (mi) sólo cambia de ventana, por lo que no hay problema con eso en el terminal tal y como está. Si cuenta, entonces por carga de la CPU 1mi=14 no mi. Además, para volcar todos los gráficos de 14 TF en una sola ventana... ¿cómo es? Además, cada chat tiene su propio indicador que también cuenta y dibuja? Cargando 1 Mi+14 no Mi=28 no Mi. ¿No sería más fácil organizar el sonido adecuadamente?

Desde luego, no miro 14 gráficos a la vez, sino que lo escucho enseguida):

¿Por qué mantener 14 gráficos abiertos con 14 indicadores? (y todavía tengo que averiguar cómo enlazarlos)

Un indicador en una ventana, que dibujará/monitoreará todo, y cambiará al TF/símbolo requerido con un clic, es suficiente. (Se pasa de una ventana a otra, ¿verdad?).

 
Taras Slobodyanik:

¿Por qué mantener 14 gráficos abiertos con 14 indicadores? (y todavía tengo que averiguar cómo enlazarlos)

Un indicador en una ventana, que dibujará/monitoreará todo, y cambiará al TF/símbolo requerido con un clic, es suficiente. (Se pasa de una ventana a otra, ¿verdad?).

En teoría es posible. Pero algo debo estar entendiendo mal):

No puede dibujar todo en una sola ventana, no puede supervisarlo. Pasar a otro TF/símbolo con un clic - ¿se hace de forma programada? Probablemente, MQL lo permite, no lo he probado. ¿Y entonces qué? Se abre un nuevo gráfico, se carga el indicador MQL y se dibujan los patrones. Creo que sí, ¿tal vez me equivoque? Si no, ¿cómo es mejor y más rápido que 14 ventanas abiertas? Por lo tanto, todo esto ya está implementado en el terminal y no hay ninguna diferencia en el panel en el que se hace clic. Tengo 360kg de versión mono de mi MI, sigue siendo un dolor de cabeza. De hecho, está sugiriendo transferir la operación del terminal al indicador. Creo que es más fácil, más eficiente y más rápido averiguar la API de waveOut o aprender otro lenguaje de programación.

 

según entiendo, la tarea no es hacer 14 indicadores o 1 multiindicador más rápido, sino hacer que 14 indicadores interactúen entre sí

para mí, sería más fácil combinar todo en un solo indicador

 
Taras Slobodyanik:

según entiendo, la tarea no es hacer 14 indicadores o 1 multiindicador más rápido, sino hacer que 14 indicadores interactúen entre sí

para mí, sería más fácil combinar todo en un solo indicador

Gracias por el interés):
 

Una pregunta así. He puesto un historial de ticks, ahora al probar incluso a 32 de velocidad en M15 la velocidad es de aproximadamente 1 bar por segundo, lo cual es muy lento. ¿Hay algo más que pueda hacer para aumentar la velocidad de la carrera?

Sin la visualización también se tarda mucho tiempo

 
Aleksey Vyazmikin:

Bien, entonces escribe el cifrado de la señal en el buffer del indicador también de 6 dígitos, donde se codificará la información sobre el par TF y el tipo de señal - entonces no te confundirás - toma el valor de los buffers al array, y empieza a decodificar en orden, y también puedes organizar el array, para que las señales vayan en orden por un símbolo, entonces la duración de la señal se reduce - primero par de tiempo y luego TF-señal, y todo esto en el bucle. No es tan complicado. Lo único que hay que hacer es comprobar una nueva vela para cada par, de lo contrario la señal puede no estar sincronizada y saltarse. En general, es mejor recoger la señal de un instrumento, procesarla, reproducirla y recogerla de otro. O bien hacer un array booleano, donde se marque que la señal ya ha sido recogida del instrumento, y actualizarlo después de cada reproducción de información del TF, así será mejor. Entonces no tendrá que esperar a que todos los indicadores hagan el cálculo debido a la aparición de una nueva barra.

Si es posible, especifique):

¿En qué búfer de indicadores debo escribir: en los 14, en uno de los 14 o en el búfer de indicadores del gestor de sonido? ¿Y por qué tengo que escribirlo en el buffer del indicador y luego en el array, si puedo escribirlo directamente en el array?

Yo tampoco entiendo a qué te refieres con lo de la vela nueva. ¿Esperabas algún tipo de sincronización?

¿Con qué método y dónde se recogen las señales del símbolo? ¿En los indicadores de trabajo o por el gerente?

Por cierto, hay señales que son arbitrarias en el tiempo.

En general, me arrepiento, no entiendo el algoritmo:)

 

Hola. Estoy escribiendo una función - no puedo pasar un array como parámetro junto con otros parámetros. Ejemplos:

void f(int &a[]){} //не вызывает проблем у компилятора 
void f(int x=0,
       int &a[]){} //выдаёт ошибку: 'a' - missing default value for parameter
//ок, выставляю default value:
void f(int x=0,
       int &a[]=0){} //ошибка: '=' - illegal operation use

La imaginación se agota aún más.
Se supone que una función está hurgando en un array - y para ello, supongo que tiene que pasar este array. ¿O no es así?
Gracias de antemano.

 
Mikhail Sobolev:

Hola. Estoy escribiendo una función - no puedo pasar un array como parámetro junto con otros parámetros. Ejemplos:

Se me está acabando la imaginación más adelante.
Se supone que una función está hurgando en un array - y para ello, supongo que tiene que pasar este array. ¿O no es así?
Gracias de antemano.


void f(int &a[],int x=0){}
Razón de la queja: