l517657048 发表于 2020-7-10 22:06:09

平仓价格不一致

本帖最后由 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("空头出场");                        }

l517657048 发表于 2020-7-10 22:29:19

代码是平仓时的
页: [1]
查看完整版本: 平仓价格不一致