главная учебник коды официально файлы форум о проекте
Учебник

Создание базы данных.

Данные по котировкам AmiBroker хранит в базе данных ( БД ). Следует иметь ввиду, что AmiBroker одновременно может открыть только одну базу и, соответственно, может оперировать только теми данными, которые содержатся в этой базе. Нельзя обратится к данным, содержащимся в другой базе. Кроме того, в одной БД обычно хранятся данные, имеющие одинаковый временной интервал. Базы данных Ami бывают:

  • локальные ( local ) – не связанные с внешними источниками данных. Пополнять такие базы можно только через импорт из текстовых файлов, из файлов MetaStock, при помощи AmiQuote или скрипта.
  • внешние – связанные с внешним источником (eSignal, myTrack, QuoteTracker, Quotes Plus, FastTrack, Metastock). Данные в таких базах автоматически обновляются из внешнего источника через plug-in не требуя каких либо действий пользователя.

Для создания новой базы нужно нажать на кнопку «New» на панели инструментов

либо выбрать в меню File пункт New -> Database...

В результате появится окно создания новой БД
  • 1. В блоке General указываем путь и имя БД. Для выбора пути где она будет находится можно воспользоваться кнопкой Browse… Для примера я создал БД с названием TestDB находящуюся в папке C:\Program Files\AmiBroker\ (см. скриншот ниже).
  • 2. Если выбрать опцию «Load this database at startup», то эта БД будет автоматически загружаться при запуске AmiBroker.

После выполнения этих операций жмем кнопку Create и БД будет создана после чего поля в блоке General станут не активными.
Переходим к блоку Data source
  • 3. Выбираем источник данных.
    Либо это локальная БД, либо внешняя.
    Перечень доступных внешних источников зависит от набора plug-in источников данных выбранных при установке или добавленных позднее.
    Для примера создаем локальную БД
  • 4. Далее включаем либо выключаем (Enable/Disable) «Local data storage» (локальное хранение данных).
    Для локальной БД эта опция значения не имеет. Для баз с внешним источником правильную установку этой опции для различных источников можно посмотреть в справке (глава «How to use AmiBroker with external data source»).
  • 5. В поле «Number of bars:» устанавливаем максимальное число баров, которое сможет хранить один символ в создаваемой базе. Если создаваемая база планируется для теста стратегий, то имеет смысл установить эту цифру побольше. По умолчанию максимально доступное число отображаемых баров 500000. Если Вам необходимо большее число баров, то можно в реестре Windows изменить значение ключа HKEY_CURRENT_USER\Software\TJP\ Broker\Settings\MaximumNumberOfBars установив там необходимое значение.
    Следует иметь ввиду, что такое громадное количество данных может замедлить работу программы, поэтому такие базы данных следует использовать только для тестирования стратегий, а онлайн работать лучше с базами где это значение установлено минимальным.
  • 6. В поле «Base time interval» устанавливаем базовый (минимальный доступный в этой БД ) временной интервал графиков. Лучше всего если установленный интервал будет совпадать с интервалом данных которые затем будут импортироваться в эту БД. Разумеется, если при создании базы Вы укажете Base time interval «1 Minute», а затем импортируете в эту базу дневные данные, то минутные данные доступны в ней не будут.

Осталось разобраться с тремя кнопками внизу блока «Data source» Крайнюю слева «Flush cache» мы вообще не будем рассматривать. Крайняя справа «Configure» действует только при выборе некоторых внешних источников данных. При создании локальной БД она не нужна. Средняя кнопка «Intraday settings» ведет в окно, где можно установить настройки отображения внутридневных котировок


  • Блок «Filtering»
    AmiBroker позволят выделить в сутках две торговых сессии: дневную (day) и ночную (night). В зависимости от установленных в блоке «Filtering» опций график будет отображаться по разному:
    • Show 24 hours trading (no filtering) – отображаются все имеющиеся в наличии данные
    • Show day session only - отображаются только котировки дневной сессии
    • Show night session only - отображаются только котировки ночной сессии
    • Show day and night session only - отображаются котировки дневной и ночной сессии (остальные фильтруются)
    • Filter weekends – не отображаются котировки датируемые выходными днями
  • Блок «Trading hours (local time)»
    Позволяет задавать границы дневной (слева) и ночной (справа) сессий
  • Блок «Daily time-compression uses»
    Тут задается метод компрессии внутридневных данных в дневные. Например, на FOREX зачастую открытие нового дневного бара происходит в 21-30 GMT и обычный метод компрессии (когда началом нового дневного бара является начало новых суток) дает результирующий бар отличный от готового дневного бара, полученного из внешних источников. Установив соответствующие опции в блоке «Daily time-compression uses» можно добиться соответствия этих баров. Доступно три варианта компрессии:
    • Exchange time - началом нового дневного бара будет являться первая котировка имеющая новую дату на торговой площадке
    • Local time - началом нового дневного бара будет являться первая котировка имеющая новую дату на вашем компьютере
    • Day/Night session as defined above – началом нового дневного бара будет являться первая котировка ночной сессии, а концом последняя котировка дневной сессии (время сессий устанавливается в предыдущем блоке)
  • Блок «Per-database settings»
    В этом блоке в поле Time shift можно задать разницу во времени между временем торговой площадки и локальным временем компьютера.

Когда все необходимые настройки внутридневных данных установлены жмем кнопку «ОК» в правом верхнем углу и возвращаемся в окно «Database settings». Там теперь тоже можно жать «ОК» и на этом создание БД закончено.

В заключении должен отметить, что при необходимости, в дальнейшем, всегда можно изменить установленные настройки. Для этого в меню File надо выбрать пункт Database settings…