Podstawy MetaQuotes Language 4-Typy danych-Reprezentacja typów danych w Forex-Słownik poleceń MQL4 - bossa.pl
2017.10.18, godz. 09:24

Reprezentacja typów danych

W MQL4 są trzy główne typy danych dostępne dla użytkowników: int, double i string, pozostałe typy bool, color, datetime są reprezentowane w systemie, jako typ integer.

 

Przykład:

int (bool,color,datetime);
double;
string

 


Podczas wykonywania operacji na różnych typach zmiennych np. iloczynu liczby reprezentowanej przez typ integer oraz liczby reprezentowanej przez double kompilator konwertuje liczby do postaci największej liczby, czyli w naszym przykładzie wykonuje operacje na liczbach typu double. W przypadku przypisania wyniku obliczeń reprezentowanego przez typ zmiennoprzecinkowy do typu całkowitego, kompilator dokonuje automatycznego rzutownia typu double do typu integer. W tym przypadku należy umiejętnie zaplanować działanie algorytmu obliczeniowego, ponieważ przy rzutowaniu typu double do typu integer tracimy część dziesiętną naszych obliczeń.

 

Przykład:

int i = 1 / 2; // rzutowanie nie jest realizowane, wynik wynosi 0
int i = 1 / 2.0; // podczas obliczeń wyrażenie jest rzutowanie do typu
double, a wynik obliczeń do typu int, wynik wynosi 0
double d = 1.0 / 2.0; // rzutowanie nie jest realizowane, wynik wynosi 0.5
double d = 1 / 2.0; // rzutowanie jest realizowane podczas obliczeń do
double, zmienna wynikowa jest tego samego typu, co obliczenia, wynik 0.5
double d = 1 / 2; // obliczenia są rzutowane do typu double, typ wynikowy to też double, wynik 0.5
string s = 1.0 / 8; // obliczenia są rzutowane do typu double, a wynik jest rzutowany z typu double do typu string, wynik to ciąg znaków "0.12500000" (łańcuch zawierający 10 znaków)
string s = NULL; // stałej typu int (NULL jest typem int) jest rzutowana do typu docelowego string, wynik jest "0" (ciąg znaków o długości 1)
string s = "Ticket #" +12345; // zmienna int jest rzutowane do typu string później następuje dodanie dwóch ciągów znakowych, wynik jest typem string, czyli nie występuje już rzutowanie, wynik to "Ticket # 1234

 


Rzutowanie można stosować zarówno do stałych jak i zmiennych przypisywanych dynamicznie, dostępnych w MQL4.

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.