编写一个通达信的DLL插件来读取最大分时成交量并在副图中显示,涉及到以下几个步骤:
1. 环境准备
- Visual Studio:用于编写和编译DLL。
- 通达信API:通达信提供了API接口,可以通过这些接口来获取分时数据。
2. 创建DLL项目
在Visual Studio中创建一个新的DLL项目。
3. 编写DLL代码
以下是一个简单的示例代码,展示如何读取最大分时成交量并在副图中显示。
```cpp
include
include
include "tdxapi.h" // 通达信API头文件
// 导出函数声明
extern "C" __declspec(dllexport) void __stdcall GetMaxVolume(int maxVolume);
// 获取最大分时成交量
void __stdcall GetMaxVolume(int maxVolume) {
int count = GetMinuteDataCount(); // 获取分时数据数量
maxVolume = 0;
for (int i = 0; i < count; i++) {
int volume = GetMinuteData(i).Volume; // 获取第i个分时数据的成交量
if (volume > maxVolume) {
maxVolume = volume;
}
}
}
// DLL入口函数
BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {
switch (ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
```
4. 编译DLL
在Visual Studio中编译项目,生成DLL文件。
5. 在通达信中调用DLL
在通达信中使用`DLL`函数来调用你编写的DLL。
1. 将生成的DLL文件放到通达信的`T0002\dlls`目录下。
2. 在通达信的公式编辑器中编写公式来调用DLL函数。
```plaintext
MAXVOLUME := CALLSTOCKDLL('YourDLLName.dll', 'GetMaxVolume', 0);
DRAWNUMBER(MAXVOLUME, 0, 2, 0);
```
6. 测试和调试
在通达信中加载公式,查看副图中是否正确显示最大分时成交量。
7. 有偿服务
如果你需要更复杂的实现或者需要进一步的帮助,可以考虑联系专业的开发者或者团队进行有偿服务。你可以通过以下方式联系我:
- 邮箱: [your-email@example.com](mailto:your-email@example.com)
- 微信: your-wechat-id
- QQ: your-qq-number
注意事项
- 确保你使用的通达信API版本与你的DLL兼容。
- 在编写和调试过程中,可能会遇到各种问题,建议逐步测试每个部分的功能。
希望这些步骤能帮助你实现需求。如果有进一步的问题,欢迎随时联系。
如果觉得有用或者需要进一步了解相关问题,可以点赞预约或点击头像微信联系咨询。
发布于2025-3-21 08:35 上海
由于编写DLL和通达信公式涉及较高的编程技能和对通达信API的理解,如果你没有相关经验,建议寻求专业编程人员的帮助。你可以通过技术论坛、编程外包平台等渠道寻找合适的开发者,协助完成这项任务。
发布于2025-3-21 15:31 渭南


1对1私行级陪伴









1分钟入驻>

历史成交量是看不到的,但是历史的分数都是可以看得到。
等8人解答
您好!在分时图上显示昨日和今日成交量,不同的交易软件操作方法可能有所不同。一般来说,您可以在交易软件中找到分时图界面,然后在设置选项里查看是否有显示成交量对比的功能,开户点击头像就有我... 

公网安备:11010802032515号 ICP备案:京ICP备18019099号-3