平仓价格不一致
本帖最后由 l517657048 于 2020-7-10 22:28 编辑请问进场价格与回测价格几乎一样,可是出场价格与回测价格有时相差远(比如6,7个点),这是网速原因?代码原因? //记录多头最低价和空头最高价 If(MarketPosition==1 and BarsSinceEntry==1)//有多头持仓,刚进场时的本根bar线序号 { HigherAfterEntry=HigherAfterEntry; LowerAfterEntry=Max(LowerAfterEntry,Low);//多头出场的参考价格 } If(MarketPosition==-1 and BarsSinceEntry==1)//有空头持仓,刚进场时的本根bar线序号 { HigherAfterEntry=Min(HigherAfterEntry,High);//空头出场的参考价格 LowerAfterEntry=LowerAfterEntry; } If(MarketPosition<>0 and BarsSinceEntry>=1) { HigherAfterEntry=Min(HigherAfterEntry,High);//空头出场的参考价格 LowerAfterEntry=Max(LowerAfterEntry,Low);//多头出场的参考价格 } //跟踪出场 MypriceLong= LowerAfterEntry - Open*TS/1000;//多头出场线 //if(MarketPosition>0)PlotNumeric("MypriceLong",MypriceLong);//多头出场线 If(MarketPosition==1 and Low<= MypriceLong and BarsSinceEntry>0 )//当持有多头持仓,最新价格跌破出场线,同时平仓信号和开仓信号不再同一根BAR线; { MypriceLong=Max(MypriceLong,Open);//如果跳空击破,取值最新的bar线的开盘价,若不是,去出场线价格; Sell(0,MypriceLong);//多头平仓 Commentary("多头出场"); } Mypriceshort=HigherAfterEntry + Open*TS/1000;//空头出场线 //if(MarketPosition<0)PlotNumeric("Mypriceshort",Mypriceshort);//空头出场线 If(MarketPosition==-1 and High>=Mypriceshort and BarsSinceEntry>0 )//当 持有空头持仓,最新价格突破出场线,同时平仓信号和开仓信号不再同意根BAR线; { Mypriceshort=Min(Mypriceshort,Open);//如果跳空击破,取值最新的bar线的开盘价,若不是,去出场线价格; BuyToCover(0,Mypriceshort);//空头平仓 Commentary("空头出场"); } 代码是平仓时的
页:
[1]