Metatrader экспорт в excel

Эта статья адресована тем, кто не знает MQL и не может быстро создать советника для проверки своей торговой идеи. Как быть? Поможет старый добрый Excel. Он прост и понятен в использовании и при этом обладает довольно мощными возможностями, включая сбор статистики, построение графиков, генерацию случайных чисел.

Конечно, существует определенный потолок. Попытка переложить в таблицы очень сложные и ресурсоемкие системы ни чем хорошим не закончится. Года три назад я увлекся и попытался сделать универсальную матрицу, которую можно было бы быстро перестраивать под самые разные системы. Дело закончилось махиной, которая состояла из 12 одновременно открытых книг excel, занимала 800 Мб места и еле ворочилась. Такой подход является, конечно, верхом иррационализма. Гораздо более продуктивным было бы изучить все-таки MQL. Но здесь я расскажу о том, как проверять быстро свои торговые идеи, потратив буквально пару часов на исследования.

B первая задача, которая стоит перед нами, — экспортировать ценовые данные из MetaTrader4 в Excel.

Предположим нас интересуют дневные графики EUR/USD.

Открываем пункт меню «Сервис» -> «Архив котировок» или просто нажимаем F2. Открывается окно с котировками. Находим нужную пару (в нашем случае EURUSD) и выбираем нужный ТФ (в нашем случае D1, или «День»). В результате получится примерно такое окно:

Нажимаем кнопочку «Экспорт» и сохраняем выбранные данные в файл *.CSV

Данные выгружены. Переходим к стадии импортирования, на которой обычно и возникают вопросы.

Дело в том, что если мы попытаемся просто открыть CSV файл, то у российских пользователей это может закончиться вот так:

Т.е. вместо стройных столбцов с данными мы видим, что вся информация записана в один единственный столбец. Существует несколько решений.


Я поступаю следующим образом:

  • Переименовываете расширение .xls на .txt (не обращая внимания на предупреждения)
  • Запускаете Excel и через пункт меню «Открыть» открываете наш новоиспеченный .txt файл (при этом потребуется в диалоговом окне открытия файла выбрать в поле «Тип файлов» значение «Все файлы (*.*)»)
  • Открывается окно «Мастер текстов (импорт)». Нажимаете «Далее». На следующем шаге нужно поставить галочку напротив «Запятая» (указываем т.о. разделитель)

  • Нажмите «Далее» и на следующем шаге для столбцов 3,4,5 и 6-го укажите формат «текстовый» (можно использовать «Shift» для мультивыделения)

    Сделать это необходимо именно на данной стадии, т.к. по умолчанию стоит общий формат, при котором некоторые ячейки в этих столбцах могут необратимо принять формат даты.

  • Нажмите «Готово». Файл загрузится. Нам необходимо снова изменить формат столбцов, т.к. с текстовым представлением формулы работать не будут. Выделите стобцы C, D, E и F (нажимая на названия столбцов), нажмите правую кнопку мыши, выберите в появившемся контекстном меню команду «Формат ячеек» и в открывшемся окне на закладке «Число» укажите формат «Числовой». При этом справа число десятичных знаков укажите = «4» (или 2 или 5, в зависимости от того, сколько знаков после запятой в Вашем ДЦ и для данной валютной пары). Нажмите «ОК».
  • Но еще не все. У подавляющего большинства российских пользователей в региональных настройках указана в качестве разделителя целой и дробной частей запятая. Но, как мы видим, терминал выгружает с разделителем-точкой. Можно, конечно, изменить региональные настройки, но я предпочитаю локальное решение проблемы — просто автозамена в нужных столбцах точки на запятую. Для этого выделите снова стобцы C, D, E и F. Выберите пункт меню «Правка» -> «Заменить…» (или нажмите Ctrl + H). В появившемся окне в поле «Найти» укажите символ точки, в поле «Заменить на» — запятую.
  • Это все! Поздравляю! Теперь подобным образом вы можете экспортировать из терминала ценовые данные любой валютной пары и любого таймфрейма.

    Осталось немного облагородить внешний вид таблицы — расширить первый столбец для даты, задать заголовки. Для дневок второй столбец со временем не нужен, его можно удалить. Получится примерно так:

    И да, не забудьте сохранить файл как Книгу XLS (через пункт меню «Сохранить как…»). Иначе большинство изменений не сохранится.

    В следующей части мы рассмотрим основные приемы построения модели торговой системы в Excel на простом примере.

