主图平多盈利显示正常,平空不显示,请高手帮忙

在主图平仓K线上显示盈亏数字,平多能显示,平空就不能显示。请高手帮帮忙,谢谢! Params Numeric Length(20); //周期 Numeric Offset(2); //标准差倍数 Vars Series<Numeric> UpLine; //上轨 Series<Numeric> DownLine; //下轨 Series<Numeric> MidLine; //中间线 Numeric Band; Numeric yld; Numeric ylk; Series<Numeric> kcangd; Series<Numeric> kcangk; Series<Numeric> zyingd; Series<Numeric> zyingk; Events OnBar(ArrayRef<Integer> indexs) { Range[0:DataSourceSize() - 1] { MidLine = AverageFC(Close,Length);//中 Band = StandardDev(Close,Length,2); UpLine = MidLine + Offset * Band; //上 DownLine = MidLine - Offset * Band; //下 PlotNumeric("UpLine",UpLine); PlotNumeric("DownLine",DownLine); PlotNumeric("MidLine",MidLine); } //----------------------------------------------------多0 If(MarketPosition<>1 and High>=UpLine[1]) { Buy(0,UpLine[1]); kcangd=UpLine[1]; } //--------------------------------------------------------------------------------------多1 If(MarketPosition==1 and Low<=DownLine[1]) { Sell(0,DownLine[1]); zyingd=DownLine[1]; yld=IntPart(zyingd-kcangd); PlotString ("dp1",text(yld),Low-1,Rgb(255,38,38));//盈利数字 } //-------------------------------------------------------------空0 If(MarketPosition<>-1 and Low<=DownLine[1]) { SellShort(0,DownLine[1]); kcangk=DownLine[1]; } //--------------------------------------------------------------------------------------空1 If(MarketPosition==-1 and High>=UpLine[1] ) { BuyToCover(0,UpLine[1]); zyingk=UpLine[1]; ylk=IntPart(kcangk-zyingk); PlotString ("kp1",text(ylk),High+3,Rgb(255,38,38));//盈利数字 } Commentary("多盈 "+Text(yld)+" 元"); Commentary("空盈 "+Text(ylk)+" 元"); }

你的空头平仓语句从来就没有被执行到过。当满足空头平仓条件 High>=UpLine[1] 的时候,你的程序在前面就已经执行了&ldquo;多头开仓&rdquo;,多头开仓就会自动把你的空头平掉,等程序执行到下面的时候,marketposition已经不等于-1了。

回复:谢谢你的指点。现在以经改好了,多空都能显示盈亏数字了。