http://bossa.pl/index.jsp?layout=2&page ... at_id=1059
To można już robota na jakimś VPSie zapodać w bosiu:)
RM.
mirobe napisał(a):http://bossa.pl/index.jsp?layout=2&page=0&news_cat_id=1059
To można już robota na jakimś VPSie zapodać w bosiu:)
RM.
p4wgpw napisał(a):Olaf ja na pewno będę próbował coś napisać, szczerze mówiąc już siedzę i kombinuję :)
olaf napisał(a):p4wgpw napisał(a):Olaf ja na pewno będę próbował coś napisać, szczerze mówiąc już siedzę i kombinuję :)
Zaraz sprobuje zainstalowac tego BossaTradera.
p4wgpw napisał(a):Jak dla mnie aplikacyjka BossaTrader i dołączona biblioteka nolclientapi.dll są bezużyteczne głównie z tego powodu że biblioteka jest zamknięta więc nie mogę sam jej rozszerzyć jeśli napotkam na jakąś brakującą funkcję.
W takim wypadku jedynym sensownym wyjściem wydaje się być użycie bossaAPI - FIXML. Zrobiłem pierwszy krok w tym kierunku, wydaje się to być całkiem proste. Poniżej kawałek kodu w C# umożliwiający zalogowanie do NOL3, może komuś się przyda do szybszego startu :)
- Kod: Zaznacz wszystko
//odczytanie parametrów podłączenia do socketa z rejestru
RegistryKey regKey = Registry.CurrentUser.CreateSubKey("Software\\COMARCH S.A.\\NOL3\\7\\Settings");
int nca_pasync = 0;
int.TryParse(regKey.GetValue("nca_pasync", "0").ToString(), out nca_pasync);
int nca_psync = 0;
int.TryParse(regKey.GetValue("nca_psync", "0").ToString(), out nca_psync);
int ncaset_pasync = 0;
int.TryParse(regKey.GetValue("ncaset_pasync", "0").ToString(), out ncaset_pasync);
int ncaset_psync = 0;
int.TryParse(regKey.GetValue("ncaset_psync", "0").ToString(), out ncaset_psync);
//otwarcie socketa synchronicznego
IPEndPoint ipEndSync = new IPEndPoint(IPAddress.Parse("127.0.0.1"), nca_psync);
Socket clientSockSync = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP);
clientSockSync.Connect(ipEndSync);
//komunikat Login
string loginReq = "<FIXML v=\"5.0\" r=\"20080317\" s=\"20080314\"><UserReq UserReqID=\"0\" UserReqTyp=\"1\" Username=\"BOS\" Password=\"BOS\"/></FIXML>";
byte[] loginReqByte = Encoding.ASCII.GetBytes(loginReq);
byte[] loginReqLen = BitConverter.GetBytes(loginReqByte.Length);
clientSockSync.Send(loginReqLen);
clientSockSync.Send(loginReqByte);
//odebranie potwierdzenia
byte[] responceData = new byte[4];
int receivedBytesLen = clientSockSync.Receive(responceData);
int responceDataLen = BitConverter.ToInt32(responceData, 0);
responceData = new byte[responceDataLen];
receivedBytesLen = clientSockSync.Receive(responceData);
string loginResponce = Encoding.ASCII.GetString(responceData);
p4wgpw napisał(a):Relacja moich prac :)
Zakończyłem fazę testów API BOSSy, biorę się teraz za coś konkretnego
Poniżej zrzut mojego okna służącego do testów, widać na nim mniej więcej co oferuje API. Oczywiście to czego API nie oferuje można zrobić "na zewnątrz" (np. pociągnąć notowania z metastocka i namalować wykres).
olaf napisał(a):Niewiem czy zuwazyles, ale w piatek po publikacji danych (zrobil sie dosyc duzy ruch na rynku) mialem spore opoznienie w przekazywaniu informacji pomiedzy NOL a BossaTrader.
A moze tylko u mnie...
p4wgpw napisał(a):No to jeszcze jeden obrazek bo przez jakiś czas nie przewiduję zmian w interfejsie. Dołożyłem m.in. możliwość składania zleceń oraz anulowania za pomocą dodatkowych przycisków na liście.
Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 0 gości