Серия индикаторов Universal работает по формулам пользователей.
В главном окне | В дополнительном окне | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Бесплатные |
|
|
||||||||
Полные |
|
|
Функции
Содержание
- Константы
- Математические
- Логические (только в полной версии)
- Информация о ценах
- Информация из стандартных индикаторов
- Диапазоны
- Коды стрелок
Если в процессе вычислений одна из функций вернула отсутствие значения, то результатом всей формулы также будет отсутствие значения.
Константы
Функция | Значение | Описание | Примеры |
---|---|---|---|
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)) |
Коды стрелок
