设为首页收藏本站

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

为何会再次触发开仓信号?(附程序源码,有图) [复制链接]

Rank: 2

精华
0
UID
198525
积分
50
帖子
26
主题
6
阅读权限
30
注册时间
2014-12-6
最后登录
2017-1-19
跳转到指定楼层
1#
发表于 2016-11-23 23:11:50 |只看该作者 |倒序浏览
本帖最后由 fatstar 于 2016-11-24 08:03 编辑

先看图,注意黄圈的部分:


这是今晚截取的RB1705日线图。从图上可以看到,昨天已经触发了进场信号,也确实在实盘中买了一手。但今晚开盘前几分钟运行软件并设置自动交易后,立刻触发买入信号,又在实盘中买了一手!(如下图所示)
具体的说,是在集合竞价阶段以昨天夜盘(11.22)满足条件的入场价开仓,但无法成交,撤单后再以今天夜盘(11.23)的开盘价开仓。而从上图可以看出,11.23夜盘的图表信号并没有被触发(最右边那根K线)。



请问为什么会出现这样的情况?应该如何解决?

附上开仓源程序:
// 集合竞价和小节休息过滤
        If(!CallAuctionFilter()) Return;       //(这是TB提供的各种参考程序里集合竞价过滤的写法)

//开仓代码
if (MarketPosition == 0 )  //判断有无持仓
                {        if ((confirst == True) And (consecond == True) And (conthird == True) And (longslope ==True) And (oADX >20 ) And (conclose == True) And (conpositive ==True))   //同时满足一系列条件
                        {        if        (High > myhigh_B1)   //当天最高价大于昨天最高价
                                {        mybuyprice = Max(myhigh_B1 + MinPoint*nOffset,open + MinPoint*nOffset); //把昨日最高价和今日开盘价两者的最大值,作为入场价位,防止跳空高开没办法入场。
                                        firstPrice = mybuyprice;
                                        LastPrice = firstPrice;
                                        Buy(1,firstPrice);
                                        LongStopLossprice = mylow_B1 - MinPoint*nOffset;        //初始止损位在前一根K线低点;
                                                                       
                                }
                        }
                }

附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2

精华
0
UID
198525
积分
50
帖子
26
主题
6
阅读权限
30
注册时间
2014-12-6
最后登录
2017-1-19
2#
发表于 2016-12-5 23:00:26 |只看该作者
晕,没人帮忙么?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2016-12-6 09:23:13 |只看该作者
fatstar 发表于 2016-12-5 23:00
晕,没人帮忙么?

该问题与代码无关了。
日线周期在20:55-20:59之间启动自动交易并不是一个合适的时间,特别是之前 一个K线有信号的。
在20:57,当前的K线是有信号的且是barstatus==2的状态,是符合下单 条件,于是会下单 。
而此时正好交易所接受报单 ,于是提交进去了,才有了这一系列的交易结果。
日线的系统,避开这个集合竞价的时间段进行启动自动交易方好。

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
176391
积分
145
帖子
75
主题
17
阅读权限
40
注册时间
2013-11-26
最后登录
2023-8-20
4#
发表于 2016-12-6 14:59:36 |只看该作者
小米 发表于 2016-12-6 09:23
该问题与代码无关了。
日线周期在20:55-20:59之间启动自动交易并不是一个合适的时间,特别是之前 一个 ...

  If(!CallAuctionFilter()) Return;       用这个不是可以避开嘛?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2016-12-6 15:34:35 |只看该作者
aacky111 发表于 2016-12-6 14:59
If(!CallAuctionFilter()) Return;       用这个不是可以避开嘛?

可以避开吗?应该不能的。
If(!CallAuctionFilter()) Return;  只是对20:59-21:00行情出来后,此时出的信号报单进行了处理,避免因为此时交易所的不接受报单 而被废除。
但楼主的问题是头一个交易日 的信号,在20:55-20:59这个时段之间启动自动交易而下的单 。

使用道具 举报

Rank: 2

精华
0
UID
198525
积分
50
帖子
26
主题
6
阅读权限
30
注册时间
2014-12-6
最后登录
2017-1-19
6#
发表于 2016-12-6 21:11:12 |只看该作者
小米 发表于 2016-12-6 15:34
可以避开吗?应该不能的。
If(!CallAuctionFilter()) Return;  只是对20:59-21:00行情出来后,此时出 ...

明白了,谢谢小米版主~

使用道具 举报

精华
0
UID
232802
积分
77
帖子
31
主题
13
阅读权限
0
注册时间
2016-4-22
最后登录
2018-9-14
7#
发表于 2016-12-8 13:54:25 |只看该作者
你上一个平仓信号,没平出去吧

使用道具 举报

Rank: 2

精华
0
UID
198525
积分
50
帖子
26
主题
6
阅读权限
30
注册时间
2014-12-6
最后登录
2017-1-19
8#
发表于 2017-1-5 13:25:54 |只看该作者
yingshi03 发表于 2016-12-8 13:54
你上一个平仓信号,没平出去吧

我也不清楚问题在哪里。现在依然存在同样的问题。
比如今天白天的日盘,系统发出了开仓信号(日线级别的交易),但我没运行这个系统。然后到了夜盘,会产生一根新的K线,那么开仓信号就变成了在前一根K线上了。
但这时如果在夜盘运行系统的话,依然会触发开仓信号,开仓价格也是按照之前所设置的开仓价格去下单【现在不明的的地方就在这里,为什么会触发前一根K线的信号呢?】
不过因为基本上不会满足条件的,那么撤单以后按照重下单的价格再次进行开仓(我开启了撤单重下的功能)。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-27 11:34

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部