如题,模型中条件判断都是以Close相关的变量做为判断条件的,模型设置为逐K线计算,K线走完模式,10s周期,未采用高频模式,开单代码如buy(1,1,market)。
出现的问题:信号消失。
疑问:1,公式中,单根K线上每个TICK更新,输出的变量也随之更新,这貌似和K线走完模式定义不符合,个人猜测公式运行机理:在K线走完模式下,公式会随着每根K线TICK更新后计算一次,但下单的语句如buy,sell等是K线走完之后发出指令,不知道对不对。
2,假如运行机理如1中猜想一致,那么也不会出现信号消失的问题,所以会不会是设置错误,感觉K线走完模式这个设置没起到作用。
[此贴子已经被作者于2014/2/20 15:03:08编辑过]
也不能说是猜测,但很明显的是模型在K线没走完时出现开平仓导致信号闪,和我的设置不符合
BBI:(MA(CLOSE,M1)+MA(CLOSE,M2)+MA(CLOSE,M3)+MA(CLOSE,M4))/4,COLORMAGENTA;
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA := EMA(DIFF,M);
MACD1 := 2*(DIFF-DEA);
k1:=STKINDI('','KDJ.K',0,KD大周期,0),NOAXIS;
d1:=STKINDI('','KDJ.D',0,KD大周期,0),NOAXIS,COLORYELLOW;
k:ref(k1,1),NOAXIS;
d:ref(d1,1),NOAXIS;
BBI做多区:=FALSE;
BBI做空区:=FALSE;
MACD做多区:=FALSE;
MACD做空区:=FALSE;
KD做多区:=FALSE;
KD做空区:=FALSE;
if CLOSE-OPEN>0 and CLOSE>BBI and HIGH-BBI>=(HIGH-LOW)*0.6 then BBI做多区:=TRUE;
if CLOSE-OPEN<0 and="and" CLOSE
=(HIGH-LOW)*0.6 then BBI做空区:=TRUE;
if diff>dea and dea>0 then MACD做多区:=TRUE;
if diffd then KD做多区:=TRUE;
if k0 and ENTERBARS>=0 then BEGIN
if 止损级别=1 then
if ENTERPRICE-close>=固定止损 then sell(1,100%,market);
end
贴了所用的指标和一部分开平仓代码,其他的类似
账户栏里面有成交明细,看看交易情况
如果可以必须要记录下单日志,看看是不是其他的下单干扰了正常的下单

此主题相关图片如下:1.png
if c>o and HOLDING<=0 then BEGIN
if holding<0 then sellshort(1,100%,MARKET);
buy(1,1,MARKET);
end
if c<o and HOLDING>=0 then BEGIN
if holding>0 then sell(1,100%,MARKET);
buyshort(1,1,MARKET);
end
比如这个简单模型,回测的时候就有信号消失