Empezó a aprender a trabajar con archivos. Me encontré con el término asa. La pregunta surgió después de escribir el código:
Después de abrir el primer archivo news.csv, el programa establece la variable filehandle en 1. A continuación, el programa abrió el segundo archivo news150901.csv y estableció la variable filehandle en 2. Resulta que ahora el programa se queda con un valor de la manija sólo de la apertura del segundo archivo. En otras palabras, maté el valor de la manija para el primer archivo abierto. Es decir, ¿sólo puedo acceder a los datos/contenido y cerrar el segundo archivo? ¿Es un error utilizar una variable para almacenar el gestor del archivo abierto? ¿Es necesario crear una variable para el manejador de cada archivo que se va a abrir?
Cuando abres un archivo, obtienes un "código de acceso" al mismo: un "handle". Mientras no lo hayas cerrado, puedes trabajar con el archivo a través de su manejador, independientemente de que los otros archivos estén abiertos o no.
Necesito un guión para la investigación en Excel. Descripción. Durante 30 días de 8.00 a 12.00 todos los días para imprimir en csv archivo de impresión de apertura y cierre de precios de las velas en este intervalo de tiempo.Período - en el que el indicador de poner, pero no más de una hora.Indicador de sí mismo no debe mostrar nada y guardar en buffers.
¿Cómo hacer que los ciclos sean correctos?
externint DayMax =30; //количество дней для печатиexternint DayStart =1; //начинаем с первого бараexternint HourStart =10; //время старта внутри дняexternint HourEnd =12; //время конца внутри дня//+------------------------------------------------------------------+//| Script program start function |//+------------------------------------------------------------------+voidOnStart()
{
//---int per=Period();
if(per>60)return; //если период больше часа , прекращаем работу скриптаdouble c_o=0,ABS_o_c=0;
for(int d=DayStart;d<=DayMax;d++)//перебираем дни от DayStart до DayMax, т.е с вчерашнего до 30
{
for(int h=0;h<60/per*24;h++) //перебираем бары с нолевого до последнего в сутках учитывая ТФ
{
if(Time[h]>HourStart && Time[h]<HourEnd)//проверка промежутка времени
{
//данные для печати и печать
c_o=(Close[h]-Open[h])*Point;
ABS_o_c=MathAbs(c_o);
f_PrintToFile(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
Print(DayOfWeek(),TimeToString(TimeCurrent(),TIME_DATE|TIME_MINUTES),Open[h],Close[h],c_o,ABS_o_c);
}
}
}
}
//+------------------------------------------------------------------+// 1. В файл //+------------------------------------------------------------------+void f_PrintToFile(int f_DayOfWeek=0,
string f_TimeCurrent="",
double f_Open=0,
double f_Close=0,
double f_c_o=0,
double f_ABS_o_c=0)
{
string fileName=StringConcatenate(Symbol()," M",Period()," Tyrimas");
string FileType=".csv";
int handle;
handle=FileOpen(fileName+FileType,FILE_WRITE|FILE_READ,";");
if(handle!=INVALID_HANDLE)
{
FileSeek(handle,0,SEEK_END);
FileWrite(handle,f_DayOfWeek,f_TimeCurrent,f_Open,f_Close,f_c_o,f_ABS_o_c);
FileClose(handle);
}
}
Tengo dudas sobre la línea por lo que tal vez el bucle no entiende el inicio del día, pero funciona de cero bar.
Ayude a un programador novato a escribir un script para eliminar órdenes pendientes. Todas las órdenes de compra pendientes deben ser eliminadas cuando no hay posiciones de mercado ni órdenes de venta pendientes.
Empezó a aprender a trabajar con archivos. Me encontré con el término asa. La pregunta surgió después de escribir el código:
Después de abrir el primer archivo news.csv, el programa establece la variable filehandle en 1. A continuación, el programa abrió el segundo archivo news150901.csv y estableció la variable filehandle en 2. Resulta que ahora el programa se queda con un valor de la manija sólo de la apertura del segundo archivo. En otras palabras, maté el valor de la manija para el primer archivo abierto. Es decir, ¿sólo puedo acceder a los datos/contenido y cerrar el segundo archivo? ¿Es un error utilizar una variable para almacenar el gestor del archivo abierto? ¿Es necesario crear una variable para el manejador de cada archivo que se va a abrir?
Cuando abres un archivo, obtienes un "código de acceso" al mismo: un "handle". Mientras no lo hayas cerrado, puedes trabajar con el archivo a través de su manejador, independientemente de que los otros archivos estén abiertos o no.
P.D. No olvides cerrar los archivos (no están cerrados en el ejemplo).
Necesito un guión para la investigación en Excel.
Descripción.
Durante 30 días de 8.00 a 12.00 todos los días para imprimir en csv archivo de impresión de apertura y cierre de precios de las velas en este intervalo de tiempo.Período - en el que el indicador de poner, pero no más de una hora.Indicador de sí mismo no debe mostrar nada y guardar en buffers.
¿Cómo hacer que los ciclos sean correctos?
Tengo dudas sobre la línea por lo que tal vez el bucle no entiende el inicio del día, pero funciona de cero bar.
Ayúdame.
¿Pueden decirme cómo eliminar un objeto de un gráfico de precios desde un indicador instalado en una ventana de gráfico?
La ventana del gráfico siempre tiene un índice de 0.
Pido disculpas por saturar toda la página.
Es difícil adjuntar el código correctamente. Hay un botón especial de SRC en el editor
no lo he encontrado ((
¡Frente a la cámara de vídeo SRC para insertar el código!