Wbudowane wskaźniki analizy technicznej

W terminalu MetaTrader dostępny jest szereg wbudowanych wskaźników analizy technicznej, które dostępne są też z poziomu języka MQL4. Wskaźniki te mogą być używane w każdym typie aplikacji MQL4, czyli z EA, wskaźnikami własnymi, skryptami, bibliotekami.
Podczas próby dostępu do wyliczeń wskaźnika dla danych z innych wykresów może wystąpić sytuacja, że wykres nigdy wcześniej nie był otwierany i nie ma danych historycznych do obliczeń. Wówczas wygenerowany zostanie błąd o kodzie ERR_HISTORY_WILL_UPDATED (4066 – wymagane dane muszą zostać zaktualizowane).

iAC

Wyznacza wartość oscylatora Billa Williamsa Accelerator/Decelerator i zwraca jego wartość.

Składnia

double iAC( string symbol, int timeframe, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iAC(NULL, 0, 1);

iAD

Wyznacza wartość wskaźnika Accumulation/Distribution i zwraca jego wartość.

Składnia:

double iAD( string symbol, int timeframe, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iAD(NULL, 0, 1);

iAlligator

Wyznacza wartość wskaźnika Bill Williams Alligator i zwraca jego wartość.

Składnia:

double iAlligator( string symbol, int timeframe, int jaw_period, int
jaw_shift, int teeth_period, int teeth_shift, int lips_period, int
lips_shift, int ma_method, int applied_price, int mode, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
jaw_period – ilość słupków dla średniej, niebieskiej linii (szczęka
aligatora)
jaw_shift – przesunięcie dla średniej, niebieskiej linii
teeth_period - okres dla średniej, czerwonej linii (zęby aligatora)
teeth_shift – przesunięcie dla średniej, czerwonej linii
lips_period - okres dla średniej, zielonej linii (usta aligatora)
lips_shift – przesunięcie dla średniej, zielonej linii
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_GATORJAW – niebieska linia, szczęka aligatora
MODE_GATORTEETH – czerwona linia, zęby aligatora
MODE_GATORLIPS – zielona linia, usta aligatora
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double jaw_wynik = iAlligator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA,
PRICE_MEDIAN, MODE_GATORJAW, 1)

iADX

Wyznacza wartość indeksu ruchu Momentum i zwraca jego wartość.

Składnia:

double iADX( string symbol, int timeframe, int period, int applied_price,
int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_MAIN - podstawowa linia wskaźnika
MODE_PLUSDI - linia wskaźnika +DI
MODE_MINUSDI - linia wskaźnika –DI
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iADX(NULL,0,14,PRICE_HIGH,MODE_MAIN,0)>iADX(NULL,0,14,PRICE_HIGH,MODE_PL
USDI,0)) return(0)

iATR

Wyznacza wartość Average True Range i zwraca jego wartość.

Składnia:

double iATR( string symbol, int timeframe, int period, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iATR(NULL,0,12,0)>iATR(NULL,0,20,0)) return(0)

iAO

Wyznacza wartość Bill Williams Awesome Oscillator i zwraca jego wartość.

Składnia

double iAO( string symbol, int timeframe, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iAO(NULL, 0, 2)

iBearsPower

Wyznacza wartość wskaźnika BearPower i zwraca jego wartość.

Składnia:

double iBearsPower( string symbol, int timeframe, int period, int
applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iBearsPower(NULL, 0, 13,PRICE_CLOSE,0);
 

iBands

Wyznacza wartość wskaźnika Bollingera Bands i zwraca jego wartość.

Składnia:

double iBands( string symbol, int timeframe, int period, int deviation, int
bands_shift, int applied_price, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
deviation – odchylenie od głównej linii wskaźnika
bands_shift – przesunięcie względne od liczonych wartości wykresu
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iBands(NULL,0,20,2,0,PRICE_LOW,MODE_LOWER,0)>Low[0]) return(0)
 

iBandsOnArray

Wyznacza wartość wskaźnika Bollinger Bands na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych z wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).
 

Składnia:

double iBandsOnArray( double array[], int total, int period, int deviation,
int bands_shift, int mode, int shift)
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
period – ilość słupków dla średniej
deviation – odchylenie od głównej linii wskaźnika
bands_shift – przesunięcie względne od liczonych wartości wykresu
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona następująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iBands(ExtBuffer,total,2,0,MODE_LOWER,0)>Low[0]) return(0);

iBullsPower

Wyznacza wartość wskaźnika BullsPower i zwraca jego wartość.

Składnia:

double iBullsPower( string symbol, int timeframe, int period, int
applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iBullsPower(NULL, 0, 13,PRICE_CLOSE,0)

iCCI

Wyznacza wartość Commodity Chanel Index i zwraca jego wartość.

Składnia:

double iCCI( string symbol, int timeframe, int period, int applied_price,
int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period - ilość słupków dla średniej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iCCI(NULL,0,12,PRICE_TYPICAL,0)>iCCI(NULL,0,20,PRICE_TYPICAL,0))
return(0)

iCCIOnArray

Wyznacza wartość Commodity Channel Index na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).

Składnia:

double iCCIOnArray( double array[], int total, int period, int shift)
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
period – ilość słupków dla średniej
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iCCIOnArray(ExtBuffer,total,12,0)>iCCI(NULL,0,20,PRICE_TYPICAL, 0))
return(0);

iDeMarker

Wyznacza wartość wskaźnika DeMarker i zwraca jego wartość.
 

Składnia

double iDeMarker( string symbol, int timeframe, int period, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double val=iDeMarker(NULL, 0, 13, 1);
 

iEnvelopes

Wyznacza wartość wskaźnika Envelopes i zwraca jego wartość.

Składnia:

double iEnvelopes( string symbol, int timeframe, int ma_period, int
ma_method, int ma_shift, int applied_price, double deviation, int mode, int
shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
means the current chart timeframe.
ma_period - ilość słupków dla średniej
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
ma_shift – przesunięcie linii średniej w stosunku do wykresu głównego
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
deviation - procentowe odchylenie od linii głównej
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku
double wynik = iEnvelopes(NULL, 0,

Przykład:

13,MODE_SMA,10,PRICE_CLOSE,0.2,MODE_UPPER,0)

iForce

Wyznacza wartość wskaźnika Force i zwraca jego wartość.

Składnia:

double iForce( string symbol, int timeframe, int period, int ma_method, int
applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iForce(NULL, 0, 13,MODE_SMA,PRICE_CLOSE,0)

iFractals

Wyznacza wartość wskaźnika Fractals i zwraca jego wartość.

Składnia:

double iFractals( string symbol, int timeframe, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iFractals(NULL, 0, MODE_UPPER, 3);

iGator

Wyznacza wartość oscylatora Gator.

Składnia:

double iGator( string symbol, int timeframe, int jaw_period, int jaw_shift,
int teeth_period, int teeth_shift, int lips_period, int lips_shift, int
ma_method, int applied_price, int mode, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
jaw_period – ilość słupków dla średniej, niebieskiej linii (szczęka
aligatora)
jaw_shift – przesunięcie dla średniej, niebieskiej linii
teeth_period - okres dla średniej, czerwonej linii (zęby aligatora)
teeth_shift – przesunięcie dla średniej, czerwonej linii
lips_period - okres dla średniej, zielonej linii (usta aligatora)
lips_shift – przesunięcie dla średniej, zielonej linii
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_UPPER - górna linia
MODE_LOWER - dolna linia
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku
double jaw_ wynik = iGator(NULL, 0, 13, 8, 8, 5, 5, 3, MODE_SMMA,

Przykład:

PRICE_MEDIAN, MODE_UPPER, 1)

iIchimoku

Wyznacza wartość wskaźnika Ichimoku Kinko Hyo i zwraca jego wartość.

Składnia:

double iIchimoku( string symbol, int timeframe, int tenkan_sen, int
kijun_sen, int senkou_span_b, int mode, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
shift – przesunięcie względem aktualnego numeru słupka
tenkan_sen – ilość słupków dla średniej Tenkan Sen
kijun_sen – ilość słupków dla średniej Kijun Sen
senkou_span_b - ilość słupków dla średniej Senkou SpanB
mode – typ liczonej wartości wskaźnika:
MODE_TENKANSEN - linia Tenkan-sen
MODE_KIJUNSEN - linia Kijun-sen
MODE_SENKOUSPANA - linia Senkou Span A
MODE_SENKOUSPANB - linia Senkou Span B
MODE_CHINKOUSPAN - linia Chinkou Span
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double tenkan_sen_ wynik = iIchimoku(NULL, 0, 9, 26, 52, MODE_TENKANSE

iBWMFI

Wyznacza wartość indeksu Bill Williams Market Facilitation Index i zwraca jego wartość.

Składnia:

double iBWMFI( string symbol, int timeframe, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iBWMFI(NULL, 0, 0);

iMomentum

Wyznacza wartość wskaźnika Momentum i zwraca jego wartość.

Składnia:

double iMomentum( string symbol, int timeframe, int period, int
applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków do wyznaczenia zmienności ceny
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iMomentum(NULL,0,12,PRICE_CLOSE,0)>iMomentum(NULL,0,20,PRICE_CLOSE,0))

iMomentumOnArray

Wyznacza wartość wskaźnika Momentum na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej, czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).

Składnia:

double iMomentumOnArray( double array[], int total, int period, int shift )
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
period – ilość słupków do wyznaczenia zmienności ceny
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iMomentumOnArray(mybuffer,100,12,0)>iMomentumOnArray(mubuffer,100,20,0))
return(0);

iMFI

Wyznacza wartość wskaźnika MFI i zwraca jego wartość.

Składnia:

double iMFI( string symbol, int timeframe, int period, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period - ilość słupków dla wyznaczenia wartości wskaźnika
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iMFI(NULL,0,14,0)>iMFI(NULL,0,14,1)) return(0);

iMA

Wyznacza wartość wskaźnika MA i zwraca jego wartość.

Składnia:

double iMA( string symbol, int timeframe, int period, int ma_shift, int
ma_method, int applied_price, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
ma_shift – przesunięcie linii wskaźnika w stosunku do wykresu głównego
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona następująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

AlligatorJawsBuffer[i]=iMA(NULL,0,13,8,MODE_SMMA,PRICE_MEDIAN,i)

iMAOnArray

Wyznacza wartość wskaźnika MA na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej, czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).

Składnia:

double iMAOnArray( double array[], int total, int period, int ma_shift, int
ma_method, int shift)
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
period – ilość słupków dla średniej
ma_shift – przesunięcie linii wskaźnika w stosunku do wykresu głównego
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double macurrent = iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,0);
double macurrentslow = iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,0);
double maprev = iMAOnArray(ExtBuffer,0,5,0,MODE_LWMA,1);
double maprevslow = iMAOnArray(ExtBuffer,0,10,0,MODE_LWMA,1);
if( maprev<maprevslow && macurrent>=macurrentslow)
Alert("przecięcie średnich");

iOsMA

Wyznacza wartość oscylatora Osma i zwraca jego wartość.

Składnia:

double iOsMA( string symbol, int timeframe, int fast_ema_period, int
slow_ema_period, int signal_period, int applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
fast_ema_period – ilość słupków dla średniej szybkiej
slow_ema_period – ilość słupków dla średniej wolnej
signal_period – ilość słupków dla średniej sygnałowej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iOsMA(NULL,0,12,26,9,PRICE_OPEN,1)>iOsMA(NULL,0,12,26,9,PRICE_OPEN,0))
return(0);

iMACD

Wyznacza wartość wskaźnika MACD i zwraca jego wartość.

Składnia:

double iMACD( string symbol, int timeframe, int fast_ema_period, int
slow_ema_period, int signal_period, int applied_price, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
fast_ema_period – ilość słupków dla średniej szybkiej
slow_ema_period – ilość słupków dla średniej wolnej
signal_period – ilość słupków dla średniej sygnałowej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
mode – typ liczonej wartości wskaźnika:
MODE_MAIN - główna linia wskaźnika
MODE_SIGNAL - linia sygnałowa wskaźnika
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iMACD(NULL,0,12,26,9,PRICE_CLOSE,MODE_MAIN,0)>iMACD(NULL,0,12,26,9,PRICE
_CLOSE,MODE_SIGNAL,0)) return(0);

iOBV

Wyznacza wartość wskaźnika OBV i zwraca jego wartość.

Składnia:

double iOBV( string symbol, int timeframe, int applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iOBV(NULL, 0, PRICE_CLOSE, 1);
 

iSAR

Wyznacza wartość wskaźnika SAR i zwraca jego wartość.

Składnia:

double iSAR( string symbol, int timeframe, double step, double maximum, int
shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
step – krok, domyślnie 0.02
maximum – maksymalna wartość, domyślnie 0.2
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iSAR(NULL,0,0.02,0.2,0)>Close[0]) return(0);

iRSI

Wyznacza wartość wskaźnika RSI i zwraca jego wartość.

Składnia:

double iRSI( string symbol, int timeframe, int period, int applied_price,
int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla średniej
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iRSI(NULL,0,14,PRICE_CLOSE,0)>iRSI(NULL,0,14,PRICE_CLOSE,1)) return(0);

iRSIOnArray

Wyznacza wartość wskaźnika RSI na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych z wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej, czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).

Składnia:

double iRSIOnArray( double array[], int total, int period, int shift )
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
period – ilość słupków dla średniej
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iRSIOnArray(ExtBuffer,1000,14,0)>iRSI(NULL,0,14,PRICE_CLOSE,1))
return(0);

iRVI

Wyznacza wartość wskaźnika RVI i zwraca jego wartość.

Składnia:

double iRVI( string symbol, int timeframe, int period, int mode, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period - ilość słupków do wyliczenia wskaźnika
mode – typ liczonej wartości wskaźnika:
MODE_MAIN - główna linia wskaźnika
MODE_SIGNAL - linia sygnałowa wskaźnika
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iRVI(NULL, 0, 10,MODE_MAIN,0);

iStdDev

Wyznacza wartość wskaźnika StdDev i zwraca jego wartość.

Składnia:

double iStdDev( string symbol, int timeframe, int ma_period, int ma_shift,
int ma_method, int applied_price, int shift)
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
ma_period – ilość słupków dla średniej
ma_shift – przesunięcie linii wskaźnika w stosunku do wykresu głównego
method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
applied_price – wskazanie na której wartości ceny mają być dokonywane
obliczenia:
PRICE_CLOSE - cena zamknięcia
PRICE_OPEN - cena otwarcia
PRICE_HIGH - cena najwyższa
PRICE_LOW - cena najniższa
PRICE_MEDIAN - cena średnia liczona następująco (high+low)/2
PRICE_TYPICAL - cena średnia liczona nastęująco (high+low+close)/3
PRICE_WEIGHTED - cena średnia liczona następująco (high+low+close+close)/4
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iStdDev(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0)

iStdDevOnArray

Wyznacza wartość wskaźnika StdDev na danych umieszczonych w tablicy. Funkcja wskaźnika nie pobiera danych wykresu tyko dokonuje obliczeń na wcześniej przygotowanym zestawie danych umieszczonym w tablicy. Wskaźnik ten jest liczony w tablicy od lewej do prawej, czyli odwrotnie niż dane przechowywane w tablicach typu serie danych. Aby uzyskać dostęp do elementów tablicy typu serie danych korzystamy z funkcji ArraySetAsSeries (czyli od prawej do lewej).
 

Składnia:

double iStdDevOnArray( double array[], int total, int ma_period, int
ma_shift, int ma_method, int shift)
Parametry
array[] – tablica z danymi do wyliczenia
total – ilość słupków, danych z tablicy do obliczeń
ma_period – ilość słupków dla średniej
ma_shift – przesunięcie linii wskaźnika w stosunku do wykresu głównego
ma_method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iStdDevOnArray(ExtBuffer,100,10,0,MODE_EMA,0

iStochastic

Wyznacza wartość oscylatora Stochastic i zwraca jego wartość.

Składnia:

double iStochastic( string symbol, int timeframe, int %Kperiod, int
%Dperiod, int slowing, int method, int price_field, int mode, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
%Kperiod – ilość słupków dla linii %K
%Dperiod – ilość słupków dla linii %D
slowing – wartość opóźnienia
method – typ liczonej średniej:
MODE_SMA - średnia prosta
MODE_EMA - średnia exponencjalnie ważona
MODE_SMMA - średnia wygładzana
MODE_LWMA - średnia ważona
price_field – sposób liczenia ceny:
0 - Low/High
1 - Close/Close
mode – typ liczonej wartości wskaźnika:
MODE_MAIN - główna linia wskaźnika
MODE_SIGNAL - linia sygnałowa wskaźnika
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iStochastic(NULL,0,5,3,3,MODE_SMA,0,MODE_MAIN,0)>iStochastic(NULL,0,5,3,
3,MODE_SMA,0,MODE_SIGNAL,0))
return(0);

iWPR

Wyznacza wartość wskaźnika Larry William's WPR i zwraca jego wartość.
Składnia:

double iWPR( string symbol, int timeframe, int period, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
period – ilość słupków dla wskaźnika
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

if(iWPR(NULL,0,14,0)>iWPR(NULL,0,14,1)) return(0);

iCustom

Oblicza wartość wskaźnika użytkownika i zwraca jego wartość. Wskaźnik użytkownika musi być prawidłowo skompilowanym programem w języku MQL4 zapisanym w pliku o formacie .ex4 oraz musi znajdować się w katalogu terminal_directory\experts\indicators.

Składnia:

double iCustom( string symbol, int timeframe, string name, ..., int mode, int shift )
Parametry
symbol – symbol rynku lub NULL dla aktualnego symbolu z wykresu
timeframe – skala czasowa danych lub 0 dla aktualnej skali czasowej z
wykresu symbolu
name – nazwa pliku wykonywalnego wskaźnika użytkownika
... – lista parametrów wskaźnika użytkownika. Lista parametrów i typów musi
być zgodna z parametrami wskaźnika oznaczonymi jako extern.
mode – numer indeksu linii wykresu wskaźnika z zakresu od 0 do 7. Musi
odpowiadać indeksowi ustawionemu za pomocą funkcji SetIndexBuffer.
shift – przesunięcie względem aktualnego numeru słupka
Wartość zwracana
wynik obliczeń wskaźnika na danym słupku

Przykład:

double wynik = iCustom(NULL, 0, "SampleInd",13,1,0);

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.

1/1