Вот минимальная версия моего кода:
Код: Выделить всё
# 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