Функции - индикаторы Universal

20 августа 2018, 15:51
Yurij Kozhevnikov
0
101

EN

Серия индикаторов Universal работает по формулам пользователей.


В главном окнеВ дополнительном окне
Бесплатные
МТ4 Universal Main Window Free
МТ5 Universal Main Window Free MT5
МТ4 Universal Separate Window Free
МТ5 Universal Separate Window Free MT5
Полные
МТ4 Universal Main Window
МТ5 Universal Main Window MT5
МТ4 Universal Separate Window
МТ5 Universal Separate Window MT5

Функции

Содержание

Если в процессе вычислений одна из функций вернула отсутствие значения, то результатом всей формулы также будет отсутствие значения.

Константы

ФункцияЗначениеОписаниеПримеры

Pi()

3.14159265 Число «пи» - отношение длины окружности к её диаметру.
2 + 3 * PI()
(3 - pi()) ^ 3
E()2.71828183 Число «e» - ооснование натурального логарифма.
2 ^ E()
(3 + e()) * 5

Содержание

Математические

ФункцияАргументыОписаниеПримеры
Abs(a) a - любое число или выражение. Возвращает значение аргумента по модулю.
2.21 + ABS(E() - PI())
abs(2 - 5) ^ (1 / 2)
Max(a1, a2, a3, ...) Любое количество аргументов больше одного из чисел или выражений. Возвращает значение наибольшего из переданных аргументов.
2.21 - MAX(E() * 3, PI() * 2)
max(pi(), 3.14, 3.141) - 3.14
Min(a1, a2, a3, ...) Любое количество аргументов больше одного из чисел или выражений. Возвращает значение наименьшего из переданных аргументов.
2.21 - MIN(E() * 3, PI() * 2)
min(pi(), 3.14, 3.141) - 3.14
Mod(a1, a2) a1 - делимое;
a2 - делитель.
Возвращает остаток от деления двух чисел.
4.71 - MOD(E() * 3, 2)
mod(pi(), 3) - 3
Log(a1, a2) a1 - положительное число или выражение;
a2 - положительное число или выражение, не равное 1.
Возвращает значение логарифма первого аргумента a1 по основанию второго аргумента a2.
PI() * LOG(PI(), E()) + 1
log(pi(), 10) - 3
Round(a, n)

Round(a)
a - любое число или выражение;
n - любое целое число или выражение.
Возвращает округлённое значение первого аргумента a до n десятичных разрядов. В случае, когда n равно нулю или отсутствует, производится округление до целого. В случае отрицательного n округление производится слева от десятичной точки.
Например, Round(3579.256, -2) = 3600
ROUND(PI(), 1) - Round(PI())
round(10 ^ pi()) - 1385
Average(a1, a2, a3, ...) Любое количество аргументов больше одного из чисел или выражений. Возвращает среднее арифметическое всех переданных значений.
AVERAGE(PI(), E()) - 2.93
3 - average(1, 2, 3, 4, 5)

Sin(a)

a - любое число или выражение. Синус угла a, заданного в радианах.
SIN(90 * PI() / 180) - 1
0.5 - sin(30 * pi() / 180)
Cos(a) a - любое число или выражение. Косинус угла a, заданного в радианах.
SIN(PI()) + COS(90 * PI() / 180)
sin(pi() / 2) - cos(0)
Tan(a)

Tg(a)
a - любое число или выражение, не равное N * пи/2, где N - любое нечётное целое число. Тангенс угла a, заданного в радианах. В случаях, когда косинус заданного угла равен нулю, функция возвращает отсутствие значения.
SIN(PI()) / COS(PI()) - TAN(PI())
tan(2) - 1 / tg(2)
ArcSin(a)

ASin(a)
a - любое число или выражение от -1 до 1. Арксинус числа a в радианах. При a меньше -1 или больше 1 функция возвращает отсутствие значения.
ARCSIN(0.9) * 180 / PI()
asin(-0.99) + 1.42
ArcCos(a)

ACos(a)
a - любое число или выражение от -1 до 1. Арккосинус числа a в радианах. При a меньше -1 или больше 1 функция возвращает отсутствие значения.
ARCSIN(1) - ARCCOS(1)
acos(0) * 180 / pi()
ArcTan(a)

