以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  高级功能研发区  (http://weistock.com/bbs/list.asp?boardid=5)
----  递归函数编写  (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=156154)

--  作者:ying_223223
--  发布时间:2017/7/22 19:09:56
--  递归函数编写
能否帮我用VBA写一个ema函数的例子,逐K线模式的。
我不太知道里面如何实现递归

--  作者:ying_223223
--  发布时间:2017/7/23 23:00:42
--  
要实现的公式是:OMA(T)=(a-1)price(T)+(a^2+1)price(T-1)+a*OMA(T-1)*OMA(T-2)。

其中T、a、price是参数,与ema类似,但是ema中并没有传递T这个参数,怎么实现递归的呢?
请帮我实现一下这个公式吧

--  作者:yukizzc
--  发布时间:2017/7/24 9:20:50
--  

你可以直接用c++去编写dll然后直接使用,网上有现成的ema源码。您可以看下

http://blog.sina.com.cn/s/blog_71e0c1fc0100ozsu.html

金字塔通用这些接口的,在金字塔里使用方法可以看下帮助信息http://www.weistock.com/WeisoftHelp/ckuazhanchajian.htm


--  作者:ying_223223
--  发布时间:2017/7/24 10:02:36
--  
如果是C++写的接口是否还区分,金字塔的序列模式和逐K线模式呢?
哪里可以下载到空的dll项目包

--  作者:yukizzc
--  发布时间:2017/7/24 10:26:41
--  

不需要新建空项目,直接在金字塔的那个范例包里添加函数就可以了

有区分序列还是逐k模式的,网上ema那个源码相当于我们序列模式下编译。

您如果对此有难度也可以用vb写,递归的大概思路就看给您那个博客里源码就是。


--  作者:ying_223223
--  发布时间:2017/7/24 11:42:37
--  
请问我在金字塔软件中调用dll的公式为什么说函数未定义,会是哪里的问题。

流程如下:
1、编译了安装目录中的stockfunc功能(VS2010编译),生成了StockFunc.dll(debug版本)
2、拷贝到FmlDLL目录中,
3、重启了金字塔软件
4、新建交易系统,在系统中添加一行“AA:StockFunc@MYBBI(C,20);”(此函数为工程中自带的例子函数)


--  作者:yukizzc
--  发布时间:2017/7/24 12:05:53
--  

看cpp里面有参数说明的,传入五个参数,前四个是序列数据,最后一个周期参数

 

[此贴子已经被作者于2017/7/24 12:17:52编辑过]

--  作者:ying_223223
--  发布时间:2017/7/24 12:24:21
--  
是的我使用的是64位版本,我把编译平台修改成为x64的版本了,但之前的问题还是没有解决,依然找不到函数。
--  作者:yukizzc
--  发布时间:2017/7/24 12:41:33
--  
a:"AA:StockFunc@MYBBI"(o,h,l,c,20);