Справка по MetaTrader 5

Пользовательские финансовые инструменты

Пользовательские финансовые инструменты

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

Если ваш брокер не предоставляет инструмент, на котором вы хотели бы проверить свою стратегию, или же предоставляет недостаточно глубокую или некачественную ценовую историю, создайте инструмент и загрузите в него собственные данные.

Как создать и настроить пользовательский инструмент

Откройте окно управления символами через контекстное меню "Обзора рынка" и нажмите "Создать символ":

Создание пользовательского финансового инструмента

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

  • Базис — имя базового актива для производного инструмента. Например, для фьючерсных контрактов на золото базовым активом является золото.
  • Страница — адрес интернет страницы с информацией по символу. Он будет отображаться в виде ссылки при просмотре свойств символа в "Обзоре рынка".
  • Построение графиков — по какой цене строятся графики символа: Bid или Last.
  • Фон — цвет фона инструмента в "Обзоре рынка".
  • Рассчитывать хеджированную маржу по наибольшей стороне — этот режим используется только на хеджинговых счетах, где возможны разнонаправленные позиции по одному инструменту. По инструменту рассчитывается маржа по короткой стороне (все позиции и отложенные ордера на продажу) и по длинной стороне (все позиции и отложенные ордера на покупку). В качестве итогового значения маржи по символу используется наибольшее из двух значений.
  • Использовать ограничение по времени — если установить для этого параметра значение "Да", вы сможете указать день начала и окончания торгов по инструменту (период обращения).

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

Торговые и котировочные сессиии пользовательского инструмента

Установите сессии при помощи рычажков. Советники не смогут торговать в тестере стратегий вне торговых сессий.

По умолчанию торговые сессии не заданы, они совпадают с котировочными. Если требуется настроить время котировочных и торговых сессий по отдельности, включите опцию "Использовать отдельные торговые сессии". Все торговые сессии должны находиться внутри котировочных.

  • Вы можете быстро настроить собственный инструмент — скопируйте параметры из любого схожего инструмента, а затем измените то, что вам нужно. Для этого выберите имеющийся инструмент в поле "Скопировать из".
  • Имя пользовательского символа не должно пересекаться с именами символов, транслируемых брокерами. Если вы подключитесь к серверу, и на нем окажется символ, совпадающий с пользовательским, то пользовательский символ будет удален.
  • Имя и описание символа задается только латинскими буквами без знаков препинания, пробелов и спецсимволов (допускаются ".", "_", "&" и "#"). Не рекомендуется использовать в названии символы <, >, :, ", /, |, ?, *.

Импорт и экспорт пользовательских инструментов

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

Вы также можете экспортировать и импортировать целые группы символов:

Экспорт и импорт настроек группы пользовательских финансовых инструментов

Настройки экспортируются в текстовые файлы формата JSON:

