我想将技术指标之多空布林带指标放到交易系统中应用,编写的公式在测试时提示函数EXITLONG: CROSS未定义。我看编写的没有错误啊,问题出在哪里呢?
原公式
BBI:(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4;
UPR:BBI+N*STD(BBI,M);
DWN:BBI-N*STD(BBI,M)
拟修改为:引用技术指标中BBIBOLL多空布林带的指标线,在交易系统中增加其公式,以中线的穿越作为多空分界线,类似于布林带的公式。
BBI:(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4; {中线}
UPR:BBI+N*STD(BBI,M); {上线}
DWN:BBI-N*STD(BBI,M) {下线}
{平多} EXITLONG: CROSS(BBI,CLOSE),TFILTER; {收盘价向下突破布林带中线}
{平空} EXITSHORT: CROSS(CLOSE, BBI),TFILTER; {收盘价向上突破布林带中线}
{开多} ENTERLONG: CROSS(CLOSE, BBI),TFILTER; {收盘价向上突破布林带中线}
{开空} ENTERSHORT: CROSS(BBI,CLOSE),TFILTER; {收盘价向下突破布林带中线}
公式测试时提示函数EXITLONG: CROSS未定义。
正确的代码,记住定义 M 和N变量
BBI:(MA(CLOSE,3)+MA(CLOSE,6)+MA(CLOSE,12)+MA(CLOSE,24))/4; {中线}
UPR:BBI+N*STD(BBI,M); {上线}
DWN:BBI-N*STD(BBI,M);{下线}
{平多} EXITLONG: CROSS(BBI,CLOSE),TFILTER; {收盘价向下突破布林带中线}
{平空} EXITSHORT: CROSS(CLOSE, BBI),TFILTER; {收盘价向上突破布林带中线}
{开多} ENTERLONG: CROSS(CLOSE, BBI),TFILTER; {收盘价向上突破布林带中线}
{开空} ENTERSHORT: CROSS(BBI,CLOSE),TFILTER; {收盘价向下突破布林带中线}
原代码这一行出错了,没有分号
DWN:BBI-N*STD(BBI,M){下线}