设为首页收藏本站

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

回测时 [复制链接]

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
跳转到指定楼层
1#
发表于 2019-3-27 18:24:32 |只看该作者 |倒序浏览
一、回测时    开仓平仓除下列外一切正常
   异常举例:持多仓(但不是在本根K线上开的多),在本根K线上达到平多条件后平仓,然后价格继续下走,达到了开空的条件,但没有开仓指令,在本根K线后面的K线上一切正常有开仓指令,什么原因导致本根K线上没有开空?

二、还有就是本根K线上如果最高价和最低价相差过大的话,因为TB不记录K线上价格到达的先后顺序,所以可能会导致本根K线上有开多平多开空平空四个指令,这个在回测时属于正常现象,在实际运行时可以避免。但上述导致没有开空的现象在实际运行时能否避免?

三、下面是开仓的条件
If( (MarketPosition == 0)&&(( CurrentBar != 0)&&( CurrentBar != 1)))
{
Commentary("Hi ="+Text(Hi));
Commentary("Lo ="+Text(Lo));
If(High > Hi)
        {
         myEntryPrice = min(high, Hi + MinPoint);
         If( Open> myEntryPrice) myEntryPrice = Open;   // 大跳空的时候用开盘价代替
         Buy(0,myEntryPrice);
        }
  If(Low < Lo)
        {
        myEntryPrice = max(low, Lo - MinPoint);
       If( Open< myEntryPrice) myEntryPrice = Open;    // 大跳空的时候用开盘价代替
        SellShort(0,myEntryPrice);  
       }
}

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
2#
发表于 2019-3-27 18:31:38 |只看该作者
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
3#
发表于 2019-3-27 19:25:24 |只看该作者
如果本根K线内不考虑价格的先后顺序的话,则回测时只要是本根K线上的价格达到开多空的条件,就一定会开仓。但上述前二图中所平多仓的K线上达到开空条件却未开空,难道是回测时默认这根K线全部时段都是MarketPosition == 1,不论中间时段是否有平多仓发生?

使用道具 举报

Rank: 1

精华
0
UID
271750
积分
27
帖子
22
主题
3
阅读权限
10
注册时间
2018-10-28
最后登录
2020-2-2
4#
发表于 2019-3-28 09:51:59 |只看该作者
小米版主帮我看下呗!

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2019-3-28 09:59:42 |只看该作者
一,你的开仓条件是要求判断marketposition==0的状态下。。
       如果你的公式编写的顺序是开仓语句在前,平仓语句在后。那么在平仓指令执行前,marketpositon是不为0的,
       所以会出现平仓bar上不能开仓的情况。。
       将开平顺序换一下,这个问题即可解决。

二, 类似这样的区间通道的条件中,在遇到大长柱时,是可能既满足多头又满足空头的。且历史K线上没法记录行情先后涨跌的顺序。
       所以当遇到公式编写的顺序与行情涨跌的先后顺序不符时,是可能有问题的。会导致实际交易与信号不符。
       在程序化交易中,这个情况是应该要避开的。可以换成更小的周期,或是加在通道区间的值 。减少或避免同一个bar上满足两个方向的可能性。

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
6#
发表于 2019-3-28 10:22:11 |只看该作者
小米 发表于 2019-3-28 09:59
一,你的开仓条件是要求判断marketposition==0的状态下。。
       如果你的公式编写的顺序是开仓语句在前 ...

好的,有个疑问,我的顺序是开仓语句在前,平仓语句在后,如果不改变顺序的话,实际运行中 平仓bar上在平仓指令执行之后,会不会开仓?

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
7#
发表于 2019-3-28 10:24:08 |只看该作者
如果不会开仓的话,就只能调换语句中开平仓的顺序来保证开仓了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
8#
发表于 2019-3-28 10:24:54 |只看该作者
zhanghualawyer 发表于 2019-3-28 10:22
好的,有个疑问,我的顺序是开仓语句在前,平仓语句在后,如果不改变顺序的话,实际运行中 平仓bar上在平 ...


不会开仓呢。

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
9#
发表于 2019-3-28 10:39:06 |只看该作者
小米 发表于 2019-3-28 10:24
不会开仓呢。

语句如果改为先平仓再开仓顺序的话   ,由于我的平仓语句里的信号需要用开仓时的开仓价,平仓时会不会取到 用的开仓价?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
10#
发表于 2019-3-28 11:04:43 |只看该作者
zhanghualawyer 发表于 2019-3-28 10:39
语句如果改为先平仓再开仓顺序的话   ,由于我的平仓语句里的信号需要用开仓时的开仓价,平仓时会不会取 ...

你是先平再开,平的是之前K线开的仓对吧?
那么这个开仓价也应该是之前开的才合理吧?
所以,开仓在平后语句后,并没有问题。
您可以试一下,再看看信号是否符合自己的需求。

使用道具 举报

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

bottom

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

GMT+8, 2024-4-20 22:48

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部