Hardware i software jurnal.

Miejsce, gdzie każdy może prowadzić swój własny dziennik gry na FX.
Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Re: Hardware i software jurnal.

Nieprzeczytany post autor: mike_05 »

To przepraszam, mnie dopiero za 10 lat to czeka.

_____________________

Kolejny hint związany z zabezpieczeniem swojej pracy.
Niedoskonałość Windozy czasem może spowodować, ze system sie rozsypie. Sam system mozna na wiele sposobów przywrócić, odzyskać z kopii czy punktem przywracania etc. Jednak niektóre błędy powodują to, ze awaria systemu podczas pracy MT4 może spowodować efekt po odzyskaniu Windozy, że nasz aktualny profil, który pracował wyfrunie w powietrze. Pozostaje wtedy żmudne odtwarzanie, bo uruchamiając MT4 mamy: albo żadnego wykresu, albo na każdym, obojętnie co było przedtem, gołe EURUSD1H.

Sposobem na to jest systematyczne aktualizowanie profilu w dwóch egzemplarzach. Czyli wybieramy profil, robimy: "zapisz jako" i zapisujemy pod inną nazwą. MT4 przy zamykaniu ma funkcję zapisywania ostatnich ustawień. Jednak w razie awarii, mogą nie zostać zapisane a tak mamy dwie identyczne kopie i jednym klikiem mamy to, co przed awarią.
Dodatkowo zapisany profil pozwoli wrócić do ustawień wykresów, naniesionych skryptów, obiektów etc.
Zwłaszcza, kiedy sa to konta LIVE i awaria zdarzy się przy niezamkniętych pozycjach.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Synchronizacja zegara systemowego.

Nieprzeczytany post autor: mike_05 »

Wskazania zegara systemowego komputera, niejednokrotnie nie wskazuje poprawnie.
Ważne, aby ustawić automatyczną synchronizację.

Klikając prawą myszką na datę widoczną z prawej strony paska narzędziowego, wybieramy z menu kontekstowego "ustaw date/godzinę".
Wybieramy zakładkę :Czas z internetu.
Widzimy coś takiego (rożne w innych odmianach systemu)
Jeżeli czytamy coś takiego jak na obrazku, ze czas jest ustawiony na automatyczna synchronizację z xxxxxx.xxx.xx, to jest ok. Można tylko sprawdzić, jak to ustawienie pracuje, wybierając "zmień ustawienia".
Klikamy na zakładkę "Aktualizuj teraz". Jeżeli zwrócony jest błąd, zmieniamy wybrany serwer czasu z listy rozwijalnej i ponawiamy. Dotąd zmieniamy, aż system potwierdzi sukces aktualizacji z któregoś serwera.
Zamykamy wszystko i teraz co 24H synchronizacja domyślnie będzie automatyczna jeżeli okienko jest odhaczone.

Inny sposób wymuszenia aktualizacji "teraz", wpisujemy w

menu start -> uruchom-> w32tm /resync
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

pentional
Stały bywalec
Stały bywalec
Posty: 88
Rejestracja: 02 gru 2009, 15:13

Re: Synchronizacja zegara systemowego.

Nieprzeczytany post autor: pentional »

mike_05 pisze:Wskazania zegara systemowego komputera, niejednokrotnie nie wskazuje poprawnie.
Ważne, aby ustawić automatyczną synchronizację.

Klikając prawą myszką na datę widoczną z prawej strony paska narzędziowego, wybieramy z menu kontekstowego "ustaw date/godzinę".
Wybieramy zakładkę :Czas z internetu.
Widzimy coś takiego (rożne w innych odmianach systemu)
Jeżeli czytamy coś takiego jak na obrazku, ze czas jest ustawiony na automatyczna synchronizację z xxxxxx.xxx.xx, to jest ok. Można tylko sprawdzić, jak to ustawienie pracuje, wybierając "zmień ustawienia".
Klikamy na zakładkę "Aktualizuj teraz". Jeżeli zwrócony jest błąd, zmieniamy wybrany serwer czasu z listy rozwijalnej i ponawiamy. Dotąd zmieniamy, aż system potwierdzi sukces aktualizacji z któregoś serwera.
Zamykamy wszystko i teraz co 24H synchronizacja domyślnie będzie automatyczna jeżeli okienko jest odhaczone.

