В процессе загрузки ресурсов... загрузка...

FMZ PINE Сценарий Doc

Автор:Изобретатели количественного измерения - мечты, Создано: 2022-04-28 16:05:05, Обновлено: 2024-10-12 17:25:27

le из const значения строки: [val1, val2,...]) Список вариантов на выбор.

  • tooltip(const string) Строка, которая будет показана пользователю при прокрутке значка инструмента.
  • inline(const string) объединяет все вызовы ввода с использованием одного и того же аргумента в одной строке. Строка, используемая в качестве аргумента, не отображается. Она используется только для идентификации вводов, принадлежащих той же строке.
  • group(const string) Создает заголовок над всеми входами с использованием одной и той же строки аргументов группы.
  • confirm(const bool) Если true, то пользователю будет предложено подтвердить значение ввода, прежде чем индикатор будет добавлен в график.

ПримечанияРезультат функции input.timeframe всегда должен быть присвоен переменной, см. примеры выше.

См. также input.bool input.int input.float input.string input.source input.color input

input.integer

Недоступно.

input.resolution

Недоступно.

- Да.

ta.alma

Движущаяся средняя Арно Лего, использующая распределение Гаусса в качестве веса для скользящей средней.

ta.alma(series, length, offset, sigma) 
ta.alma(series, length, offset, sigma, floor) 

Пример

plot(ta.alma(close, 9, 0.85, 6))

// same on pine, but much less efficient
pine_alma(series, windowsize, offset, sigma) =>
    m = offset * (windowsize - 1)
    //m = math.floor(offset * (windowsize - 1)) // Used as m when math.floor=true
    s = windowsize / sigma
    norm = 0.0
    sum = 0.0
    for i = 0 to windowsize - 1
        weight = math.exp(-1 * math.pow(i - m, 2) / (2 * math.pow(s, 2)))
        norm := norm + weight
        sum := sum + series[windowsize - i - 1] * weight
    sum / norm
plot(pine_alma(close, 9, 0.85, 6))

ВозвращениеАрно Лего средний показатель.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • offset(простой int/float) Управляет компромиссом между плавностью (ближе к 1) и отзывчивостью (ближе к 0).
  • sigma(простая int/float) изменяет гладкость ALMA.
  • floor(простой bool) Опциональный аргумент. Указывает, будет ли расчет смещения выполнен до вычисления ALMA. Значение по умолчанию ложно.

См. также ta.sma ta.ema ta.rma ta.wma ta.vwma ta.swma

ta.sma

Функция sma возвращает скользящую среднюю, то есть сумму последних y значений x, разделенную на y.

ta.sma(source, length) 

Пример

plot(ta.sma(close, 15))

// same on pine, but much less efficient
pine_sma(x, y) =>
    sum = 0.0
    for i = 0 to y - 1
        sum := sum + x[i] / y
    sum
plot(pine_sma(close, 15))

ВозвращениеПростая скользящая средняяsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.ema ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.cog

Коленчатый механизм (центр тяжести) - это индикатор, основанный на статистике и золотом коэффициенте Фибоначчи.

ta.cog(source, length) 

Пример

plot(ta.cog(close, 10))

// the same on pine
pine_cog(source, length) =>
    sum = math.sum(source, length)
    num = 0.0
    for i = 0 to length - 1
        price = source[i]
        num := num + price * (i + 1)
    -num / sum

plot(pine_cog(close, 10))

ВозвращениеЦентр тяжести.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.stoch

ta.dev

Измерение разницы между серией и ее тасма

ta.dev(source, length) 

Пример

plot(ta.dev(close, 10))

// the same on pine
pine_dev(source, length) =>
    mean = ta.sma(source, length)
    sum = 0.0
    for i = 0 to length - 1
        val = source[i]
        sum := sum + math.abs(val - mean)
    dev = sum/length
plot(pine_dev(close, 10))

ВозвращениеОтклонение отsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.variance ta.stdev

ta.stdev

ta.stdev(source, length, biased) 

Пример

plot(ta.stdev(close, 5))

//the same on pine
isZero(val, eps) => math.abs(val) <= eps

SUM(fst, snd) =>
    EPS = 1e-10
    res = fst + snd
    if isZero(res, EPS)
        res := 0
    else
        if not isZero(res, 1e-4)
            res := res
        else
            15

pine_stdev(src, length) =>
    avg = ta.sma(src, length)
    sumOfSquareDeviations = 0.0
    for i = 0 to length - 1
        sum = SUM(src[i], -avg)
        sumOfSquareDeviations := sumOfSquareDeviations + sum * sum

    stdev = math.sqrt(sumOfSquareDeviations / length)
plot(pine_stdev(close, 5))

ВозвращениеСтандартное отклонение.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • biased(series bool) Определяет, какую оценку следует использовать.

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

См. также ta.dev ta.variance

ta.ema

Функция EMA возвращает экспоненциально взвешенную скользящую среднюю величину. В EMA факторы взвешивания уменьшаются экспоненциально. Она рассчитывается с помощью формулы: EMA = альфа * источник + (1 - альфа) * EMA[1], где альфа = 2 / (длина + 1).

ta.ema(source, length) 

Пример

plot(ta.ema(close, 15))

//the same on pine
pine_ema(src, length) =>
    alpha = 2 / (length + 1)
    sum = 0.0
    sum := na(sum[1]) ? src : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_ema(close,15))

ВозвращениеЭкспоненциальная скользящая средняяsourceс альфа = 2 / (длина + 1).

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

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

