Пользовательские полосы и свечи OHLC

From TradingView Wiki
Jump to: navigation, search

Примечание: данная статья является переводом англоязычной статьи, при выявлении разночтений ориентируйтесь на англоязычную статью.

Language: English  • 日本語 • Русский


Вы можете определить свои собственные бары и свечи в сценариях Pine. Для этой цели есть функции plotbar и plotcandle. Вот небольшой пример:

study("Example 1")
plotbar(open, high, low, close)

Custom ohlc bars and candles 1.png

Скрипт «Пример 1» просто реплицирует строки текущего символа. Ничего выдающегося. Мы можем рисовать их зелеными и красными цветами:

study("Example 2")
palette = close >= open ? lime : red
plotbar(open, high, low, close, color=palette)

Custom ohlc bars and candles 2.png

«Пример 2» иллюстрирует аргумент ‘color’, которому могут быть заданы постоянные значения как красный, лайм, «# FF9090», так и выражения, которые вычисляют цвет (переменную ‘palette) во время выполнения.

Функция «plotcandle» похожа на «plotbar», она просто отображает свечи вместо баров и имеет необязательный аргумент «wickcolor».

Оба ‘plotbar’ и ‘plotcandle’ нуждаются в четырех последовательных аргументах, которые будут использоваться в качестве барных/свечных OHLC-цен соответственно. Если, например, одна из переменных OHLC на некотором баре имеет значение NaN, тогда весь график не отображается. Пример:

study("Example 3")
c = close > open ? na : close
plotcandle(open, high, low, c)

Custom ohlc bars and candles 3.png

Конечно, вы можете рассчитать значения OHLC без использования доступных значений «open», «high», «low» и «close». Например, вы можете нарисовать «сглаженные» свечи:

study("Example 4")
len = input(9)
smooth(x) =>
    sma(x, len)
o = smooth(open)
h = smooth(high)
l = smooth(low)
c = smooth(close)
plotcandle(o, h, l, c)

Custom ohlc bars and candles 4.png

Вы можете получить интересный эффект, если вы выберете значения OHLC, взятые из более высоких таймфреймов. Предположим, вы хотите отображать ежедневные бары на 60-минутном графике:

// NOTE: add this script on intraday chart
study("Example 5")
higherRes = input("D", type=resolution)
is_newbar(res) =>
    t = time(res)
    change(t) != 0 ? 1 : 0
o = security(tickerid, higherRes, open)
h = security(tickerid, higherRes, high)
l = security(tickerid, higherRes, low)
c = security(tickerid, higherRes, close)
plotbar(is_newbar(higherRes) ? o : na, h, l, c, color=c >= o ? lime : red)

Custom ohlc bars and candles 5.png Функции plotbar и plotcandle также имеют аргумент «title», поэтому пользователь может выделить их на вкладке «Стили» диалогового окна «Формат».


Предыдущая статья: Формы, использующие plotshape, plotchar, plotarrow, Следующая: Стратегии, Вверх: Pine Script Tutorial/ru