- 精华
- 0
- 在线时间
- 219 小时
- UID
- 64342
- 积分
- 172
- 帖子
- 28
- 阅读权限
- 40
- 注册时间
- 2011-9-8
- 最后登录
- 2015-3-3
- 精华
- 0
- UID
- 64342
- 积分
- 172
- 帖子
- 28
- 主题
- 10
- 阅读权限
- 40
- 注册时间
- 2011-9-8
- 最后登录
- 2015-3-3
|
本帖最后由 ouyang 于 2012-10-8 09:59 编辑
缘由:最近做了个open价突破开仓的策略,当开盘价在突破点位附近时,经常提示交易信号消失,要求检查公式,我查了好几个月也没查到原因。有一天突然想到是否open价本身忽高忽低导致信号消失呢,于是我做了下面的代码检测open的跳动。结果有惊人的发现,原来新bar产生后的第一个tick的open价与第二个tick的open价的确可能不相同,而且有时差别还很大,从第二个开始之后的tick的open价就是稳定的啦。我测试了所有的品种,得到的结论一致,并且进一步发现在上午开市、下午开市、收市时成交密集时的open价抖动很大,而且当open价产生抖动时,新bar的第一个tick的open就等于前一bar的close价。
下面我把测试代码贴出来,大家一起来测试,注意:周期是1分钟呀:
//------------------------------------------------------------------------
// 简称: test
// 名称: open抖动测试
// 类别: 公式应用
// 类型: 用户应用
// 输出:
//------------------------------------------------------------------------
Params
Vars
Begin
//全局变量初始化
if(GetGlobalVar(1)==InvalidNumeric)SetGlobalVar(1,-1);
if(GetGlobalVar(2)==InvalidNumeric)SetGlobalVar(2,-1);
//在交易时间内
If(CurrentTime>0.085800 And CurrentTime<0.150000 And BarStatus==2)
{
//当Open发生改变时,写入文件
If(GetGlobalVar(1)!=Open)
{
SetGlobalVar(1,Open); //避免重复写入
//当open发生改变时,写入文件(包括bar切换时正常的open改变和同一bar内的open改变)
FileAppend("D:\\开盘价跳变_"+Symbol+"_.log","Open:"+Text(Open)+" BarTime:"+Text(Time)+" CurrentTime:"+Text(CurrentTime));
//同一bar内的open改变就是我们要发现的bug,在文件记录中做标记
If(GetGlobalVar(2)==Time)FileAppend("D:\\开盘价跳变_"+Symbol+"_.log","在时间"+Text(CurrentTime)+"发现了1次同一bar内open的抖动!");
Else SetGlobalVar(2,Time); //保留open跳变的时间
}
}
End
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 用户版本 2012/10/06 21:50
// 版权所有 ouyang
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
我的测试结果的一部分(品种:ag888):
文件名:开盘价跳变_ag888_.log
Open:7378 BarTime:0.090000 CurrentTime:0.085902
Open:7256 BarTime:0.090000 CurrentTime:0.085902
在时间0.085902发现了1次同一bar内open的抖动!
Open:7210 BarTime:0.090100 CurrentTime:0.090100
Open:7209 BarTime:0.090100 CurrentTime:0.090100
在时间0.090100发现了1次同一bar内open的抖动!
Open:7218 BarTime:0.090200 CurrentTime:0.090201
Open:7210 BarTime:0.090300 CurrentTime:0.090301
Open:7211 BarTime:0.090400 CurrentTime:0.090401
Open:7181 BarTime:0.090500 CurrentTime:0.090500
Open:7194 BarTime:0.090600 CurrentTime:0.090601
Open:7193 BarTime:0.090600 CurrentTime:0.090601
在时间0.090601发现了1次同一bar内open的抖动!
Open:7188 BarTime:0.090700 CurrentTime:0.090701
Open:7187 BarTime:0.090700 CurrentTime:0.090701
在时间0.090701发现了1次同一bar内open的抖动!
Open:7189 BarTime:0.090800 CurrentTime:0.090800
Open:7184 BarTime:0.090900 CurrentTime:0.090900
Open:7182 BarTime:0.090900 CurrentTime:0.090900
在时间0.090900发现了1次同一bar内open的抖动!
Open:7169 BarTime:0.091000 CurrentTime:0.091001
Open:7168 BarTime:0.091000 CurrentTime:0.091001
在时间0.091001发现了1次同一bar内open的抖动!
Open:7169 BarTime:0.091100 CurrentTime:0.091101
Open:7171 BarTime:0.091100 CurrentTime:0.091101
在时间0.091101发现了1次同一bar内open的抖动!
Open:7166 BarTime:0.091200 CurrentTime:0.091200
Open:7167 BarTime:0.091200 CurrentTime:0.091200
在时间0.091200发现了1次同一bar内open的抖动!
Open:7165 BarTime:0.091300 CurrentTime:0.091300
Open:7175 BarTime:0.091400 CurrentTime:0.091400
Open:7179 BarTime:0.091500 CurrentTime:0.091501
Open:7172 BarTime:0.091600 CurrentTime:0.091602
Open:7173 BarTime:0.091600 CurrentTime:0.091602
在时间0.091602发现了1次同一bar内open的抖动!
Open:7169 BarTime:0.091700 CurrentTime:0.091700
Open:7173 BarTime:0.091800 CurrentTime:0.091801
Open:7174 BarTime:0.092000 CurrentTime:0.092001
Open:7180 BarTime:0.092300 CurrentTime:0.092300
Open:7176 BarTime:0.092400 CurrentTime:0.092400
Open:7177 BarTime:0.092400 CurrentTime:0.092400
在时间0.092400发现了1次同一bar内open的抖动!
Open:7178 BarTime:0.092500 CurrentTime:0.092501
Open:7177 BarTime:0.092600 CurrentTime:0.092603
Open:7178 BarTime:0.092600 CurrentTime:0.092603
在时间0.092603发现了1次同一bar内open的抖动!
Open:7177 BarTime:0.092700 CurrentTime:0.092701
Open:7171 BarTime:0.092800 CurrentTime:0.092802
Open:7170 BarTime:0.092800 CurrentTime:0.092802
在时间0.092802发现了1次同一bar内open的抖动!
Open:7174 BarTime:0.092900 CurrentTime:0.092901
Open:7173 BarTime:0.092900 CurrentTime:0.092901
在时间0.092901发现了1次同一bar内open的抖动!
Open:7169 BarTime:0.093000 CurrentTime:0.093000
Open:7160 BarTime:0.093100 CurrentTime:0.093101
Open:7159 BarTime:0.093100 CurrentTime:0.093101
在时间0.093101发现了1次同一bar内open的抖动!
Open:7161 BarTime:0.093200 CurrentTime:0.093203
Open:7164 BarTime:0.093300 CurrentTime:0.093300
Open:7162 BarTime:0.093400 CurrentTime:0.093400
Open:7164 BarTime:0.093500 CurrentTime:0.093501
Open:7162 BarTime:0.093600 CurrentTime:0.093601
Open:7163 BarTime:0.093600 CurrentTime:0.093601
在时间0.093601发现了1次同一bar内open的抖动!
Open:7168 BarTime:0.093700 CurrentTime:0.093701
Open:7165 BarTime:0.093800 CurrentTime:0.093800
Open:7164 BarTime:0.093900 CurrentTime:0.093902
Open:7163 BarTime:0.094000 CurrentTime:0.094000
Open:7160 BarTime:0.094100 CurrentTime:0.094100
Open:7159 BarTime:0.094100 CurrentTime:0.094100
在时间0.094100发现了1次同一bar内open的抖动!
Open:7161 BarTime:0.094200 CurrentTime:0.094201
Open:7152 BarTime:0.094500 CurrentTime:0.094500
Open:7150 BarTime:0.094600 CurrentTime:0.094600
Open:7136 BarTime:0.094700 CurrentTime:0.094700
Open:7137 BarTime:0.094700 CurrentTime:0.094701
在时间0.094701发现了1次同一bar内open的抖动!
Open:7127 BarTime:0.094800 CurrentTime:0.094800
Open:7129 BarTime:0.094800 CurrentTime:0.094801
在时间0.094801发现了1次同一bar内open的抖动!
全部的测试结果在附件中 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|