以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  enterprice和avgenterprice的区别  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=154967)

--  作者:牤牛
--  发布时间:2017/6/12 9:51:41
--  enterprice和avgenterprice的区别
 请问软件里avgenterprice是怎么定义的?如果是平均持仓价格,那么单手买卖的时候enterprice和avgenterprice应该是一样的,但我实测结果相差很大。
--  作者:gxx978
--  发布时间:2017/6/12 9:58:25
--  
avgenterprice是从最近一次空仓开始计算的持仓均价;enterprice是从上次开仓开始计算的持仓价格。
--  作者:wenarm
--  发布时间:2017/6/12 10:03:02
--  

截图看下你怎么测得,以及结果。

 avgenterprice=(每次开仓价格之和-每次平仓价格之和)/当前持仓手数

 


--  作者:牤牛
--  发布时间:2017/6/12 10:25:22
--  
 如果如2,3楼所说,enterprice和avgenterprice在我的应用下应该是一样的。我的应用是
buy(开仓条件 and holding=0,1,market);
sell(平仓条件 and holding>0,1,market);
同一时刻只有一手,而且开平仓会判断holding,就不应该有不同了,晚上回去我会把测试结果贴上来。

--  作者:yukizzc
--  发布时间:2017/6/12 13:03:47
--  

buy(c>o and holding=0,1,market);
sell(ENTERBARS>10 and holding>0,1,market);
a:ENTERPRICE;
b:AVGENTERPRICE;

本地用如下代码测试,结果是一样的


--  作者:牤牛
--  发布时间:2017/6/12 19:43:58
--  
 测试数据不一样。
LC := REF(CLOSE,1);
RSI1:SMA(MAX(CLOSE-LC,0),N1,1)/SMA(ABS(CLOSE-LC),N1,1)*100;

kk:=rsi1>20 and ref(rsi1,1)<20 and time<224800;
kd:=rsi1<80 and ref(rsi1,1)>80 and time<224800;

pd:=abs(c-avgenterprice)>20 or time>224800;

IF HOLDING>0 AND pd THEN SELL(1,0,MARKET);
IF HOLDING<0 AND pd THEN SELLSHORT(1,0,MARKET);
IF HOLDING=0 AND kd  THEN BUY(1,1,MARKET);
IF HOLDING=0 AND kk  THEN BUYSHORT(1,1,MARKET);

--  作者:gxx978
--  发布时间:2017/6/13 8:59:39
--  
输出avgenterprice和enterprice,在开仓后的值是一样的。
--  作者:pyd
--  发布时间:2017/6/13 9:00:09
--  
你说的不一致具体指怎么不一致,也可以截图看下
--  作者:牤牛
--  发布时间:2017/6/13 21:46:34
--  
回测得到的结果明显不一样
图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

--  作者:wenarm
--  发布时间:2017/6/14 8:20:25
--  

1.把你的成交明细上传看下。这个截图没有任何分析意义。

2。你提供的测试公式并没有两个函数之间的使用方式。