设为首页收藏本站

 找回密码
 注册
查看: 3040|回复: 9
打印 上一主题 下一主题

令人困惑的现象,请教小米版主 [复制链接]

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
跳转到指定楼层
1#
发表于 2017-2-14 07:07:14 |只看该作者 |倒序浏览
本帖最后由 laofu602 于 2017-2-14 07:10 编辑

实盘账户交易中,采用了指数发信号,主力合约交易的模式,代码用A函数,用主力合约叠加指数实现。
基本交易策略是突破前一K线最高最低,就会平仓并反手。

现在出现的问题是,每次早上开盘前重新启动TB后,开盘后5秒内,会出现不应有的平空开多,也就是开盘时最新价并没有突破前一K线最高价。这种现象并不是所有品种都会出现,但没有夜盘的品种居多,而且以周线居多。
我在代码中加入了时间限制,限定开盘后10秒才允许交易 If (CurrentTime<0.090010)  Return,但是这条代码似乎不起作用,仍然在开盘后2~3秒内出现交易。奇怪的是只要连续运行不重新启动TB(我用的云服务器),就不会出现这种情况。我一般周末会关闭服务器,现在每周一等开盘10秒以后,手工开启自动交易,才能确保正常交易。我自己反复检查测试,都找不到出现该问题的原因,只有求助小米版主了。

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
2#
发表于 2017-2-16 13:28:00 |只看该作者
呼叫小米版主

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2017-2-16 14:12:24 |只看该作者
laofu602 发表于 2017-2-16 13:28
呼叫小米版主


使用了哪个版本号的软件?
有没有使用callauctionfilter的函数?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
4#
发表于 2017-2-16 18:29:50 |只看该作者
小米 发表于 2017-2-16 14:12
使用了哪个版本号的软件?
有没有使用callauctionfilter的函数?

旗舰版5315,5321,使用了callauctionfilter没有作用,自己增加了前述限制语句也没有作用。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2017-2-17 08:53:40 |只看该作者
laofu602 发表于 2017-2-16 18:29
旗舰版5315,5321,使用了callauctionfilter没有作用,自己增加了前述限制语句也没有作用。 ...

如果觉得callauctionfilter没有用,就将这个函数先去掉,再观察一下问题会不会有改善?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
6#
发表于 2017-2-17 13:34:42 |只看该作者
本帖最后由 laofu602 于 2017-2-17 13:41 编辑

我把自己的限制语句加在前面,CallAuctionFilter在后面

......

if (
        (CurrentTime>0.0830&&CurrentTime<0.0900011)
        or (CurrentTime>0.2030&&CurrentTime<0.2100011)
        or (ExchangeName == "中国金融期货交易所"&&CurrentTime>0.090000&&CurrentTime<0.0915011)
        or (ExchangeName == "中国金融期货交易所"&&(SymbolType == "IF" || SymbolType == "IH" || SymbolType == "IC")&&CurrentTime>0.091500&&CurrentTime<0.093011)                )    Return;//开盘后11秒前禁止发单

If(!CallAuctionFilter()) Return;        //等待开盘

......
                        if (A_SellPosition>0&&HasSendBuyToCover==0&&Data1.Q_Last>Data1.H[1]&&uptpjs>1 )//超越前高平空
                        {
                                SetTBProfileString("TotalPosition_Kl",Symbol,Text(0));//平空后数据库清零
                                A_SendOrder(Enum_buy,Enum_Exit,A_SellPosition,Min(Q_UpperLimit,Q_Last+wtpyl));
                                HasSendBuyToCover = 1;
                                SetGlobalVar(4,HasSendBuyToCover);
                                HasSendSellShort = 0;
                                SetGlobalVar(3,HasSendSellShort);
                        }
                        if (EnableBulls>0&&A_BuyPosition==0&&HasSendbuy==0&&Data1.Q_Last>Data1.H[1]&&uptpjs>1)//开多
                        {
                                SetTBProfileString("TotalPosition_Kl",Symbol,Text(Buyss));//开多手数记录到数据库
                                A_SendOrder(Enum_Buy,Enum_Entry,Buyss,Min(Q_UpperLimit,Q_Last+wtpyl));
                                HasSendbuy = 1;//开仓后,禁止重复发单
                                SetGlobalVar(1,HasSendbuy);
                                HasSendsell = 0;//开仓后,允许平仓
                                SetGlobalVar(2,HasSendsell);
                        }

......

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
234307
积分
153
帖子
103
主题
29
阅读权限
40
注册时间
2016-5-12
最后登录
2023-7-26
7#
发表于 2017-2-17 13:46:15 |只看该作者
本帖最后由 laofu602 于 2017-2-17 13:48 编辑

实在想不明白,为什么开盘后的几个tick会穿越限制,直达买卖语句,并且无视上一k线的数据径自平空开多。

使用道具 举报

高级操盘手

「你若能信,在信之人,凡事皆能。」

Rank: 10Rank: 10Rank: 10

精华
0
UID
117005
积分
98549
帖子
1121
主题
14
阅读权限
200
注册时间
2013-3-18
最后登录
2022-10-29
8#
发表于 2017-2-18 21:59:55 |只看该作者
把CurrentTime输出到文本,K线的HLCO也输出到文本,各个关键数据都输出到文本,然后在文本里查看是不是有错误数据。


不要因为众生的愚疑,而带来了自己的烦恼。

使用道具 举报

Rank: 1

精华
0
UID
247180
积分
9
帖子
4
主题
0
阅读权限
10
注册时间
2017-2-14
最后登录
2018-5-7
9#
发表于 2017-2-26 12:19:38 |只看该作者
我也遇到这问题,自动同步也不行,系统有单,重启后正常

使用道具 举报

Rank: 1

精华
0
UID
196858
积分
9
帖子
6
主题
1
阅读权限
10
注册时间
2014-11-11
最后登录
2017-3-3
10#
发表于 2017-2-26 15:00:48 |只看该作者
为什么不用time
是不是服务器时间有误差

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-10 23:23

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部