[ARCHIVO] Cualquier pregunta de novato, para no saturar el foro. Profesionales, no pasen de largo. En ninguna parte sin ti - 3. - página 607
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
Dicho así, no conozco otra manera.......)
Y así...
quiere registrar las acciones de EA en un archivo
Tomé un ejemplo del manual del editor de MQL, ligeramente rehecho para mis propias necesidades
El resultado es que el archivo OrdersReport.csv está vacío, aunque los pedidos están abiertos.
Me encontré con el mismo problema, al abrir un archivo para leer y tratar de escribir en él, el archivo no se crea, o no se escribe nada en él.
Aplicación de la cubierta de servicio :
Cuando se intenta añadir a un archivo de texto desregistrado con la clave FILE_READ|FILE_WRITE, sin establecer primero explícitamente el puntero del archivo con FileSeek(), la escritura no se produce en absoluto.
En versiones anteriores del terminal, cuando se preleía un archivo de texto mediante la función FileReadString(), el puntero del archivo se establecía automáticamente.
He aquí una respuesta de los desarrolladores:
El último cambio en la funcionalidad de los archivos se remonta a mediados de 2008.
Nunca antes había sido posible añadir a un archivo sin establecer primero un puntero de archivo al final.
De nuevo una pregunta sobre la información extra. ¿Tiene esto algo que ver con la adición al final de un archivo?
Cualquier operación de lectura-escritura de archivos mueve automáticamente el puntero del archivo. Esto siempre ha sido así y no ha cambiado. Sin embargo, si el archivo se abre como csv, es posible el almacenamiento intermedio de datos. Entonces el puntero del archivo puede no estar donde se espera que esté. De nuevo, esto siempre ha sido así, tanto en la versión anterior como en la previa, desde el inicio de la versión oficial.
Hemos reiterado muchas veces que el principio de incumplimiento es extremadamente perjudicial. Incluso para los punteros de los archivos. Maneje el puntero del archivo explícitamente a menos que utilice la lectura continua o la escritura continua (especialmente los casos exóticos de lectura-escritura mixta).
Conclusión: utilice FileSeek
Compruébalo.
Su Asesor Experto opera con señales ADX de 30 minutos. Si su Asesor Experto opera con señales ADX de 1min, dichas señales serán más frecuentes que en la primera variante. La captura de pantalla en su variante se toma sólo en la apertura de la posición BUY.
Le interesa la falta de indicadores del gráfico en la captura de pantalla (en modo de prueba). Se le pidió que verificara la presencia de los indicadores en la captura de pantalla en modo demo. Se ha añadido el script con la función adecuada, para que pueda comprobar y entender su pregunta rápidamente, en lugar de esperar durante horas. Ha pasado más de un día. Quiero saber... ¿cuáles son sus resultados?
Os mantendré informados, estoy ocupado pero intentaré comprobarlo mañana.
¿Puedes decirme cuál es la diferencia entre definir un nombre en una función o asignar un nombre de variable y luego pasar la variable a una función?
Gracias de antemano.
Puedes hacerlo así, a mí me funciona
double BullPrice()
{
double BullAveragePrice=0;
doubleSummBullLots=0;
for (int i = OrdersTotal() - 1; i >= 0; i--)
{
OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
si (OrderSymbol() != Symbol()) continuar;
if (OrderSymbol() == Symbol() && OrderType() == OP_BUY)
{
BullAveragePrice+=OrderOpenPrice()*OrderLots();
MiSumaLosLotes+=LosLotesDelOrden();
}
}
if (MiSumaDeLotes>0) BullAveragePrice = NormalizeDouble(BullAveragePrice / MiSumaDeLotes, Dígitos);
return(PrecioPromedioBull);
}
En la carpeta de MT4, hay un ejemplo de código C++ para todos los casos en MQL4. Compila ese código y pega tu propio código en él. Encontrará inmediatamente la diferencia entre el suyo y el del ejemplo.
¿Puedes decirme cuál es la diferencia entre definir un nombre en una función o asignar un nombre de variable y luego pasar la variable a una función?
Por lo demás...
Por favor, aconsejar la situación es esta, leo un archivo csv como este
pero el archivo csv tiene una cabecera, la primera línea extra
Como omitir la primera línea programáticamente, o borrarla programáticamente en general al guardar el valor se estropea todo.
Gracias de antemano.