Ошибка: 1: 0 Вы применили Decorator @indie.param. к Main для параметров: выше_TF, но не использовал их; Чтобы сделать это, добавьте их в список параметров Main .__ in init __ или main.calc или обратитесь к ним, используя indie.param_ref декораторы из вторичного контекста
вот минимальная версия моего кода, чтобы проиллюстрировать проблему:
" recypy = "recypy ="> "
Код: Выделить всё
# indie:lang_version = 5
from indie import indicator, param, plot, color, level, band, MutSeriesF, Var, MainContext, sec_context
from indie.algorithms import Sma, Ema, Rsi, Atr
from indie.plot import marker_style, marker_position, Line, Marker, Histogram, Columns
@sec_context
def HigherTFContext(self):
rsi = Rsi.new(self.close, 14)
sma = Sma.new(self.close, 50)
trend_score = 1.0 if self.close[0] > sma[0] else 0.0
return rsi[0], sma[0], trend_score
@indicator('Minimal version demo', overlay_main_pane=False)
@param.int('fast_length', default=12)
@param.time_frame('higher_tf', default='1D')
@plot.line('main_line', color=color.BLUE)
class Main(MainContext):
def init(self, higher_tf: str) -> None:
# error persists whether or not I do something with higher_tf here
self.htf_rsi = MutSeriesF.new(50.0)
def calc(self, fast_length):
fast_ma = Ema.new(self.close, fast_length)
return Line(fast_ma[0])
[*] Добавление Higher_tf в init () или calc () (оба).
[*] назначение или передачу его в calc_on () .
. /> < /ul>
все еще сохраняется ошибка. Документы предполагают, что Param_ref можно использовать, но неясно, как и где именно.
Подробнее здесь: https://stackoverflow.com/questions/795 ... ed-in-main