金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
12
返回列表 发新帖
楼主: 105019

是不是笔误?

[复制链接]

0

主题

2620

帖子

2620

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-1 10:32 | 显示全部楼层
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-8-2 06:37 | 显示全部楼层
资深技术03 发表于 2024-8-1 10:32
函数需要自己封装。
https://www.weistock.com/docs/PEL/notes/%E8%87%AA%E5%BB%BA%E5%87%BD%E6%95%B0.htm ...

依照指引,不能得到输出。困惑:
1.找到自定义函数,添加DK名称,参数n,barpos
2.VBA的Function工程区找到DK函数,添加代码如下
Function DK(Formula,n,barpos)
    '系统会在逐K线模式解释公式时的每个周期都会调用此函数一遍,因此设计时应该注重程序的执行效率,不要重复的执行一些没必要的代码
    '为保证函数运行稳定,请确保“VBA自定义函数安全模式”选项处于打开状态。步骤:工具菜单->选项->其他选项卡。
dim i       
'得到K线的历史数据对象
'Set HistroyData = marketdata.GetHistoryData(CODE,Market,0)'CODE,Market分别指的是品种代码及所在市场(如"SRX00","ZQ")。5代表的日线数据,若要是1分钟这里填0,
'Count=HistroyData.count-1
Set History = Formula.ParentGrid.GetHistoryData()
Count=History.Count-1
for i = 0 to Count
    if i MOD 2 =0 then
       DK=1
           exit function  
    end if
DK=0
End Function

3、PEL公式ormula9引用
a:DK(0.005,BARPOS);

4、没有输出结果!!
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-8-2 06:38 | 显示全部楼层
上面公式的输出

补充内容 (2024-8-2 06:39):
截图202408020638429372.png
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-8-2 06:40 | 显示全部楼层
无任何输出数据!!!
截图202408020640019154.png
回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-8-2 06:43 | 显示全部楼层
按照要求设置了
截图202408020643364847.png
回复

使用道具 举报

0

主题

2620

帖子

2620

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-2 08:23 | 显示全部楼层
本帖最后由 资深技术03 于 2024-8-2 14:31 编辑

抱歉, vba自定义函数超出技术支持和能力范畴,这部分内容的实现需要用户自行解决。
至于你上面的代码,vba语法都不可能通过,for循环缺少next结束符。如果上述代码与你本地一致,说明你没有运行VBA环境(否者优于语法有问题会直接报错)。那么自定函数必然是没有结果。
[Visual Basic] 复制代码
	for i = 0 to Count
    	if i MOD 2 =0 then
       	DK=1
           	exit function  
    	end if
	DK=0
	Next

回复

使用道具 举报

37

主题

156

帖子

166

积分

Rank: 4

等级: 专业版

注册:
2022-1-11
曾用名:
 楼主| 发表于 2024-8-2 14:37 | 显示全部楼层
资深技术03 发表于 2024-8-2 08:23
抱歉, vba自定义函数超出技术支持和能力范畴,这部分内容的实现需要用户自行解决。
至于你上面的代码,vb ...

老师这话说的喔,就像你们提供示例一样。你错可以,我也是是漏写next。不然,编译就会报错!我不要你们提供指导 是请你们检查下,看看你们给客户提供的产品是长啥样子啊。

补充内容 (2024-8-2 14:42):
麻烦老师测试一下,看看结果。
回复

使用道具 举报

0

主题

2620

帖子

2620

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2024-8-2 16:48 | 显示全部楼层
本帖最后由 资深技术03 于 2024-8-2 16:53 编辑

上面的代码直接结果就是个恒为1;上午就测试过。否者也不可能知道语法错误的问题。(上面说的范畴指的是自定义函数涉及到逐k和序列两种不同的模式,在编写时是要区分的。这块我们目前提供不了深度的技术支持,含有实现能力方面) 截图202408021651565685.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-9-19 12:15 , Processed in 0.260813 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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