Как безопасно получить доступ к необязательно [float] в инди, когда value_or (none) дает ошибку типа?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как безопасно получить доступ к необязательно [float] в инди, когда value_or (none) дает ошибку типа?

Сообщение Anonymous »

Я пишу индикатор на инди -языке Takeprofit, и я пытаюсь построить маркер на основе значения из более высокого периода времени. Но я получаю запутанную ошибку в отношении nonetype не совпадать с float , хотя я просто хочу проверить, есть ли опциональный значение:
Вот минимальная версия моего кода:

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

# indie:lang_version = 5

from indie import indicator, plot, param, color, Optional, MainContext, TimeFrame, sec_context
from indie.plot import marker_style, marker_position, Marker

@sec_context
def HTF(self):
return 1.0

@indicator("Marker Bug - simplified", overlay_main_pane=False)
@param.bool("enabled", default=True)
@param.time_frame("htf", default="1D")
@plot.marker("m", style=marker_style.LABEL, position=marker_position.ABOVE)
class Main(MainContext):
def __init__(self, htf: TimeFrame) -> None:
self._val = Optional[float](None)

if htf != self.time_frame:
r = self.calc_on(HTF, time_frame=htf)
if r[0] > 0:
self._val = Optional[float](80.0)

def calc(self, enabled: bool, htf: TimeFrame):
return Marker(
self._val.value_or(20.0),
text="HTF!" if self._val.value_or(None) is not None else None,
color=color.GREEN
) if enabled else Marker(None)
Это вызывает ошибку:

Ошибка: 26:27 Не удалось найти определение функции, которая соответствует самостоятельному. /> Но я подумал. Value_or (...) должен вернуть обернутое значение или отступление, если это не .
Какой правильный способ протестировать и развернуть необязательный [float] для использования в маркере (...) ? value_or ?

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

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

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

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

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

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

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