欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 我在“金字塔”中遇见了鬼

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6298人关注过本帖树形打印复制链接

主题:我在“金字塔”中遇见了鬼

帅哥哟,离线,有人找我吗?
MMM
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
我在“金字塔”中遇见了鬼  发帖心情 Post By:2011/12/23 9:13:36 [只看该作者]

跟鬼折腾了一个晚上,在确认自己变成鬼之前,再次测试了一遍,决定发布上来请大家捉鬼。

 

我将之前一直正常的一个策略引入了MD函数进行组合应用,在测试的过程当中跳动的数字不断给我带来惊喜,有突破!我用交易评测中优化的参数替换原有参数后再对公式开始测试,怎么结果还不如原来的好? 又进行了一遍参数的优化,发现这回的参数中又出现了和上次不一样的结果,还有更好的。我想可能是到了晚上犯困有些恍惚了哪个操作出了问题。就将新的参数用上试一下,这回还可以,就是数值有些小的差异,没有太在意。上述过程经过几个来回,虽然数据总是有些小的差异,但总体还算稳定,我就建立一个新的公式,把优化的参数全部在新公式中赋值去掉参数,准备最后测一下就心满意足地睡个好觉。就这个时候,鬼来了。点击“开始”的一个动作和浮现出来的结果让我差异,怎么这么差?交易次数增多了30%左右。我赶紧对比着检查赋值的参数和优化的参数,看得眼珠子都快掉下来了(本来就已经很困了)没有发现异常啊?  可新老两个公式的测试结果就是天壤之别。 靠(气氛之下),见了鬼了!?

 

就这样开始抓鬼,具体的过程就不详述了,反正是花了n个小时,将以前的好几个公式有都走了优化过程好几遍也没发现数值差异,排除了软件和计算机的问题,这期间还多次重启软件和计算机,最后觉得鬼就在这个公式中。实在顶不住了小睡一下图片点击可在新窗口打开查看

 

哪里睡得踏实?醒来再次开机进到金字塔中,又走了一遍,昨天的问题依然呈现,没想到早晨的优化结果还创下新高,借助休息后相对清醒的大脑仔细的回顾了一下,交易次数出现如此大的波动,只能是MD的输出波动较大,于是将鬼定位在MD函数中。赶紧上到论坛搜一下,发现已经有遭雷的。

 

如果是MD的问题,请MD的设计者查查是否有BUG,如果不是请大家帮助捉鬼!!!


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2011/12/23 9:20:08 [只看该作者]

测试的下单记录跟你图表上下单信号吻合么?


 回到顶部
帅哥哟,离线,有人找我吗?
fly
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/12/23 9:57:00 [只看该作者]

楼主可否把  关于MD函数发现该问题的代码,发布出来,看看


金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
MMM
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
  发帖心情 Post By:2011/12/23 11:17:34 [只看该作者]

TD:=MD(C,I);

vb:10000*(hhv(TD,K)-llv(TD,K))/C,linethick0;

if vb<=vbr then exit;

 

其实就是很简单地将上面的三行插入了以前的公式适当的位置,I,K,vbr都是参数,我发现MD的结果本身的范围变化极大,如果MD的小数位精度不够的话可能导致问题的发生,正准备改成 vb:(10000*hhv(TD,K)-10000*llv(TD,K))/C 试试。

 

 



 回到顶部
帅哥哟,离线,有人找我吗?
fly
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:5082 积分:17642 威望:0 精华:6 注册:2010/7/15 9:05:58
  发帖心情 Post By:2011/12/23 11:20:56 [只看该作者]

非常感谢

最好是,能直接反应问题的  可执行公式全部代码,这样好本地跟踪



金字塔—专业程序化交易量化投资平台

客户服务部

-----------------------------------------------------------

欢迎您参加我公司的技术培训,具体培训需求请发邮件到

service@weistock.com

您的宝贵建议或者投诉,请发往邮箱:weiwei@weistock.com

 回到顶部
帅哥哟,离线,有人找我吗?
MMM
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
  发帖心情 Post By:2011/12/23 11:42:53 [只看该作者]

