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