Что такое DDE и как его использовать для экспорта котировок?

DDE (Dynamic Data Exchange) — это протокол обмена данными, который позволяет передавать данные из терминала MetaTrader 4 в Microsoft Excel в режиме онлайн.

Для активизации режима экспорта котировок из клиентского терминала по протоколу DDE необходимо включить опцию «Разрешить DDE сервер» в настройках терминала.

1

Обращаем внимание, что исторические данные по протоколу DDE не транслируются. Передача котировок производится в режиме онлайн и только при работающем клиентском терминале.

Примеры запросов, которые можно использовать в Excel:

  Формула, которую вводим в Excel:   Информация, которая подгружается в Excel из терминала MetaTrader 4
запрос BID: = ‘MT4’|BID!USDCHF результат: 1.5773
запрос ASK: = ‘MT4’|ASK!USDCHF результат: 1.5778
запрос HIGH: = ‘MT4’|HIGH!USDCHF результат: 1.5801
запрос LOW: = ‘MT4’|LOW!USDCHF результат: 1.5741
запрос TIME: = ‘MT4’|TIME!USDCHF результат: 21.05.02 9:52
запрос TIMESEC: = ‘MT4’|TIME!USDCHF результат: 21.05.02 9:52:43
запрос QUOTE: = ‘MT4’|QUOTE!USDCHF результат: 21.05.02 9:52:43 1.5773 1.5778 1.5776

Как получить список кодов всех инструментов, по которым можно выгружать данные в Excel?

Перейдите в терминал MetaTrader 4 (для ПК).
Перейдите в окно Символы, нажмите правой клавишей мыши и выберите Показать все символы.
Далее, нажмите правой клавишей мыши в окне Символы, выберите Наборы символовСохранить как2
Сохраните набор символов в любом месте (например, на рабочем столе).

Откройте файл любым текстовым редактором, например, Блокнотом. 

(для этого нажмите на файле правой клавишей мыши — Открыть с помощью — Выбрать программу — Блокнот)

Данный файл будет содержать коды инструментов, которые можно использовать для создания запросов по протоколу DDE. 

Экспорт котировок по DDE — очень удобная функция, которая позволяет использовать данные котировок из терминалов MetaTrader 4 и проводить дополнительный анализ средствами Excel.

Внимание: для правильного отображения данных в MS Excel нужно включить опцию в меню «Сервис — Параметры — Переход — Преобразование формул в формат Excel при вводе».

sig volt:

Первое нужна история (по покупке, продаже,…, обьъему)

Второе чтобы она автоматически добавлялась

Вся доступная в этом терминале MT5 этого ДЦ история, включая тиковую — Ctrl-U, экспорт в CSV, это родной формат для Excel. Миллион строк (начиная с Excel 2007 — точно есть, раньше было 65535 строк). А тиков по Ctrl-U иногда удается выкачать 300 миллионов. Годится ли Вам Excel ?

Обновление тиков —  DDE-Sample.xls. Из неприятностей, которые я выявил лет 10 назад, самая заметная то, что в рамках общения с терминалами по DDE каналу нельзя было узнать, который из них послал новый тик — они в DDE все регистрировались под одним именем DDE-сервера «MT». Нынешние версии DDE-Sample.xls не смотрел, но не ожидаю, что эта проблема решена. Тем более файла DDE-Sample.xlsx я так и не встретил, хотя MS Excel сменил основное расширение уже давно — значит, файл не модифицируют.

Ни о каком автоматическом добавлении в Excel речи нет, если Вы сами не напишете в MS VBA for Excel макрос, который будет всякое изменение в заданных ячейках, получающих обновления по DDE, отслеживать и копировать программно в новые, постоянно добавляемые ячейки.

Итого: нужен ли Вам действительно Excel ?

Передо мной встал вопрос, а как можно передать биржевые котировки из торгового терминала MetaTrader 4 в Excel? Проблема решается так…

Шаг 0. Скачать и установить терминала не составляет труда. Это можно сделать как с официального сайта, так и с сайтов брокеров. Запускаем терминал.

Шаг 1. В терминале включаем механизм обмена данными.
Меню «Сервис» > «Настройки» и на вкладке «Сервер» ставим галочку «Разрешить DDE сервер»:

Шаг 2. Запускаем Excel и в нужную ячейку вводим формулу с запросом данных. Формул не так и много, поэтому я приведу все варианты запросов:

