Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1243
Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
No tengo el menor deseo de buscar en Google o leer, así que abrí el archivo D:\1.txt
¿Cuál es la mejor manera de hacerlo en el indicador, para iniciar el temporizador 1s o en OnCalculate para comparar el tiempo (segundos)
<1seg, salir
¿o hay otras opciones de trabajo?
necesidad de actualizar HistorySelect para el mes + trabajar con objetos
o en OnCalculate comparar el tiempo (segundos)
<1seg, salida
El problema es con el datetime - no puede ser menos de un segundo.
comparar al menos milisegundos
¿qué es mejor hacer en el indicador, para iniciar un temporizador 1s o en OnCalculate para comparar el tiempo (segundos)
no es importante dónde hacerlo, lo único que OnCalculate está relacionado con los ticks - no habrá ningún tick y por lo tanto no habrá ninguna llamada OnCalculate
es necesario actualizar HistorySelect durante un mes + trabajar con objetos
HistorySelect es rápido, pero cuando vas a mover o crear objetos, puede haber retrasos, si los objetos superan los 1000 +
y usted estará modificando estos objetos cada segundo
(introduzca su código y aparecerán las trampas ))))
un segundo es suficiente para mí y menos a menudo hasta que la garrapata viene
para mostrar las operaciones en el gráfico + el resultado de la operación sobre las barras, y alguna información semiestática como la tendencia global
puede el precio ver el cambio de
o el tiempo de la segunda opción
Por favor, dímelo.
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
Por favor, dímelo.
¿Cómo puedo comparar el símbolo del gráfico actual con el que necesito?
Necesito que el programa abra una orden en AUD/USD, así que abre la orden (funciona correctamente). Sin embargo, el programa intenta abrir la orden en otros gráficos abiertos(el robot está funcionando en varios pares de divisas) y devuelve un error de precio para los otros pares de divisas en los que se está ejecutando el Asesor Experto. Tengo que hacer una comparación y si Symbol() == es igual al símbolo sobre el que se debe abrir la orden, entonces la abrimos y si no, salimos. No he encontrado en ningún sitio cómo poner el nombre del símbolo desde el terminal y hacer la comparación.
Al final hay un ejemplo de cómo conseguir los precios correctos.
Gracias, pero no necesito los precios correctos. Los precios están bien. Necesito que el EA no abra una orden si el par de divisas en el que se abre la orden no es el mismo que el gráfico abierto actual al que está unido el robot. Tal vez podamos implementar esto abriendo un nuevo gráfico con un marco de tiempo, abrir una orden deseada en él y luego cerrar el gráfico.
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
De alguna manera lo he conseguido - mientras me alegraba y cambiaba todo correctamente - ya no funciona nada))
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo he conseguido de alguna manera, hasta que he sido feliz y he cambiado todo correctamente - nada funciona))
cadena AUDUSD = "AUDUSD";
Al menos así.
No, no funciona así.
Mi programa accede al gráfico actual, le asigna el nombre del instrumento actual y lo sella en una variable, luego compara el valor de esta variable con el símbolo actual del gráfico. En realidad lo compara consigo mismo)))) Necesito convertir de alguna manera Sympol() a cualquier valor con el que se pueda comparar cualquier otra variable. Por ejemplo:
AUDUSD;
(Símbolo() == AUDUSD)
Lo hice de alguna manera, y mientras me alegraba y cambiaba todo, ya no funcionaba nada))
El Asesor Experto, el script, el indicador no se aplican, sino que trabajan en la ventana actual. Y las variables globales de diferentes ventanas / gráficos no se superponen. Por lo tanto, debería funcionar)
string AUDUSD; // Esta es una variable de texto, que inicialmente está vacía, es decir, es igual a ""
(Symbol() == AUDUSD) // esta cadena no tiene nada que ver con la variable AUDUSD.
Pero los criterios de apertura de la orden no deben ser los mismos para diferentes instrumentos/ventanas. Si son iguales, se abrirán efectivamente en todas las ventanas.