设为首页收藏本站

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

对帮助文件中跟踪止损代码的疑问 [复制链接]

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
跳转到指定楼层
1#
发表于 2016-11-22 22:51:02 |只看该作者 |倒序浏览
你好,我在帮助文件中看到如下跟踪止损的示例代码,主要是对开仓同根Bar上记录的HighestAfterEntry和LowestAfterEntry有疑问。
按照代码理解,在开仓同根Bar上,如果Close>AvgEntryPrice,则HighestAfterEntry=Close,LowestAfterEntry=AvgEntryPrice
如果Close<AvgEntryPrice,则HighestAfterEntry=AvgEntryPrice
,LowestAfterEntry=Close
问题一:请问我对代码的理解正确吗?
问题二:实际我在使用上述方法记录HighestAfterEntry和LowestAfterEntry的值时,在开仓同根Bar上用Commentary看到的这两个值都是Close,达不到分别记录两个值的效果,请问为什么?
附帮助文件中的示例代码,请帮忙解答,谢谢
  1. If(BarsSinceentry == 0)
  2.     {
  3.         HighestAfterEntry = Close;
  4.         LowestAfterEntry = Close;
  5.         If(MarketPosition <> 0)
  6.         {
  7.             HighestAfterEntry = Max(HighestAfterEntry,AvgEntryPrice);   // 开仓的Bar,将开仓价和当时的收盘价的较大值保留到HighestAfterEntry
  8.             LowestAfterEntry = Min(LowestAfterEntry,AvgEntryPrice);     // 开仓的Bar,将开仓价和当时的收盘价的较小值保留到LowestAfterEntry
  9.         }
  10.     }else
  11.     {
  12.         HighestAfterEntry = Max(HighestAfterEntry,High); // 记录下当前Bar的最高点,用于下一个Bar的跟踪止损判断
  13.         LowestAfterEntry = Min(LowestAfterEntry,Low);    // 记录下当前Bar的最低点,用于下一个Bar的跟踪止损判断
  14.     }
  15.     Commentary("HighestAfterEntry="+Text(HighestAfterEntry));
  16.     Commentary("LowestAfterEntry="+Text(LowestAfterEntry));
复制代码

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
2#
发表于 2016-11-23 14:06:19 |只看该作者
呼叫版主,管理,大神,辛苦解答疑惑,谢谢

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
3#
发表于 2016-11-23 15:12:24 |只看该作者
你的commentary是写在哪个位置的?
可以将图表上信号所在的K线位置上显示注释信息框后截个图我看看。

使用道具 举报

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
4#
发表于 2016-11-23 18:43:47 |只看该作者
本帖最后由 nzqh00036011 于 2016-11-23 18:44 编辑
小米 发表于 2016-11-23 15:12
你的commentary是写在哪个位置的?
可以将图表上信号所在的K线位置上显示注释信息框后截个图我看看。 ...


是写在和帮助文件中示例代码一样的位置,整个取这两个值的代码是一样的,下图显示的两值结果都是当根K线的Close,品种是RB1701,周期30分钟
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
5#
发表于 2016-11-24 10:25:34 |只看该作者
本帖最后由 小米 于 2016-11-24 10:28 编辑
nzqh00036011 发表于 2016-11-23 18:43
是写在和帮助文件中示例代码一样的位置,整个取这两个值的代码是一样的,下图显示的两值结果都是当根K线 ...


截图上的注释框里怎么会没有信号的注释信息?包括当前K线信息的内容也显示出来再截图给我吧。这样才好直观排查呢。

使用道具 举报

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
6#
发表于 2016-11-24 10:42:39 |只看该作者
小米 发表于 2016-11-24 10:25
截图上的注释框里怎么会没有信号的注释信息?包括当前K线信息的内容也显示出来再截图给我吧。这样才好直 ...

不好意思,之前是放在附图的,现在改过来了,跟K线一起显示那两个值都是Close,K线都是有信号的开仓K线,还是RB1701,30分钟周期,麻烦了
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
7#
发表于 2016-11-24 11:11:02 |只看该作者
nzqh00036011 发表于 2016-11-24 10:42
不好意思,之前是放在附图的,现在改过来了,跟K线一起显示那两个值都是Close,K线都是有信号的开仓K线, ...

你的开仓语句是写在哪个位置的呢?如果是在写上述代码之后,自然只能记录close了

使用道具 举报

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
8#
发表于 2016-11-24 13:36:10 |只看该作者
小米 发表于 2016-11-24 11:11
你的开仓语句是写在哪个位置的呢?如果是在写上述代码之后,自然只能记录close了 ...

谢谢,确实调整到开仓代码之后就能正常记录了
但是我还是想不明白这里面算法的区别,为什么要把开仓语句写在前面,开仓后在同一根K线的情况下,从下个TICK开始就可以读取图表上的信号数据了,BarsSinceentry == 0和MarketPosition <> 0都应该是能满足的,那为什么不能在MarketPosition <> 0内的语句中记录这两个值呢,麻烦能否详细请教一下,谢谢了

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
9#
发表于 2016-11-24 13:47:43 |只看该作者
nzqh00036011 发表于 2016-11-24 13:36
谢谢,确实调整到开仓代码之后就能正常记录了
但是我还是想不明白这里面算法的区别,为什么要把开仓语句 ...

http://bbs.tb18.net/thread-22580-1-1.html
看看这个贴子,或许会有帮助。

使用道具 举报

Rank: 1

精华
0
UID
236584
积分
47
帖子
30
主题
5
阅读权限
10
注册时间
2016-6-15
最后登录
2019-2-7
10#
发表于 2016-11-24 14:48:20 |只看该作者
小米 发表于 2016-11-24 13:47
http://bbs.tb18.net/thread-22580-1-1.html
看看这个贴子,或许会有帮助。

哈哈,明白了,又理解了一点TB的机制,小米大神辛苦了,多谢

使用道具 举报

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

bottom

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

GMT+8, 2024-4-27 12:37

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部