老是信号闪烁,导致监控器不同步,请老师帮忙修改,感激不尽。
Params
Numeric FastLength(10);
Numeric bollingerLengths(30);
Vars
Series<Numeric> HH;
Series<Numeric> LL;
Series<Numeric> HH1;
Series<Numeric> LL1;
Series<Numeric> MidLine;
Events
OnBar(ArrayRef<Integer> indexs)
{
HH=Max(Highest(Open,FastLength),Highest(Close,FastLength));
LL=Min(Lowest(Open,FastLength),Lowest(Close,FastLength));
HH1=Nthcon(HH>HH[1]);
LL1=Nthcon(LL<LL[1]);
MidLine = AverageFC(Close,bollingerLengths);
PlotNumeric("MID",MidLine);
//多单入场出场,离场
If(MarketPosition<>1 && HH1<LL1 && Close[1]>Open[1] and Close[2]>Open[2] && C>MidLine)
{
Buy(0,Close);
}
If (MarketPosition ==1 && HH1>=LL1 && C<MidLine )
{
Sell(0,Close);
}
//空单入场出场,离场
If(MarketPosition<>-1 && HH1>=LL1 && Close[1]<Open[1] and Close[2]<Open[2] && C<MidLine)
{
SellShort(0,Close);
}
If (MarketPosition ==-1 && HH1<LL1 && C>MidLine )
{
BuyToCover(0,Close);
}
}
MidLine 有问题吧
我看了,后来也改了,但还不行
Params
Numeric FastLength(10);
Numeric bollingerLengths(30);
Vars
Series<Numeric> HH;
Series<Numeric> LL;
Series<Numeric> HH1;
Series<Numeric> LL1;
Series<Numeric> MidLine;
Events
OnBar(ArrayRef<Integer> indexs)
{
HH=Max(Highest(Open,FastLength),Highest(Close,FastLength));
LL=Min(Lowest(Open,FastLength),Lowest(Close,FastLength));
HH1=Nthcon(HH>HH[1]);
LL1=Nthcon(LL<LL[1]);
MidLine = AverageFC(Close,bollingerLengths);
PlotNumeric("MID",MidLine);
//多单入场出场,离场
If(MarketPosition<>1 && HH1<LL1 && Close[1]>Open[1] and Close[2]>Open[2] && C[1] >MidLine)
{
Buy(0,Open);
}
If (MarketPosition ==1 && HH1>=LL1 && C[1] <MidLine )
{
Sell(0,Open);
}
//空单入场出场,离场
If(MarketPosition<>-1 && HH1>=LL1 && Close[1]<Open[1] and Close[2]<Open[2] && C[1] <MidLine)
{
SellShort(0,Open);
}
If (MarketPosition ==-1 && HH1<LL1 && C[1] >MidLine )
{
BuyToCover(0,Open);
}
}
MidLine有问题吧
用close做判断条件,很明显的信号闪烁和偷价。
搜索以下网站里关于信号闪烁的内容,先学习一下再自己改吧
麻烦老师再帮我看看,感谢