Projekt logowanie ticków

Tu można dyskutować o wszystkich sprawach związanych z rynkiem Forex.
Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Re: Projekt logowanie ticków

Nieprzeczytany post autor: NiceFox »

matka pisze: Nie zgadzam się co do sql, narzut obliczeniowy zbyt duży.
A jakie czasy potrzebujesz?
może :
http://kx.com/software.php
http://nosql-database.org
http://www.codeproject.com/Articles/553 ... t-Data-Pro :mrgreen:

Z SQL łatwo się pracuje, można trzymać części w memory, przyśpiesza prace.
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Re: Projekt logowanie ticków

Nieprzeczytany post autor: matka »

NiceFox pisze:Z SQL łatwo się pracuje, można trzymać części w memory, przyśpiesza prace.
No zależy komu ;) Policz sobie ile operacji, łącznie z dostępowymi do dysku, zajmuje zapisanie jednego rekordu w sql. Wszystko można trzymać w memory, nie tylko sql.
Obrazek
Unfortunately, more to come

Awatar użytkownika
Tilosag
Gaduła
Gaduła
Posty: 90
Rejestracja: 01 wrz 2009, 17:24

Re: Projekt logowanie ticków

Nieprzeczytany post autor: Tilosag »

Wersja "A":
Konto w https://airvpn.org/ (dostęp do kilkudziesięciu serwerów na całym świecie). Klienty MT podpięte przez różne serwery.

Wersja "B":
Jeden aktywista - jeden klient MT.

Logowanie ticków:
Plik tekstowy zawierający kolejne czasy i wartości ticków.
Będzie go bardzo łatwo obrobić po zebraniu wystarczającej ilości danych.
Takie pliki bardzo dobrze się kompresują. Jeżeli zajdzie taka potrzeba to będzie można je tanio przesłać.

Wszystkie komputery muszą mieć regularnie synchronizowany czas.

Synchronizacja danych:
Trzeba je napierw zebrać i zobaczyć czy to w ogóle może wypalić.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Re: Projekt logowanie ticków

Nieprzeczytany post autor: matka »

Tilosag pisze:Trzeba je napierw zebrać i zobaczyć czy to w ogóle może wypalić.
A jeśli ktoś ma już pozbierane i starał się synchronizować czas, to masz jakiś konkretny pomysł? Wyraziłeś te same ogólniki innymi słowami, po co?
Obrazek
Unfortunately, more to come

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Re: Projekt logowanie ticków

Nieprzeczytany post autor: NiceFox »

Kod: Zaznacz cały

Sql_open_db
Sql_insert
Sql_close_db

lub 

Sql_open_db
Sql_statements
Sql_prepare
Sql_bind
Sql_insert
Sql_finalize
Sql_close_db
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Re: Projekt logowanie ticków

Nieprzeczytany post autor: matka »

Bardzo ładnie ;) A teraz ile każda z tych operacji zajmuje cykli procesora i jak przebiega odczyt/zapis na dysku, nie koniecznie na niezdefragmentowanej bazie, niekoniecznie na niezdefragmentowanym dysku?
Obrazek
Unfortunately, more to come

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Re: Projekt logowanie ticków

Nieprzeczytany post autor: NiceFox »

zapisanie 1 tiku poniżej 500 ms z otwarciem i zamknięciem pliku db 100 KB z pięcioma tabelami dla hd 7200 o/min,
przy czym ok 500 ms zajmuje otwarcie db i zamknięcie. Dla dysku SSD czasy są niższe. Ale nie ma potrzeby otwierać i zamykać db po każdym tiku. Sam Insert x 1000 zajmuje ca 350 ms.

A jakie czasy potrzebujesz uzyskać?
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Re: Projekt logowanie ticków

Nieprzeczytany post autor: matka »

To co piszesz powinno wystarczyć. Ja się droczę bardziej na zasadzie "po co armata na muchy?". Oczywiście jednemu łatwej będzie pracować z bazą, innemu z csv. Ja preferuję tam gdzie mogę oszczędzać na okoliczność ewentualnej przyszłej skalowalności. Np. jak chcesz zapisywać wielu brokerów, każdy po kilkaset instrumentów, to mogą pojawić się opóźnienia, które mogą później utrudnić wspomnianą synchronizację. Albo włączy Ci się jakiś serwisowy proces i na chwilę domuli maszynę czy bazę. Jeszcze pytanie: jak później coś robisz z tymi danymi to też bezpośrednio z sql? Bo przy powiedzmy miliardzie przebiegów, nawet z cachem, może zwalniać.
Obrazek
Unfortunately, more to come

Awatar użytkownika
NiceFox
Pasjonat
Pasjonat
Posty: 454
Rejestracja: 05 lis 2009, 13:22

Re: Projekt logowanie ticków

Nieprzeczytany post autor: NiceFox »

W jakim środowisku programistycznym działasz?

do synchronizacji systemów : http://www.worldtimeserver.com/atomic-clock/
matka pisze:Np. jak chcesz zapisywać wielu brokerów, każdy po kilkaset instrumentów, to mogą pojawić się opóźnienia, które mogą później utrudnić wspomnianą synchronizację.
o czymś takim nawet nie myślałem, z SQLite to jak z motyką na księżyc.
matka pisze: Jeszcze pytanie: jak później coś robisz z tymi danymi to też bezpośrednio z sql? Bo przy powiedzmy miliardzie przebiegów, nawet z cachem, może zwalniać.
To zależy od konkretnego zastosowania, jeżeli baza no real time to zapytania bezpośrednio w SQL z gui SQL-a, real time to wrzucam partiami do memory.
Pieniądze rosną na drzewie cierpliwości.

Awatar użytkownika
matka
Pasjonat
Pasjonat
Posty: 642
Rejestracja: 17 lis 2008, 15:53

Re: Projekt logowanie ticków

Nieprzeczytany post autor: matka »

Sam nie programuję. Dużo rzeczy mam w mql4 + biblioteki w c#. Właśnie zauważyłem, że jeden z programów których używam (w javie) korzysta z H2 i to jest sql, ale działa porównywalnie szybko do mt4, przy czym to tylko do backtestów. Tym softem robię właśnie ogromne ilości przebiegów i jakoś to idzie, a nie wydaje mi się żeby zapisywał dane w pamięci. Ticki do tej pory zapisywałem skryptem mql'owym do csv. Jeszcze nic nie robiłem z synchronizacją. Myślę że gdyby użyć tego softu z Twojego linka i synchronizować często, można by zastosować jakieś proste metody, jak choćby usuwanie duplikatów skryptami Birt'a (tickdatasuite). Mogę zapytać co konkretnie Ciebie interesuje do logowania?
Obrazek
Unfortunately, more to come

ODPOWIEDZ