#pine-script
Вопрос:
Я новичок в пайн-скрипте. Есть ли способ получить только последнее значение индикатора в скрипте pine? Допустим,мне нужно только последнее значение экспоненциальной скользящей средней близкой ema(close, 21) на графике в виде одной горизонтальной линии. Заранее спасибо.
Ответ №1:
Чтобы нарисовать динамическую горизонтальную линию на значении ema, используйте встроенную функцию line.new() и функцию line.set_*() для обновления, как показано ниже:
//@version=5 indicator("hline ema", overlay = true) ema21 = ta.ema(close, 21) var line l = line.new(bar_index, ema21, bar_index 1, ema21, xloc.bar_index, extend.both, color.blue) if barstate.isrealtime or barstate.islast line.set_xy1(l, bar_index, ema21) line.set_xy2(l, bar_index 1, ema21)
Обновить: Другой способ-использовать аргумент trackprice= plot (), используйте дополнительный аргумент show_last=, чтобы скрыть основной сюжет:
//@version=5 indicator("hline ema", overlay = true) ema21 = ta.ema(close, 21) plot(ema21, trackprice = true, show_last = 1)
Комментарии:
1. Спасибо за ответ. Это решит мою проблему, но мне интересно, есть ли какой-либо другой способ, кроме использования функции line-new. Я знаком с metastock. Существует встроенная функция lastvalue (), которая показывает только последнее значение источника. Например : MOV(close,21,E) рисует фактическую ema, но когда я использую значение lastvalue(MOV(close,21,E)), Metastock рисует только последнее значение по горизонтали на графике.
2. Есть еще один трюк, обновил ответ.
3. Спасибо за ответ. Я попробую их обоих. Хорошего вам дня:)