请问软件里avgenterprice是怎么定义的?如果是平均持仓价格,那么单手买卖的时候enterprice和avgenterprice应该是一样的,但我实测结果相差很大。
avgenterprice是从最近一次空仓开始计算的持仓均价;enterprice是从上次开仓开始计算的持仓价格。
截图看下你怎么测得,以及结果。
avgenterprice=(每次开仓价格之和-每次平仓价格之和)/当前持仓手数
如果如2,3楼所说,enterprice和avgenterprice在我的应用下应该是一样的。我的应用是
buy(开仓条件 and holding=0,1,market);
sell(平仓条件 and holding>0,1,market);
同一时刻只有一手,而且开平仓会判断holding,就不应该有不同了,晚上回去我会把测试结果贴上来。
buy(c>o and holding=0,1,market);
sell(ENTERBARS>10 and holding>0,1,market);
a:ENTERPRICE;
b:AVGENTERPRICE;
本地用如下代码测试,结果是一样的
测试数据不一样。
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);
输出avgenterprice和enterprice,在开仓后的值是一样的。
1.把你的成交明细上传看下。这个截图没有任何分析意义。
2。你提供的测试公式并没有两个函数之间的使用方式。