这是一个自适应均线的策略,求教其中的买开价,买平价,卖开价,买平价应该写什么?才不会偷价,更符合实盘,就是公式里打问号那里,谢谢你们。
Params
Numeric EffRatioLength(10); //自适应周期
Numeric FastAvgLength(2); //短周期
Numeric SlowAvgLength(30); //长周期
Numeric Length(20,5,40,1);
Numeric Percent(0.1);
Vars
Series<Numeric> AMA;
Numeric Filter;
Events
OnBar(ArrayRef<Integer> indexs)
{
AMA = AdaptiveMovAvg((High + Low + Close)/3,EffRatioLength,FastAvgLength,SlowAvgLength);
PlotNumeric(\"AdpMa\",AMA);
Filter = Percent*StandardDev(AMA - AMA[1],Length,2);
If( MarketPosition <> 1 And (((AMA[1] - AMA[2]) > Filter) Or ((AMA[1] - AMA[3]) > Filter) Or ((AMA[1] - AMA[4]) > Filter)))
{
Buy(1, ?);
}
If(MarketPosition == 1 And BarsSinceEntry >= 1 And (((AMA[2] - AMA[1]) > Filter) Or ((AMA[3] - AMA[1]) > Filter) Or ((AMA[4] - AMA[1]) > Filter)))
{
Sell(1, ? );
}
If( MarketPosition <> -1 And (((AMA[2] - AMA[1]) > Filter) Or ((AMA[3] - AMA[1]) > Filter) Or ((AMA[4] - AMA[1]) > Filter)))
{
SellShort(1, ? );
}
If(MarketPosition == -1 And BarsSinceEntry >= 1 And (((AMA[1] - AMA[2]) > Filter) Or ((AMA[1] - AMA[3]) > Filter) Or ((AMA[1] - AMA[4]) > Filter)))
{
BuyToCover(1, ? );
}
}
谢谢老师,回测效果不理想,请问怎么调自适应均线的参数,比如说普通简单均线参数设为10,可以写
MA = Average(Close,N); 同理,自适应均线有几个参数,就不知道怎么写了,求教
看着像是全都用过去bar的数据进行信号判断,那么当前bar开盘的时候实际上信号应该已经确定了,所以应该是用open