Pojęcia związane z bazami danych w programie AmiBroker.

Wprowadzenie

Zwykła aplikacja działająca w systemie Windows, taka jak np. program Paint, pracuje z pojedynczym plikiem. Użytkownik otwiera jeden plik i wszystkie niezbędne informacje zapisane są w tym pliku (.BMP w przypadku programu Paint czy też .DOC przy pracy z MS Word).

AmiBroker jest o wiele bardziej skomplikowanym programem. Ponieważ używane są ogromne ilości danych (wszystkie notowania różnych walorów, ręcznie rysowane obiekty na wykresach, podział na kategorie, rynki, sektory, branże, ulubione czy też listy podręczne itp. itd.), AmiBRoker musi zarządzać wieloma plikami.

Teroretycznie byłoby możliwe zapisanie wszystkich tych informacji w jednym pliku, jednak byłby on (a) olbrzymi i (b) bardzo wolny przy selektywnej modyfikacji zawartości. Z tego powodu AmiBroker zapisuje dane w wielu plikach które tworzą bazę danych. Pliki danej bazy danych zapisane są w folderze (i podfolderach) właściwym dla danej bazy. W dokumentacji AmiBrokera pojęcie katalog (folder) bazy danych odnosi się właśnie do folderu w którym przechowywane są dane.

Podczas pierwszej instalacji progarmu tworzony jest katalog domyślnej bazy danych o nazwie 'Data'. Znajduje się on w folderze AmiBroker. Katalog ten zawiera przykładową bazę danych Dow Jones Industrial Average.

W menu wybierając bądź tworząc bazę danych wybiera się bądź tworzy katalog (folder) a nie pojedynczy plik.

Struktura bazy danych programu AmiBroker.

Baza danych jest katalogiem który zawiera zestaw plików binarnych, które przechowywane są w podkatalogach: 0-9, a-z, '_'. Pliki te zawierają notowania, informacje o walorach, obiekty (linie trendu, linie Fibonacciego itp.). Informacja dotycząca każdego symbolu przechowywana jest w oddzielnym pliku, którego nazwa zgodna jest z nazwą danego symbolu w programie. Pliki te znajduj się we właściwym ze względu na pierwszą literę nazwy podkatalogu, zatem dane dot. IBM znajdują się w pliku IBM w podkatalogu I.

Domyślną bazą danych jest katalog 'Data' zawierający przykładowe dane DJIA. Stworzenie nowej bazy możliwe jest z menu: File->'New database'.

Oprócz wymienionych wcześniej podkatalogów i plików AmiBroker tworzy jeszcze dwa dodatkowe pliki: broker.workspace and broker.master. Pierwszy zawiera nazwy kategorii i informacje nt. walorów wzrastających, zniżkujących i o niezmienionej cenie. W drugim z plików znajduje się lista wszystkich symboli w bazie danych, co pozwala na szybsze załadowanie bazy. Oba te pliki znajdują się w katalogu głównymdanej bazy danych (zatem w przypadku bazy domyślnej będzie to katalog 'Data').

W większości wypadków NIE powinno się samodzielnie modyfikować plików bazy danych, ponieważ program zarządza nimi automatycznie i jakakolwiek ingerencja użytkownika nie jest potrzebna.

Dane zewnętrzne

AmiBroker pozwala również na odczytanie danych bezpośrednio z zewnętrznej bazy danych. W chwili obecnej możliwy jest bezpośredni dostęp do baz programów: Quotes Plus (QP2), TC2000 (TC2K) oraz Metastock (MS). Możliwe jest to dzięki wyspecjalizowanym plugin-om, które odczytują dane z zewnętrznego źródła. Gdy użytkownik zdecyduje o wykorzystaniu zewnętrznego źródła danych - AmiBroker - zamiast odczytywac dane z własnej bazy danych = poprzez odpowiedni plugin ma dostęp do danych danego waloru. Plugin odczytuje dane ze źródła i dostaecza je do AmiBrokera. Cały proces pokazany jest na poniższym schemacie.

Jak można zauważyć - plugin zapewnia dostęp do zewnętrznej bazy tylko do odczytu.Oznacza to, że dane źródłowe nigdy nie są modyfikowane. Wszelkie zmiany, dodane rysunki czy utworzone kategorie zapisywane są wewnątrz lokalnej bazy danych programu AmiBroker. Zatem pomimo korzystania z danych z zewnętrznego źródła Amibroker ciągle używa własnej bazy (do zapisu zmian, aby przyśpieszyć odczyt danych i innych potrzeb).

Zatem, tak jak pokazano na powyższym schemacie, wybór źródła danych (Data source switch) pozwala na korzystanie z różnorodnych zdefiniowanych przez użytkownika zewnętrznych baz danych, a zmiana źródła danych możliwa jest z menu: Plik -> Ustawienia Bazy danych (File->'Database settings') jak pokazano na poniższym obrazku:

YMożliwe jest również przechowywanie danych odczytanych z zewnętrznego źródła w wewnętrznej bazie AmiBrokera. Pozwala to na szybszy odczyt danych. Aby to zrobić, wystarczy zaznaczyć opcję (przechowuj dane lokalnie) 'Local data storage' jako Enabled.

Uwaga: podobna opcja możliwa jest to ustawienia również w menu: Narzędzia -> Ustawienia->'Dane' (Tools->Preferences -> 'Data') (zakładka), jednak te ustawienia są domyślne dla nowo tworzonych baz danych. Opcje zdefiniowane w Plik ->Ustawienia Bazy danych (File->Database Settings) są zawsze sprawdzane w pierwszej kolejności, przed ustawieniami w menu: Ustawienia (Preferences) -- z wyjątkiem następujących przypadków: gdy jako źródło danych (pole Data Source) wybrano "Default' (domyślne) lub gdy jako 'Default' (domyślne) wybrano pole 'Local Data Storage' (przechowuj dane lokalnie) - wtedy AmiBroker użyje ustawień z menu: Preferences.