以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- [建议]关于STKINDI函数 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=2358) |
-- 作者:j888fff -- 发布时间:2010/8/4 1:08:27 -- [建议]关于STKINDI函数 在使用STKINDI函数时,引用指标的参数不能为变量,如想设为变量来优化参数,就会导致没有信号输出。 例如:STKINDI(\'1A0001\',\'MA.MA1(8,12,26,60)\',0,DATAPERIOD); 改成如下公式,检测能通过,但无信号输出。 STKINDI(\'1A0001\',\'MA.MA1(n1,n2,n3,n4)\',0,DATAPERIOD); 建议改良该函数。
|
-- 作者:admin -- 发布时间:2010/8/4 1:44:39 -- [建议] 开发一个对象、方法以便自动清除后台交易里的监控记录 可以带参数的使用方法,请参考 "Ma.ma1"(n1,n2)等用法 |
-- 作者:j888fff -- 发布时间:2010/8/4 15:43:45 -- 使用 "Ma.ma1"(n1,n2)方法通过。 但由于要引用前一根K线指标的值,非得单独另设个指标,略感麻烦些。 |
-- 作者:股疯 -- 发布时间:2010/8/6 8:17:32 -- 以下是引用j888fff在2010-8-4 15:43:45的发言:
使用 "Ma.ma1"(n1,n2)方法通过。 但由于要引用前一根K线指标的值,非得单独另设个指标,略感麻烦些。 麻烦的往往隐患少
|
-- 作者:j888fff -- 发布时间:2010/8/11 12:23:33 -- 以下是引用admin在2010-8-4 1:44:39的发言:
可以带参数的使用方法,请参考 "Ma.ma1"(n1,n2)等用法 经过几天的测试,发现还是存在问题。 1.例,为解决在15分钟周期引用30分钟周期上一根K线的数据,先编技术指标:rm 公式内容:假设参数m,缺省5,最小1,最大100,步长1;参数n,缺省10,最小2,最大100,步长1。 mmr1:ref("ma.ma1"(m,n),1) ;
再另编一交易指标:bb 公式内容:假设参数m,缺省5,最小1,最大100,步长1;参数n,缺省10,最小2,最大100,步长1。 mm30r1:="rm.mmr1#MIN30"(m,n) ; mm30r2:="rm.mmr2#MIN30"(m,n) ; aa: cross(mm30r1,mm30r2) ;
这时,如对bb指标进行参数优化,数据结果输出正常。比方最后选用了参数m为20,n为30。 但当把该bb交易指标信号显示到到图标上时,发现公式输出的数值,还是参数m为5,n为10的数值。(先切换到30分钟周期,再切回15分钟周期)。 原因为优化参数时,是优化了bb公式的参数,rm公式的参数优化不到。所以,bb交易系统用的还是原来的参数。
2.将bb交易系统做成预警IF08。 由于使用的是30分钟周期的数据,因此,在出现信号的时间应为:9:45 10:15 10:45 11:15 13:15 13:45 14:15 14:45 15:15 而实际上公式出现信号的时间几乎是按15分钟周期计算的。也就是说该在10:15分出的信号,出在了10:00 ,该在11:15分出的信号出在了11:00 ,因此在预警系统设置了走完一根K线才出信号时,造成了,bb指标信号在15分钟周期早出了一根K线,而预警系统则无信号提示出现。 如图:15分钟周期,白线尖峰是bb指标出的信号,时间在10:00,而按编制逻辑,应该是在10:15分才出的。时间到了10:15预警系统也没出信号。 [此贴子已经被作者于2010-8-11 12:45:01编辑过]
|
-- 作者:wattwei -- 发布时间:2010/8/11 13:51:56 -- 不错的问题,值得讨论。 1.原因为优化参数时,是优化了bb公式的参数,rm公式的参数优化不到。所以,bb交易系统用的还是原来的参数。 楼主的小周期的指标完全是调用的大周期的指标,不存在对小周期指标中其它公式的优化。要是有优化也是对引用的大周期公式的优化。是否有优化的效果,楼主可以将优化得出的参数写成常量,带入测试。如果得出效果好于未优化的缺省参数的情况,说明STKINDI支持变量参数传递,不然优化无效果。 2.由于使用的是30分钟周期的数据,因此,在出现信号的时间应为:9:45 10:15 10:45 11:15 13:15 13:45 14:15 14:45 15:15 从公式中看出,rm中引用的是最晚到上一个30分钟K线(已完全形成)的数据,那么信号出现点应该是相对开盘,间隔时间30分钟的倍数,而且信号一旦出现要维持30分钟不变。这点同意楼主的分析。但是显示信号要出现在下一根15分钟K线,即使这个K线还未完全形成,于是出现了楼主观察到的情况。 [此贴子已经被作者于2010-8-11 13:57:29编辑过]
|
-- 作者:j888fff -- 发布时间:2010/8/11 17:14:41 -- 以下是引用wattwei在2010-8-11 13:51:56的发言:
不错的问题,值得讨论。 1.原因为优化参数时,是优化了bb公式的参数,rm公式的参数优化不到。所以,bb交易系统用的还是原来的参数。 楼主的小周期的指标完全是调用的大周期的指标,不存在对小周期指标中其它公式的优化。要是有优化也是对引用的大周期公式的优化。是否有优化的效果,楼主可以将优化得出的参数写成常量,带入测试。如果得出效果好于未优化的缺省参数的情况,说明STKINDI支持变量参数传递,不然优化无效果。 2.由于使用的是30分钟周期的数据,因此,在出现信号的时间应为:9:45 10:15 10:45 11:15 13:15 13:45 14:15 14:45 15:15 从公式中看出,rm中引用的是最晚到上一个30分钟K线(已完全形成)的数据,那么信号出现点应该是相对开盘,间隔时间30分钟的倍数,而且信号一旦出现要维持30分钟不变。这点同意楼主的分析。但是显示信号要出现在下一根15分钟K线,即使这个K线还未完全形成,于是出现了楼主观察到的情况。 [此贴子已经被作者于2010-8-11 13:57:29编辑过]
第一个问题,通过使用如下方法解决: mm30r1:="ma.ma1##MIN30"(m,n) ; 多加个#,就能引用上一根K线的数值了。多加两个##,就能引用上上根K线数值。 如此就不用分2个公式,同时经实地测试,参数优化通过。
第二个问题依然存在,期待早日解决。 [此贴子已经被作者于2010-8-11 17:15:41编辑过]
|
-- 作者:j888fff -- 发布时间:2010/8/14 21:07:42 -- 管理员给回复下吧,第二个问题近期能给解决不? 烦请排上日程,不甚感激~ |
-- 作者:admin -- 发布时间:2010/8/14 21:11:10 -- 第二个问题不属于常用操作,如果你有特殊需要,请考虑用VBA得自定义函数解决 |
-- 作者:j888fff -- 发布时间:2010/8/14 23:47:47 -- VBA不会啊,恳请哪位高手会的给解决下吧,万分感激~ |