arr=np.random.randint(1,100,100)
print(arr)
print(talib.SMA(arr,50))
(py36) D:\project\test>python test3.py
[18 28 75 4 95 98 93 13 96 92 55 46 11 1 37 20 42 32 58 99 22 23 82 73
26 86 85 77 26 57 44 98 43 78 53 72 45 60 72 38 46 58 73 26 86 33 37 64
97 3 69 51 95 80 91 18 89 1 98 32 48 74 85 36 51 90 29 18 46 10 72 19
15 99 93 84 41 89 99 19 5 34 33 13 76 78 85 96 76 8 51 78 76 3 42 5
46 16 23 7]
Traceback (most recent call last):
File "test3.py", line 16, in <module>
print(talib.SMA(arr,50))
File "talib\_func.pxi", line 9931, in talib._ta_lib.SMA
Exception: real is not double
加入类型转换:
arr=np.random.randint(1,100,100)
print(arr)
print(talib.SMA(arr,50))
结果输出 :
[35. 95. 1. 67. 49. 78. 84. 36. 82. 85. 17. 92. 92. 50. 77. 81. 89. 61.
82. 58. 91. 81. 51. 12. 35. 57. 37. 49. 22. 18. 37. 22. 29. 26. 98. 53.
43. 2. 98. 7. 17. 29. 8. 33. 4. 29. 32. 52. 20. 70. 7. 7. 71. 10.
14. 79. 25. 92. 16. 24. 16. 47. 36. 70. 27. 69. 77. 74. 85. 52. 22. 55.
91. 17. 93. 3. 50. 92. 11. 33. 91. 84. 54. 10. 90. 55. 81. 79. 62. 56.
27. 60. 92. 52. 43. 44. 84. 81. 11. 2.]
[ nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan
nan nan nan nan nan nan nan nan nan nan nan nan
nan 49.46 48.9 47.14 48.54 47.4 46.7 46.72 45.54 46.66 45.34 44.12
44.1 43.2 42.08 42.48 41.48 41.24 41. 41.26 41.32 41.2 39.82 39.3
40.1 40.2 41.36 40.28 40.54 41.4 41.18 41.48 42.56 43.8 44.3 43.98
43.82 43.86 44.62 46.16 45.44 46.42 46.62 47.24 48.92 49.3 50.08 50.38
51.42 52. 51.82 50.46]
结论:talib不能输入整数;如图所示: