麻烦老师看看我的策略为什么没有执行,没有看到信号
// 名称: 均线斜率
// 类别: 公式应用
// 类型: 用户应用
// 输出: Void
//------------------------------------------------------------------------
Params
Numeric length(20);
Numeric duokaicxielv(0.5);
Numeric duopingcxielv(0.4);
Numeric kongkaicxielv(-0.5);
Numeric kongpingcxielv(-0.4);
Vars
Series<Numeric> MA; //均线
Array<Numeric> arr; //均线数组
Events
OnBar(ArrayRef<Integer> indexs)
{
MA=AverageFC(Close,length);
PlotNumeric("MA",MA);
SetArraySize(arr,10000,MA);
Numeric val = LinearRegSlopeArray(arr);
If(MarketPosition <> 0 && val >= duokaicxielv)
{
Buy(1,Open);
}
If(MarketPosition == 1 && val < duopingcxielv && val >= 0 )
{
Sell(0,Open);
}
If(MarketPosition <> 0 && val <= kongkaicxielv)
{
SellShort(1,Open);
}
If(MarketPosition == -1 && val > kongpingcxielv && val < 0 )
{
BuyToCover(0,Open);
}
}
找到问题了MarketPosition <> 0 改成MarketPosition <> 1就可以了
你这个没有信号是因为 MarketPosition <> 0,这是个什么逻辑?有持仓的时候才开仓吗?那么一开始的时候,你是没有持仓的,所以永远都不会开仓了。
斜率0,5就是均线向上倾斜30度
val >= duokaicxielv 这种结果你验证一下呀