gpt4 book ai didi

python - Ctypes中的TA-Lib,帮助调用函数

转载 作者:行者123 更新时间:2023-11-30 18:02:39 25 4
gpt4 key购买 nike

所以在过去的三天里我一直在试图找出 TA-Lib使用Python。这是我编译成 dylib(.so 的 mac 版本)的源代码,并从编码如下的 python 脚本中调用它:

from ctypes import *
import numpy

c_float_p = POINTER(c_float)
data = numpy.array([1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20])
data = data.astype(numpy.float32)
data_p = data.ctypes.data_as(c_float_p)


dylib = CDLL('libta_lib.dylib')


value = dylib.TA_S_SMA(c_int(0), c_int(data.size - 1), data_p, 0, 19, data_p)

无论数组值是什么,打印值都会返回 2。我无法将 TA_S_SMA 的第四个参数从 0 或 1 更改,否则我会收到 python 138 错误,然后出现 python 崩溃。谁能向我解释调用这个函数的正确方法?我的 C 技能有限(读为 0)。

有用的链接:

谢谢!

最佳答案

几周前我遇到了同样的问题,我发现了这些instructions 。现在他们不使用 ctypes,但我认为它效果更好。 SWIG 将为您完成所有包装工作。有几点需要注意。当您到达 Single: Multi: 部分时,如果您不知道哪个,请从 Multi 开始,如果不起作用,请转到 Single。再往下看,您会看到他正在将 Python 2.3 替换为 Python 2.6。我使用的是 python 2.7,只是用 2.7 替换了 2.6,它就工作了。我不确定这是否适用于更高版本的 python,但如果这就是你正在使用的,那么值得一试。希望对您有所帮助。

关于python - Ctypes中的TA-Lib,帮助调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com