tutaj - mForex
Transkrypt
tutaj - mForex
mLibrary Biblioteka funkcji wprawdzająca nową jakość dla platformy Meta Trader [email protected] 22 697 4774 mforex.pl Spis treści 1. Funkcja mInitialize ....................................................................................... 3 2. Funkcja mDeinitialize ................................................................................... 5 3. Funkcja mGetDepthOfMarket ...................................................................... 6 4. Funkcja mGetDepthOfMarketEx .................................................................. 9 5. Funkcja mSubscribeInstrument .................................................................. 13 6. Funkcja mUnsubscribeInstrument.............................................................. 14 7. Funkcja mGetDoMSize ............................................................................... 15 8. Funkcja mNotify ......................................................................................... 16 mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 2 1. Funkcja mInitialize Funkcja inicjująca silnik Smart Orders. Każdy skrypt przed użyciem innej funkcji udostępnionej przez mLibrary powinien wywołać tę funkcję dokładnie raz. Składnia: 1 int mInitialize(); Wartość powrotna:¶ m_INIT_OK - inicjalizacja zakończona pomyślnie m_INIT_ERROR - inicjalizacja zakończona niepowodzeniem m_INIT_WRONG_PLATFORM - inicjalizacja zakończona niepowodzeniem (próba inicjalizacji na platformie innej niż MTRADER) Uwagi:¶ Funkcja powinna być wywołana dokładnie raz przed użyciem jakiejkolwiek innej funkcji udostępnionej przez mLibrary. Wywołanie funkcji inicjującej powinno być sparowane z wywołaniem funkcji kończącej: mDeinitialize. Przykładowy kod:¶ Przykładowy kod pokazujący poprawną inicjalizację oraz zakończenie działania skryptu (expert advisor): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <mLibrary.mqh> int init() { int result = mInitialize(); if (result != m_INIT_OK) { Print("Inicjalizacja mLibrary zakończona niepowodzeniem"); return(1); } return(0); } int deinit() mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 3 17 18 19 20 21 22 23 24 25 26 { mDeinitialize(); return(0); } int start() { //Kod korzystający z mLibrary return(0); } mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 4 2. Funkcja mDeinitialize Funkcja zwalnia zasoby silnika mLibrary. Składnia: 1 void mDeinitialize() Uwagi: Po użyciu tej funkcji, nie powinny być wywoływane żadne funkcje biblioteki MLibrary. Funkcja powinna być wywołana raz przez skrypt i jej wywołanie powinno być poprzedzone wywołaniem funkcji mInitialize. Przykładowy kod:¶ Przykładowy kod znajduje się w sekcji mInitialize. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 5 3. Funkcja mGetDepthOfMarket Funkcja pobiera najnowszą głębokość rynku dla określonego instrumentu. Do jej poprawnego działania instrument powinien być wcześniej zarejestrowany za pomocą funkcji mSubscribeInstrument. Składnia: 1 int mGetDepthOfMarket(string instrumentName, double& bids[], double& asks[], double& bidsVolume[], double& asksVolume[]); Parametry: instrumentName [in] - nazwa instrumentu, dla którego ma zostać pobrana głębokość rynku bids [out] - tablica ofert kupna instrumentu; pierwszym elementem tablicy jest najlepsza (najwyższa) oferta kupna asks [out] - tablica ofert sprzedaży instrumentu; pierwszym elementem tablicy jest najlepsza (najniższa) oferta sprzedaży bidsVolume [out] - tablica wolumenów dla ofert kupna instrumentu asksVolume [out] - tablica wolumenów dla ofert sprzedaży instrumentu Wartość powrotna: m_DOM_OK - głębokość rynku pobrana prawidłowo m_DOM_ERROR - błąd podczas pobierania głębokości rynku m_PARAM_ERROR - błąd parametrów wejściowych Uwagi: Kanał komunikacyjny, którym wysyłana jest głębokość rynku, jest niezależny od połączenia platformy MetaTrader 4 z serwerem. Z tego powodu, informacje dotyczące cen nie są synchronizowane. Istnieje zatem możliwość, że odebrany arkusz zleceń będzie zawierał ceny zarówno minimalnie nowsze, jak i starsze od aktualnej ceny zarejestrowanej w aplikacji Meta Trader 4 (dostępnej na przykład poprzez funkcję MarketInfo). Jeżeli funkcja zostanie wywołana w krótszych interwałach czasu, niż zachodzą zmiany głębokości rynku, funkcja zwróci ten sam arkusz zleceń. Aby sprawdzić, czy zwrócony arkusz zleceń jest nowszy od poprzednio otrzymanego, należy skorzystać z funkcji mGetDepthOfMarketEx. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 6 Przykładowy kod: Poniższy przykład pokazuje prosty sposób użycia funkcji pobierającej aktualną głębokości rynku oraz loguje różnice cenowe między najlepszą ceną aktualnego arkusza zleceń a cenami dostępnymi przez MetaTrader 4: 1 2 3 4 5 6 7 8 9 10 11 #include <mLibrary.mqh> int domSize; double bids[], asks[], bidVols[], askVols[]; int init() { int result = mInitialize(); if (result != m_INIT_OK) { Print("Inicjalizacja mLibrary zakończona 12 niepowodzeniem"); 13 return(1); 14 } 15 16 result = mSubscribeInstrument(Symbol()); 17 18 if (result < 0) 19 { 20 Print("Nie można zarejestrować symbolu ", Symbol()); 21 return(1); 22 } 23 24 domSize = mGetDoMSize(); 25 26 ArrayResize(bids, domSize); 27 ArrayResize(asks, domSize); 28 ArrayResize(bidVols, domSize); 29 ArrayResize(askVols, domSize); 30 31 return(0); 32 } 33 34 int deinit() 35 { 36 mUnsubscribeInstrument(Symbol()); 37 mDeinitialize(); 38 return(0); 39 } 40 mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 7 41 42 int start() { int res = mGetDepthOfMarket(Symbol(), bids, asks, bidVols, 43 askVols); 44 45 if (res < 0) 46 { 47 Print("Could not get DoM"); 48 return(0); 49 } 50 Print("Mt4: (", DoubleToStr(Bid, Digits), " / ", 51 DoubleToStr(Ask, Digits),"); ", 52 53 54 55 "DoM: (", DoubleToStr(bids[0], Digits), " / ", DoubleToStr(asks[0], Digits), ");"); return(0); } mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 8 4. Funkcja mGetDepthOfMarketEx Funkcja pobiera najnowszą głębokość rynku dla określonego instrumentu oraz umożliwia sprawdzenie, czy pobrana głębokość rynku została już pobrana, oraz czy któraś głębokość rynku została pominięta. Do jej poprawnego działania instrument powinien być wcześniej zarejestrowany za pomocą funkcji mSubscribeInstrument. Składnia: int mGetDepthOfMarketEx(string instrumentName, int& domId[], 1 double& bids[], double& asks[], double& bidsVolume[], double& asksVolume[]) Parametry: instrumentName [in] - nazwa instrumentu, dla którego ma zostać pobrana głębokość rynku domId [out] - unikalny identyfikator arkusza zleceń, do funkcji powinien zostać przekazany w postaci jednoelementowej tablicy typu int. bids [out] - tablica ofert kupna instrumentu; pierwszym elementem tablicy jest najlepsza (najwyższa) oferta kupna asks [out] - tablica ofert sprzedaży instrumentu; pierwszym elementem tablicy jest najlepsza (najniższa) oferta sprzedaży bidsVolume [out] - tablica wolumenów dla ofert kupna instrumentu asksVolume [out] - tablica wolumenów dla ofert sprzedaży instrumentu Wartość powrotna:¶ m_DOM_OK - głębokość rynku pobrana prawidłowo m_DOM_ERROR - błąd podczas pobierania głębokości rynku m_PARAM_ERROR - błąd parametrów wejściowych m_DOM_NOT_REFRESHED - aktualnie dostępny arkusz zleceń ma taki sam identyfikator, jak przekazany w funkcji, co oznacza, że ostatnio pobrany arkusz zleceń jest ciągle aktualny. Uwagi:¶ Do poprawnego sprawdzenia, czy został pobrany nowy arkusz zleceń, parametr domId powinien być przekazywany w postaci jednoelementowej tablicy do funkcji i nie powinien być nigdy zmieniany. Może on być jednak odczytywany, w celu dokonania innych sprawdzeń. Parametr domId powinien być zainicjowany na wartość 0. Jeżeli użytkownik chce śledzić kilka arkuszy zleceń, dla każdego symbolu powinien używać innej tablicy domId. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 9 Kanał komunikacyjny, którym wysyłana jest głębokość rynku, jest niezależny od połączenia platformy Meta Trader 4 z serwerem. Z tego powodu informacje dotyczące cen nie są synchronizowane. Istnieje zatem możliwość, że odebrany arkusz zleceń będzie zawierał ceny zarówno minimalnie nowsze, jak i starsze od aktualnej ceny zarejestrowanej w aplikacji Meta Trader 4 (dostępnej na przykład poprzez funkcję MarketInfo). Jeżeli funkcja zostanie wywołana w krótszych interwałach czasu, niż zachodzą zmiany głębokości rynku, funkcja zwróci ten sam arkusz zleceń. Przykłady:¶ Poniższy przykład demonstruje pobieranie głębokości za pomocą funkcji mGetDepthOfMarketEx. Skrypt, wykorzystując nową funkcjonalność funkcji mGetDepthOfMarketEx działa odwrotnie, niż w przypadku przykładu przedstawionego dla funkcji mGetDepthOfMarket. Zamiast czekać na cenę z platformy MT4 i porównywać ją do aktualnego arkusza zleceń, skrypt aktywnie czeka na nowy arkusz zleceń i porównuje go do aktualnej ceny w terminalu. Wartym zanotowania jest fakt, że zlecenia kupna/sprzedaży są zleceniami typu Market, nie ma zatem znaczenia, czy cena w platformie w momencie wysyłania zlecenia jest już odświeżona, ponieważ cena otwarcia pozycji zależy wyłącznie od najlepszej zagregowanej ceny dostawców płynności w momencie zawierania pozycji. 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <mLibrary.mqh> int domSize; double bids[], asks[], bidVols[], askVols[]; int domId[1]; int oldDomId; int init() { int result = mInitialize(); if (result != m_INIT_OK) { Print("Inicjalizacja mLibrary zakończona 14 niepowodzeniem"); 15 return(1); 16 } 17 18 result = mSubscribeInstrument(Symbol()); 19 20 if (result < 0) 21 { 22 Print("Nie można zarejestrować symbolu ", Symbol()); mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 10 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 return(1); } domSize = mGetDoMSize(); ArrayResize(bids, domSize); ArrayResize(asks, domSize); ArrayResize(bidVols, domSize); ArrayResize(askVols, domSize); domId[0] = 0; oldDomId = 0; return(0); } int deinit() { mUnsubscribeInstrument(Symbol()); mDeinitialize(); return(0); } int start() { while(true) { if (IsStopped()) { return(0); } RefreshRates(); oldDomId = domId[0]; int res = mGetDepthOfMarketEx(Symbol(), domId, bids, 58 asks, bidVols, askVols); 59 60 if (res < 0) 61 { 62 Print("Could not get DoM"); 63 Sleep(100); 64 continue; 65 } 66 67 if (res == m_DOM_NOT_REFRESHED) mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 11 68 69 70 71 72 73 74 { Sleep(10); continue; } if (domId[0] - oldDomId > 1) { Print("Skrypt nie zarejestrował ", (domId[0] 75 oldDomId - 1), " arkusza(y) zleceń"); 76 } 77 Print("Mt4: (", DoubleToStr(Bid, Digits), " / ", 78 DoubleToStr(Ask, Digits),"); ", "DoM: (", DoubleToStr(bids[0], Digits), " / ", 79 DoubleToStr(asks[0], Digits), ");"); 80 } 81 82 return(0); 83 } mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 12 5. Funkcja mSubscribeInstrument Funkcja rejestruje określony instrument do pobierania głębokości rynku. Wywołanie niniejszej funkcji jest niezbędne do poprawnego działania funkcji mGetDepthOfMarket oraz mGetDepthOfMarketEx. Składnia: 1 int mSubscribeInstrument(string instrumentName); Parametry: instrumentName [in] - nazwa instrumentu, który ma zostać zarejestrowany w celu pobierania głębokości rynku Wartość powrotna: m_SUB_OK - poprawne zarejestrowanie instrumentu m_SUB_ALREADY_SUBSCRIBED - instrument został już wcześniej zarejestrowany m_SUB_OVERFLOW - przekroczono dopuszczalną liczbę zarejestrowanych instrumentów m_SUB_ERROR - błąd podczas rejestracji instrumentu m_PARAM_ERROR - błąd parametrów wejściowych m_NOT_INITIALIZED_ERROR - brak inicjalizacji silnika M SmartOrders Uwagi: Rejestracja danego instrumentu jest globalna dla całej aplikacji terminala klienckiego. To znaczy, że jest ona współdzielona pomiędzy Smart Orders oraz wszystkimi skryptami korzystającymi z mLibrary. Oznacza to, że nie jest błędem ponowna rejestracja instrumentu (otrzymany wtedy wynik to m_SUB_ALREADY_SUBSCRIBED). mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 13 6. Funkcja mUnsubscribeInstrument Funkcja wyrejestrowuje określony instrument z możliwości pobierania głębokości rynku. Po jej wywołaniu funkcje mGetDepthOfMarket oraz mGetDepthOfMarketEx nie będą działać. Składnia: 1 int mSubscribeInstrument(string instrumentName); Parametry: instrumentName [in] - nazwa instrumentu, który ma zostać wyrejestrowany z pobierania głębokości rynku Wartość powrotna:¶ m_UNSUB_OK - poprawne wyrejestrowanie instrumentu m_PARAM_ERROR - błąd parametrów wejściowych Uwagi:¶ Rejestracja danego instrumentu jest globalna dla całej aplikacji terminala klienckiego. To znaczy, że jest ona współdzielona pomiędzy Smart Orders oraz wszystkimi skryptami korzystającymi z mLibrary. Oznacza to, że nie jest błędem ponowna rejestracja instrumentu (otrzymany wtedy wynik to m_SUB_ALREADY_SUBSCRIBED). Wyrejestrowanie instrumentu powoduje zawieszenie notowań dla innych skryptów, dlatego powinno być przeprowadzone z uwagą, aby nie wpłynąć na ich działanie. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 14 7. Funkcja mGetDoMSize Funkcja pobiera maksymalną głębokość dla arkusza zleceń. Tablice dla cen oraz wolumenów arkuszy zleceń zwracanych przez mGetDepthOfMarket oraz mGetDepthOfMarketEx powinny mieć długość nie mniejszą niż wartość zwrócona z tej funkcji. Składnia: 1 int mGetDoMSize(); Wartość powrotna: Maksymalna głębokość arkusza zleceń. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 15 8. Funkcja mNotify Funkcja wyświetla okno powiadomienia. Składnia: 1 int mNotify(int icon, string title, string description); Parametry: icon [in] - ikona typu powiadomienia - m_NOTIFY_ICON_NONE - brak ikony - m_NOTIFY_ICON_SUCCESS - ikona powodzenia operacji - m_NOTIFY_ICON_ERROR - ikona błędu - m_NOTIFY_ICON_WARNING - ikona ostrzeżenia - m_NOTIFY_ICON_BUY - ikona zawarcia transakcji kupna - m_NOTIFY_ICON_SELL - ikona zawarcia transakcji sprzedaży title [in] - tytuł powiadomienia description [in] -opis powiadomienia Wartość powrotna: m_NOTIFY_OK - poprawne wyświetlenie okna z powiadomieniem m_NOT_INITIALIZED_ERROR - brak inicjalizacji silnika Smart Orders Uwagi: Umiejscowienie okna z powiadomieniem zależy od ustawień użytkownika wprowadzonych w Smart Orders. mBank S.A. z siedzibą w Warszawie, ul. Senatorska 18, 00-950 Warszawa, zarejestrowany przez Sąd Rejonowy dla m. st. Warszawy, XII Wydział Gospodarczy Krajowego Rejestru Sądowego pod numerem KRS 0000025237, posiadający numer identyfikacji podatkowej NIP: 526-021-50-88, o wpłaconym w całości kapitale zakładowym, którego wysokość wg stanu na dzień 01.01.2016 r. wynosi 168.955.696 złote. Adres do korespondencji: Dom Maklerski mBanku, ul. Wspólna 47/49, 00-950 Warszawa, skr. poczt. 21, tel. 22 697 49 00. 16