Słownik poleceń MQL4-Funkcje MQL4-Funkcje daty i czasu w Edukacja-Forex - bossa.pl
2017.12.17, godz. 03:29
baner_ZAGRANICA_479x59_B.jpg
kontakt

Funkcje daty i czasu

Data i czas występuje na każdym wykresie analizowanych danych, dlatego dla ułatwienie w MQL4 zaimplementowane zostało szereg funkcji operujących na dacie i czasie.

Należy pamiętać, że cała platforma transakcyjna operuje na dacie tzw. Unix (przyjętej w systemie Unix) czyli pomiar czasu w sekundach zaczyna się od godziny 00:00 dnia 1 stycznia 1970r.


Year


Funkcja zwraca numer bieżącego roku w postaci liczbowej, korzystając z daty serwera brokera.
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

int y=TimeYear(TimeCurrent());

 

 

Month

Funkcja zwraca miesiąc, korzystając z daty serwera brokera. Miesiące liczone są od jeden (1 - styczeń,1,2,3,…,12).


Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli pierwsza połowa roku
if( Month() <= 5)
return("Pierwsza połowa roku")

 

 

Day



Funkcja zwraca numer aktualnego dnia miesiąca, korzystając z daty serwera brokera.
Uwaga! W Testerze strategii data jest wyliczana.

 

 

Przykład:

// Jeśli sobota to wyjście z funkcji
if(Day()<5) return(0)

 

 

DayOfWeek


Funkcja zwraca numer aktualnego dnia tygodnia, korzystając z daty serwera brokera. Dni liczone są od zera (0-niedziela,1,2,3,4,5,6).
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli dni wolne od handle to wyjście z funkcji
if( DayOfWeek()==0 || DayOfWeek()==6 ) return(0);

 


DayOfYear


Funkcja zwraca numer aktualnego dnia roku, korzystając z daty serwera brokera. Dni liczone są od jeden (1 - 1 stycznia)
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli 245 dzień roku to wychodzimy z funkcji z kodem prawda
if( DayOfYear()==245 ) return(true)

 

 

Hour


Funkcja zwraca godzinę, korzystając z daty serwera brokera. Godziny liczone są od zera (0,1,2,3,…,23).
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli przerwa 1 godzinna
bool czy_przerwa = false;
if( Hour() >= 12 || Hour() < 13)
czy_przerwa=true

 

 

Minute


Funkcja zwraca minuty, korzystając z daty serwera brokera. Minuty liczone są od zera (0,1,2,3,…,23).
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli pierwsze 15 minut w godzinie
if( Minute() <= 15)
return("pierwsze 15 minut z całej godziny");

 

 

Seconds


Funkcja zwraca ilość sekund, jakie upłynęły w danej minucie, korzystając z daty serwera brokera.
Uwaga! W Testerze strategii data jest wyliczana.

 

Przykład:

// Jeśli liczba sekund w minucie mniejsza niż 15 to wychodzimy z funkcji
if(Seconds()<=15)
return(0);

 

TimeCurrent

 

Funkcja zwraca ostatni znany czas serwera (czas ostatnich kwotowań) w postaci liczby sekund, jakie upłynęły od 00:00 1 stycznia 1970r (typ datetime).

Uwaga! W Testerze strategii, data jest wyliczana.

 

Przykład:

if(TimeCurrent()-OrderOpenTime()<360) return(0)

 

 

TimeYear

Funkcja zwraca numer bieżącego roku w postaci liczbowej, korzystając z daty serwera brokera. Zwracana wartość może znajdować się w przedziale od 1970 do 2037.

 

Składnia:

int TimeYear( datetime time )

Parametry
time - czas w formacie Unix

Wartość zwracana
numer roku na podstawie daty podawanej, jako parametr wywołania funkcji

 

 

Przykład:

int year = TimeYear(TimeCurrent());

 

TimeDay


Funkcja zwraca numer dnia w miesiącu na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przemiału 1 do 31.

 

 

Składnia:

int TimeDay( datetime date )

Parametry
date - czas w formacie Unix

Wartość zwracana
numer dnia w miesiącu

 

 

Przykład:

int day=TimeDay(D'2009.12.31');
// numer dnia to 31

 

 

TimeDayOfWeek

 

Funkcja zwraca numer dnia w tygodniu na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału, gdzie 0 oznacza niedziela, a 1,2,3,4,5,6 - kolejne dni tygodnia.

 

Składnia:

int TimeDayOfWeek( datetime time )

Parametry
time - czas w formacie Unix

Wartość zwracana
numer dnia w tygodniu

 

 

Przykład:

int weekday=TimeDayOfWeek(D'2009.3.11');
// numer dnia to 2 - środa

 

TimeDayOfYear

Funkcja zwraca numer dnia w roku na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału, gdzie 1 - oznacza 1 stycznia, kolejne liczby do 365 odowiadają kolejnym dniom w roku.

 

Składnia:

int TimeDayOfYear( datetime time )
Parametry
time - czas w formacie Unix
Wartość zwracana
numer dnia w roku

 

 

Przykład:

int day = TimeDayOfYear( TimeCurrent() );
// aktualny dzień w roku

 

 

TimeHour


Funkcja zwraca numer godziny na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału 0 do 23.

 

 

Składnia:

int TimeHour( datetime time )
Parametry
time - czas w formacie Unix
Wartość zwracana
numer godziny

 

 

Przykład:

int h=TimeHour(TimeCurrent());
// zwraca aktualną wartość numeryczną godziny, czyli po prostu godzinę

 

TimeLocal

Funkcja zwraca czas lokalny komputera, jako liczbę sekund, które upłynęły od 00:00 1 stycznia 1970.

Uwaga! Podczas testów, czas lokalny jest wyznaczany przez tester.

 

Składnia:

Parametry
time - czas w formacie Unix
Wartość zwracana
numer roku na podstawie daty podawanej, jako parametr wywołania funkcji

 

 

Przykład:

if(TimeLocal()-OrderOpenTime()<360) return(0);

 

 

TimeMinute

Funkcja zwraca numer minuty na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału 0 do 59.

 

Składnia:

int TimeMinute( datetime time )
Parametry
time - czas w formacie Unix
Wartość zwracana
numer minuty w godzinie

 

 

Przykład:

int m=TimeMinute(TimeCurrent());

 

 

TimeMonth

Funkcja zwraca numer miesiąca na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału 1 do 12.

 

Składnia:

int TimeMonth( datetime time )
Parametry
time - czas w formacie Unix
Wartość zwracana
numer miesiąca w roku

 

 

Przykład:

int m=TimeMonth(TimeCurrent());

 

 

TimeSeconds

 

Funkcja zwraca liczbę sekund w danej minucie na podstawie podanej daty w formacie Unix. Zwracana wartość jest z przedziału 0 do 50.

 

Składnia:

int TimeSeconds( datetime time )
Parametry
time - czas w formacie Unix
Wartość zwracana
liczba sekund w minucie

 

 

Przykład:

int m=TimeSeconds(TimeCurrent());

 

bos bank logo
Grupa kapitałowa
Nagroda specjalna i tytuł BROKERA ROKU 2015
Nagroda specjalna i tytuł BROKERA
ROKU 2015, przyznane przez GPW.

logo_FMR2017aktualny.jpg Finansowa Marka Roku: wyrazista marka promująca edukację, umocnienie pozycji lidera rynku kontraktów terminowych.

nagroda najlepszy dom maklerski 2015
Najwyższa ocena dla DM BOŚ w ankiecie czytelników Gazety Giełdy Parkiet 2015r.