Я разрабатываю пользовательский индикатор в Indie, но я сталкиваюсь с ошибкой типа, связанной с инициализацией переменной с None .
Ошибка: 26: 4 не может инициализировать Arch_volatility с ними ; На инди -языке опционы явно, поэтому для выполнения этого задания вам необходимо объявить arch_volatility как indie.optional [...]
Я пытался следующие примеры из других частей моего кода (например, returns = mutseriesf.new (0) ), но все еще не может. Вот проблематичный код: < /p>
# indie:lang_version = 5
import math
from indie import indicator, param, plot, color, SeriesF, MutSeriesF
from indie.algorithms import StdDev, Sma, Ema
@indicator('Advanced Volatility and Risk-Adjusted Return Indicator', overlay_main_pane=True)
@param.int('stddev_length', default=20, min=1, title='Standard Deviation Length')
@param.int('sma_length', default=20, min=1, title='SMA Length for Sharpe Ratio')
@param.float('risk_free_rate', default=0.01, title='Risk-Free Rate')
@param.int('arch_lag', default=1, min=1, title='ARCH Lag')
@plot.line('Standard Deviation', color=color.YELLOW)
@plot.line('Sharpe Ratio', color=color.BLUE)
@plot.line('ARCH Volatility', color=color.RED)
def Main(self, stddev_length, sma_length, risk_free_rate, arch_lag):
# Calculate Standard Deviation
stddev = StdDev.new(self.close, stddev_length)[0]
# Calculate Sharpe Ratio
returns = MutSeriesF.new(0)
for i in range(1, sma_length + 1):
returns[0] += (self.close[i - 1] - self.close[i]) / self.close[i]
avg_returns = returns[0] / sma_length
excess_returns = avg_returns - risk_free_rate
sharpe_ratio = excess_returns / stddev if stddev != 0 else 0
arch_volatility = None # This will cause a type error
mean_return = Sma.new(self.close, sma_length)[0]
for i in range(arch_lag):
arch_volatility[0] += (self.close[i] - mean_return) ** 2
arch_volatility[0] = math.sqrt(arch_volatility[0] / arch_lag)
return (
plot.Line(stddev),
plot.Line(sharpe_ratio),
plot.Line(arch_volatility[0])
)
return переменная использует mutseriesf.new (0) , которая работает. Я пытался имитировать это для Arch_volatility , но не был уверен, как адаптировать его для логики цикла.>
Я разрабатываю пользовательский индикатор в Indie, но я сталкиваюсь с ошибкой типа, связанной с инициализацией переменной с None .
Ошибка: 26: 4 не может инициализировать Arch_volatility с ними ; На инди -языке опционы явно, поэтому для выполнения этого задания вам необходимо объявить arch_volatility как indie.optional [...]
Я пытался следующие примеры из других частей моего кода (например, returns = mutseriesf.new (0) ), но все еще не может. Вот проблематичный код: < /p> [code]# indie:lang_version = 5 import math from indie import indicator, param, plot, color, SeriesF, MutSeriesF from indie.algorithms import StdDev, Sma, Ema
# Calculate Sharpe Ratio returns = MutSeriesF.new(0) for i in range(1, sma_length + 1): returns[0] += (self.close[i - 1] - self.close[i]) / self.close[i] avg_returns = returns[0] / sma_length excess_returns = avg_returns - risk_free_rate sharpe_ratio = excess_returns / stddev if stddev != 0 else 0
arch_volatility = None # This will cause a type error
mean_return = Sma.new(self.close, sma_length)[0] for i in range(arch_lag): arch_volatility[0] += (self.close[i] - mean_return) ** 2 arch_volatility[0] = math.sqrt(arch_volatility[0] / arch_lag)
return ( plot.Line(stddev), plot.Line(sharpe_ratio), plot.Line(arch_volatility[0]) ) [/code] return переменная использует mutseriesf.new (0) , которая работает. Я пытался имитировать это для Arch_volatility , но не был уверен, как адаптировать его для логики цикла.>
Я изучаю чистую архитектуру и создаю простое приложение Spring Boot.
Некоторые из моих занятий:
public class EClient implements Serializable, EClientInterface {...}
public interface ClientRepository extends JpaRepository {...}
Я изучаю чистую архитектуру и создаю простое приложение Spring Boot.
Некоторые из моих занятий:
public class EClient implements Serializable, EClientInterface {...}
public interface ClientRepository extends JpaRepository {...}
В моем основном проекте ASP.NET я использую NSWAG для генерации клиентов. И все работает нормально. Единственная проблема, с которой у меня есть, заключается в том, что мои нулевые типы игнорируются в ответе, когда они нулевы.
У меня есть следующие...