各位老师好,求帮忙看看,
以下止损语句包括多头和空头,为什么执行回测的时候, 每次空头开仓后第二个K线都会止损,而多头却不会呢?
Params
Numeric FastLength(5);// 短期平均线参数
Numeric SlowLength(20);// 长期平均线参数
Vars
Series<Numeric> AvgValueFast;
Series<Numeric> AvgValueSlow;
Numeric myentryprice; //开仓价格
Events
OnBar(ArrayRef<Integer> indexs)
{
MyEntryPrice = AvgEntryPrice;
AvgValueFast = AverageFC(Close,FastLength);
AvgValueSlow = AverageFC(Close,SlowLength);
PlotNumeric("MA1",AvgValueFast);
PlotNumeric("MA2",AvgValueSlow);
If(MarketPosition <>1 && AvgValueFast[2] <= AvgValueSlow[2] && AvgValueFast[1] > AvgValueSlow[1]) //均线金叉平空开多
{
Buy(1,Open);
}
If(MarketPosition==1 && BarsSinceEntry >= 1)// 持有多仓状态下,超出一个交易日时
{ If(Low < Myentryprice*(1-0.01*5))
Sell(0,Min(Open, Myentryprice*(1-0.01*5))) ; //持仓状态下,最低价低于设定止损百分比,平仓止损
}
If(MarketPosition <>-1 && AvgValueFast[2] >= AvgValueSlow[2] && AvgValueFast[1] < AvgValueSlow[1]) //均线死叉平多开空
{
SellShort(1,Open);
}
If(MarketPosition==-1 && BarsSinceEntry >= 1)// 持有空仓状态下,超出一个交易日时
{ If(High > Myentryprice*(1+0.01*5))
BuyToCover(0,Max(Open, Myentryprice*(1+0.01*5))) ; //持仓状态下,最高价高于设定止损百分比,平仓止损
}
}
代码分析可以投稿直播