下午好
宣布了ADX指示器功能 (链接Python:Average Directive Index(ADX)2定向运动系统计算-https://www.youtube.com/watch?v=joOWm-GcHTw)
操作过程中出现错误-“TypeError:“内置函数”或“方法”对象不可下标”
在这条线上— TRDate,TrueRange=TR(日期[x],关闭[x],高点[x],低点[x],打开[x],关闭[x-1]) TypeError:“内置函数”或“方法”对象不可下标
我很高兴能得到任何帮助。 感谢 代码如下
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
你能显示你所有的导入语句吗
还可以将
date
变量更改为其他变量吗下午好。按建议去做。没有帮助
同样的错误。 TRDate,TrueRange=TR(cur_date[x],closep[x],highp[x],lowp[x],openp[x],closep[x-1]) TypeError:“内置函数”或“方法”对象不可下标
很抱歉,我没有插入代码的最后一部分
因此,呼吁:
例如: [ [ 1499040000000,//数据 “0.01634790”,//打开 “0.8000000”//高 “0.01575800”//低 “0.01577100”,//关闭 “148976.11427815”//卷 1499644799999,//关闭时间 “2434.19055334”,//配额货币 308,//交易数量 “1756.87402397”,//买方购买基础资产量 “28.46694368”,//买方买入报价资产量 “17928899.62484339”//忽略 ] ]
相关问题 更多 >
编程相关推荐