{
"ConfigSymbols" : [
{
"Symbol" : "EURUSD_cust",
"Path" : "Custom\\Forex\\EURUSD_cust",
"ISIN" : "",
"Description" : "Euro vs US Dollar",
....

Управление пользовательскими символами

Все символы отображаются в отдельной группе Custom. Чтобы изменить или удалить символ, воспользуйтесь контекстным меню в списке:

Создание, редактирование и удаления пользовательских инструментов

Импорт ценовой истории

Вы можете импортировать ценовые данные в собственный символ из любого текстового файла, а также из файлов истории MetaTrader (HST). Выберите символ, а затем перейдите на вкладку "Бары" или "Тики".

Импорт ценовой истории в пользовательский инструмент

В диалоге импорта укажите путь к файлу с данными и задайте настройки:

  • Разделитель — разделитель элементов в текстовом файле.
  • Пропуск столбцов и строк — количество колонок (слева направо) и строк (сверху вниз), которое необходимо пропустить при импорте.
  • Сдвиг — сдвиг времени по часам. Эта опция используется при импортировании данных, сохраненных в другом часовом поясе.
  • Только выделенные — эта опция позволяет импортировать только выделенные в окне просмотра строки. Строки можно выделить с помощью мыши, удерживая клавиши "Ctrl" или "Shift".

Файл с минутными барами должен иметь формат: Дата Время Open High Low Close ТиковыйОбъем Объем Спред. Например:

<DATE>        <TIME>      <OPEN>     <HIGH>     <LOW>      <CLOSE> <TICKVOL><VOL>    <SPREAD>
2016.06.27    00:01:00    1.10024    1.10136    1.10024    1.10070    18    54000000    44
2016.06.27    00:02:00    1.10070    1.10165    1.10070    1.10165    32    55575000    46
2016.06.27    00:03:00    1.10166    1.10166    1.10136    1.10163    13    13000000    46
2016.06.27    00:04:00    1.10163    1.10204    1.10155    1.10160    23    51000000    41

Файл с тиками должен иметь формат: Дата Время Bid Ask Last Volume. Например:

<DATE>          <TIME>          <BID>   <ASK>   <LAST>  <VOLUME>
2017.07.03      00:03:47.212    1.14175 1.14210 0.00000 0
2017.07.03      00:03:47.212    1.14168 1.14206 0.00000 0
2017.07.03      00:03:47.717    1.14175 1.14206 0.00000 0
2017.07.03      00:03:54.241    1.14175 1.14205 0.00000 0
2017.07.03      00:03:57.982    1.14165 1.14201 0.00000 0
2017.07.03      00:04:07.795    1.14175 1.14201 0.00000 0
2017.07.03      00:04:55.432    1.14164 1.14200 0.00000 0
2017.07.03      00:14:33.743    1.14173 1.14203 0.00000 0
2017.07.03      00:14:33.743    1.14173 1.14201 0.00000 0
2017.07.03      00:16:44.901    1.14174 1.14195 0.00000 0

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

  • В торговой платформе ценовая история хранится в виде минутных баров. Все остальные таймфреймы создаются на их основе. При импорте вы можете использовать данные и с более высоких таймфреймов, но следует учитывать, что графики более низких таймфреймов при этом будут иметь пропуски. Например, при импорте часовых данных на минутном графике вы увидите по одному бару на каждый час.
  • При импорте происходит полная замена временного интервала данными из указанного файла. Например, если в файле находятся данные с 2016.01.01 00:00:00 по 2016.06.01 00:00:00 и в истории пользовательского символа уже есть какие-то данные на этом интервале, они будут полностью заменены новыми (даже если импортируемых данных меньше, чем было).
  • При импорте баров наличие дублирующихся записей в импортируемом файле (баров с одним и тем же временем) будет считаться ошибкой. В платформе одной минуте может соответствовать только один бар. При импорте тиков наличие тиков с полностью одинаковыми параметрами допускается.
  • Если для какого-либо показателя в строке значение меньше или равно нулю, это значение не импортируется.
  • При импорте пользователь должен самостоятельно обеспечить правильный порядок тиков в файле: от более ранних к более поздним.

Ценовые данные пользовательских символов сохраняются в отдельном каталоге Custom (вне каталогов данных конкретных торговых серверов):

C:\Users\[windows account]\AppData\Roaming\MetaQuotes\Terminal\[instance id]\bases\Custom

Редактирование ценовой истории

Вы можете редактировать историю баров и тиков пользовательских инструментов в ручном режиме. Для этого запросите необходимый интервал данных на вкладке "Бары" или "Тики".

  • Чтобы изменить значение, дважды нажмите на него.
  • Для добавления или удаления записей, воспользуйтесь контекстным меню
  • Чтобы удалить сразу несколько баров/тиков, выделите их мышью, удерживая клавишу Shift или Ctrl+Shift.

При редактировании баров настоятельно рекомендуется запрашивать данные таймфрейма М1. В торговой платформе ценовая история хранится в виде минутных баров. Все остальные таймфреймы создаются на их основе. Даже если вы изначально запросили бары другого таймфрейма, все изменения все равно будут применяться к соответствующим минутным барам. Например, запросив данные таймфрейма М5 и изменив бар, вы замените пять минутных баров на один минутный (соответствующий началу бара М5). То есть произойдет полная замена редактируемого интервала.

Ручное изменение минутных баров и тиковых данных

Для удобства измененные записи подсвечиваются:

  • красный фон — некорректная запись (например, максимальная цена меньше минимальной)
  • зеленый фон — корректная измененная запись
  • серый фон — удаленная запись
  • желтый фон — добавленная запись
  • При добавлении нового бара в колонку "Дата" автоматически подставляется первая незанятая дата/время из текущей выборки данных.
  • Платформа не позволяет создавать бары с одинаковой датой/временем. Одной минуте может соответствовать только один бар.

Для сохранения изменений нажмите "Применить изменения" в нижней части окна.

Использование собственных финансовых инструментов

Использование собственных символов практически не отличается от тех, что предоставляет брокер. Они также показываются в окне "Обзор рынка", по ним можно открывать графики, на которые можно накладывать индикаторы и аналитические объекты.

Ценовой график пользовательского инструмента с техническими индикаторами

Тестирование на собственных финансовых инструментах

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

Тестирование торгового робота на пользовательском инструменте

При расчете маржи и прибыли по сделкам, совершаемым при тестировании, тестер стратегий при необходимости автоматически использует доступные на счете кросс-курсы. Например, если валюта прибыли инструмента — EUR, а валюта счета — USD, тестер будет конвертировать ее по соответствующим курсам пары EURUSD.

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

Например, мы создали собственный символ AUDCAD.custom с типом расчета маржи Forex, и валюта нашего счета — USD. Тогда на основе имени форексного инструмента тестер ищет необходимые символы в следующем порядке:

  1. сначала ищутся символы вида AUDUSD.custom (для расчета маржи) и USDCAD.custom (для расчета прибыли по сделкам)
  2. затем, если какого-то из этих инструментов нет, ищется первый символ, который соответствует по имени необходимым валютным парам — AUDUSD и USDCAD соответственно. Например, найдены AUDUSD.b и USDCAD.b — значит, именно курсы этих инструментов будут использоваться при расчетах маржи и прибыли.

Для инструментов с остальными типами расчета маржи (CFD, Futures, Stock Exchange) необходимо наличие валютной пары для пересчета валюты инструмента в валюту депозита. Например, мы создали собственный символ с валютой прибыли и валютой маржи, выраженными в британских фунтах (GBP), а валютой депозита является швейцарский франк (CHF). Тогда поиск инструментов для тестирования ведется в следующем порядке:

  1. Проверяется наличие торгового инструмента, соответствующего валютной паре GBPCHF (GBP vs CHF).
  2. Если он отсутствует, то ищется первый торговый инструмент, который соответствует по имени валютной паре GBPCHF, например GBPCHF.b или GBPCHF.def.
  • При тестировании на собственных инструментах убедитесь, что на счете есть все необходимые валютные пары для расчетов. В ином случае, расчет финансовых результатов и залоговых требований при тестировании будет невозможен.
  • Использование MQL5 Cloud Network для оптимизации на собственных символах не разрешено. Это связано с тем, что на компьютерах разных трейдеров могут находиться пользовательские символы с одинаковыми именами, но разными ценовыми историями. Что может привести не только к расхождению результатов тестирования между отдельными агентами сети, но и массовым перезакачкам и синхронизации исторических данных, создавая избыточный интернет-трафик. Использование агентов локальной сети и удаленных агентов допускается.