ArcTg(a)

ATan(a)

ATg(a)
a - любое число или выражение. Арктангенс числа a в радианах.
ARCTAN(1) - 1 / ARCTG(1)
atan(1) * 180 / pi() - 45 + atg(10)

Содержание

Логические (только в полной версии)

ФункцияАргументыОписаниеПримеры
If(a, b, c) a - логическое выражение;
b - число или выражение, которое возвращает функция, если выражение a истинно;
c - число или выражение, которое возвращает функция, если выражение a ложно.
Возвращает значение выражения b, если выражение a истинно или значение выражения c, если выражение a ложно.
Если выражение a истинно, то значение выражения c не вычисляется. Если выражение a ложно, то значение выражения b не вычисляется.
IF( Close(0) > Close(1) ,Close(0) ,Close(1) )
if (high(0)>high(1),1,if (low(0)<low(1),-1,0))
And(a1, a2, a3, ...) Любое количество логических выражений больше одного. Возвращает значение Истина, если все переданные аргументы имеют значение Истина.
Если значение очередного аргумента Ложь, то все последующие выражения не вычисляются.
IF( And(Close(0) > Close(1),Close(0) > Close(2)) ,Close(0) ,Close(1) )
if (and(high(0)>high(1),high(0)>high(2)),1,if (and(low(0)<low(1),low(0)<low(2)),-1,0))
Or(a1, a2, a3, ...) Любое количество логических выражений больше одного. Возвращает значение Истина, если хотя бы один переданный аргумент имеет значение Истина.
Если значение очередного аргумента Истина, то все последующие выражения не вычисляются.
IF( OR(Close(0) > Close(1),Close(0) > Close(2)) ,Close(0) ,Close(1) )
if (or(high(0)>high(1),high(0)>high(2)),1,if (or(low(0)<low(1),low(0)<low(2)),-1,0))
Not(a) a - логическое выражение. Возвращает значение Истина, если значение выражения a Ложь.
Возвращает значение Ложь, если значение выражения a Истина.
IF( Not(And(Close(0) > Close(1),Close(0) > Close(2))) ,Close(1) ,Close(0) )
if (not(or(high(0)>high(1),high(0)>high(2))),-1,if (not(or(low(0)<low(1),low(0)<low(2))),1,0))

Содержание

Информация о ценах

Единственным аргументом функций получения информации о цене является номер бара. Текущий бар всегда имеет номер 0, предыдущий бар имеет номер 1 и так далее.
ФункцияОписаниеПримеры
Open(bar) Возвращает цену открытия заданного бара.
AVERAGE(OPEN(1), OPEN(2), OPEN(3))
(open(1) + open(2) + open(3)) / 3
Close(bar) Возвращает цену закрытия заданного бара.
AVERAGE(CLOSE(1), CLOSE(2), CLOSE(2))
(close(1) + 2 * close(2)) / 3
High(bar) Возвращает максимальную цену заданного бара.
MAX(HIGH(0), HIGH(1), HIGH(2))
open(0) + high(0) - close(0)
Low(bar) Возвращает минимальную цену заданного бара.
AVERAGE(MIN(HIGH(0), HIGH(1), HIGH(2)),MAX(LOW(0), LOW(1), LOW(2)))
high(0) - (open(0) - low(0))

Содержание

Информация из стандартных индикаторов

Последним аргументом функций получения информации из стандартных индикаторов является номер бара. В случае, если индикатор рисует несколько линий, предпоследний аргумент - это всегда номер линии.
Допустимые значения некоторых аргументов
applied 0 - Close
1 - Open
2 - High
3 - Low
4 - Median (High+Low)/2
5 - Typical (High+Low+Close)/3
6 - Weighted (Hgh+Low+2*Close)/4
method 0 - Simple
1 - Exponential
2 - Smoothed
3 - Linear Weighted
volume 0 - Tick Volume
1 - Real Volume
Некоторые индикаторы в разных платформах имеют разный состав аргументов. В целях совместимости формул для обеих платформ в функциях, возвращающих значения таких индикаторов, лишние аргументы игнорируются, а недостающие подставляются значением по-умолчанию.
ИндикаторФункцияАргументыПримеры
Accelerator/Decelerator Oscillator МТ4 AccelDecel(bar)

