设为首页收藏本站

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

开盘过滤问题 CallAuctionFilter [复制链接]

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
跳转到指定楼层
1#
发表于 2016-5-9 20:00:00 |只看该作者 |倒序浏览
我做的是商品,2小时线,超级图表按按照自然时间切割分钟
即我的K线是:
上午   8:00 10:00
下午 12:00  14:00
晚上 20:00  22:00

把这段直接copy到策略源码中,需要做哪些修改?
请大神赐教。
谢谢。

If(ExchangeName == "上海期货交易所" Or ExchangeName == "郑州商品交易所" Or ExchangeName == "大连商品交易所")
                {
                        // 注意:有夜盘的品种的日线工作区在最后一根日线上有信号,并且在0.085855之前打开,则会报信号消失,0.090005之后信号恢复
                        // 有夜盘的品种的日线工作区在最后一根日线上有信号,并且在0.085855到0.090005之间打开,则会在0.090005之后发单
                        // 所以,建议尽量早些打开工作区
                       
                        // 日线,周线,月线
                        If((BarType == 0 Or BarType == 4 Or BarType == 5) And CurrentTime > 0.205855 And CurrentTime < 0.210005) Return False;
                        If((BarType == 0 Or BarType == 4 Or BarType == 5) And CurrentTime > 0.085855 And CurrentTime < 0.090005) Return False;
                               
                        If(Time == 0.2100 And CurrentTime < 0.210005) Return False;
                        If(Time == 0.0900 And CurrentTime < 0.090005) Return False;
                        If(Time == 0.1030 And CurrentTime < 0.103005) Return False;
                       
                        // 注意商品1小时K线下午开始时间是0.1300
                        If((Time == 0.1300 Or Time == 0.1330) And CurrentTime < 0.133005) Return False;
                }

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
2#
发表于 2016-5-9 20:05:05 |只看该作者
本帖最后由 TBlaov 于 2016-5-9 20:17 编辑

我这样改,

If(ExchangeName == "上海期货交易所" Or ExchangeName == "郑州商品交易所" Or ExchangeName == "大连商品交易所")
                {                     
                        // bartype=1 为分钟

                        If((BarType == 1) And CurrentTime > 0.200000 And CurrentTime < 0.210005) Return False;
                        If((BarType == 1) And CurrentTime > 0.080000 And CurrentTime < 0.090005) Return False;
                                
                        If(Time == 0.2000 And CurrentTime < 0.210005) Return False;
                        If(Time == 0.0800 And CurrentTime < 0.090005) Return False;
                        If(Time == 0.1030 And CurrentTime < 0.103005) Return False;
                                            
                        If((Time == 0.1200) And CurrentTime < 0.133005) Return False;
                }


有没有问题?

这段copy入策略开头,return 后面的False是否应该不要?

使用道具 举报

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
3#
发表于 2016-5-9 20:09:15 |只看该作者
本帖最后由 TBlaov 于 2016-5-9 20:22 编辑

如果下午收盘 即14:00的k线满足条件,下根线开盘价发单。
但是下根线是晚上20:00开始的线,那么什么时候发单呢? 这个发单指令保存多长时间?因为21:00才开始交易。

使用道具 举报

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
4#
发表于 2016-5-10 09:06:36 |只看该作者
跪求大神回答

使用道具 举报

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
5#
发表于 2016-5-10 12:26:54 |只看该作者
       
        If(BarStatus == 2 And Date >= CurrentDate)
        {
                If(ExchangeName == "上海期货交易所" Or ExchangeName == "郑州商品交易所" Or ExchangeName == "大连商品交易所")
                {
                       
                        If((BarType == 1) And CurrentTime > 0.205855 And CurrentTime < 0.210005) Return False;
                        If((BarType == 1) And CurrentTime > 0.085855 And CurrentTime < 0.090005) Return False;
                               
                        If(Time == 0.2000 And CurrentTime < 0.210005) Return False;
                        If(Time == 0.0800 And CurrentTime < 0.090005) Return False;
                        If(Time == 0.1030 And CurrentTime < 0.103005) Return False;
                       
                        If((Time == 0.1200 Or Time == 0.1330) And CurrentTime < 0.133005) Return False;
                }
        }
       
这样是不是更准确???

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2016-5-10 13:30:02 |只看该作者
TBlaov 发表于 2016-5-10 12:26
If(BarStatus == 2 And Date >= CurrentDate)
        {
                If(ExchangeName == "上海期货交易所" Or ExchangeNa ...

time==0.1030。。。。这一句去掉吧。。

使用道具 举报

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
7#
发表于 2016-5-10 19:06:39 |只看该作者
谢小米米。

使用道具 举报

Rank: 1

精华
0
UID
226586
积分
42
帖子
21
主题
5
阅读权限
10
注册时间
2016-1-11
最后登录
2021-4-1
8#
发表于 2016-5-10 21:15:57 |只看该作者
本帖最后由 TBlaov 于 2016-5-10 21:17 编辑

报告,一切正常。

If(BarStatus == 2 And Date >= CurrentDate)
     {
      If(ExchangeName == "上海期货交易所" Or ExchangeName == "郑州商品交易所" Or ExchangeName == "大连商品交易所")
        {
         If((BarType == 1) And CurrentTime > 0.205855 And CurrentTime < 0.210005) Return;
         If((BarType == 1) And CurrentTime > 0.085855 And CurrentTime < 0.090005) Return;
                                
         If(Time == 0.2000 And CurrentTime < 0.210005) Return;
         If(Time == 0.0800 And CurrentTime < 0.090005) Return;
         If((Time == 0.1200 Or Time == 0.1330) And CurrentTime < 0.133005) Return;
        }
      }
这句 If(BarStatus == 2 And Date >= CurrentDate) 不能省。省掉就均线显示不正常,信号消失。
Return后面的false必须去掉。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
9#
发表于 2016-5-11 14:54:42 |只看该作者
TBlaov 发表于 2016-5-10 21:15
报告,一切正常。

If(BarStatus == 2 And Date >= CurrentDate)

软件自带的callauctionfilter是一个函数。所以需要使用return false 的。
如果您是直接将代码放入公式应用,没有另建函数,则是不能写为return false了

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 07:13

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部