См. также ta.sma ta.rma ta.wma ta.vwma ta.swma ta.alma

ta.wma

Функция wma возвращает взвешенную скользящую среднююsourceдляlengthВ WMA весовые факторы уменьшаются в арифметической прогрессии.

ta.wma(source, length) 

Пример

plot(ta.wma(close, 15))

// same on pine, but much less efficient
pine_wma(x, y) =>
    norm = 0.0
    sum = 0.0
    for i = 0 to y - 1
        weight = (y - i) * y
        norm := norm + weight
        sum := sum + x[i] * weight
    sum / norm
plot(pine_wma(close, 15))

ВозвращениеВзвешенная скользящая средняяsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.sma ta.ema ta.rma ta.vwma ta.swma ta.alma

ta.swma

Симметрично взвешенная скользящая средняя с фиксированной длиной: 4.

ta.swma(source)

Пример

plot(ta.swma(close))

// same on pine, but less efficient
pine_swma(x) =>
    x[3] * 1 / 6 + x[2] * 2 / 6 + x[1] * 2 / 6 + x[0] * 1 / 6
plot(pine_swma(close))

ВозвращениеСимметрично взвешенная скользящая средняя.

Аргументы

  • source(серия int/float) Серия источника.

См. также ta.sma ta.ema ta.rma ta.wma ta.vwma ta.alma

ta.hma

Функция hma возвращает скользящую среднюю Hull.

ta.hma(source, length)

Пример

src = input(defval=close, title="Source")
length = input(defval=9, title="Length")
hmaBuildIn = ta.hma(src, length)
plot(hmaBuildIn, title="Hull MA", color=#674EA7)

ВозвращениеДвижущаяся средняя корпуса источник для длина строк назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простой инт) Количество строк.

См. также ta.ema ta.rma ta.wma ta.vwma ta.sma

ta.rma

Движущаяся средняя, используемая в RSI. Это экспоненциально взвешенная скользящая средняя с альфой = 1 / длина.

ta.rma(source, length)

Пример

plot(ta.rma(close, 15))

//the same on pine
pine_rma(src, length) =>
  alpha = 1/length
  sum = 0.0
  sum := na(sum[1]) ? ta.sma(src, length) : alpha * src + (1 - alpha) * nz(sum[1])
plot(pine_rma(close, 15))

ВозвращениеЭкспоненциальная скользящая средняяsourceс альфой = 1 /length.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

См. также ta.sma ta.ema ta.wma ta.vwma ta.swma ta.alma ta.rsi

ta.rsi

Индекс относительной прочности.ta.rma()увеличения и уменьшенияsourceза последниеlength bars.

ta.rsi(source, length)

Пример

plot(ta.rsi(close, 7))

// same on pine, but less efficient
pine_rsi(x, y) => 
    u = math.max(x - x[1], 0) // upward ta.change
    d = math.max(x[1] - x, 0) // downward ta.change
    rs = ta.rma(u, y) / ta.rma(d, y)
    res = 100 - 100 / (1 + rs)
    res

plot(pine_rsi(close, 7))

ВозвращениеИндекс относительной силы.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).

См. также ta.rma

ta.tsi

Индекс истинной силы использует скользящие средние базовой динамики финансового инструмента.

ta.tsi(source, short_length, long_length)

ВозвращениеИндекс истинной прочности. Значение в диапазоне [-1, 1].

Аргументы

  • source(серия int/float) Серия источника.
  • short_length(простая инт) Короткая длина.
  • long_lengthДлинный.

ta.roc

