В PineScript есть два способа залить цветом фон на графике цены или индикатора — это bgcolor и fill. bgcolor заливает весь фон под текущим баром (на момент просчета индикатора) сверху до низу, а fill умеет заливать цветом области между сериями и уровнями. Сегодня поговорим про bgcolor. Подробно смотри в видео:
Метод bgcolor в PineScript v5
Важно заметить что в пятой версии PineScript все методы работы с цветами немного изменились. В частности все прозрачности теперь генерятся путем создания цвета нужной прозрачности, а не указанием прозрачности в методе. И bgcolor это изменение не миновало. Если в PineScript v4 прозрачность заливки можно было указать аргументом transp, то в PineScript v5 этот аргумент убрали и прозрачность нужно задавать через создание цвета color.new.
В методе bgcolor есть 5 аргументов:
- color — цвет фона,
- offset — смещение покраски. Мы может рассчитать заливку на текущем баре, а вывести одним или несколькими барами позже или раньше. Это целочисленное значение, как положительное, так и отрицательное.
- editable — если задано true (по умолчанию так), то в форме настроек индикатора мы можем менять цвета заливки
- title — что выводить в блоке выбора цветов заливки (см. предыдущий пункт)
- show_last — задает количество баров от последнего, где применять заливку
Вот что может получиться
Код из примера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © Azzrael //@version=5 indicator("Background Coloring", overlay=true) // * Покраска всего фона под баром // https://www.tradingview.com/pine-script-docs/en/v4/annotations/Background_coloring_with_bgcolor.html // https://kodify.net/tradingview/background/colour-tradingview-background/ // 1. Простое условие // cond = bar_index % 2 > 0 // 2. Немного ТА sma = ta.sma(close, 50) cond = close > sma // цвета и bgcolor в PineScript v5 несколько отличаются от v4 red = color.new(color.red, 70) green = color.new(color.green, 70) bgcolor( cond ? red : green, editable=true, title="My color", offset=0) plot(sma) |
А в следующий раз рассмотрим метод fill кот. позволит нам залить произвольные области. Если интересно подписывайся на мой канал Azzrael Code. Там уже много интересного как в целом про IT вокруг инвестиций, так и про TradingView и PineScript.
Роксана 2024-04-27