='MT4'|BID!EURUSD
='MT4'|ASK!EURUSD
='MT4'|HIGH!EURUSD
='MT4'|LOW!EURUSD
='MT4'|TIME!EURUSD
='MT4'|QUOTE!EURUSD

Внимание! Возможно «подвисание» Excel. Решение этой проблемы описано тут.

Как видно, формат команды — простой:
=’MT4’|ПАРАМЕТР!ИНСТРУМЕНТ

В интернете можно найти, якобы работают команды

='MT4'|LAST!EURUSD
='MT4'|STATUS!ACCOUNT
='MT4'|STATUS!BALANCE
='MT4'|STATUS!CONNECT

но это не так. Они относятся к старой версии MetaTrader и более не поддерживаются.

Параметры BID и ASK показывают последние цены продажи и покупки, HIGH и LOW- наибольшую и наименьшие цены за текущие сутки, TIME — время обновления параметров BID и ASK, QUOTE все сведения в виде одной строки:

Другие команды или данные за другой период (например, вчера) недоступны.

Также мне пока не удалось сформировать команду динамически, когда значение пары находится в отдельной ячейке. Например:

='MT4'|BID!$A$1

Пока не работает…

Внимание! Иногда получаемые данные содержат некорректные значения:

Правда, они через секунду-другую начинаются отображаться корректно, но почему так я не знаю.

Внимание! Данные передаются с десятичной точкой, а по умолчанию в русской локализации Excel в качестве такого разделителя используется символ запятой «,». Некоторые предлагают сменить символ разделителя в региональных настройках операционной системы. Мне кажется, это чересчур радикально! Такое решение может повлечь некорректную работу других программ.

Правильное решение состоит в том, чтобы заменять символ точки «.» на символ запятой «,». Например так:

=ПОДСТАВИТЬ('MT4'|BID!EURUSD;".";",")

Теперь данные воспринимаются, как числа.

Внимание! В некоторых источниках (и, в частности, в примере программы) используется команды, где MT4 стоит без кавычек:

=MT4|BID!EURUSD

вместо

='MT4'|BID!EURUSD

Это приводит к тому, что если вы добавляете такую команду, то Excel воспринимает MT4 как координаты ячейки. Неуклюжий вариант решения проблемы состоит в том, чтобы включить другую нумерацию ячеек:

Более простой и правильный — использовать кавычки вокруг MT4 (как и показано выше).

Внимание! Некоторые источники предлагают выставить параметр «Игнорировать DDE-запросы от других приложений».

Я бы не рекомендовал это делать, поскольку может нарушится работа других программ (в частности, проводника).

Шаг 3 (гипотетический). Далее нужно организовать работу с этими данным. Например, сохранять в столбец и строить графики. Но это уже другой вопрос.

Microsoft Excel is one tool that almost everyone uses. Whether you are a student, a business person, a trader, or even a homemaker, you can use this tool to organize everything from content to expenses. On the surface, Microsoft Excel looks like a sheet that can help you manage your content. Still, it offers many other functionalities that could be highly useful for traders when used correctly. 

MetaTrader 4 is a popular Forex trading platform. It offers many features and tools to make trading more accessible and practical. Traders can use these tools to devise efficient trading strategies. However, one is required to know MQL Programming to experience the full potential of these tools. Coding is not common, and managing all the Expert Advisors (EAs) and indicators can leave many feeling overwhelmed. If you find the MQL language challenging to understand, you can try Microsoft Excel.

A trader can export live data from MT4 to Excel using a free MT4 file. In the first step, a trader must enable Enable Dynamic Data Exchange Server (DDE server) in the Metatrader Tools/Options section. In the next step, a trader must open the DDE-sample file from the Program Files directory. A trader can change values in that Excel file and add new columns, rows, and instruments.

Let us see the steps:
Step 1: Enable DDE server MT4
Open Tools and Options in MT4
Enable DDE server in MT4

Step 2: Open the DDE sample Excel file:
Open DDE sample Excel file - MT4 to Excel

Step 3: Connect mt4 to excel. Add new instruments, quotes, rows, and columns and update live data (low, high, ask, and bid price):
add quotes live data in Excel from MT4

In Excel, traders can call ASK, BID, HIGH, and LOW prices using commands and manually add new instruments:

