金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 2248|回复: 4

C++ DLL公式咨询

[复制链接]

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
发表于 2022-5-23 13:46 | 显示全部楼层 |阅读模式
C++ DLL公式,有几个编程的问题:
由于我原来的原来算法已经在C++ 里面,我希望是能够仅仅传递K线量价信息,以及一些全局变量,进入到STOCKFUNC自定义函数去,然后STOCKFUNC自定义函数就返回值,例如1是开仓1、2是加仓1手、-1是平仓,这些简单返回值,让PEL公式写很少的东西。


1、
假设是逐K模式编写,刷最后一根K。
假设原有100根K,现在新进来第101根K。那么在第101根K线上,除了第101K的价格数据,我还希望获得历史上计算记录下来的全局变量,而这些全局变量,应该是保存在PEL里面,通过STOCKFUNC@MYMA(A,B,C,D)这种方式来传递吗?
(1)如果有100个全局变量需要传递呢?这么多应该怎么传?
(2)全局变量的值,在MYMA计算好后,怎么反向修改A,B,C,D这些全局变量啊?

2、我看STOCKFUNC里面的逐K模式,不同K线刷新时候,是记录了一个static vector来记录历史K线的。有两个子问题:
(1)也可以使用STOCKFUNC里面添加 static 变量来当作全局变量记录和传递信息吗?
(2)但是如果我同时监控AG、AU、RB3个品种,每个品种也监控1分钟图、15分钟图,我希望他们是3*2个独立的线程的。
那么STOCKFUNC里面的static vector,怎么知道是要设立6个不同的、相互独立的vector来记录K线数据啊?而且在刷新同一个品种同一个时间周期组合时候,他们又要知道是用回同一个static vector变量。PEL的图表交易或者后台交易,是可以知道这个区别的吗?


3、STOCKFUNC的返回值,可以是返回2个值吗?例如1个值代表开、平、加减仓,第2个值代表开的手数。
回复

使用道具 举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-5-24 10:41 | 显示全部楼层
请求解答啊,谢谢!
回复

使用道具 举报

1

主题

1040

帖子

1050

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-5-24 13:31 | 显示全部楼层
__declspec(dllexport) int WINAPI MYMAVAR(CALCINFO* pData)
这个范例函数已经有详细的逐k线仅刷最后一根k线的详细范例了,通过这个范例你应该能容易看懂当前dll的执行模式。
此外,如果你对某些模式不是很好理解,你可以通过自行打印txt日志的方式来多了解其中的运行模式,这是c++程序必备的基本技能之一
回复

使用道具 举报

55

主题

179

帖子

179

积分

等级: 免费版

注册:
2021-11-18
曾用名:
 楼主| 发表于 2022-5-24 14:59 | 显示全部楼层
感谢技术人员解答。我这个问题里面,

第1个问题:从PEL传递过去给STOCKFUNC的A、B、C、D参数,可以被修改变量值并返回吗?
第3个问题:STOCKFUNC的返回值,可以是返回2个值吗?例如1个值代表开、平、加减仓,第2个值代表开的手数。

这两个可以解答吗?
回复

使用道具 举报

1

主题

1040

帖子

1050

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-18
曾用名:
发表于 2022-5-24 15:38 | 显示全部楼层
传递到DLL的参数是不可以被修改的。
返回值只能是一个值,不能多个。如果你是逐k线模式的,你可以考虑将返回值放在INI文件中,这样PEL就可以读取多个返回值出来了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2025-5-7 19:17 , Processed in 0.194939 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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