"Symbol Self.volume [0] .value_or не найден" При доступе к данным томаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 "Symbol Self.volume [0] .value_or не найден" При доступе к данным тома

Сообщение Anonymous »

Я работаю над сценарием индикатора потока громкости (VFI) в инди, и я сталкиваюсь с ошибкой при попытке получить значение от Self.volume [0] . В частности, я получаю эту ошибку: < /p>

Ошибка: 25:13 Symbol Self.volume [0] .value_or не найдена < /p>
< /blockquote>
исходный код: < /p>
# indie:lang_version = 5
import math
from indie import indicator, param, MutSeriesF, level, line_style, color, plot, SeriesF
from indie.algorithms import StdDev, Sma, Sum, Ema

@indicator('VFI') # Volume Flow Indicator
@param.int('length', default=130, min=1, title='VFI length')
@param.float('coef', default=0.2, title='Cutoff coef')
@param.float('vcoef', default=2.5, title='Max. vol. cutoff')
@param.int('signal_length', default=5, min=1, title='Signal length')
@param.bool('smooth_vfi', default=False, title='Smooth VFI')
@param.bool('show_histo', default=True, title='Show histogram')
@level(0, line_color=color.GRAY, line_style=line_style.DASHED)
@plot.histogram(color=color.GRAY(0.5), line_width=3, id='plot_0')
@plot.line(color=color.RED, title='EMA of VFI', id='plot_1')
@plot.line(color=color.GREEN, line_width=2, title='VFI', id='plot_2')
def Main(self, length, coef, vcoef, signal_length, smooth_vfi, show_histo):
typical = self.hlc3

inter = math.log(typical[0]) - math.log(typical[1])
vinter = StdDev.new(MutSeriesF.new(inter), 30)[0]
cutoff = coef * vinter * self.close[0]
vave = Sma.new(self.volume, length)[1]
vmax = vave * vcoef
vc = min(self.volume[0].value_or(math.nan), vmax)
mf = typical[0] - typical[1]

vcp = MutSeriesF.new(0)

if mf > cutoff:
vcp[0] = vc
elif mf < -cutoff:
vcp[0] = -vc

vfi: SeriesF = MutSeriesF.new(Sum.new(vcp, length)[0] / vave)
if smooth_vfi:
vfi = Sma.new(vfi, 3)

vfima = Ema.new(vfi, signal_length)
d = vfi[0] - vfima[0]

return (
d if show_histo else math.nan,
vfima[0],
vfi[0],
)

Я думал, что self.volume [0] был серией , и мне нужно было использовать .value_or (math.nan) для извлечения плавания. Но Indie говорит, что value_or - не найдено .
  • Do Seriesf встроенные переменные, такие как Self.volume [0] не поддержка. Value_or () ? min () ?
  • Есть ли другой способ обработать отсутствующие значения в инди?


Подробнее здесь: https://stackoverflow.com/questions/795 ... olume-data
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»