- Bossafx.pl
- Edukacja
- Automatyzacja handlu MQL4
- Funkcje MQL4
- Pozostałe funkcje wspólne
Alert
Wyświetla okno dialogowe z danymi zdefiniowanym przez użytkownika. Wartości wyświetlane, przekazywane jako parametry funkcji mogą być dowolnego typu z wyjątkiem tablic, które mogą być przekazywane, tylko jako pojedyncze wartości określone indeksem tablicy. W celu bardziej czytelnego prezentowania danych zaleca się wykorzystanie funkcji konwertujących i formatujących. Do sformatowania zmiennych typu double można wykorzystać funkcję DoubleToStr(). Dane typu bool, datetime i kolor będą automatycznie konwertowane do wartości numerycznej i prezentowane jako wartość tekstowa, łańcuchowa. Do sformatowania wartości typu datetime możemy wykorzystać funkcję TimeToStr(). Liczba przekazywanych do funkcji pojedynczych zmiennych, ciągów znaków, oddzielonych przecinkami nie może być większa niż 64 parametry.
Składnia:
void Alert(param1,param2,param3,…)
Parametry
param1, param2, param3..., – parametry wyświetlane jako tekst
Wartość zwracana
brak
Przykłady:
if (Close[0] > SignalLevel)
alert( "Cena zamknięcia większa od SignalLevel",Close[0],"!!!");
Comment
Wyświetla komentarz tekstowy w lewym górnym rogu wykresu. Wartości wyświetlane, przekazywane jako parametry funkcji mogą być dowolnego typu z wyjątkiem tablic, które mogą być przekazywane, ale tylko jako pojedyncze wartości określone indeksem tablicy.
W celu bardzie czytelnego prezentowania danych zaleca się wykorzystanie funkcji konwertujących i formatujących. Do sformatowania zmiennych typu double można wykorzystać funkcję DoubleToStr(). Dane typu bool, datetime i kolor będą automatycznie konwertowane do wartości numerycznej i prezentowane jako wartość tekstowa, łańcuchowa. Do sformatowania wartości typu datetime możemy wykorzystać funkcję TimeToStr(). Liczba przekazywanych do funkcji pojedynczych zmiennych, ciągów znaków, oddzielonych przecinkami nie może być większa niż 64 parametry.
Składnia:
void Comment(param1,param2,param3,…)
Parametry
param1, param2, param3..., – parametry wyświetlane jako tekst
Wartość zwracana
brak
Przykład:
double free_margin = AccountFreeMargin();
Comment( "Dostępny margines zabezpieczający ",DoubleToStr(free_margin, 2),
"\n","Aktualny czas ",TimeToStr(TimeCurrent()))
GetTickCount
Funkcja zwraca liczbę milisekund, które upłynęły od czasu uruchomienia zegara systemowego i jest ograniczona do zakresu zegara systemu operacyjnego.
Składnia:
int GetTickCount()
Parametry
Brak
Wartość zwracana
Czas w milisekundach
Przykład:
int start = GetTickCount(); // pobiera aktualny czas
…// dowolny kod
Print("Czas wykonania kodu aplikacji ",GetTickCount()-start,"ms.");
MarketInfo
Funkcja zwraca informacje na temat danego instrumentu, którego pierwszym parametrem jest symbol instrumentu. Drugi parametr to predefiniowana zmienna określająca jakie informacje będą zwracane przez funkcję (zobacz opis w punkcie stałe identyfikatory funkcji MarketInfo).
Składnia:
double MarketInfo( string symbol, int type)
Parametry
symbol – nazwa symbolu
type - identyfikator zmiennej określającej informacje, które będą zwracane
Wartość zwracana
Wartość zależna od identyfikatora type
Przykład:
double bid = MarketInfo(EURUSD, MODE_BID);
double ask = MarketInfo(EURUSD, MODE_ASK);
double point = MarketInfo(EURUSD, MODE_POINT);
int digits = MarketInfo(EURUSD, MODE_DIGITS);
int spread = MarketInfo(EURUSD, MODE_SPREAD);
MessageBox
Funkcji MessageBox wyświetla okienko z komunikatem tekstowym. Okno komunikatu może zawierać określone przez użytkownika ikony oraz przyciski. Funkcja zwraca określone predefiniowaną wartość kodu powrotu zależnego od tego jaki przycisk został wybrany. Funkcja nie jest typową funkcją języka MQL, tylko funkcją WinAPI wywoływaną z poziomu kodu MQL jako funkcja importowa, dlatego konieczne jest wskazanie biblioteki zewnętrznej określonej w pliku nagłówkowym WinUser32.mqh.
Składnia:
int MessageBox( string text=NULL, string caption=NULL, int flags=EMPTY)
Parametry
text – wartość tekstowa wyświetlana w okienku
caption – nazwa w nagłówku okienka dialogowego
flag – parametr określający parametry okienka ikony oraz przyciski
Wartość zwracana
Kod identyfikujący przycisk który został wybrany w okienku
Przykład:
#include <WinUser32.mqh>
if(ObjectCreate( "text_object" OBJ_TEXT, 0, D 2004 .02.20 12:30, 1,0045) ==
false)
{
int ret = MessageBox("ObjectCreate() funkcja zwróciła " + GetLastError() +
"błąd \nKontynuować?", "Pytanie" MB_YESNO | MB_ICONQUESTION)
if (ret == IDNO) return (false);) // kontynuu
PlaySound
Funkcja odtwarza plik dźwiękowy. Plik musi znajdować się w katalogu terminal_dir\sounds lub w jego podkatalogach.
Składnia:
void PlaySound( string filename )
Parametry
filename – scieżka do pliku dźwiękowego
Wartość zwracana
brak
Przykład:
if(IsDemo()) PlaySound( "alert.wav")
Wyświetla komentarz tekstowy w dzienniku logów. Wartości wyświetlane, przekazywane jako parametry funkcji mogą być dowolnego typu z wyjątkiem tablic, które mogą być przekazywane, ale tylko jako pojedyncze wartości określone indeksem tablicy.
W celu bardzie czytelnego prezentowania danych zaleca się wykorzystanie funkcji konwertujących i formatujących. Do sformatowania zmiennych typu double można wykorzystać funkcję DoubleToStr(). Dane typu bool, datetime i kolor będą automatycznie konwertowane na wartości numerycznej i prezentowane jako wartość tekstowa, łańcuchowa. Do sformatowania wartości typu datetime możemy wykorzystać funkcję TimeToStr(). Liczba przekazywanych do funkcji pojedynczych zmiennych, ciągów znaków, oddzielonych przecinkami nie może być większa niż 64 parametry.
Składnia:
boid Print(param1,param2,param3,…)
Parametry
Wartość zwracana
brak
Przykład:
// wyświetla wartość dostępnego kapitału zabezpieczającego
double free_margin = AccountFreeMargin();
Print( "Dostępny margines zabezpieczający ",DoubleToStr(free_margin, 2),
"\n","Aktualny czas ",TimeToStr(TimeCurrent()));
// wyświetla wartość liczby pi
double pi = 3.141592653589793;
Print("Liczba PI ",DoubleToStr(pi, 8))
// wyświetla zmienne z tablicy ceny zamknięcia
for (int i = 0; i <10; i + +)
Print(Close[i]
SendFTP
Funkcja wysyła plik na serwerze FTP określony w konfiguracji aplikacji terminala Narzędzia -> Opcje -> Publikacje. Jeśli próba się nie powiedzie, to funkcja zwraca wartość FALSE. Funkcja nie działa w trybie testowania strategii. Pliki do wysłania muszą być przechowywane w terminal_directory\experts\files lub jego podkatalogów. Funkcja zwróci błąd, jeśli nie ma a dresu FTP i/lub hasła dostępu określonych w konfiguracji terminala.
Składnia:
bool SendFTP( string filename, string ftp_path=NULL)
Parametry
filename – nazwa pliku do umieszczenia na serwerze FTP
ftp_path –opcjonalna ścieżka do serwera FTP
Wartość zwracana
true – jeśli prawidłowo wysłane na serwer FTP
fasle – jeśli nie prawidłowo wysłane na serwer FTP
Przykład:
int lasterror = 0;
if( !SendFTP ("raport.txt"));
lasterror = GetLastError()
SendMail
Wysyła wiadomość e-mail z wykorzystaniem parametrów konta użytkownika określonych w parametrach terminala Narzędzia -> Opcje -> email. Aby uzyskać szczegółowe informacje o błędach wysyłania email, należy użyć funkcji GetLastError().
Składnia:
void SendMail( string subject, string some_text)
Parametry
subject – temat email
some_text - treści wiadomości
Wartość zwracana
brak
Przykład:
double cena_zamkniecia = Close[0];
if (cena_zamkniecia < my_signal)
sendmail( "Wysłane przez EA", "Cena niższa od wartości sygnału " +
DoubleToStr(cena_zamkniecia, 4))
Sleep
Funkcja wstrzymuje wykonanie bieżącego programu na określony czas.
Składnia:
void Sleep( int milisekundy )
Parametry
milisekundy – czas wstrzymania programu podany w milisekundach
Wartość zwracana
brak
Przykład:
… / dowolny kod
Sleep(10000); // Czekać 10 sekund
… / dowolny kod
Niniejszy materiał, przygotowany przez DM BOŚ S.A. ma charakter wyłącznie informacyjny, prezentowany jest w celach edukacyjnych i nie stanowi porady prawnej oraz nie jest rekomendacją osobistą w ramach świadczenia usługi doradztwa inwestycyjnego zgodnie z przepisami prawa. DM BOŚ S.A. nie udziela gwarancji dokładności, aktualności, oraz kompletności niniejszych informacji. Zaleca się przeprowadzenie we własnym zakresie niezależnego przeglądu informacji z niniejszego materiału.