以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  参数精度问题?  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=169024)

--  作者:一代天骄
--  发布时间:2019/3/27 16:22:16
--  参数精度问题?
MAXPROFIT_D:=(HHV(HIGH,ENTERBARS+2)-AVGENTERPRICE)/AVGENTERPRICE;
CURRENTPROFIT_D:=(CLOSE-AVGENTERPRICE)/AVGENTERPRICE;
CURRENTLOSS_D:=(AVGENTERPRICE-CLOSE)/AVGENTERPRICE;
CD1:=CURRENTLOSS_D>=0.01*Z1 AND HOLDING>0;
CD2:=MAXPROFIT_D>=0.01*Z2 AND CLOSE<=AVGENTERPRICE AND HOLDING>0;
CD3:=MAXPROFIT_D>=0.01*Z3 AND (HHV(HIGH,ENTERBARS+2)-CLOSE)/HHV(HIGH,ENTERBARS+2)>=0.01*Z4 AND HOLDING>0 ;
IF CD1=1 OR CD2=1 OR CD3=1 THEN 
   BEGIN
   SELL(HOLDING>0,0,LIMIT,CLOSE-3*MINDIFF),IGNORECHECKPRICE;
   DRAWTEXT( 1,LOW ,"平多" );
END
其中0.01这个参数精度改成0.002,比如说止损2%,那么z1的参数是2,那么这个0.01改成0.002,那么z1的参数是10,这个表达的是也是止损2%,为何金字塔测试的时候测试的结果不一样呢?

--  作者:FireScript
--  发布时间:2019/3/27 16:41:22
--  
这2种方式计算结果是没有区别的。你可以单独把这个乘积输出下,能看到是一样的。 如果是回测有差异的话,你检查下是不是其他条件不一致,比如数据量不一致或者价格复权与否。

--  作者:一代天骄
--  发布时间:2019/3/27 16:48:10
--  
我在同一台电脑,同一个软件,同样的测试时间段,就是修改0.01这个参数为0.002,但是我这个z1,z2,z3,z4这个参数我也是放大了原来的5倍,比如原来0.01参数时,z1,z2,z3数值是2,2,4,那么修改成0.002时,z1,z2,z3就就变成10,10,20了,应该测试结果一样的才对啊,就是测试结果不一致啊?这是为何,可以排除数据量和复权的因素,
--  作者:FireScript
--  发布时间:2019/3/27 16:55:49
--  
 确定修改的时候所有参数都同步修改了吗?比如楼了漏个0.01没有修改这种细节。

或者你提供下完整代码,我本地测试给你看下效果。
[此贴子已经被作者于2019/3/27 16:55:59编辑过]