图表上无信号。用DLL插件的。策略的公式如下:
SIG := "FML@MID"(P1, P2);
CVOL := 0;
OPENVOL := INITPOS;
IF (SIG >= 9 AND SIG <= 10) THEN
OPENVOL := "FML@GETVOL"(0, SIG);
IF (SIG = 11 OR SIG = 12 OR SIG = 5 OR SIG = 6 OR SIG = 7 OR SIG = 8) THEN
CVOL := "FML@GETVOL"(0, SIG);
SELLSHORT(SIG = 6 OR SIG = 8 OR SIG = 12, CVOL, LIMIT, C + 20 * MINDIFF);
SELL(SIG = 5 OR SIG = 7 OR SIG = 11, CVOL, LIMIT, C - 20 * MINDIFF);
BUY(SIG = 1 OR SIG = 8 OR SIG = 9, OPENVOL, LIMIT, C + 20 * MINDIFF);
BUYSHORT(SIG = 2 OR SIG = 7 OR SIG = 10, OPENVOL, LIMIT, C - 20 * MINDIFF);
在FML这个DLL中,表明返回的信号是1,要开多。INITPOS是1,但是BUY这条语句好像没有执行到。而且很奇怪,相同的策略,如果用股指连续复权后的数据,会出现上述问题,换成复权前的数据,图表中就有信号了。
这是什么问题?