Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 694
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
Bueno, entonces el ciclo del indicador, en el que el número de barras es esta misma línea.
Me pregunto - lo que es claro (?), es decir, donde leer sobre las peculiaridades de MT5 en el modo fuera de línea, ¿podría decirme por favor?
En el indicador rates_total - se utiliza con éxito en lugar de Bars() en el bucle de OnCalculate()
De acuerdo. Sí, existe.
¿Habrá el mismo número de barras para diferentes instrumentos/marcos de tiempo, porque tengo un indicador multidivisa?
Aquí puedo cambiar los parámetros
Pero, ¿qué pasa con rates_total para calcular el indicador para diferentes plazos y símbolos?
De acuerdo. Sí, existe.
¿Habrá el mismo número de barras para diferentes instrumentos/marcos de tiempo, porque tengo una herramienta multidivisa?
Para obtener el número de barras del historial de un marco temporal no actual o de un símbolo no actual en el indicador multidivisa/multihorario, debe utilizar Bars()
Eso es exactamente lo que estoy escribiendo - que esta característica no funciona fuera de línea, aunque hay un historial de citas
Por lo tanto, el indicador no puede ser probado fuera de línea.
Resulta que la cotización en MT5 se envía personalmente a cada IP y puede ser diferente del historial de la cotización, que ya está dibujado en el gráfico? //así va la lógica...
y luego el indicador, en el que el número de barras es esta misma línea.
Me pregunto - lo que es claro (?), es decir, donde leer acerca de las peculiaridades de MT5 en el modo fuera de línea, ¿podría decir por favor?
Está claro que MT5. No está claro qué se hizo antes de llamar a Bars(). Este sencillo script funciona y no devuelve cero incluso cuando no hay conexión con el servidor o cuando no hay red en absoluto.
No lo he probado en indicadores, por eso he preguntado cómo se hace en tu caso. Lo más probable es que, cuando se vuelva a llamar al número real de barras, la primera llamada provoque la actualización de los datos en la caché.
{
Print("Bars on chart - ",Bars(_Symbol,PERIOD_CURRENT));
}
Está claro que MT5. No está claro qué se hizo antes de llamar a Bars(). Este sencillo script me funciona y no devuelve cero, incluso cuando no hay conexión con el servidor o cuando no hay red en absoluto.
No lo he probado en indicadores, por eso he preguntado cómo se hace en tu caso.
{
Print("Bars on chart - ",Bars(_Symbol,PERIOD_CURRENT));
}
¿Cuál es la mejor manera sencilla de enlazar con el cierre de una vela para ejecutar el EA? ¿Para recalcular indicadores, eliminar/colocar órdenes, etc.?
¿Con un temporizador?
Pero, ¿cómo iniciar el temporizador en el momento adecuado para que se active cada hora a las HH:00:00? y no cada hora desde la activación del temporizador?
¿Cuál es la mejor manera sencilla de enlazar con el cierre de una vela para ejecutar el EA? ¿Para recalcular indicadores, eliminar/colocar órdenes, etc.?
¿Con un temporizador?
Pero, ¿cómo iniciar el temporizador en el momento adecuado para que se active cada hora a las HH:00:00? y no cada hora desde la activación del temporizador?
Pregunta gráfica:
Hay un diseño como este
if(currChart == график тестера) continue; // Что сюда написать?
ObjectSetInteger(currChart,"Sync",OBJPROP_BGCOLOR,clrGreen);
}
¿Cómo puedo saber que el gráfico no es el principal, sino que está abierto en modo tester y saltarlo?
Cree una plantilla para el gráfico y ponga una etiqueta con el nombre, por ejemplo, "TesterChart" o cualquier otro objeto, puede utilizar coordenadas cero para que no sea visible. Nombre esta plantilla "Tester". Ahora todos los gráficos de las pruebas tendrán un objeto con este nombre. A continuación, pregunte si el gráfico tiene este objeto, si es así, es "Nuestro probador", omitirlo.
Hasta el final, pero no conozco otra forma.
Como sugerencia.
Cree una plantilla para el gráfico y etiquételo con un nombre como "TesterChart" o cualquier otro objeto, posiblemente en coordenadas cero para que no sea visible. Nombre esta plantilla "Tester". Ahora todos los gráficos de las pruebas tendrán un objeto con este nombre. A continuación, pregunte si el gráfico tiene este objeto, si es así, es "Nuestro probador", omitirlo.
No sé cómo, pero no conozco otra forma.
Gracias, pero esta solución no es adecuada en el sentido de que estoy probando en más de una plantilla, pero eso es la mitad del problema, pero el hecho de que este indicador no sólo funciona para mí, la gente simplemente se cansan de llenar las etiquetas en el probador.
Resulta que no hay forma de determinar programáticamente que el gráfico se ejecute en el probador? ¿Dónde están los desarrolladores?
.