Preguntas de los principiantes MQL4 MT4 MetaTrader 4 - página 147
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
EA debe leer de un archivo un array de datos de la forma: date integer1 integer2 integer3 integer4, puede ser de cualquier tipo de archivo, excepto bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
se borra de esta carpeta.
aquí está el código.
¿puede especificar la ruta de la carpeta de la que el archivo no será eliminado por el probador? Tengo entendido que todos los archivos se eliminan de esta carpeta durante las pruebas, pero cuando se crea el archivo mediante programación, se coloca en esta carpeta
EA debe leer de un archivo un array de datos de la forma: date integer1 integer2 integer3 integer4, puede ser de cualquier tipo de archivo, excepto bin.
файл скопировал в папку C:\Users\Михаил\AppData\Roaming\MetaQuotes\Tester\1B9501BF48F2354A4685940A72752910\Agent-127.0.0.1-3000\MQL5\Files\qqq.scv
se borra de esta carpeta.
Aquí está el código.
¿Tal vez especificar la ruta de la carpeta de la que el archivo no será eliminado por el probador? He entendido que todos los archivos se eliminan de esta carpeta al hacer pruebas, pero al crear un archivo mediante programación, se coloca en esta carpeta
Tal vez deberíamos utilizar FileCopy con la bandera FILE_COMMON. La nueva prueba funciona desde cero, esto podría ser un fallo.
Tal vez debería utilizar FileCopy con la bandera FILE_COMMON. La nueva prueba funciona desde cero, esto puede ser un fallo.
funciona si copias el archivo a una carpeta mientras pruebas )) ahora a averiguar el separador
Empecé a escribir un panel de comercio en MQL4 y aquí está la paradoja. Todo se ve bien, pero cada vez que cambio de TF, las líneas y el texto de otros indicadores se dibujan encima de mi panel.
Esto es lo que he comprobado: al cambiar el TF, el parámetro OBJPROP_BACK = false. Significa que todo está bien en este lado.¿Alguna idea sobre este tema?
P.D. De hecho, lo he comprobado ahora y el código fuente (que tomé como prototipo) se comporta de la misma manera. Después de haber cambiado el TF, dibuja líneas normales sobre el panel y las líneas creadas por los indicadores que no utilizan OOP.
https://www.mql5.com/ru/code/19220
Empecé a escribir un panel de comercio en MQL4 y aquí está la paradoja. Todo se ve bien, pero cada vez que cambio de TF, las líneas y el texto de otros indicadores se dibujan encima de mi panel.
Esto es lo que he comprobado: al cambiar el TF, el parámetro OBJPROP_BACK = false. Así que todo está bien por este lado.¿Alguna idea sobre este tema?
P.D. De hecho, lo he comprobado ahora, el código fuente (que tomé como prototipo) se comporta igual. Después de haber cambiado el TF, dibuja líneas normales encima del panel y las líneas creadas por los indicadores que no usan OOP.
https://www.mql5.com/ru/code/19220
Al cambiar de marco temporal, los objetos creados por otros programas se eliminan y los nuevos se crean de inmediato. En el panel, los objetos no se borran, por lo que son "antiguos". En el gráfico, se aplica el principio de "el que está último está arriba".
Es necesario eliminar los objetos del panel con DeInit(), y volver a crear otros nuevos
Empecé a escribir un panel de comercio en MQL4 y aquí está la paradoja. Todo se ve bien, pero cada vez que cambio de TF, las líneas y el texto de otros indicadores se dibujan encima de mi panel.
Esto es lo que he comprobado: cuando se cambia el TF, el parámetro OBJPROP_BACK = false. Así que todo está bien por este lado.¿Alguna idea sobre este tema?
P.D. De hecho, lo he comprobado ahora, el código fuente (que tomé como prototipo) se comporta igual. Después de haber cambiado el TF, dibuja líneas normales sobre el panel y las líneas creadas por los indicadores que no utilizan OOP.
https://www.mql5.com/ru/code/19220
Al cambiar de marco temporal, los objetos creados por otros programas se eliminan y los nuevos se crean de inmediato. En el panel, los objetos no se borran, por lo que son "antiguos". En el gráfico se aplica el principio de "el que está último está arriba".
Es necesario eliminar los objetos del panel mediante DeInit(), y volver a crear otros nuevos
es mejor capturar la creación de un nuevo objeto en Eventos y redibujar el panel
Cuando se cambia de hora, se borran los objetos creados por otros programas y se crean inmediatamente los nuevos. En el panel, los objetos no se borran, por lo que son "antiguos". En el gráfico se aplica el principio de "el último de arriba es el último de abajo".
Es necesario eliminar los objetos del panel mediante DeInit(), y volver a crear otros nuevos
¿Puedes decirme un poco más sobre cómo redibujarla?
es mejor capturar la creación de un nuevo objeto en Eventos y redibujar el panel
ps. Acabo de recordar - también necesitas comprobar el nombre del objeto creado para asegurarte de que no es tu objeto (prefija el nombre de tus objetos).
o en lugar del nombre, comparar el tipo de objeto.
RSI3 = iRSI(_Símbolo, _Periodo, RSIPeriod, PRICE_CLOSE, 1);
RSI4 = iRSI(_Símbolo, _Periodo, RSIPeriod, PRICE_CLOSE, 2);
bool RSItf = RSI3 > 30 && 30 > RSI4;
if(RSItf == true)
{
}
else
{
ordersend(_Symbol, OP_SELL, lot, Bid, Slippage, 0, 0, NULL, Magic, 0, clrRed);
}
bool RSItf = RSI3 > 70 && 70> RSI4;
if(RSItf == true)
{
}
else
{
ordersend(_Symbol, OP_BUY, lot, Ask, Slippage, 0, 0, NULL, Magic, 0, clrBlue);
}
¡¡¡Ciudadanos, decidme si lo estoy haciendo bien!!! Necesito que el Asesor Experto opere cuando no ha entrado en la zona de 30 o 70, y cuando lo ha hecho, ¡¡¡no opera!!! ¿Es esta la forma correcta de hacerlo?
Es algo así, por lo que tengo entendido se necesita