Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 1285
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
Si hay 1440 órdenes al día, debería haber una comprobación al inicio del minuto, o más sencillamente a la aparición de la barra de minutos. Y en este punto para abrir. No lo tiene, por lo que el EA abre una posición en cada tick, lo cual es una condición estricta en sí misma, según la condición de nuestro símbolo en la cotización actual. Esta condición puede no cumplirse, y las garrapatas se perderán. Y en algún momento, se producirá un error crítico.
También, el tipo de ejecución de la orden (orden de realizar una operación para crear una posición) Todo o nada.
Lo entiendo. Gracias por la ayuda.
También pensé que era difícil para mi EA abrir tantas órdenes. He intentado limitar el número de pedidos con este código
Es decir, abrir una orden sólo a las 10:00. Pero el resultado es el mismo.
2020.10.27 10:25:17.548 Core 1 272 Mb de memoria utilizada incluyendo 36 Mb de datos históricos, 64 Mb de datos de tick
¿Qué estoy haciendo mal?
He coloreado el código que he añadido y cambiado
Esto es lo que dice el archivo de registro
FD 0 10:57:05.453 Core 1 proceso de agente iniciado en 127.0.0.1:3000
CS 0 10:57:05.453 Core 1 conectándose a 127.0.0.1:3000
JD 0 10:57:05.953 Core 1 conectado
OD 0 10:57:05.975 Core 1 autorizado (agente build 2650)
JL 0 10:57:05.980 Tester EURUSD,M1 (Alpari-MT5-Demo): prueba de experts\GRAAL.ex5 desde 2020.09.01 00:00 hasta 2020.09.10 00:00
ON 0 10:57:05.997 Core 1 sincronización común completada
CJ 0 10:57:06.223 Probador la calidad del historial analizado es del 100%.
LM 0 10:57:06.248 Core 1 MetaTester 5 iniciado en 127.0.0.1:3000
EJ 0 10:57:06.248 Core 1 inicialización terminada
LS 0 10:57:06.248 Core 1 login (build 2650)
KO 0 10:57:06.248 Core 1 4372 bytes de información de cuenta cargada
LI 0 10:57:06.248 Core 1 1482 bytes de parámetros de comprobación cargados
FN 0 10:57:06.248 Core 1 1724 bytes de parámetros de entrada cargados
OK 0 10:57:06.248 Core 1 423 bytes de lista de símbolos cargados (72 símbolos)
HO 0 10:57:06.248 Core 1 archivo experto añadido: Experts\GRAAL.ex5 13680 bytes cargados
CP 0 10:57:06.248 Núcleo 1 4077 Mb disponibles, 50 bloques establecidos para generar ticks
DI 0 10:57:06.248 Core 1 calcular el beneficio en pips, depósito inicial 10000, apalancamiento 1:100
LP 0 10:57:06.248 Core 1 inicializado con éxito
RI 0 10:57:06.248 Core 1 15 Kb de datos de inicialización totales recibidos
DN 0 10:57:06.248 Core 1 Intel Core i5-6400 @ 2.70GHz, 7883 MB
IG 0 10:57:06.248 Core 1 EURUSD: símbolo a sincronizar
RS 0 10:57:06.248 Core 1 EURUSD: símbolo sincronizado, 3720 bytes de información de símbolo recibidos
OL 0 10:57:06.248 Core 1 EURUSD: carga 27 bytes de datos históricos para sincronizar en 0:00:00.003
EK 0 10:57:06.248 Core 1 EURUSD: historial sincronizado desde 2019.01.02 hasta 2020.10.23
LK 0 10:57:06.248 Core 1 EURUSD,M1: la caché del historial está asignada para 628432 barras y contiene 619175 barras desde 2019.01.02 06:00 hasta 2020.08.31 23:59
LH 0 10:57:06.248 Core 1 EURUSD,M1: el historial comienza a partir de 2019.01.02 06:00
LN 0 10:57:06.248 Core 1 EURUSD,M1 (Alpari-MT5-Demo): Generación de estados de barra OHLC. Ejecución de OnTick sólo en el inicio de la barra
JM 0 10:57:06.248 Core 1 EURUSD,M1: prueba de experts\GRAAL.ex5 de 2020.09.01 00:00 a 2020.09.10 00:00 iniciada con entradas:
LS 0 10:57:06.248 Core 1 StopLoss=30
PL 0 10:57:06.248 Core 1 TakeProfit=100
FJ 0 10:57:06.248 Core 1 Lot=0.1
DP 0 10:57:06.248 Core 1 saldo final 10000.00 pips
EE 0 10:57:06.248 Core 1 EURUSD,M1: 39553 ticks, 10068 barras generadas. Entorno sincronizado a las 0:00:00.031. Prueba superada en 0:00:00.247 (incluyendo el preprocesamiento de ticks 0:00:00.016).
DE 0 10:57:06.248 Core 1 EURUSD,M1: tiempo total desde el inicio de la sesión hasta el final de la prueba 0:00:00.278 (incluyendo 0:00:00.031 para la sincronización de los datos del historial)
NQ 0 10:57:06.248 Core 1 272 Mb de memoria utilizada, incluyendo 36 Mb de datos históricos, 64 Mb de datos de ticks
KE 0 10:57:06.248 Core 1 archivo de registro "C:\sers\a1960\AppData\Roaming\MetaQuotes\Tester36A64B8C79A6163D85E6173B54096685\Agent-127.0.0.1-3000\logs\20201027.log" escrito
OS 0 10:57:06.260 Core 1 conexión cerrada
¿Puede decírmelo, por favor?
¿Por qué no se actualiza la hora del servidor cuando llegan nuevos ticks?
En el momento en que el EA se inicia, todo funciona como debería, pero luego el tiempo pasa, pero el nuevo valor del minuto actual no entra en la variable.
Es decir, el Asesor Experto trabaja en función del número obtenido en la variable int M = TimeMinute(TimeCurrent());
En realidad esta línea de código es de la referencia y no funciona.
Por ejemplo, lo pongo en marcha a las 12-la horaactual devuelta por el servidor corresponde a la hora de la variable, pero entonces la variable permanece en las 12, aunque ya son 15-20 minutos en el reloj
El código es completamente mejor, más precisamente donde se crea la función y en qué función (OnInit, OnTick, OnTime) obtener el valor de los minutos y llamar a la función de impresión. Si en OnInit o fuera de los campos de la función terminal, así debe ser. Si en OnTick, imprimirá en cada tick y actualizará el valor con un nuevo minuto.
Valeriy Yastremskiy:
El código es completamente mejor, más precisamente donde se crea la función y en qué función (OnInit, OnTick, OnTime) se obtiene el valor de los minutos y se llama a la función de impresión. Si en OnInit o fuera de los campos de la función terminal, así debe ser. Si en OnTick, imprimirá en cada tick y actualizará el valor con un nuevo minuto.
Bueno, aquí está el código completo. En la función void OnTick() se dispara al principio con la primera línea que se ejecuta.
Se activa sólo en el momento de la recompilación o de la anexión al campo de programación/borrado. Durante el resto del tiempo, la variable M mantiene el valor del minuto obtenido durante la primera ejecución del EA.
Bueno, el código aquí es todo lo que hay. El void OnTick() se activa al principio por la primera línea que se ejecuta.
Se activa sólo en el momento de la recompilación o de la unión al gráfico/ campo de borrado/ . Durante el resto del tiempo, la variable M mantiene el valor del minuto obtenido durante la primera ejecución del EA.
Lo tengo, ¡gracias!
Debería haber
ponerlo en el cuerpo de la función, no delante de ella asignando el valor M
Lo tengo, ¡gracias!
Debería haber
ponerlo en el cuerpo de la función, en lugar de asignar el valor M antes.
Puedes hacerlo de diferentes maneras. Leer las variables globales y locales y su visibilidad.
Por la tarde. Tratando de obtener el ángulo de la línea de tendencia a partir del ángulo. Aquí está el código:
ángulo es siempre 0. Independientemente de si se utilizan métodos de la biblioteca estándar o funciones incorporadas. Al mismo tiempo, se traza la línea. ¿Qué ocurre? ¿Cómo conseguir el ángulo?
Por la tarde. Tratando de obtener el ángulo de la línea de tendencia a partir del ángulo. Aquí está el código:
ángulo es siempre 0. Independientemente de si se utilizan métodos de la biblioteca estándar o funciones incorporadas. Al mismo tiempo, se traza la línea. ¿Qué ocurre? ¿Cómo consigo el ángulo?
https://www.mql5.com/ru/forum/103591
Ya veo, pero ¿cómo se calcula el ángulo?
https://www.mql5.com/ru/forum/103591
Ya veo, pero ¿cómo se calcula el ángulo?
Eres un comediante.
¿A quién quiero engañar?
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Cualquier pregunta de los novatos en MQL4 y MQL5, cualquier ayuda y discusión de algoritmos y códigos
Nikolai Semko, 2020.10.26 00:34
No hay que tener miedo a la velocidad. Es sólo una condicionalidad para la conversión de tipos.
Como variante de la función de definición de ángulos:
Después de MT5 la sensación de MT4 es simplemente horrible. El acceso a la historia está de alguna manera emasculado. Ni siquiera estoy hablando de las garrapatas.
¿Pueden decirme si esta selección de fuentes es posible en el indicador?