BID request: = MT4|BID!USDCHF result: 1.2234
ASK request: = MT4|ASK!USDCHF result: 1.2235
HIGH request: = MT4|HIGH!USDCHF result: 1.2238
LOW request: = MT4|LOW!USDCHF result: 1.2134
TIME request: = MT4|TIME!USDCHF result: 21.05.02 11:52
TIMES request: = MT4|TIME!USDCHF result: 21.05.02 11:52:43
QUOTE request: = MT4|QUOTE!USDCHF result: 21.05.02 11:52:43 1.2234 1.2235 1.2238

This is one of the most straightforward transitions possible in the trading market. You can easily export live data from MT4 to Excel. This is how you can transfer prices:

Run the Excel software and open a chart.

  1. Click on the file. You a box will appear. You need to click on ‘Save As.’
  2. You can now rename the file per your comfort.
  3. Make sure that the file is in .csv format. CSV is the acronym for Comma Separated Values. MS Excel supports this format.
  4. Now, click on ‘Save,’ and you are done.

Benefits of Exporting MT4 Prices to Excel

Let’s begin by stating the obvious; using Microsoft Excel is easy. You can find a lot of tutorials online that can assist you in learning shortcuts as well. Furthermore, as it is a popular software, the chances are that you can easily find someone in your vicinity to tell you more about it. Now, let’s see the other benefits of this software that will convince you to export MT4 prices:

  • You can easily view data for more extended periods.
  • Excel files do not require a lot of space. Thus, you can easily share Excel files with others as attachments. 
  • You can use this software for price comparisons if you use multiple brokers on the MT4 platform.
  • You do not need super-speed internet for Excel. It works offline, as well.
  • You can take advantage of this software if you are one of those who find it difficult to set up platforms.
  • Excel does not crash the way platforms do. If it does, your data gets automatically stored.
  • It is not expensive software. If you already have Office, Excel will not cost you a thing.

Export Live Data from MT4 to Excel

The Drawbacks or Limitations of Using Microsoft Excel

While MS Excel is excellent software, it does have a few limitations rather than drawbacks. One of the most critical limitations arises from MT4’s inability to save ask prices. As the MT4 platform keeps only bid prices, you will export only this data to Excel. You can easily export the history of price movements and do it as frequently as you wish; you cannot stream live information on MS Excel.

Excel RTD MT4 download

Below you can Download EXCEL RTD Premium Tool to export live MT4 data to Excel. This  MT4 excel plugin is available for free to all HFM live traders. If you are not a live trader, please register below:

VISIT HFM

Traders in MT4 can use a special MT4 Excel plugin to export MT4 data to Excel. HFM broker offers an excellent free tool for exporting MT4 data to Excel.

How Excel RTD MT4 Script works

Download the EXCEL RTD tool and export live data from MT4 to Excel

In this video, you can see how it works:

Excel is an essential software with several advantages. It is a reasonable buy and easy to understand. However, it is its qualities that, sometimes, render it inadequate. If you want to up your game, you can ask a professional programmer to help you understand how to use the MT4 platform and its tools like the EA and magic numbers. The programmer will also assist you in managing bugs. However, keep in mind that it will be an expensive alternative.

mt4 plugin to excel data

There is a middle way, as well. You can buy software or an application from a third party. These applications can work separately as well as an extension of MS Excel. These applications are generally easy to understand. You only need to remember with third-party vendors that your information on the MT4 platform becomes vulnerable. You must ensure that the vendor is trusted and offers good customer support. We advise you to use a VPN blocker when using a third-party extension.

Export MT4 account history to excel – Download Script


To export MT4 account history to Excel, you must use Script to export account history from HTML to CSV. Later, you can easily import the CSV file into Excel.

Download MT4 Script :


 MT4 account history to the excel script


Just add this ex4 Script to MQL4/Script directory. This script will automatically transfer account history to CSV.

  • Author
  • Recent Posts

Fxigor

Trader at Leanta Capital

Igor has been a trader since 2007. Currently, Igor works for several prop trading companies.
He is an expert in financial niche, long-term trading, and weekly technical levels.

The primary field of Igor’s research is the application of machine learning in algorithmic trading.

Education: Computer Engineering and Ph.D. in machine learning.

Igor regularly publishes trading-related videos on the Fxigor Youtube channel.

To contact Igor write on:
igor@forex.in.rs

Fxigor

Понравилась статья? Поделить с друзьями:
  • Meta tags in word
  • Message word for you перевод
  • Message box in word
  • Merubah pdf ke word
  • Merryweather word of mouth