Как получить только последнее значение индикатора в скрипте pine

#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. Спасибо за ответ. Я попробую их обоих. Хорошего вам дня:)