真是碰上厉鬼了!图片点击可在新窗口打开查看

改过没有用,反倒鬼变厉鬼了。

 

1.打开公式,先对既定的参数进行测试,结果总是第一次测试的那个结果:利润~160%,交易次数135。

2.对其中两个参数优化,结果中出现了一个超过180%的参数,交易次数103次。

3.再执行一遍优化,结果中出现了三个超过180%的参数。

4.再来一遍吧,反正累的是电脑,哈哈,这回结果中出现了五个超过180%的参数,原先160%对应的参数最新的结果居然变成了182%,交易次数也减少了。图片点击可在新窗口打开查看

5.这时候不优化了,什么参数都不改再“开始”一下,居然原有的参数这回的结果变成了182%,中间就是执行了几遍优化,并没有改变参数,结果却变化了,这鬼够厉的吧?也许优化模块搞不定MD函数。呵呵。


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/12/23 12:09:13 [只看该作者]

请给出完整公式,便于我们进行完整性测试



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
MMM
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
  发帖心情 Post By:2011/12/23 15:07:43 [只看该作者]

由于不方便提供完整代码,只能按照2楼的建议对照检查明细和符号。我这个公式是设计成副图指标的,从副图上看和明细一样,再建立一个交易公式在主图图表上显示交易信号,对比后发现和明细不一样。很显然,在图图表上正确执行的exit,但是测试明细和下面副图公式在某些时段没有执行exit。

 

看看这样说能排除公式本身的问题吗?注明一下,在该段代码前面有一段if结构中包含了一个exit,但出问题的时段if中的exit是不会被执行的。


 回到顶部
帅哥哟,离线,有人找我吗?
王锋
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2011/12/23 15:47:09 [只看该作者]

逐K线模式下使用EXIT在使用不当是会出现统计问题的,建议你去掉试试



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
MMM
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
  发帖心情 Post By:2011/12/23 22:08:01 [只看该作者]

版主提醒的对,谢谢!

 

刚接触金字塔,这个逐K线的机制到底如何仅凭操作指南的说明看来一时半会儿很难掌握(我到现在还没有理解序列模式到底是怎样工作的,在序列模式下连交易信号都没有,改成逐K线就有了图片点击可在新窗口打开查看),再加上一个诡异的EXIT时不时装神弄鬼,搞不好还不让自己的银子打水漂玩了?

 

进一步的跟踪调试发现鬼就是这个EXIT(瞧瞧关于EXIT函数的说明,简单的就是个裸体图片点击可在新窗口打开查看)。

 

原来在逐K线模式使用了EXIT后,在EXIT之后的我那条可怜的语句中,hhv还能正确计算,llv就是0了(不愿意浪费时间再查如果当前值正好是最高的话hhv是否也要歇菜)。 为了连续显示TD的值,我是将TD:=MD(C,I)这条置于了带有exit的if结构的前面,如下:

TD:=MD(C,I);

//if结构

if xxxx 

..

存在exit

..

end

 

vb:10000*(hhv(TD,K)-llv(TD,K))/C,linethick0;

if vb<=vbr then exit;

 

可谁能想到在连续的TD上计算它的hhv,llv还有问题? 估计还是没搞明白什么是逐K线,这些函数的向前引用的数值是怎样计算的。深奥啊,由于EXIT的执行造成了不连续,hhv/llv就不正常工作了,联想下去,是否类似ref等所有向前引用数据的函数就都要遭到不测?

 

可怕的EXIT就像一颗定时炸弹,在函数的说明中应该严重注明它的厉害之处。

 

在哪里可以快速了解类似这样的炸弹使用方法呢???

 

另外,如何解释在交易图表上显示的和副图上显示的信号不一致?

 

=================== 以下后加 ======================

后来想了想,是否条件语句或条件结构中的所有参数因条件不能保证每个K线都赋值的,在将来被引用时都将出现无法预知的结果?而EXIT只能算其中之一?

 

[此贴子已经被作者于2011-12-23 22:28:34编辑过]

 回到顶部
总数 15 1 2 下一页