Как устранить ошибку: «невозможно инициализировать переменную значением None; необязательные параметры являются явными»Python

Программы на Python
Ответить
Anonymous
 Как устранить ошибку: «невозможно инициализировать переменную значением None; необязательные параметры являются явными»

Сообщение Anonymous »

Я использую индикатор Indie Script от TakeProfit.
Я получаю сообщение об ошибке при попытке инициализировать переменную значением None.
Вот упрощенная версия кода:

Код: Выделить всё

# indie:lang_version = 5
from math import nan, isnan
from indie import indicator, param, plot, color, MutSeriesF
from indie.algorithms import Atr

@indicator('SuperTrend', overlay_main_pane=True)
@param.float('atr_mult', default=1.0, min=0.1, max=10.0, title='ATR Multiplier')
@param.int('n_atr', default=4, min=1, title='ATR Length')
@param.str('ma_type', default='HULL', options=['SMA', 'EMA', 'WMA', 'RMA', 'VWMA', 'HULL'], title='MA Type')
@param.bool('paint_bars', default=True, title='Color Bars')
@plot.line(title='SuperTrend')
@plot.bar_color()
def Main(self, atr_mult, n_atr, ma_type, paint_bars):
hl2 = (self.high[0] + self.low[0]) / 2
atr = Atr.new(n_atr, ma_type)

up = MutSeriesF.new(hl2 + atr_mult * atr[0])
dn = MutSeriesF.new(hl2 - atr_mult * atr[0])
st = MutSeriesF.new(nan)

if isnan(st[1]):
st[0] = up[0]
else:
if self.close[0] < st[1]:
st[0] = up[0]
else:
st[0] = dn[0]

bar_col = None
if paint_bars:
bar_col = color.RED if self.close[0] < st[0] else color.GREEN

return st[0], bar_col

Но инди-компилятор выдает следующую ошибку:

Ошибка: невозможно инициализировать bar_col значением None; в языке Indie необязательные параметры являются явными, поэтому для выполнения этого назначения вам необходимо объявить bar_col как indie.Optional[...]

Как мне правильно инициализировать переменную, которая может быть либо цветом, либо None в языке Indie Script TakeProfit?

Подробнее здесь: https://stackoverflow.com/questions/795 ... nals-are-e
Ответить

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

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

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

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

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