- 精华
- 0
- 在线时间
- 44 小时
- UID
- 156065
- 积分
- 27
- 帖子
- 18
- 阅读权限
- 10
- 注册时间
- 2011-10-10
- 最后登录
- 2020-4-6
- 精华
- 0
- UID
- 156065
- 积分
- 27
- 帖子
- 18
- 主题
- 9
- 阅读权限
- 10
- 注册时间
- 2011-10-10
- 最后登录
- 2020-4-6
|
Vars
Bool Trade_Time(False);
Begin
If(BarStatus<2)
{SetGlobalVar2("tradetimedayticks",0);SetGlobalVar2("tradetimedate",0); }
If(BarStatus==2 And TrueDate(0)==GetGlobalVar2("tradetimedate"))
SetGlobalVar2("tradetimedayticks",GetGlobalVar2("tradetimedayticks")+1);
If(BarStatus==2 And GetGlobalVar2("tradetimedayticks")>1)
{Trade_Time=True;}
Commentary("TradeTime= "+IIFString(Trade_Time,"True","False")+" TICKS= "+Text(GetGlobalVar2("tradetimedayticks")));
SetGlobalVar2("tradetimedate",TrueDate(0));
//全天的TICKS>1后认为是交易时间
Return Trade_Time;
End
代码如上,有两处不明白
1。GetGlobalVar2("tradetimedayticks")每个BAR第一TICK都会被重置为0,按原意来说BARSTATUS==2时不应该,是否每个新BAR产生时,在STATU==2时都隐藏有一个STATUS==1的TICK?
2。非交易时注释上能看到GetGlobalVar2("tradetimedayticks")在最后一BAR值为1,其它为0。
请版主看下,是否最后BAR的处理有什么特殊之处? |
|