设为首页收藏本站

 找回密码
 注册
楼主: 01011012
打印 上一主题 下一主题

在当根持仓BAR上也能进行跟踪止损要怎么写?不做历史测试 [复制链接]

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
11#
发表于 2012-7-28 22:10:11 |只看该作者
本帖最后由 rookies 于 2012-7-28 22:18 编辑

Hi Man.Don't be Urge.

TB对历史数据的调用方式是不管BAR单柱生成的先后顺序的,用本根K线止损的话程序无法判断止损点的价格发生在建仓前还是之后

你所说的问题处理的方式就是在更小的周期环境下去写代码实现。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
12#
发表于 2012-7-30 09:00:05 |只看该作者
我本身就是不管先后顺序啊,我只需要做BARSTAUS==2时候的行情,不做测试,所以先后顺序是会有的,只是请教怎么写????

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
13#
发表于 2012-7-30 11:11:03 |只看该作者
01011012 发表于 2012-7-30 09:00
我本身就是不管先后顺序啊,我只需要做BARSTAUS==2时候的行情,不做测试,所以先后顺序是会有的,只是请教 ...

如11#楼所说,本根K线不会得知先后顺序,没法正确实现同k线跟踪止损的。除非你在此bar的一开盘时就开的仓。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
14#
发表于 2012-7-30 14:28:13 |只看该作者
lh948 发表于 2012-7-19 17:04
通过变量记录开仓价格,用变量与最新价进行判断是否止损。

2楼的说法应该就可以实现我的想法,但是我不知道怎么写,请版主写下

使用道具 举报

初级大户

酱油

Rank: 5Rank: 5

精华
0
UID
37561
积分
1108
帖子
395
主题
9
阅读权限
60
注册时间
2011-5-4
最后登录
2014-11-3
15#
发表于 2012-7-30 16:14:43 |只看该作者
本帖最后由 alex647l 于 2012-7-30 16:17 编辑

难道setglobalvar和GetTBProfileString都不能实现???跪求版主给个说法,我不会误解了这么久吧

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
16#
发表于 2012-7-30 22:14:51 |只看该作者
alex647l 发表于 2012-7-30 16:14
难道setglobalvar和GetTBProfileString都不能实现???跪求版主给个说法,我不会误解了这么久吧 ...


谈不上给什么说法吧,只不过各人的思路不同而已。我觉得此问题不关乎使用什么函数,而关乎交易本身。

举个例子,一个大阴上,开盘就是最高价3000点,跌到2980时满足了条件开多仓,而交易者的止损要求是高点回落10个点就平仓。这个,不是一开就得马上止损了吗?
千万别说:谁会在大阴线上开多呀? 因为你我都知道,总会有交易者使用这样或那样的策略。

当然 ,也可以按你自己的想法,使用全setglobalvar和GetTBProfileString来记录开仓之后的高价,而不去使用当前bar的高价来作判断。但是如果你已经不需要使用这个bar自带的数据了,那么何不直接使用更小的周期来实现?不必使用全局变量,更简单易行。或者说,就不需要这些信号了(因为这些信号已经不能回溯,不能重现,没有存在的 意义),那么使用a_sendorder也会更直接些。

使用道具 举报

Rank: 5Rank: 5

精华
1
UID
42516
积分
1239
帖子
264
主题
31
阅读权限
60
注册时间
2011-5-25
最后登录
2014-9-23
17#
发表于 2012-7-31 00:33:19 |只看该作者
01011012 发表于 2012-7-30 09:00
我本身就是不管先后顺序啊,我只需要做BARSTAUS==2时候的行情,不做测试,所以先后顺序是会有的,只是请教 ...


用本BARS数据实现的话,TB不会区分价格的先后顺序,比如  你现在做多开仓价格是950点,本BAR最高价是1050点,你的跟踪止损是如果盈利80点以上,回撤20点就平仓,代码如下

If(开仓Bar最高价 - 开仓价>100)
{
   If(当前价<开仓Bar最高价 - 20)
   {
       Sell(0,当前价);
   }
}

现在的问题是TB不会区分开仓Bar最高价,是开仓前的还是之后的,所以你一旦开仓即满足平仓条件!即使用账户函数也无法实现,因为无法计算High的先后顺序而没法取到开仓后的最高价

使用道具 举报

初级大户

酱油

Rank: 5Rank: 5

精华
0
UID
37561
积分
1108
帖子
395
主题
9
阅读权限
60
注册时间
2011-5-4
最后登录
2014-11-3
18#
发表于 2012-7-31 08:27:45 |只看该作者
小米 发表于 2012-7-30 22:14
谈不上给什么说法吧,只不过各人的思路不同而已。我觉得此问题不关乎使用什么函数,而关乎交易本身。

举 ...

受教了~

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
7277
积分
938
帖子
207
主题
44
阅读权限
60
注册时间
2010-3-11
最后登录
2016-5-4
19#
发表于 2012-7-31 09:27:19 |只看该作者
好吧,多谢啦

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 12:29

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部