- 精华
- 0
- 在线时间
- 31 小时
- UID
- 289704
- 积分
- 17
- 帖子
- 10
- 阅读权限
- 10
- 注册时间
- 2020-3-15
- 最后登录
- 2020-7-7
- 精华
- 0
- UID
- 289704
- 积分
- 17
- 帖子
- 10
- 主题
- 7
- 阅读权限
- 10
- 注册时间
- 2020-3-15
- 最后登录
- 2020-7-7
|
If(MarketPosition <> 1 && AvgValue1[1] > AvgValue2[1])
{
If(MarketPosition == 0 || BarStatus != 2)
// 无持仓,直接买多仓
// 持空仓且 Bar 不是实时行情,平空仓,买多仓
{
Buy(1,Open);
}Else // 持空仓,Bar 实时行情,平空仓,通过 TickCounter 计数,延迟反手
{
BuyToCover(1,Open);
If(TickCounter == 0)
{
TickCounter = 1;
}Else If(TickCounter < DelayTicks)
{
TickCounter = TickCounter + 1;
}Else
{
Buy(1,Open);
}
上个示例中如果第一个tick持空仓,就平仓了,然后第二个Tick的时候,就不持仓了,程序还会运行到else这个分支里吗?如果不运行到这个分支,怎么计数呢?不是每个tick都是把整个程序运行一遍吗? |
|