यह एक खुला स्रोत एटीआर फ़ंक्शन है जो समूह के मालिकों द्वारा लिखा गया है, इसलिए मैं आप सभी से अनुरोध करता हूं कि आप एक पैनडस संस्करण लिखें, जिसमें टैलिब का उपयोग नहीं किया गया है।
def एटीआर ((रिकॉर्ड, अवधि=14):
यदि len ((रिकॉर्ड) == 0:
वापसी []
यदि
R = Std._zeros(len(records))
m = 0.0
n = 0.0
for i in xrange(0, len(records)):
TR = 0
if i == 0:
TR = records[i]['High'] - records[i]['Low']
else:
TR = max(records[i]['High'] - records[i]['Low'], abs(records[i]['High'] - records[i - 1]['Close']), abs(records[i - 1]['Close'] - records[i]['Low']))
m += TR
if i < period:
n = m / (i + 1)
else:
n = (((period - 1) * n) + TR) / period
R[i] = n
return R
घासकोई अंतर नहीं है