Inny sposób wymuszenia aktualizacji "teraz", wpisujemy w

menu start -> uruchom-> w32tm /resync
Proszę podaj informację, do czego może ta wskazówka zostać wykorzystana, jaki jest sens?
Nie widzę powiązania tematu synchronizacji zegara systemowego z np. MT4.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Re: Hardware i software jurnal.

Nieprzeczytany post autor: mike_05 »

Związek jest. Wiele rozwiązań pobiera czas komputera, nie tylko czas serwera. Czas MT4 jest to ostatni znany czas serwera (czas przychodzącego najnowszego tiku) jako liczba sekund, które upłynęły od 00:00 1 stycznia 1970. Jeżeli kilka sekund tiku nie ma, czas serwera "stoi".
MQL ma funkcje:

GetLocalTime();
GetSystemTime();
GetTimeZoneInformation();

te czasy pobierane są z systemu przez kernel32.dll.
jeżeli jakiś skrypt pracujący potrzebuje tych danych, jest to wtedy istotne.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

pentional
Stały bywalec
Stały bywalec
Posty: 88
Rejestracja: 02 gru 2009, 15:13

Re: Hardware i software jurnal.

Nieprzeczytany post autor: pentional »

Artykuł o modyfikacji serwerów DNS.
Przydatne dla zmiejszenia czasu opóźnienia dla połączeń sieciowych.

http://www.pcworld.pl/news/112297/Chces ... j.DNS.html

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Re: Hardware i software jurnal.

Nieprzeczytany post autor: mike_05 »

Dzięki pentional,
spróbowałem i do serwera mojego broka ze 147 ms zeszło do 114 ms. 22% szybciej.

Mała uwaga dodatkowa, w artykule proponują zmianę dns w ustawieniach karty i rutera, ja po prostu tylko dopisałem te dns-y i przesunąłem w kolejce na początek listy. Mam teraz i te open dns, jaki dns providera.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

pentional
Stały bywalec
Stały bywalec
Posty: 88
Rejestracja: 02 gru 2009, 15:13

Re: Hardware i software jurnal.

Nieprzeczytany post autor: pentional »

Jeśli chodzi o kolejny możliwy sposob na obniżenie opóźnienia, to korzystałem kiedyś z aplikacji (a raczej sterowników) Cfoss.
M. in. mamy możliwość ustawienia pierwszeństwa wysyłanych pakietów dla zdefiniowanych przez nas aplikacji.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Re: Hardware i software jurnal.

Nieprzeczytany post autor: mike_05 »

mike_05 pisze:Dzięki pentional,
spróbowałem i do serwera mojego broka ze 147 ms zeszło do 114 ms. 22% szybciej.

Mała uwaga dodatkowa, w artykule proponują zmianę dns w ustawieniach karty i rutera, ja po prostu tylko dopisałem te dns-y i przesunąłem w kolejce na początek listy. Mam teraz i te open dns, jaki dns providera.
Hint świetny. Przykładowe dane brokerów z czasami pingów. Można skopiować i wklei do pliku hosts.

Kod: Zaznacz cały

50.22.208.149 ecn.fxopen.com                   #114ms
217.74.44.32 demo.alpari.com
67.215.65.132 ibfx-mt4-08.interbankfx.com      #36ms
67.215.65.132 mt4-demo.ibfx.com                #36ms
66.235.180.96 me1d.com                         #120ms Varengold-Varengold Demo Server
217.27.34.42 r-bbone3.lim.thunderworx.net      #94ms Windsor Brokers-Real 
78.47.36.11 w4132365.domainxyz.de              #32ms FXPro
67.215.65.132 mts06.fxdd.com                   #36ms FXDD-MT4 DEMO Server
67.215.65.132 mt4live3.fxdd.com                #36ms FXDD-MT4 Live Server
# 67.151.132.82                                #Forex.com-Live 
#67.151.132.83                                 #Forex.com-Demo
217.74.44.32 demo.alpari.com                   #71ms
Ciekawostka, IBFX i FXDD na tych samych IPs, mają tą samą serwerownie.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Google DNS

