实盘平仓,日志打印显示平仓,但账户透视里没有交易记录,且继续持仓。
日志:账户透视:通过日志打印发现在11:06的时候以803.46价格多头建仓了,接着又平仓了,账户透视里没有平仓记录,同时代码里的longCurrentContracts这个参数显示也为0了。这个是什么原因导致的平仓没有记录,但是longCurrentContracts的数字显示平仓了,请帮忙答疑一下这个问题。以下附上代码:Params Numeric FastMA(6); //macd短周期值 Numeric SlowMA(13); //macd长周期值 Numeric AvgMA(12); //MACD慢线周期值 Numeric FastMA2(3); //macd短周期值 Numeric SlowMA2(13); //macd长周期值 //Numeric DuoDiffValue(1.5); // 多头快线入场差值Vars Series<Numeric> MACDLine(0); Series<Numeric> MACDLine2(0); Series<Numeric> SignalLine(0); Series<Numeric> SignalLine2(0); Numeric ATRValue; Numeric DuoDiffValue(0); Global Integer BuySignal; Events OnBar(ArrayRef<Integer> indexs) { Print("当前时间:" + Text(Date)+ "-" + Text(Time)); Print("现有持仓:" + Text(longCurrentContracts)); // 计算macd快线 MACDLine = XAverage( Close, FastMA ) - XAverage( Close, SlowMA ); //计算macd慢线 SignalLine = XAverage( MACDLine, AvgMA ); //当快线上穿慢线的时候,为多头趋势 If (BuySignal == 0) { If (MACDLine >= SignalLine AND MACDLine[1] < SignalLine[1]) { Print("快线上穿慢线"); Print("多头建仓。"); Buy(1, Close); BuySignal = 1; Print("多头建仓代码已执行。建仓价格:" + Text(Close)); Print("多头建仓后,现有持仓:" + Text(longCurrentContracts)); Print("-------------------------"); } } // 死叉出手 If (MACDLine <= SignalLine And BuySignal == 1) { Sell(1, Close); BuySignal = 0; Print("多头平仓后,现有持仓:" + Text(longCurrentContracts)); Print("-------------------------"); } Print("===当前Bar结束==="); }