Функция roc (скорость изменения), показывающая разницу между текущим значениемsourceи стоимостьsourceЭто было...lengthДни назад. Он рассчитывается по формуле: 100 * change ((src, length) / src[length].

ta.roc(source, length)

ВозвращениеУровень измененияsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.range

Возвращает разницу между минимальными и максимальными значениями в ряду.

ta.range(source, length)

ВозвращениеРазница между минимальными и максимальными значениями в серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.macd

MACD (движущаяся средняя конвергенция/дивергенция). Предполагается, что он показывает изменения в силе, направлении, импульсе и продолжительности тренда в цене акции.

ta.macd(source, fastlen, slowlen, siglen) 

Пример

[macdLine, signalLine, histLine] = ta.macd(close, 12, 26, 9)
plot(macdLine, color=color.blue)
plot(signalLine, color=color.orange)
plot(histLine, color=color.red, style=plot.style_histogram)

Если вам нужно только одно значение, используйте заполнители _ вот так:

Пример

[_, signalLine, _] = ta.macd(close, 12, 26, 9)
plot(signalLine, color=color.orange)

ВозвращениеТюпл из трех рядов MACD: линия MACD, линия сигнала и линия гистограммы.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • fastlen(простой инт) аргумент быстрой длины.
  • slowlen(простой инт) аргумент медленной длины.
  • siglenАргумент длины сигнала.

См. также ta.sma ta.ema

ta.mode

Если есть несколько значений с одинаковой частотой, возвращается наименьшее значение.

ta.mode(source, length)

ВозвращениеРежим серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.median

Возвращает медиану ряда.

ta.median(source, length) 

ВозвращениеМедиана ряда.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.linreg

Линейная кривая регрессии. Линия, которая лучше всего соответствует ценам, указанным в течение определенного пользователем периода времени. Она рассчитывается с использованием метода наименьших квадратов. Результат этой функции рассчитывается с использованием формулы: linreg = пересечение + наклон * (длина - 1 - смещение), где пересечение и наклон являются значениями, рассчитанными с помощью метода наименьших квадратов наsource series.

ta.linreg(source, length, offset) 

ВозвращениеЛинейная кривая регрессии.

Аргументы

  • source(серия int/float) Серия источника.
  • length(серия int)
  • offset(простой инт) Оффсет.

ta.bb

Полосы Боллинджера - это инструмент технического анализа, определяемый набором линий, изображенных двумя стандартными отклонениями (положительными и отрицательными) от простой скользящей средней (SMA) цены ценной бумаги, но может быть скорректирована в соответствии с предпочтениями пользователя.

ta.bb(series, length, mult) 

Пример

[middle, upper, lower] = ta.bb(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)

// the same on pine
f_bb(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    [basis, basis + dev, basis - dev]

[pineMiddle, pineUpper, pineLower] = f_bb(close, 5, 4)

plot(pineMiddle)
plot(pineUpper)
plot(pineLower)

ВозвращениеБолинджерские полосы.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.

См. также ta.sma ta.stdev ta.kc

ta.bbw

Ширина полосы Боллинджера - это разница между верхней и нижней полосами Боллинджера, разделенная на среднюю полосу.

ta.bbw(series, length, mult) 

Пример

plot(ta.bbw(close, 5, 4), color=color.yellow)

// the same on pine
f_bbw(src, length, mult) =>
    float basis = ta.sma(src, length)
    float dev = mult * ta.stdev(src, length)
    ((basis + dev) - (basis - dev)) / basis

plot(f_bbw(close, 5, 4))

ВозвращениеШирина полосы Боллинджера.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.

См. также ta.bb ta.sma ta.stdev

ta.cci

CCI (индекс товарного канала) рассчитывается как разница между типичной ценой товара и его простой скользящей средней, разделенная на среднее абсолютное отклонение от типичной цены.

ta.cci(source, length) 

ВозвращениеИндекс канала товара источника для длины строк назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.change

Разница между текущим значением и предыдущим значением, источник - источник [длина].

ta.change(source, length) 
ta.change(source) 

ВозвращениеРезультат вычитания.

Аргументы

  • source(серия int/float) Серия источника.
  • length(series int) смещение от текущей строки к предыдущей строке.

См. также ta.mom ta.cross

ta.mom

Импульсsourceцены иsourceценыlengthЭто просто разница: источник - источник [длина].

ta.mom(source, length) 

ВозвращениеИмпульсsourceцены иsourceценыlengthРаньше.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(series int) смещение от текущей строки к предыдущей строке.

См. также ta.change

ta.cmo

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

ta.cmo(series, length) 

Пример

plot(ta.cmo(close, 5), color=color.yellow)

// the same on pine
f_cmo(src, length) =>
    float mom = ta.change(src)
    float sm1 = math.sum((mom >= 0) ? mom : 0.0, length)
    float sm2 = math.sum((mom >= 0) ? 0.0 : -mom, length)
    100 * (sm1 - sm2) / (sm1 + sm2)

plot(f_cmo(close, 5))

ВозвращениеОсилятор импульса Чанде.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.rsi ta.stoch math.sum

ta.percentile_linear_interpolation (процентная_линейная_интерполяция)

Вычисляет процентиль с помощью метода линейной интерполяции между двумя ближайшими рядами.

ta.percentile_linear_interpolation(source, length, percentage) 

ВозвращениеП-й процентный пунктsourceсерии дляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки (источник).
  • length(серия int) Количество строк на спине (длина).
  • percentage(простой int/float) Процент, число в диапазоне от 0 до 100.

ПримечанияОбратите внимание, что процентиль, рассчитанный с помощью этого метода, НЕ всегда будет членом набора входных данных.

См. также ta.percentile_nearest_rank

ta.percentile_nearest_rank

Вычисляет процентиль с помощью метода ближайшего ранга.

ta.percentile_nearest_rank(source, length, percentage) 

ВозвращениеП-й процентный пунктsourceсерии дляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки (источник).
  • length(серия int) Количество строк на спине (длина).
  • percentage(простой int/float) Процент, число в диапазоне от 0 до 100.

ПримечанияИспользование метода ближайшего ранга на длинах менее 100 баров назад может привести к тому, что одно и то же число будет использоваться более чем в одном процентиле. Процентиль, рассчитанный с использованием метода ближайшего ранга, всегда будет членом набора входных данных. 100-й перцентил определяется как самое большое значение в наборе входных данных.

См. также ta.percentile_linear_interpolation

ta.percentrank

Процентный ранг - это процент того, сколько предыдущих значений было меньше или равны текущему значению данного ряда.

ta.percentrank(source, length) 

ВозвращениеПроцентный классsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ta.variance

Вариантность - это ожидание квадрата отклонения ряда от его среднего значения (ta.sma), и он неофициально измеряет, насколько множество чисел распределено от их среднего значения.

ta.variance(source, length, biased) 

ВозвращениеВариантностьsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).
  • biased(series bool) Определяет, какую оценку следует использовать.

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

См. также ta.dev ta.stdev

ta.tr

ta.tr(handle_na) 

ВозвращениеЭто math.max ((высокий - низкий, math.abs ((высокий - близкий[1]), math.abs ((низкий - близкий[1])).

Аргументы

  • handle_na(простая bool) Как обрабатываются значения NaN. Если true, и закрытие предыдущего дняs является NaN, то tr будет рассчитываться как текущий день высокий-низкий. В противном случае (если ложный) tr вернет NaN в таких случаях.ta.tr(правда).

Примечания ta.tr(false)то же самое, чтоta.tr.

См. также ta.atr

ta.mfi

Индекс денежного потока (МФИ) - это технический осциллятор, который использует цену и объем для определения условий перекупки или перепродажи актива.

ta.mfi(series, length) 

Пример

plot(ta.mfi(hlc3, 14), color=color.yellow)

// the same on pine
pine_mfi(src, length) =>
    float upper = math.sum(volume * (ta.change(src) <= 0.0 ? 0.0 : src), length)
    float lower = math.sum(volume * (ta.change(src) >= 0.0 ? 0.0 : src), length)
    mfi = 100.0 - (100.0 / (1.0 + upper / lower))
    mfi

plot(pine_mfi(hlc3, 14))

ВозвращениеИндекс денежных потоков.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.rsi math.sum

ta.kc

Канал Келтнера - это индикатор технического анализа, показывающий центральную скользящую среднюю линию плюс линии канала на расстоянии выше и ниже.

ta.kc(series, length, mult) 
ta.kc(series, length, mult, useTrueRange) 

Пример

[middle, upper, lower] = ta.kc(close, 5, 4)
plot(middle, color=color.yellow)
plot(upper, color=color.yellow)
plot(lower, color=color.yellow)


// the same on pine
f_kc(src, length, mult, useTrueRange) =>
    float basis = ta.ema(src, length)
    float span = (useTrueRange) ? ta.tr : (high - low)
    float rangeEma = ta.ema(span, length)
    [basis, basis + rangeEma * mult, basis - rangeEma * mult]
    
[pineMiddle, pineUpper, pineLower] = f_kc(close, 5, 4, true)

plot(pineMiddle)
plot(pineUpper)
plot(pineLower)

ВозвращениеКелтнерские каналы.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.
  • useTrueRange(простой bool) Опциональный аргумент. Указывает, используется ли True Range; по умолчанию true. Если значение false, диапазон будет рассчитан с помощью выражения (high - low).

См. также ta.ema ta.atr ta.bb

ta.kcw

Ширина канала Келтнера - это разница между верхним и нижним каналами Келтнера, разделенная средним каналом.

ta.kcw(series, length, mult) 
ta.kcw(series, length, mult, useTrueRange) 

Пример

plot(ta.kcw(close, 5, 4), color=color.yellow)

// the same on pine
f_kcw(src, length, mult, useTrueRange) =>
    float basis = ta.ema(src, length)
    float span = (useTrueRange) ? ta.tr : (high - low)
    float rangeEma = ta.ema(span, length)
    
    ((basis + rangeEma * mult) - (basis - rangeEma * mult)) / basis

plot(f_kcw(close, 5, 4, true))

ВозвращениеШирина канала Келтнер.

Аргументы

  • series(серия int/float) Серия значений для обработки.
  • length(простая int) Количество строк (длина).
  • mult(простой инт/плавающий коэффициент) Стандартное отклонение.
  • useTrueRange(простой bool) Опциональный аргумент. Указывает, используется ли True Range; по умолчанию true. Если значение false, диапазон будет рассчитан с помощью выражения (high - low).

См. также ta.kc ta.ema ta.atr ta.bb

ta.correlation

Коэффициент корреляции. Описывает степень, в которой два ряда имеют тенденцию отклоняться от своих значений.

ta.correlation(source1, source2, length) 

ВозвращениеКоэффициент корреляции.

Аргументы

  • source1(серия int/float) Серия источника.
  • source2(серия int/float) Целевая серия.
  • length(серия int) Длина (количество строк назад).

См. также request.security

ta.cross

ta.cross(source1, source2) 

Возвращениеистинно, если две последовательности пересекаются, иначе ложно.

Аргументы

  • source1(серия int/float) Первая серия данных.
  • source2(серия int/float) Вторая серия данных.

См. также ta.change

ta.crossover

Вsource1-серия определяется как пересечениеsource2-серия, если на текущей стойке значениеsource1больше значенияsource2, а на предыдущей строке значениеsource1была меньше стоимостиsource2.

ta.crossover(source1, source2) 

Возвращениеистинно, еслиsource1пересеченныйsource2В противном случае ложно.

Аргументы

  • source1(серия int/float) Первая серия данных.
  • source2(серия int/float) Вторая серия данных.

ta.crossunder

Вsource1-серия определяется как пересечениеsource2-серия, если на текущей стойке значениеsource1меньше значенияsource2, а на предыдущей строке значениеsource1превышает значениеsource2.

ta.crossunder(source1, source2) 

Возвращениеистинно, еслиsource1пересеченный подsource2В противном случае ложно.

Аргументы

  • source1(серия int/float) Первая серия данных.
  • source2(серия int/float) Вторая серия данных.

ta.atr

Функция atr (средний истинный диапазон) возвращает RMA истинного диапазона.

ta.atr(length) 

Пример

plot(ta.atr(14))

//the same on pine
pine_atr(length) =>
    trueRange = na(high[1])? high-low : math.max(math.max(high - low, math.abs(high - close[1])), math.abs(low - close[1]))
    //true range can be also calculated with ta.tr(true)
    ta.rma(trueRange, length)

plot(pine_atr(14))

ВозвращениеСредний истинный диапазон.

Аргументыдлина (простая int) Длина (количество строк назад).

См. также ta.tr ta.rma

ta.sar

Параболический SAR (parabolic stop and reverse) - метод, разработанный J. Welles Wilder, Jr., для поиска потенциальных переворотов в направлении рыночной цены торгуемых товаров.

ta.sar(start, inc, max) 

Пример

plot(ta.sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)

// The same on Pine
pine_sar(start, inc, max) =>
  var float result = na
  var float maxMin = na
  var float acceleration = na
  var bool isBelow = na
  bool isFirstTrendBar = false
  
  if bar_index == 1
    if close > close[1]
      isBelow := true
      maxMin := high
      result := low[1]
    else
      isBelow := false
      maxMin := low
      result := high[1]
    isFirstTrendBar := true
    acceleration := start
  
  result := result + acceleration * (maxMin - result)
  
  if isBelow
    if result > low
      isFirstTrendBar := true
      isBelow := false
      result := math.max(high, maxMin)
      maxMin := low
      acceleration := start
  else
    if result < high
      isFirstTrendBar := true
      isBelow := true
      result := math.min(low, maxMin)
      maxMin := high
      acceleration := start
      
  if not isFirstTrendBar
    if isBelow
      if high > maxMin
        maxMin := high
        acceleration := math.min(acceleration + inc, max)
    else
      if low < maxMin
        maxMin := low
        acceleration := math.min(acceleration + inc, max)
  
  if isBelow
    result := math.min(result, low[1])
    if bar_index > 1
      result := math.min(result, low[2])
    
  else
    result := math.max(result, high[1])
    if bar_index > 1
      result := math.max(result, high[2])
  
  result
  
plot(pine_sar(0.02, 0.02, 0.2), style=plot.style_cross, linewidth=3)

ВозвращениеПараболический SAR.

Аргументы

  • startНачните.
  • inc(простой int/float) Инкремент.
  • max(простой int/float) Максимальный.

ta.barssince

Подсчитывает количество строк с последнего раза, когда условие было истинным.

ta.barssince(condition) 

Пример

// get number of bars since last color.green bar
plot(ta.barssince(close >= open))

ВозвращениеКоличество строк с тех пор, как состояние было верным.

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

См. также ta.lowestbars ta.highestbars ta.valuewhen ta.highest ta.lowest

ta.cum

Кумулятивная (общая) суммаsourceДругими словами, это сумма всех элементовsource.

ta.cum(source) 

ВозвращениеСовокупная сумма рядов.

Аргументы

  • source(серия int/float)

См. также math.sum

ta.dmi

Функция dmi возвращает индекс направленного движения (DMI).

ta.dmi(diLength, adxSmoothing) 

Пример

len = input.int(17, minval=1, title="DI Length")
lensig = input.int(14, title="ADX Smoothing", minval=1, maxval=50)
[diplus, diminus, adx] = ta.dmi(len, lensig)
plot(adx, color=color.red, title="ADX")
plot(diplus, color=color.blue, title="+DI")
plot(diminus, color=color.orange, title="-DI")

ВозвращениеТюпл из трех серий DMI: положительное направленное движение (+DI), отрицательное направленное движение (-DI) и средний индекс направленного движения (ADX).

Аргументы

  • diLength(простая int) DI период.
  • adxSmoothing(простая int) ADX Смягчающий период.

См. также ta.rsi ta.tsi ta.mfi

ta.falling

Проверить,sourceСерия сейчас падает наlengthдлинной в решётку.

ta.falling(source, length) 

Возвращениеtrue если текущийsourceзначение меньше любого предыдущегоsourceзначение дляlengthОпять решетки, иначе ложь.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.rising

ta.rising

Проверить,sourceСерия сейчас растет дляlengthдлинной в решётку.

ta.rising(source, length) 

Возвращениеtrue если текущийsourceбольше, чем любой предыдущийsourceдляlengthОпять решетки, иначе ложь.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.falling

ta.pivothigh

Эта функция возвращает цену пивотной высокой точки.

ta.pivothigh(source, leftbars, rightbars) 
ta.pivothigh(leftbars, rightbars) 

Пример

leftBars = input(2)
rightBars=input(2)
ph = ta.pivothigh(leftBars, rightBars)
plot(ph, style=plot.style_cross, linewidth=3, color= color.red, offset=-rightBars)

ВозвращениеЦена точки или NaN.

Аргументы

  • source(series int/float) необязательный аргумент. Серия данных для расчета значения.
  • leftbarsЛевая сила.
  • rightbarsПравая длина.

ПримечанияЕсли аргументы leftbars или rightbars являются сериями, вы должны использовать функцию max_bars_back для переменной source.

ta.pivotlow

Эта функция возвращает цену от пивотной низкой точки. Она возвращает NaN, если нет пивотной низкой точки.

ta.pivotlow(source, leftbars, rightbars) 
ta.pivotlow(leftbars, rightbars) 

Пример

leftBars = input(2)
rightBars=input(2)
pl = ta.pivotlow(close, leftBars, rightBars)
plot(pl, style=plot.style_cross, linewidth=3, color= color.blue, offset=-rightBars)

ВозвращениеЦена точки или NaN.

Аргументы

  • source(series int/float) необязательный аргумент. Серия данных для расчета значения. Low по умолчанию.
  • leftbarsЛевая сила.
  • rightbarsПравая длина.

ПримечанияЕсли аргументы leftbars или rightbars являются сериями, вы должны использовать функцию max_bars_back для переменной source.

ta.highest

Наибольшее значение для заданного количества строк назад.

ta.highest(source, length) 
ta.highest(length) 

ВозвращениеСамая высокая цена в серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ПримечанияВерсия с двумя аргументами:sourceявляется серией иlengthэто количество строк назад. Одна версия:lengthалгоритм использует высокий какsource series.

См. также ta.lowest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.highestbars

Наибольшее значение смещения за данное количество строк назад.

ta.highestbars(source, length) 
ta.highestbars(length) 

ВозвращениеОффсет на самую высокую планку.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ПримечанияВерсия с двумя аргументами:sourceявляется серией иlengthэто количество строк назад. Одна версия:lengthалгоритм использует высокий какsource series.

См. также ta.lowest ta.highest ta.lowestbars ta.barssince ta.valuewhen

ta.stoch

Он рассчитывается по формуле: 100 * (близкий - самый низкий ((низкий, длина)) / (высокий ((высокий, длина) - самый низкий ((низкий, длина)).

ta.stoch(source, high, low, length) 

Возвращение Stochastic.

Аргументы

  • source(серия int/float) Серия источника.
  • high(серия int/float) Серия высокой.
  • low(серия int/float) Серия низких.
  • length(серия int) Длина (количество строк назад).

См. также ta.cog

ta.supertrend

Индикатор супертенденции - это индикатор тренда.

ta.supertrend(factor, atrPeriod) 

Пример

//@version=5
indicator("Pine Script™ Supertrend")

[supertrend, direction] = ta.supertrend(3, 10)
plot(direction < 0 ? supertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(direction > 0 ? supertrend : na, "Down direction", color = color.red, style=plot.style_linebr)

// The same on Pine Script™
pine_supertrend(factor, atrPeriod) =>
  src = hl2
  atr = ta.atr(atrPeriod)
  upperBand = src + factor * atr
  lowerBand = src - factor * atr
  prevLowerBand = nz(lowerBand[1])
  prevUpperBand = nz(upperBand[1])

  lowerBand := lowerBand > prevLowerBand or close[1] < prevLowerBand ? lowerBand : prevLowerBand
  upperBand := upperBand < prevUpperBand or close[1] > prevUpperBand ? upperBand : prevUpperBand
  int direction = na
  float superTrend = na
  prevSuperTrend = superTrend[1]
  if na(atr[1])
    direction := 1
  else if prevSuperTrend == prevUpperBand
    direction := close > upperBand ? -1 : 1
  else
    direction := close < lowerBand ? 1 : -1
  superTrend := direction == -1 ? lowerBand : upperBand
  [superTrend, direction]

[pineSupertrend, pineDirection] = pine_supertrend(3, 10)
plot(pineDirection < 0 ? pineSupertrend : na, "Up direction", color = color.green, style=plot.style_linebr)
plot(pineDirection > 0 ? pineSupertrend : na, "Down direction", color = color.red, style=plot.style_linebr)

ВозвращениеТупл из двух супертенденционных рядов: линия супертенденции и направление тренда.Возможные значения 1 (в направлении нисходящего) и -1 (в направлении восходящего).

Аргументы

  • factor(series int/float) Умножитель, которым будет умножено ATR.
  • atrPeriod(простая int) Длина ATR

См. также ta.macd

ta.lowest

Наименьшее значение для заданного количества строк назад.

ta.lowest(source, length) 
ta.lowest(length) 

ВозвращениеСамый низкий показатель в серии.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

ПримечанияВерсия с двумя аргументами:sourceявляется серией иlengthэто количество строк назад. Одна версия:lengthалгоритм использует низкий какsource series.

См. также ta.highest ta.lowestbars ta.highestbars ta.valuewhen ta.barssince

ta.lowestbars

Наименьшее значение, смещенное за данное количество бар.

ta.lowestbars(source, length) 
ta.lowestbars(length) 

ВозвращениеОффсет на самую низкую планку.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • lengthКоличество строк назад.

ПримечанияВерсия с двумя аргументами:sourceявляется серией иlengthэто количество строк назад. Одна версия:lengthалгоритм использует низкий какsource series.

См. также ta.lowest ta.highest ta.highestbars ta.barssince ta.valuewhen

ta.valuewhen

Возвращает значение ряда source на строке, где condition было истинным на n-м последнем случае.

ta.valuewhen(condition, source, occurrence) 

Пример

slow = ta.sma(close, 7)
fast = ta.sma(close, 14)
// Get value of `close` on second most recent cross
plot(ta.valuewhen(ta.cross(slow, fast), close, 1))

Аргументы

  • conditionУсловие поиска.
  • source(series int/float/bool/color) Значение, которое должно быть возвращено из строки, где условие выполнено.
  • occurrence(простой инт) Возникновение условия. Нумерация начинается с 0 и идет назад во времени, так что 0 является самым последним возникновением condition, 1 является вторым самым последним и так далее. Должно быть целым числом >= 0.

ПримечанияЭта функция требует выполнения на каждой строке. Не рекомендуется использовать ее внутри структуры цикла for или while, где ее поведение может быть неожиданным. Обратите внимание, что использование этой функции может вызвать переокраску индикатора.

См. также ta.lowestbars ta.highestbars ta.barssince ta.highest ta.lowest

ta.vwap

Средняя цена, взвешенная по объему.

ta.vwap(source) 

ВозвращениеСреднее значение по объему.

Аргументы

  • source(серия int/float) Серия источника.

См. также ta.vwap

ta.vwma

Функция vwma возвращает взвешенную по объему скользящую среднююsourceдляlengthЭто то же самое, что: sma ((источник * объем, длина) / sma ((объем, длина).

ta.vwma(source, length) 

Пример

plot(ta.vwma(close, 15))

// same on pine, but less efficient
pine_vwma(x, y) =>
    ta.sma(x * volume, y) / ta.sma(volume, y)
plot(pine_vwma(close, 15))

ВозвращениеВзвешенная по объему скользящая средняяsourceдляlengthСтойки назад.

Аргументы

  • source(серия int/float) Серия значений для обработки.
  • length(серия int) Количество строк (длина).

См. также ta.sma ta.ema ta.rma ta.wma ta.swma ta.alma

ta.wpr

Williams %R. Оциллятор показывает текущую цену закрытия по отношению к максимуму и минимуму прошедшего период времени бар.

ta.wpr(length) 

Пример

plot(ta.wpr(14), title="%R", color=color.new(#ff6d00, 0))

ВозвращениеУильямс %R.

Аргументы

  • length(серия int) Количество строк.

См. также ta.mfi ta.cmo

Площадь

Площадь

На графике содержится серия данных.

plot(series, title, color, linewidth, style, trackprice, histbase, offset, join, editable, show_last, display) 

Пример

plot(high+low, title='Title', color=color.new(#00ffaa, 70), linewidth=2, style=plot.style_area, offset=15, trackprice=true)

// You may fill the background between any two plots with a fill() function:
p1 = plot(open)
p2 = plot(close)
fill(p1, p2, color=color.new(color.green, 90))

ВозвращениеОбъект сюжета, который можно использовать в заполнении.

Аргументы

  • series(series int/float) Серия данных, которые должны быть отображены в графике.
  • titleНазвание участка.
  • colorВы можете использовать такие константы, как цвет=цвет.красный или color=#ff001a а также сложные выражения, такие как color = close >= open?color.green : color.red. Документ необязательный.
  • linewidth(input int) Ширина намеченной линии. Значение по умолчанию 1.
  • style(plot_style) Тип графика. Возможные значения: plot.style_line, plot.style_stepline, plot.style_stepline_diamond, plot.style_histogram, plot.style_cross, plot.style_area, plot.style_columns, plot.style_circles, plot.style_linebr, plot.style_areabr. Значение по умолчанию - plot.style_line.
  • trackprice(input bool) Если true, то горизонтальная ценовая линия будет показана на уровне последнего показателя.
  • histbase(input int/float) Значение цены, используемое в качестве эталонного уровня при отображении графика с plot.style_histogram, plot.style_columns или plot.style_area style. По умолчанию 0.
  • offset(series int) перемещает график влево или направо по заданному количеству строк.
  • join(input bool) Если true, то точки графика будут соединены с линией, применимой только к стилям plot.style_cross и plot.style_circles.
  • editable(const bool) Если true, то стиль сюжета будет редактироваться в диалоге Format.
  • show_last(input int) Если установлено, определяет количество строк (от последней строки обратно в прошлое), которые должны быть отображены на графике.
  • display(plot_display) Устройства, где отображается график. Возможные значения: display.none, display.all. По умолчанию display.all.
  • overlay(const bool) - это аргумент расширения платформы FMZ, он используется для настройки текущей функции, которая будет отображаться на главном изображении (направлено на true) или под-изображении (направлено на false), значение по умолчанию false. Если этот аргумент не указан, он будет установлен в соответствии сoverlayАргумент вstrategyилиindicator, еслиstrategyилиindicatorне устанавливаетoverlayаргумент, он будет обрабатываться в соответствии с аргументами по умолчанию.

См. также plotshape plotchar bgcolor

Площадь

На графике изображены визуальные формы.

plotshape(series, title, style, location, color, offset, text, textcolor, editable, size, show_last, display) 

Пример

data = close >= open
plotshape(data, style=shape.xcross)

Аргументы

  • series(series bool) Серия данных, которые должны быть зафиксированы в виде форм. Серия рассматривается как серия булевых значений для всех значений местоположения, кроме location.absolute. Требуется аргумент.
  • titleНазвание участка.
  • style(вводная строка) Тип графика. Возможные значения: shape.xcross, shape.cross, shape.triangleup, shape.triangledown, shape.flag, shape.circle, shape.arrowup, shape.arrowdown, shape.labelup, shape.labeldown, shape.square, shape.diamond. Значение по умолчанию - shape.xcross.
  • location(вводная строка) Местоположение фигур на графике. Возможные значения: location.abovebar, location.belowbar,location.top, location.bottom, location.absolute Значение по умолчанию - location.abovebar.
  • color(серийный цвет) Цвет форм. Вы можете использовать константы, такие как цвет=цвет.красный или color=#ff001a а также сложные выражения, такие как color = close >= open?color.green : color.red. Документ необязательный.
  • offset(series int) перемещает формы влево или направо на заданном количестве строк.
  • text(const string) Текст для отображения с формой. Вы можете использовать многострочный текст, для разделения строк используйте \n эскапажную последовательность.
  • textcolor(серийный цвет) Цвет текста. Вы можете использовать константы вроде textcolor=color.red или textcolor=#ff001a а также сложные выражения, такие как textcolor = close >= open?color.green : color.red. Документ необязательный.
  • editable(const bool) Если true, то стиль Plotshape будет редактироваться в диалоге Format.
  • show_last(input int) Если установлено, определяет количество форм (от последней строки назад в прошлое), которые следует составить на графике.
  • size(const string) Размер форм на графике. Возможные значения:size.auto, размер.маленький, размер.маленький, размер.нормальный, размер.большой, размер.огромный.size.auto.
  • display(plot_display) Устройства, где отображается график. Возможные значения: display.none, display.all. По умолчанию display.all.
  • overlay(const bool) - это аргумент расширения платформы FMZ, он используется для настройки текущей функции, которая будет отображаться на главном изображении (направлено на true) или под-изображении (направлено на false), значение по умолчанию false. Если этот аргумент не указан, он будет установлен в соответствии сoverlayАргумент вstrategyилиindicator, еслиstrategyилиindicatorне устанавливаетoverlayаргумент, он будет обрабатываться в соответствии с аргументами по умолчанию.

См. также plot plotchar bgcolor

Площадь

Планирует визуальные формы с использованием любого конкретного символа Unicode на диаграмме.

plotchar(series, title, char, location, color, offset, text, textcolor, editable, size, show_last, display) 

Пример

data = close >= open
plotchar(data, char='❄')

Аргументы

  • series(series bool) Серия данных, которые должны быть зафиксированы в виде форм. Серия рассматривается как серия булевых значений для всех значений местоположения, кроме location.absolute. Требуется аргумент.
  • titleНазвание участка.
  • char(вводная строка) Знак для использования в качестве визуальной формы.
  • location(вводная строка) Местоположение фигур на графике. Возможные значения: location.abovebar, location.belowbar,location.top, location.bottom, location.absolute Значение по умолчанию - location.abovebar.
  • color(серийный цвет) Цвет форм. Вы можете использовать константы, такие как цвет=цвет.красный или color=#ff001a а также сложные выражения, такие как color = close >= open?color.green : color.red. Документ необязательный.
  • offset(series int) перемещает формы влево или направо на заданном количестве строк.
  • text(const string) Текст для отображения с формой. Вы можете использовать многострочный текст, для разделения строк используйте \n эскапажную последовательность.
  • textcolor(серийный цвет) Цвет текста. Вы можете использовать константы вроде textcolor=color.red или textcolor=#ff001a а также сложные выражения, такие как textcolor = close >= open?color.green : color.red. Документ необязательный.
  • editable(const bool) Если true, то стиль plotchar будет редактироваться в диалоге Format.
  • show_last(input int) Если установлено, определяет количество символов (от последней строки назад в прошлое), которые должны быть отображены на графике.
  • size(const string) Размер символов на графике. Возможные значения:size.auto, размер.маленький, размер.маленький, размер.нормальный, размер.большой, размер.огромный.size.auto.
  • display(plot_display) Устройства, где отображается график. Возможные значения: display.none, display.all. По умолчанию display.all.
  • overlay(const bool) - это аргумент расширения платформы FMZ, он используется для настройки текущей функции, которая будет отображаться на главном изображении (направлено на true) или под-изображении (направлено на false), значение по умолчанию false. Если этот аргумент не указан, он будет установлен в соответствии сoverlayАргумент вstrategyилиindicator, еслиstrategyилиindicatorне устанавливаетoverlayаргумент, он будет обрабатываться в соответствии с аргументами по умолчанию.

См. также plot plotshape bgcolor

plotcandle

На графике есть свечи.

plotcandle(open, high, low, close, title, color, wickcolor, editable, show_last, bordercolor, display)

Пример

indicator("plotcandle example", overlay=true)
plotcandle(open, high, low, close, title='Title', color = open < close ? color.green : color.red, wickcolor=color.black)

Аргументы

  • open(series int/float) Открытые серии данных, используемые в качестве открытых значений свечей.
  • high(series int/float) Высокие серии данных, используемые в качестве высоких значений свечей.
  • low(series int/float) Низкие серии данных, используемые в качестве низких значений свечей.
  • close(series int/float) Закрыть серию данных, используемых в качестве приблизительных значений свечей.
  • title(const string) Название сюжета.
  • color(серийный цвет) Цвет свечей. Вы можете использовать константы вроде цвет=цвет.красный или color=#ff001a а также сложные выражения, такие как color = close >= open?color.green : color.red. Документ необязательный.
  • wickcolorЦвет фитиля свечей - необязательный аргумент.
  • editable(const bool) Если true, то стиль plotcandle будет редактироваться в диалоге Format.
  • show_last(input int) Если задано, определяет количество свечей (от последней строки назад в прошлое), которые следует сопоставить на графике.
  • bordercolorОграничительный цвет свечей - необязательный аргумент.
  • display(plot_display) Устройства, где отображается график. Возможные значения: display.none, display.all. По умолчанию display.all.
  • overlay(const bool) - это аргумент расширения платформы FMZ, он используется для настройки текущей функции, которая будет отображаться на главном изображении (направлено на true) или под-изображении (направлено на false), значение по умолчанию false. Если этот аргумент не указан, он будет установлен в соответствии сoverlayАргумент вstrategyилиindicator, еслиstrategyилиindicatorне устанавливаетoverlayаргумент, он будет обрабатываться в соответствии с аргументами по умолчанию.

ПримечанияДаже если одно значение открытого, высокого, низкого или близкого равно NaN, то стойке не нужно рисовать. Максимальное значение открытия, высокого, низкого или закрытия будет установлено как высокий, а минимальное значение будет установлено как низкий.

См. также plotbar

Площадка

На графике изображаются стрелки вверх и вниз. Вверх стрелка на каждом положительном значении индикатора, вниз стрелка на каждом отрицательном значении. Если индикатор возвращает на, то нет стрелки. стрелки имеют разную высоту, чем более абсолютным


Больше

ПросящиеПочему стратегия Square Duplication не может быть реализована?

Изобретатели количественного измерения - мечтыХорошо, давайте проверим.

ПросящиеОптимизированный тренд-трекер

Изобретатели количественного измерения - мечтыЗдравствуйте, пожалуйста, какая именно стратегия?