AC(bar)
bar - номер бара.
CLOSE(0) + AC(1)
(AC(3) + 2 * AC(2) + 3 * AC(1) + AC(0)) / 7
МТ5
Accumulation/Distribution МТ4 AccumDistr(bar)

AD(bar)
bar - номер бара.
При использовании в МТ5 в требующийся аргумент volume подставляется значение Tick Volume.
HIGH(0) +( AD(0) - AD(1)) / 1 000 0000
average( ad(1) - ad(0), ad(2) - ad(1) )
МТ5 AccumDistr(volume, bar)

AD(volume, bar)
volume - тип объёма;
bar - номер бара.
При использовании в МТ4 аргумент volume игнорируется.
HIGH(0,0) +( AD(0,0) - AD(0,1)) / 1 000 0000
average( ad(0,1) - ad(0,0), ad(0,2) - ad(0,1) )
Average Directional Movement Index МТ4 AverDirectMovemInd(period, applied, num, bar)

ADM(period, applied, num, bar)
period - период усреднения;
applied - используемая цена;
num - номер линии:
0 - главная линия
1 - +DI
2 - -DI;
bar - номер бара.
При использовании в МТ5 аргумент applied игнорируется.
high(0) + (50 - adm(14, 0, 0, 0)) / 1000
Average(adm(14, 0, 0, 0), adm(14, 0, 1, 0), adm(14, 0, 2, 0))
МТ5 AverDirectMovemInd(period, num, bar)

ADM(period, num, bar)
period - период усреднения
num - номер линии:
0 - главная линия
1 - +DI
2 - -DI;
bar - номер бара.
При использовании в МТ4 в требующийся аргумент applied подставляется значение Close.
high(0) + (50 - adm(14, 0, 0)) / 1000
Average(adm(14, 0, 0), adm(14, 1, 0), adm(14, 2, 0))
Average True Range МТ4 AverTrueRange(period, bar)

ATR(period, bar)
period - период усреднения;
bar - номер бара.
Open(1) + atr(14, 1)
atr(14, 0) + (Max(atr(14, 1), atr(14, 2), atr(14, 3))- Min(atr(14, 1), atr(14, 2), atr(14, 3)))
МТ5
Awesome Oscillator МТ4 AwesOsc(bar)

AO(bar)
bar - номер бара.
Low(0) + AO(2)
max(ao(0), ao(1), ao(2)) + min(ao(0), ao(1), ao(2)) - average(ao(3), ao(4), ao(5))
МТ5
Содержание
Bears Power МТ4 BearsPower(period, applied, bar)

BearP(period, applied, bar)
period - период усреднения;
applied - используемая цена;
bar - номер бара.
При использовании в МТ5 аргумент applied игнорируется.
Close(1) + BearP(14, 0, 1) - BearP(14, 1, 1)
cos(BearP(14, 1, 0))
МТ5 BearsPower(period, bar)

BearP(period, bar)
period - период усреднения;
bar - номер бара.
При использовании в МТ4 в требующийся аргумент applied подставляется значение Close.
Close(1) + BearP(14, 1) - BearP(14, 2)
cos(BearP(14, 0))
Bulls Power МТ4 BullsPower(period, applied, bar)

BullP(period, applied, bar)
period - период усреднения;
applied - используемая цена;
bar - номер бара.
При использовании в МТ5 аргумент applied игнорируется.
Close(1) + BearP(14, 0, 1) - BullP(14, 0, 1)
BearP(14, 0, 0) + BullP(14, 0, 0)
МТ5 BullsPower(period, bar)

BullP(period, bar)
period - период усреднения;
bar - номер бара.
При использовании в МТ4 в требующийся аргумент applied подставляется значение Close.
Close(1) + BearP(14, 1) - BullP(14, 1)
BearP(14, 0) + BullP(14, 0)
Bollinger Bands® МТ4 BollingerBands(period, deviation, applied, num, bar)

BB(period, deviation, applied, num, bar)
period - период усреднения;
deviation - отклонения;
applied - используемая цена;
num - номер линии:
0 - главная линия
1 - Upper
2 - Lower;
bar - номер бара.
average(BB(50, 2.1, 0, 0, 0), BB(55, 2.1, 0, 0, 0))
BB(50, 2.1, 0, 1, 0) - BB(50, 2.1, 0, 2, 0)
МТ5
Commodity Channel Index МТ4 CommChIndex(period, applied, bar)

