开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 4220|回复: 26
收起左侧

[易语言软件开源] Talib库C++编译的DLL使用GO语言调用

[复制链接]
结帖率:97% (29/30)
发表于 2022-7-18 13:01:59 | 显示全部楼层 |阅读模式   广东省东莞市
分享源码
界面截图:
是否带模块: -
备注说明: -
最近在写指标,py的talib库指标很全,但是本人又不会PY,所以就在网上寻找talib的DLL版,看能不能使用易语言调用的。
偶然发现有人用C++编译出来了个DLL。但是是GO 语言调用的。

Go语言我也不会,现在分享出来。

能不能用我也不知道。

如果有哪位兄弟能做个易语言调用的例子 就感激不尽了。

链接:https://share.weiyun.com/89APVfbl 密码:888888



发表于 2022-8-6 19:29:02 | 显示全部楼层   江苏省连云港市
感谢分享
回复 支持 反对

使用道具 举报

结帖率:72% (13/18)

签到天数: 7 天

发表于 2022-7-26 22:19:18 | 显示全部楼层   福建省厦门市
本帖最后由 wan942182718 于 2022-7-26 22:20 编辑
seven7c 发表于 2022-7-26 22:07
对的,要的就是这样的效果。

回复帖不了代码,老报错

我只能说 你下载  ewow64ext  模块调用就行了,(因为它是64dll)
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 18 天

 楼主| 发表于 2022-7-26 22:07:12 | 显示全部楼层   广东省东莞市

对的,要的就是这样的效果。
回复 支持 反对

使用道具 举报

结帖率:72% (13/18)

签到天数: 7 天

发表于 2022-7-26 21:50:44 | 显示全部楼层   福建省厦门市
配合WOW64Ext  模块使用
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
modtalib长整数型  
m_Z_Initialize长整数型  
m_Z_Acos长整数型  
m_Z_Max长整数型  

子程序名返回值类型公开备 注
TalibX64_Init逻辑型 
参数名类 型参考可空数组备 注
path文本型
modtalib = LoadLibraryEx64 (0, path, )
如果真 (modtalib ≤ 0)
返回 ()
m_Z_Initialize = GetProcAddress64 (modtalib, “Z_Initialize”)
m_Z_Shutdown = GetProcAddress64 (modtalib, “Z_Shutdown”)
m_Z_Acos = GetProcAddress64 (modtalib, “Z_Acos”)
m_Z_Max = GetProcAddress64 (modtalib, “Z_Max”)
子程序名返回值类型公开备 注
talibX64_Free逻辑型 
返回 (FreeLibrary64 (0, modtalib))
子程序名返回值类型公开备 注
ta_Initialize整数型 
变量名类 型静态数组备 注
retCode长整数型 
retCode = X64Call (m_Z_Initialize, , , , , , , , , , )
返回 (retCode)
子程序名返回值类型公开备 注
ta_Acos整数型 
参数名类 型参考可空数组备 注
startIdx整数型
endIdx整数型
inReal双精度小数型
outBegIdx整数型
outNBElement整数型
outReal双精度小数型
变量名类 型静态数组备 注
retCode长整数型 
retCode = X64Call (m_Z_Acos, startIdx, endIdx, 取变量数据地址 (inReal), 取变量数据地址 (outBegIdx), 取变量数据地址 (outNBElement), 取变量数据地址 (outReal), , , , )
返回 (retCode)
子程序名返回值类型公开备 注
ta_Max整数型 
参数名类 型参考可空数组备 注
startIdx整数型
endIdx整数型
inReal双精度小数型*float64
optInTimePeriod整数型
outBegIdx整数型*int
outNBElement整数型*int
outReal双精度小数型*float64
变量名类 型静态数组备 注
ret长整数型 
' syscall.Syscall9(procZ_Max.Addr(), 7, uintptr(startIdx), uintptr(endIdx), uintptr(unsafe.Pointer(inReal)), uintptr(optInTimePeriod), uintptr(unsafe.Pointer(outBegIdx)), uintptr(unsafe.Pointer(outNBElement)), uintptr(unsafe.Pointer(outReal)), 0, 0)
ret = X64Call (m_Z_Max, startIdx, endIdx, 取变量数据地址 (inReal), optInTimePeriod, 取变量数据地址 (outBegIdx), 取变量数据地址 (outNBElement), 取变量数据地址 (outReal), , , )
返回 (ret)
子程序名返回值类型公开备 注
子程序_test  
变量名类 型静态数组备 注
retCode整数型 
inReal双精度小数型0
n整数型 
outBegIdx整数型 
outNBElement整数型 
outReal双精度小数型0
调试输出 (ta_Initialize ())
inReal = { 0.5, 0.6, 0.7 }
n = 取数组成员数 (inReal)
重定义数组 (outReal, 假, n)
' outReal=[1.0471975511965979 0.9272952180016123 0.7953988301841436]
retCode = ta_Acos (0, n - 1, inReal, outBegIdx, outNBElement, outReal)
调试输出 (retCode, outBegIdx, outNBElement, outReal)
inReal = { 1, 2, 3, 4, 5, 3, 43.2, 3.2, 3.13 }
n = 取数组成员数 (inReal)
重定义数组 (outReal, 假, n)
' out=[0 0 0 0 5 5 43.2 43.2 43.2]
retCode = ta_Max (0, n - 1, inReal, 5, outBegIdx, outNBElement, outReal)
调试输出 (retCode, outBegIdx, outNBElement, outReal)
回复 支持 反对

使用道具 举报

结帖率:72% (13/18)

签到天数: 7 天

发表于 2022-7-26 20:24:50 | 显示全部楼层   福建省厦门市
seven7c 发表于 2022-7-26 10:11
可以麻烦你写个简单的调用例子吗?

这个效果?
talib.png
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 18 天

 楼主| 发表于 2022-7-26 15:31:23 | 显示全部楼层   广东省东莞市
老牛的记忆365 发表于 2022-7-26 15:23
用 tradingview  吧,语法简单

想在易语言的写的软件上使用,TV 能用,但是美时都需要盯着。
回复 支持 反对

使用道具 举报

结帖率:70% (7/10)

签到天数: 3 天

发表于 2022-7-26 15:23:40 | 显示全部楼层   香港特别行政区*
用 tradingview  吧,语法简单
回复 支持 反对

使用道具 举报

结帖率:72% (13/18)

签到天数: 7 天

发表于 2022-7-26 12:11:46 | 显示全部楼层   福建省厦门市
seven7c 发表于 2022-7-26 10:11
可以麻烦你写个简单的调用例子吗?

直接用记事本打开go文件就能看到调用方法了
回复 支持 反对

使用道具 举报

结帖率:97% (29/30)

签到天数: 18 天

 楼主| 发表于 2022-7-26 10:11:45 | 显示全部楼层   广东省东莞市
wan942182718 发表于 2022-7-25 23:43
go 里面可以用,参数传的都是数据指针

可以麻烦你写个简单的调用例子吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表