以豆粕指数合约为例,两个开仓信号相隔时间太近,如何写可以使上一个平仓信号到下一个开仓信号间隔20分钟以上,满足开仓条件后再开仓
Params
Numeric FastLength(5);// 短期指数平均线参数
Numeric SlowLength(20);// 长期指数平均线参数
Vars
Series<Numeric> AvgValue1;
Series<Numeric> AvgValue2;
Events
OnBar(ArrayRef<Integer> indexs)
{
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
PlotNumeric(MA1,AvgValue1);
PlotNumeric(MA2,AvgValue2);
If(MarketPosition <>1 && CrossOver(AvgValue1[1],AvgValue2[1]))
{
Buy(0,Open);
}
If(MarketPosition <>-1 && L < AvgValue2[1])
{
Sell(0,Open);
}
}
在一分钟K线上,间隔20分钟,满足条件在开仓
If(MarketPosition <>1 && barssinceentry>19 && CrossOver(AvgValue1[1],AvgValue2[1]))
Buy(0,Open);
If(MarketPosition <>-1 && L < AvgValue2[1])
Sell(0,Open);
请问第一个开仓信号如何单独写呢?
barssinceentry 控制一下开仓bar之间的距离
但是第一个开仓信号必须单独写,不能加barssinceentry判断,否则永远不开不了仓