void CSV_Init()
Инициализирует CSV-файл журнала: открывает файл, при необходимости создаёт заголовок с колонками и закрывает его.
Сообщите нам, если считаете, что материал размещён без разрешения.
Обращение по товару «basketmanager_csvlogger.mqh» отправится на рассмотрение. Укажите контакт для ответа и опишите причину.
Данный include-файл на языке MQL4 представляет собой вспомогательную библиотеку для ведения CSV-журнала аудита виртуального управления торговлей. Он не является торговым советником, индикатором или скриптом: в нём отсутствуют обработчики событий OnTick, OnTimer и подобные, а также торговые операции. Назначение библиотеки — запись событий в CSV-файл для последующего анализа.
Файл содержит три публичные функции, перечисленные в library_api: CSV_Init, CSV_LogBasketStart и CSV_Deinit. Дополнительно в исходнике присутствуют функции CSV_LogTicket и CSV_LogVirtualEvent, которые не входят в заявленный список library_api, но фактически определены в коде. Все функции не являются классами или методами; классы, конструкторы и деструкторы отсутствуют.
Библиотека работает с файлом с именем BasketManager_VirtualAudit.csv, используя стандартные файловые операции MQL4. При инициализации создаётся заголовок с набором колонок, а последующие функции добавляют строки с отметкой времени и различными полями. Конкретные детали формата и условий записи в описании не раскрываются.
Классов: 0 · методов: 0 · конструкторов: 0 · деструкторов: 0 · отдельных функций: 3
void CSV_Init()
Инициализирует CSV-файл журнала: открывает файл, при необходимости создаёт заголовок с колонками и закрывает его.
void CSV_LogBasketStart()
Записывает в CSV-файл строку о начале работы корзины с отметкой времени и символом.
void CSV_Deinit()
Завершает работу с CSV-журналом; в текущей версии не выполняет действий и зарезервирована для будущей очистки.
#ifndef __BASKET_MANAGER_CSV_LOGGER__
#define __BASKET_MANAGER_CSV_LOGGER__
string CSV_FILENAME = "BasketManager_VirtualAudit.csv";
void CSV_Init()
{
int handle = FileOpen(
CSV_FILENAME,
FILE_CSV|FILE_READ|FILE_WRITE,
','
);
if(handle == INVALID_HANDLE)
{
Print("CSV Logger Init Failed: ",GetLastError());
return;
}
if(FileSize(handle)==0)
{
FileWrite(
handle,
"Time",
"Ticket",
"Magic",
"Symbol",
"Type",
"Lots",
"OpenPrice",
"VirtualPrice",
"ActualClosePrice",
"VirtualProfit",
"Reason"
);
}
FileClose(handle);
}
void CSV_LogTicket(
int ticket,
string symbol,
int type,
double lots,
double openPrice
)
{
int handle = FileOpen(
CSV_FILENAME,
FILE_CSV|FILE_READ|FILE_WRITE,
','
);
if(handle==INVALID_HANDLE)
return;
FileSeek(handle,0,SEEK_END);
FileWrite(
handle,
TimeToString(TimeCurrent(),TIME_DATE|TIME_SECONDS),
ticket,
"",
symbol,
type,
DoubleToString(lots,2),
DoubleToString(openPrice,Digits),
"",
"",
"",
"TicketExport"
);
FileClose(handle);
}
void CSV_LogBasketStart()
{
int handle = FileOpen(
CSV_FILENAME,
FILE_CSV|FILE_READ|FILE_WRITE,
','
);
if(handle == INVALID_HANDLE)
return;
FileSeek(handle,0,SEEK_END);
FileWrite(
handle,
TimeToString(TimeCurreПоказано первые 50% кода (символов: 2112)
Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.
На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.
Зачем нужен email? После подтверждения оплаты файл сохранится в кабинете на этот email. Если аккаунта ещё нет, мы создадим его и пришлём ссылку для задания пароля. Если аккаунт уже есть, покупка добавится в него. Укажите адрес, к которому у вас есть доступ.
Чтобы оформить заказ, введите email и перейдите к оплате.