Reptil proszę Cię: weź coś i napisz z wykorzystaniem FIX to pogadamy. Zapewniam Cię: o wiele łatwiej i prościej będzie zrobić cokolwiek w tym wynalazku z XTB niż w FIX'ie.reptile pisze:Po to powstały takie standardy jak FIX,które powinny obowiązywać//
Po pierwsze fix jest bardziej standardem przesyłu danych niż dokładną definicją operacji klient-serwer. Dla 2 brokerów używających FIX (w tej samej wersji) komunikaty robiące to samo (np. wysyłające zlecenie) mogą być zupełnie inne. I za każdym razem będziesz musiał się do nich dostosować - czyli modyfikować program.
Po drugie FIX daje cholerny narzut z racji tego, że wszystko idzie tekstowo. Wiesz ile trzeba przesłać bajtów dla przesłania cen bid/ask ?
To 2 liczby mieszczące się na 16 bajtach (choć można z powodzeniem zapisać je np. na 8 bądź 10). W FIXie te 16 bajtów "rozciągnie" się na wiadomość mającą jakieś 200-300 bajtów. Niezły narzucik co?
To teraz pomyśl: korzystając z FIX aplikacja musi przesłać i zanalizować tak lekko licząc z 15-20 razy więcej danych niż gdyby robiła to wydajnym protokołem. Zwłaszcza musi to nieźle obciążać serwer ....
Po trzecie w fixie nie masz połowy tego co Ci jest potrzebne. Nie masz z reguły np. informacji o tym jakie masz aktualnie otwarte pozycje. Po crashu aplikacji masz więc problem. Oczywiście możesz się z nim uporać: prosząc serwer by ponownie wysłał wszystkie komunikaty "z przeszłości" od jakiegoś tam miejsca i na ich podstawie odtwarzasz co się działo i jaką pozycję masz aktualnie otwartą. Super nie ?
Nie masz również np. historii kwotowań symbolu. Ba: są brokerzy gdzie nawet nie masz samych kwotowań na bieżąco
Z sensownych zastosowań fix'a to słyszałem jedynie o FXCM gdzie rozbudowano znacznie fixa dodając dużo dodatkowych rzeczy. Ale to oczywiście poza standardem ....
No i nie ma co oczekiwać, że XTB czy inny brok mt4 nagle wyskoczy z FIXem. To byłoby bez sensu: zlecenia i tak są kierowane do serwera mt4 a ten "nie gada w fixie". Prościej więc zrobić bramkę serwer mt4->api "nie fixowe" bo można się dostosować dokładnie do tego co serwer udostępnia przez swoje api, zamiast kombinować jak to przełożyć na FIXA. Zwłaszcza, że dla wielu rzeczy mt4 nie ma gotowych odpowiedników w FIXie i należałoby tworzyć jakieś nowe komunikaty fixa. W efekcie otrzymalibyśmy jakiegoś potwora: komunikującego się w FIXie ale nie kompatybilnego z niczym. Więc jaki sens ?