Добрый день.
Объявлена функция индикатора ADX (ссылка Python: Расчет системы направленного движения среднего индекса (ADX) 2 - https://www.youtube.com/watch?v=joOWm-GcHTw).
Произошла ошибка во время работы - «TypeError: 'builtin_function_or_method' object is not subscriptable».
в этой строке - TRDate, TrueRange = TR (date [x], closep [x], highp [x] , lowp [x], openp [x], closep [x-1]) TypeError: объект 'builtin_function_or_method' не может быть подписан
Я буду рад любой помощи. Спасибо. Код ниже.
def TR(d,c,h,l,o,yc):
x = h-l
y = abs(h-yc)
z = abs(l-yc)
if y <= x >= z:
TR = x
elif x <= y >= z:
TR = y
elif x <= z >= y:
TR = z
return d, TR
def DM(d,o,h,l,c,yo,yh,yl,yc):
moveUp = h-yh
moveDown = yl-l
if 0 < moveUp > moveDown:
PDM = moveUp
else:
PDM = 0
if 0 < moveDown > moveUp:
NDM = moveDown
else:
NDM = 0
return d,PDM,NDM
def calcDIs(date,openp,highp,lowp,closep,openpy,highpy,lowpy,closepy,tf):
x = 1
TRDates = []
TrueRanges = []
PosDMs = []
NegDMs = []
while x < len(date):
TRDate,TrueRange = TR(date[x],closep[x],highp[x],lowp[x],openp[x],closep[x-1]) << error
TRDates.append(TRDate)
TrueRanges.append(TrueRange)
DMdate,PosDM,NegDM = DM(date[x],openp[x],highp[x],lowp[x],closep[x],openp[x-1],highp[x-1],lowp[-1],closep[x-1]) << I assume that there will be the same error
PosDMs.append(PosDM)
NegDMs.append(NegDM)
x +=1
expPosDM = ExpMovingAverage(PosDMs,14)
expNegDM = ExpMovingAverage(NegDMs,14)
ATR = ExpMovingAverage(TrueRanges,14)
xx = 0
PDIs = []
NDIs = []
while xx < len(ATR):
PDI = 100*(expPosDM[xx]/ATR[xx])
PDIs.append(PDI)
NDI = 100*(expNegDM[xx]/ATR[xx])
NDIs.append(NDI)
xx +=1
return PDIs,NDIs