Nieprzeczytany post autor: mike_05 »

jeszcze jedna alternatywa dla DNS.
https://developers.google.com/speed/pub ... pl#testing
ps.
użytkownicy Neostrady Livbox2, niestety nie zmienią DNS w ruterze. Nieedytowalne.
Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

Awatar użytkownika
mike_05
Maniak
Maniak
Posty: 1668
Rejestracja: 02 wrz 2010, 11:55

Time

Nieprzeczytany post autor: mike_05 »

Wracając jeszcze do wykorzystania czasu komputera i serwera.

Kod: Zaznacz cały

//+------------------------------------------------------------------+
//|                                                      TimeGMT.mqh |
//|                                               Paul Hampton-Smith |
//|                                               paul1000@pobox.com |
//+------------------------------------------------------------------+
/*


         			   HOW TO USE THE TIMEUTILS LIBRARY
         			   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Place this TimeGMT.mqh file in your experts\include folder and do not compile

Add a line to your EA:

#include <TimeGMT.mqh>

Enable dll calls in MT4 using Tools->Options->Expert Advisers>Allow DLL imports

Functions now available in your EA will be:

datetime TimeGMT() returns GMT at last tick
double TimeZoneLocal() returns local timezone in hours, adjusting for DST
double TimeZoneServer() returns server timezone in hours, adjusting for DST

*/
/////////////////////////////////////////////////////////////////////////////


#import "kernel32.dll"
int  GetTimeZoneInformation(int& TZInfoArray[]);
#import

#define TIME_ZONE_ID_UNKNOWN   0
#define TIME_ZONE_ID_STANDARD  1
#define TIME_ZONE_ID_DAYLIGHT  2

// Local timezone in hours, adjusting for daylight saving
double TimeZoneLocal()
{
	int TZInfoArray[43];

	switch(GetTimeZoneInformation(TZInfoArray))
	{
	case TIME_ZONE_ID_UNKNOWN: 
		Print("Error obtaining PC timezone from GetTimeZoneInformation in kernel32.dll. Returning 0");
		return(0);

	case TIME_ZONE_ID_STANDARD:
		return(TZInfoArray[0]/(-60.0));
	
	case TIME_ZONE_ID_DAYLIGHT:
		return((TZInfoArray[0]+TZInfoArray[42])/(-60.0));
		
	default:
		Print("Unkown return value from GetTimeZoneInformation in kernel32.dll. Returning 0");
		return(0);
	}
}

// Server timezone in hours
double TimeZoneServer()
{
	int ServerToLocalDiffMinutes = (TimeCurrent()-TimeLocal())/60;
	
	// round to nearest 30 minutes to allow for inaccurate PC clock
	int nHalfHourDiff = MathRound(ServerToLocalDiffMinutes/30.0);
	ServerToLocalDiffMinutes = nHalfHourDiff*30;
	return(TimeZoneLocal() + ServerToLocalDiffMinutes/60.0);
}

// Uses local PC time, local PC timezone, and server time to calculate GMT time at arrival of last tick
datetime TimeGMT()
{
	// two ways of calculating
	// 1. From PC time, which may not be accurate
	// 2. From server time. Most accurate except when server is down on weekend
	datetime dtGmtFromLocal = TimeLocal() - TimeZoneLocal()*3600;
	datetime dtGmtFromServer = TimeCurrent() - TimeZoneServer()*3600;

	// return local-derived value if server value is out by more than 5 minutes, eg during weekend
	if (dtGmtFromLocal > dtGmtFromServer + 300)
	{
		return(dtGmtFromLocal);
	}
	else
	{
		return(dtGmtFromServer);
	}	
}

Jeżeli chcesz odnieść sukces, naucz się cenić ludzi.

ODPOWIEDZ