- 精华
- 0
- 在线时间
- 322 小时
- UID
- 257171
- 积分
- 133
- 帖子
- 99
- 阅读权限
- 40
- 注册时间
- 2017-9-28
- 最后登录
- 2019-11-16
- 精华
- 0
- UID
- 257171
- 积分
- 133
- 帖子
- 99
- 主题
- 32
- 阅读权限
- 40
- 注册时间
- 2017-9-28
- 最后登录
- 2019-11-16
|
延迟反手中的这一句:
If(MarketPosition==0 || BarStatus!=2)
{
Buy(1,Open);
}
其中的BarStatus!=2这句有什么意义?是为了什么?请指教。
Params
Numeric FastLength(5);
Numeric SlowLength(20);
Numeric DelayTicks(5);
Vars
NumericSeries AvgValue1;
NumericSeries AvgValue2;
Numeric LastBarTime;
Numeric TickCounter;
Begin
AvgValue1 = AverageFC(Close,FastLength);
AvgValue2 = AverageFC(Close,SlowLength);
LastBarTime = GetGlobalVar(0);
TickCounter = GetGlobalVar(1);
If(BarStatus==2 && LastBarTime != Time)
{
LastBarTime = Time;
TickCounter = 0;
}
If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
{
If(MarketPosition==0 || BarStatus!=2)
{
Buy(1,Open);
}Else
{
BuyToCover(1,Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
Buy(1,Open);
}
}
}
If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
{
If(MarketPosition==0 || BarStatus!=2)
{
SellShort(1,Open);
}Else
{
Sell(1,Open);
If(TickCounter==0)
{
TickCounter = 1;
}else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}else
{
SellShort(1,Open);
}
}
}
SetGlobalVar(0,LastBarTime);
SetGlobalVar(1,TickCounter);
End
|
|