Dynamiczne przekazywanie danych giełdowych przez interfejs DDE
Zastosowanie DDE (Dynamic Data Exchange) to zapewne najprostszy sposób umożliwiający dynamiczną wymianę danych między aplikacją do odbioru notowań giełdowych a innym programem. W przypadku, gdy programem tym jest arkusz kalkulacyjny, użycie interfejsu DDE nie wymaga dodatkowych umiejętności programowania poza niezbędnymi do obsługi danego arkusza. Konfiguracja połączenia sprowadza się wówczas do włączenia DDE w aplikacji dostarczającej notowania (serwerze) i prostego dodania odpowiednich hotlinek w arkuszu kalkulacyjnym (kliencie). Możliwość wykorzystania mechanizmu DDE dają zarówno komercyjny Microsoft Excel, jak i darmowe arkusze kalkulacyjne wchodzące w skład pakietów OpenOffice i LibreOffice. Oczywiście, bardziej wymagające zastosowania, przekraczające możliwości arkuszy kalkulacyjnych, wymagają zastosowania dedykowanych aplikacji.
Udostępniany przez aplikację dostarczającą notowania online serwer DDE umożliwia dostęp w czasie rzeczywistym do bieżących danych giełdowych, ich aktualizację i swobodne przetwarzane z poziomu klienta DDE. Niestety, komunikacja między serwerem i klientem polega jedynie na udostępnianiu danych przez serwer. Jest to główna wada DDE, gdyż w konsekwencji nie ma możliwości prostego zautomatyzowania procesu składania zleceń. W celu automatycznego wysyłania zleceń można natomiast wykorzystać np. aplikacje napisane z wykorzystaniem API udostępnionego przez dane biuro maklerskie1.
NOL3 vs Statica
Jako serwery DDE mogą działać popularne programy giełdowe, takie jak Statica i NOL32. Poniższa tabelka zawiera porównanie funkcjonalności interfejsu DDE dostępnego w tych dwóch programach.
NOL3 | Statica 3 | |
---|---|---|
Maksymalna liczba walorów dostępnych przez interfejs DDE | 100 | Nie stwierdzono |
Zakres udostępnianych danych | limitK1, limitK2, limitK3, limitK4, limitK5, limitS1, limitS2, limitS3, limitS4, limitS5, volK1, volK2, volK3, volK4, volK5, volS1, volS2, volS3, volS4, volS5, kurstrans1, kurstrans2, kurstrans3, kurstrans4, kurstrans5, woltrans1, woltrans2, woltrans3, woltrans4, woltrans5, czastrans1, czastrans2, czastrans3, czastrans4, czastrans5, kursodn, widekimin, widekimax, faza, lop, wolumenobr, WolObrOt, wolobrotu, WolObrZm, zmiana. kurstko, MinTKO, MaxTKO, tko | kupi, sprzeda, ikupi, isprzeda, kupi2, sprzeda2, ikupi2, isprzeda2, kupi3, sprzeda3, ikupi3, isprzeda3, kupi4, sprzeda4, ikupi4, isprzeda4, kupi5, sprzeda5, ikupi5, isprzeda5. czas, kurs, wolumen, lop, tko, otwarcie, odniesienie, obrot, wrazem, max, min, zamkniecie |
Ergonomia ustawień serwera DDE | Każdy walor i zakres dotyczących go danych, które mają być udostępniane, wymagają dodania w managerze DDE. | Uruchomienie interfejsu DDE wymaga jedynie włączenia w oknie ustawień ogólnych. Walory dodane do tabeli notowań są automatycznie udostępniane przez interfejs DDE. |
1 Pierwszym biurem maklerskim, które udostępniło klientom swoje API jest Dom Maklerski Banku Ochrony Środowiska SA.
2 Porównywane wersje to NOL3 wersja 3.0.29.214.I.7 (Dom Maklerski Banku Ochrony Środowiska SA) i Statica 3 (aktualizacja z dnia 16-09-2013).