具体代码是怎样的。应该不是type,可能是别的地方,你再仔细检查下或者提供下报未来引用错误的代码。
RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100;
K:=SMA(RSV,P1,1);
D:=SMA(K,P2,1);
J:=3*K-2*D;
手数:=ss;
//交易条件
开多平空条件:=CROSS(REF(J,1),0);//开多平空条件
开空平多条件:=CROSS(100,REF(J,1));//开空平多条件
//交易系统
平空:SELLSHORT(开多平空条件,手数,MARKET);
平多:SELL(开空平多条件,手数,MARKET);
开多:BUY(开多平空条件,手数,MARKET);
开空:BUYSHORT(开空平多条件,手数,MARKET);
DT:=TYPE(1)=1;
KT:=TYPE(1)=3;
以上作为引用的公式
我跨周期引用的是DT 和KT 的值 实盘中出现信号未来的问题如何解决呢?
小周期引用大周期了吧、
贴出你的引用代码看下。
[此贴子已经被作者于2018/10/9 16:07:59编辑过]
DTM:=STKINDI('','BR.DT',0, 4,0) ;
KTM:=STKINDI('','BR.KT',0, 4,0) ;
DTH:=STKINDI('','BR.DT',0, 5,0) ;
KTH:=STKINDI('','BR.KT',0, 5,0) ;
DTD:=STKINDI('','BR.DT',0, 6,0) ;
KTD:=STKINDI('','BR.KT',0, 6,0) ;
SELLSHORT(买平 OR 买开 OR 买开2,holding,THISCLOSE);
SELL(卖平 OR 卖开 OR 卖开2,holding,THISCLOSE);
buy((买开2 AND DTM OR 买开 AND DTM OR 买开 AND DTH OR 买开 AND DTD )AND holding=0,SS,THISCLOSE);
buyshort((卖开2 AND KTM OR 卖开 AND KTM OR 卖开 AND KTH OR 卖开 AND KTD )AND holding=0,SS,THISCLOSE);
其中所有的开平仓条件全部检查过了都是用上一根K线,不存在未来
你引用的DT,KT都是30分钟,60分钟周期的值,如果是在小周期引用的话,是会出现信号闪烁的啊,小周期走完了但是大周期还没走完呢
我是在5分钟周期上运行的 但是引用的是大周期前一根的K线了 已经走完了 理论上不应该还有未来的成分呢
你通过什么方式判断的引用结果不对的?
如果你是直接把被引用函数直接运行在相应的周期k线上,那么这种方法是不对的。
因为kdj指标中用的是sma函数,其受数据量大小的影响。而stkindi函数是按时间对其的原则计算被引用的周期的数据,两者所使用的数据量会不同。从而造成看到的和引用后的结果上存在差异。
注:你上面的代码中,被引用的变量必须使用:表示
DT:TYPE(1)=1;
KT:TYPE(1)=3;
我是在实盘交易中发现信号数据的偏差的,经常在盘中没有出现的信号在收盘后执行收盘数据突然都冒出几个理应出现的信号(被跨周期的条件给过滤没有了),
:= 和: 意思不是差不多吗? 按照我以前的理解是输出显示和不输出显示的区别,对于变量能起到的作用原理是什么?