CCI(period, applied, bar)
period - период усреднения;
applied - используемая цена;
bar - номер бара.
Close(0) + CCI(14, 5, 0) / 1000
Average(cci(14, 0, 0), cci(14, 1, 0), cci(14, 2, 0), cci(14, 3, 0), cci(14, 4, 0), cci(14, 5, 0), cci(14, 6, 0))
МТ5
DeMarker МТ4 DeMarker(period, bar)

DM(period, bar)
period - период усреднения;
bar - номер бара.
Average(High(0) + DM(30, 0), Low(0) - DM(50, 0))
Max(dm(14, 0), dm(14, 1), dm(14, 2)) - Min(dm(14, 0), dm(14, 1), dm(14, 2))
МТ5
Содержание
Envelopes МТ4 Envelopes(period, method, applied, deviation, num, bar)

Env(period, method, applied, deviation, num, bar)
period - период усреднения;
method - метод MA;
applied - используемая цена;
deviation - отклонение в процентах;
num - номер линии:
0 - главная линия
1 - Upper
2 - Lower;
bar - номер бара.
Env(50, 0, 0, 0.2, 1, 0) + high(0) - low(0)
Env(50, 0, 0, 0.2, 1, 0) - Close(0)
МТ5
Force Index МТ4 ForceIndex(period, method, applied, bar)

FI(period, method, applied, bar)
period - период усреднения;
method - метод MA;
applied - используемая цена;
bar - номер бара.
При использовании в МТ5 аргумент applied игнорируется, а в требующийся аргумент volume подставляется значение Tick Volume.
CLOSE(0) + MIN(FI(13,0,0,0), FI(13,0,0,1)) / MAX(FI(13,0,0,0), FI(13,0,0,1)) / 500
average(fi(13,0,0,0), fi(13,0,0,1), fi(13,0,0,2))
МТ5 ForceIndex5(period, method, volume, bar)

FI5(period, method, volume, bar)
period - период усреднения;
method - метод MA;
volume - тип объёма;
bar - номер бара.
При использовании в МТ4 аргумент volume игнорируется, а в требующийся аргумент applied подставляется значение Close.
CLOSE(0) + MIN(FI5(13,0,0,0), FI5(13,0,0,1)) / MAX(FI5(13,0,0,0), FI5(13,0,0,1)) / 500
average(fi5(13,0,0,0), fi5(13,0,0,1), fi5(13,0,0,2))
Market Facilitation Index МТ4 MarkFacInd(bar)

MaFI(bar)
bar - номер бара.
При использовании в МТ5 в требующийся аргумент volume подставляется значение Tick Volume.
Close(0) + MaFI(0) - MaFI(1)
mafi(0) + mafi(1) - (mafi(2) + mafi(3))
МТ5 MarkFacInd(volume, bar)

MaFI(volume, bar)
volume - тип объёма;
bar - номер бара.
При использовании в МТ4 аргумент volume игнорируется.
Close(0) + MaFI(0, 0) - MaFI(0, 1)
mafi(0, 0) + mafi(0, 1) - (mafi(0, 2) + mafi(0, 3))
Money Flow Index МТ4 MoneyFlowIndex(period, bar)

MoFI(period, bar)
period - период усреднения;
bar - номер бара.
При использовании в МТ5 в требующийся аргумент volume подставляется значение Tick Volume.
Close(0) * (1 + (MoFI(14, 0) - 50) / 1000)
100 - mofi(14, 0)
МТ5 MoneyFlowIndex(period, volume, bar)

MoFI(period, volume, bar)
period - период усреднения;
volume - тип объёма;
bar - номер бара.
При использовании в МТ4 аргумент volume игнорируется.
Close(0) * (1 + (MoFI(14, 0, 0) - 50) / 1000)
100 - mofi(14, 0, 0)
Moving Average МТ4 MovingAverage(period, method, applied, bar)

