你好。我是采用DLL弄策略的,现在发现了一个问题:
SIG := "FMLDLL@MY"();
CVOL := 0;
OPENVOL := INITPOS;
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);
9.2日,14:57:56(金字塔时间18:57:56),我在日志中,发现函数返回的信号是1,但是图表中没有开仓信号。交易日志中也没有开仓的记录,这是什么问题?
在14:57:56之后的57,58,59秒,MY函数还是有返回的,不过都是0,
看下交易日志函数返回1那段时间前后是否有运行完毕
另外当时持仓是多少,图表不支持锁仓,如果有空头下开多信号是不成立
你所谓日志中的函数返回值是自己用debugfile做了记录吗,否则参考下下面例子,在开仓前输出sig这个条件值。
debugfile(SIG);
buy();
buyshort();