← К каталогу
Исходный код · ID 4037

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 и перейдите к оплате.

Стоимость полного кода
211,20₽ ≈ $2.58