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);
}
}
开始学习如何处理文件。我遇到了手柄这个词。写完代码后,问题出现了。
打开第一个news.csv文件后,程序将filehandle变量设置为1。接下来,该程序打开了第二个news150901.csv文件,并将filehandle变量设为2。事实证明,现在程序只剩下一个打开第二个文件的句柄值了。换句话说,我杀死了第一个打开的文件的句柄值。也就是说,我只能访问数据/内容并关闭第二个文件?使用一个变量来存储打开文件的句柄是一个错误吗?是否有必要为每个要打开的文件创建一个手柄变量?
当你打开一个文件时,你会得到一个 "访问代码"--一个手柄。只要你没有关闭它,你就可以通过它的句柄来处理这个文件,而不管其他文件是否已经打开。
P.S. 不要忘了关闭文件(在例子中它们没有被关闭)。
需要一个Excel研究的脚本。
描述。
对于30天,从8.00到12.00,每天在csv文件中打印开盘价 和收盘价 的蜡烛图,在这个时间区间内.周期--在这个指标上,但不超过一个小时.指标本身不应该显示任何东西,并保存在缓冲区。
如何使周期正确?
我对这条线有疑问,所以也许这个循环不了解一天的开始,但从零条开始工作。
在这里帮我一下。
请告诉我如何从安装在图表窗口的指标中删除价格图表中的对象?
图表窗口的索引始终为0。
我很抱歉把整个页面弄得乱七八糟。
很难正确附上代码。在编辑器中,有一个特殊的SRC按钮
找不到它((
在录像机前的SRC插入代码!