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

tradehistoryexporter_v1.mq4

Вы автор или правообладатель?

Сообщите нам, если считаете, что материал размещён без разрешения.

Краткий обзор

О программе

Скрипт для MetaTrader 4, который экспортирует историю торговых операций в текстовый файл (CSV или разделитель-зависимый формат). Он проходит по всем закрытым ордерам в истории аккаунта и записывает подробные данные о каждой сделке: тикет, символ, тип, объём, даты открытия и закрытия, цены, прибыль, комиссии, свопы и магический номер. Числа форматируются в итальянском стиле (запятая в качестве десятичного разделителя), даты — в формате ДД/ММ/ГГГГ.

Скрипт поддерживает фильтрацию по символу торгового инструмента и магическому номеру ордера, а также позволяет выбрать разделитель — точку с запятой или запятую. Перед записью данных об ордерах выводятся метаданные аккаунта: сервер, номер аккаунта, валюта и дата экспорта. Результат сохраняется в папку MQL4/Files/.

Скрипт обрабатывает только ордера типов BUY и SELL; прочие типы ордеров пропускаются. Все данные записываются в один файл за один запуск, после чего скрипт завершает работу.

Настройки программы

НастройкаОписание
OutputFileName Имя файла, в который будет записана экспортированная история торгов. По умолчанию — TradeHistory.csv. Файл сохраняется в папку MQL4/Files/.
OnlySymbol Символ торгового инструмента для фильтрации ордеров. Если поле не пустое, экспортируются только ордера по указанному символу. Пустая строка означает экспорт по всем символам.
MagicFilter Магический номер для фильтрации ордеров. Если значение равно -1 (по умолчанию), фильтрация не применяется и экспортируются все ордера. Иное значение — только ордера с совпадающим магическим номером.
UseSemicolon Переключатель формата разделителя полей в файле. При значении true используется точка с запятой, при false — запятая.
Получить полный код

Поиск по коду файла

#property strict

input string OutputFileName = "TradeHistory.csv";
input string OnlySymbol     = "";
input int    MagicFilter    = -1;
input bool   UseSemicolon   = true;

string D(double value)
{
   string s = DoubleToString(value, 2);
   StringReplace(s, ".", ",");
   return s;
}

string FormatDate(datetime t)
{
   return StringFormat("%02d/%02d/%04d",
      TimeDay(t),
      TimeMonth(t),
      TimeYear(t));
}

string FormatTime(datetime t)
{
   return StringFormat("%02d:%02d",
      TimeHour(t),
      TimeMinute(t));
}

int OnStart()
{
      // код доступен только после оплаты
   }
   int total = OrdersHistoryTotal();
   int exported = 0;

   int handle = FileOpen(OutputFileName, FILE_WRITE|FILE_TXT);
   if(handle == INVALID_HANDLE)
   {
      Print("Errore apertura file: ", GetLastError());
      return 0;
   }

   string sep = UseSemicolon ? ";" : ",";

   FileWriteString(handle, "Broker"+sep+AccountServer()+"\r\n");
   FileWriteString(handle, "Account"+sep+IntegerToString(AccountNumber())+"\r\n");
   FileWriteString(handle, "Currency"+sep+AccountCurrency()+"\r\n");
   FileWriteString(handle, "ExportDate"+sep+FormatDate(TimeCurrent())+" "+FormatTime(TimeCurrent())+"\r\n");
   FileWriteString(handle, "\r\n");

   FileWriteString(handle,
      "Ticket"+sep+"Symbol"+sep+"Type"+sep+"Lots"+sep+
      "OpenDate"+sep+"OpenTime"+sep+"OpenPrice"+sep+
      "CloseDate"+sep+"CloseTime"+sep+"ClosePrice"+sep+
      "SL"+sep+"TP"+sep+
      "Profit"+sep+"Commission"+sep+"Swap"+sep+
      "NetProfit"+sep+"Magic"+sep+"Comment"+sep+
      "DurationMin\r\n"
  

Показано первые 50% кода (символов: 2307)

Открыть по тарифу

Купите тариф с пакетом открытий или войдите, если тариф уже есть. Открытый файл останется в вашем кабинете навсегда.

Разовая покупка файла

На этой странице откроется полный исходный код файла вместо ознакомительного фрагмента.

Чтобы оформить заказ, введите email и перейдите к оплате.

Стоимость полного кода
230,70₽ ≈ $2.82