MA(period, method, applied, bar)
period - период усреднения;
method - метод MA;
applied - используемая цена;
bar - номер бара.
Close(0) + MA(50, 0, 0, 0) - MA(20, 0, 0, 0)
log(MA(50, 0, 0, 0) - MA(20, 0, 0, 0), 10)
МТ5
Содержание
Moving Average Convergence/Divergence МТ4 MovingAverageConvDiv(FastPeriod, SlowPeriod, SignalPeriod, applied, num, bar)

MACD(FastPeriod, SlowPeriod, SignalPeriod, applied, num, bar)
FastPeriod - быстрое EMA;
SlowPeriod - медленное EMA;
SignalPeriod - MACD SMA;
applied - используемая цена;
num - номер линии:
0 - главная линия
1 - Signal;
bar - номер бара.
High(0) + MACD(12, 26, 9, 0, 1, 0)
MACD(12, 26, 9, 0, 1, 0) - MACD(12, 26, 9, 0, 0, 0)
МТ5
Moving Average of Oscillator МТ4 MovingAverageOsc(FastPeriod, SlowPeriod, SignalPeriod, applied, bar)

MAO(FastPeriod, SlowPeriod, SignalPeriod, applied, bar)
FastPeriod - быстрое EMA;
SlowPeriod - медленное EMA;
SignalPeriod - MACD SMA;
applied - используемая цена;
bar - номер бара.
Close(0) + 2 * Sin(MAO(12, 26, 9, 0, 0))
log(abs(mao(12, 26, 9, 0, 0)), e())
МТ5
Relative Strength Index МТ4 RelStrInd(period, applied, bar)

RSI(period, applied, bar)
period - период усреднения;
applied - используемая цена;
bar - номер бара.
High(2) * (1 + (RSI(14, 0, 1)  - 50) / 1000)
100 * rsi(14, 0, 0) / max(rsi(14, 0, 0), rsi(14, 0, 1), rsi(14, 0, 2))
МТ5
Relative Vigor Index МТ4 RelVigInd(period, num, bar)

RVI(period, num, bar)
period - период усреднения;
num - номер линии:
0 - главная линия
1 - Signal;
bar - номер бара.
Close(0) + RVI(10, 1, 0) * (High(0) - Low(0))
rvi(10, 1, 0) - rvi(10, 0, 0)
МТ5
Standard Deviation МТ4 StandDev(period, method, applied, bar)

SD(period, method, applied, bar)
period - период усреднения;
method - метод MA;
applied - используемая цена;
bar - номер бара.
Low(0)  + Tan(SD(10, 0, 0, 0))
sd(10, 0, 0, 0) - max(sd(10, 0, 0, 1), sd(10, 0, 0, 2), sd(10, 0, 0, 3))
МТ5
Содержание
Stochastic Oscillator МТ4 StochOsc(Kperiod, Dperiod, slowing, method, price, num, bar)

SO(Kperiod, Dperiod, slowing, method, price, num, bar)
Kperiod - период K;
Dperiod - период D;
slowing - замедление;
method - метод MA;
price - цены:
0 - Low/High
1 - Close/Close;
num - номер линии:
0 - главная линия
1 - Signal;
bar - номер бара.
Close(1) * (1 + (SO(5, 3, 3, 0, 0, 1, 1)  - 50) / 3000)
mod(so(5, 3, 3, 0, 0, 1, 1), so(5, 3, 3, 0, 0, 1, 0))
МТ5
Williams' Percent Range МТ4 WillPercRange(period, bar)

WPR(period, bar)
period - период усреднения;
bar - номер бара.
Close(1) * (1 - (WPR(14, 1) + 50) / 1000)
wpr(50, 0) - wpr(14, 0)
МТ5

Содержание

Диапазоны

Бывают ситуации, когда необходимо получить минимум, максимум или среднее значение большого количества аргументов. Сократить формулу поможет конструкция, указывающая диапазоны аргументов. Применять диапазоны аргументов можно в функциях, возвращающих значения цен и стандартных индикаторов.
Диапазон указывается целыми числами, между которыми находится символ двоеточия.
Указание диапазонов с помощью выражений не допускается.
Функция, в которой один из аргументов указан диапазоном значений, не должна иметь функции в качестве других аргументов.
Пример:
max(close(0:3))
равноценно
max(close(0), close(1), close(2), close(3))

Содержание

Коды стрелок

Arrow codes

Содержание

Поделитесь с друзьями: