Ошибка инициализации переменной (Indie.var [int]) в контексте индикатораPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка инициализации переменной (Indie.var [int]) в контексте индикатора

Сообщение Anonymous »

Я разрабатываю индикатор в indie v4, и я сталкиваюсь с следующей ошибкой во время инициализации переменной состояния с использованием indie.var [int] :

error: [внутренняя] не может инициализировать переменную. . < /p>
< /blockquote>
Это мой упрощенный код, чтобы понять ошибку: < /p>

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

# indie:lang_version = 4
from indie import (
indicator, MainContext, algorithm,
SeriesF, MutSeriesF, Var,
param, plot, color, Plot
)
from indie.algorithms import Sma, Ema

@indicator("Trend Following System")
class Main(MainContext):
def __init__(self):
"""Initializing state tracking variables"""
self.trend_state: Var[int] = None  #!! Causes Error
self.signal_counter: Var[int] = None  #!! Causes Error

def calc(self):
"""Trend calculation and state tracking"""
if self.trend_state is None:
self.trend_state = Var[int].new(0)
if self.signal_counter is None:
self.signal_counter = Var[int].new(0)

prev_state = self.trend_state.get()

# Test logic
strength = self.close[0] - self.close[1]  # Simplified for testing

# Update trend state
if strength > 0.5:
self.trend_state.set(1)
elif strength < -0.5:
self.trend_state.set(-1)
else:
self.trend_state.set(0)

if self.trend_state.get() != prev_state:
self.signal_counter.set(self.signal_counter.get() + 1)

return Plot(strength, color=color.GREEN if strength > 0 else color.RED)

Что я попробовал

  • Declare self.trend_state in __init __ () → worm var.nemaisd
  • . calc () → Является ли эта лучшая практика?
  • Проверьте self.trend_state.get () только после инициализации
  • try optional [var [int]] Но Indie не поддерживает IT li

подозреваемые проблемы

Должен var.new () только в calc () вместо __init __ () ? Переменные отслеживания состояний в индикаторах?

Есть ли лучший способ инициализации var [int] в инди без ошибок типа?>

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

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

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

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

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

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

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