Code:
#property show_inputs
extern int ExtDepth=12;
extern int ExtDeviation=5;
extern int ExtBackstep=3;
extern string File_name = "";
extern bool isAllZigZagDate = true;
extern string Delimiter = ";";
extern bool isLocal = true;
int Handle;
//+------------------------------------------------------------------+
int init()
{
if(File_name == "")File_name = Symbol() + Period() + "_ZigZag_Date";
Handle = FileOpen(File_name + ".csv",FILE_WRITE | FILE_CSV, Delimiter);
if(Handle == -1)
{
Alert("Fehler beim Offnen der Datei ", File_name + ".csv");
}
else
{
FileWrite(Handle,"Time;Open;High;Low;Close;ZigZag Date");
}
}
//+------------------------------------------------------------------+
int start()
{
double date;
int status;
for(int shift = 0; shift <= Bars-1; shift++)
{
date = iCustom(NULL, 0, "ZigZag", ExtDepth, ExtDeviation, ExtBackstep, 0, shift);
if(date > 0)
{
if(isLocal)
{
status = FileWrite(
Handle,
TimeToStr(Time[shift]),
StringSetChar(DoubleToStr(Open[shift], Digits), StringFind(DoubleToStr(Open[shift], Digits), "."), ','),
StringSetChar(DoubleToStr(High[shift], Digits), StringFind(DoubleToStr(High[shift], Digits), "."), ','),
StringSetChar(DoubleToStr(Low[shift], Digits), StringFind(DoubleToStr(Low[shift], Digits), "."), ','),
StringSetChar(DoubleToStr(Close[shift], Digits), StringFind(DoubleToStr(Close[shift], Digits), "."), ','),
StringSetChar(DoubleToStr(date, Digits), StringFind(DoubleToStr(date, Digits), "."), ',') );
}
else
{
FileWrite(Handle,TimeToStr(Time[shift]),Open[shift],Close[shift],Low[shift],High[shift],date);
}
if(!isAllZigZagDate)break;
}
else
{
continue;
}
}
if(status > 0)Alert("Daten erfolgreich geschrieben. \nPath - \n", TerminalPath(), "\\experts\\files\\", File_name, ".csv \nEND.");
}
//+------------------------------------------------------------------+
int deinit()
{
FileClose(Handle);
}
//+------------------------------------------------------------------+