开拓者期货期权程序化系统交易论坛

标题: 关于移动止损/跟踪止损(TrailingStop)的讨论 [打印本页]

作者: ddbq    时间: 2007-8-16 23:26:48     标题: 关于移动止损/跟踪止损(TrailingStop)的讨论

SetPercentTrailing  根据参数进行百分比回落平仓操作,百分比回落平仓是指在取得最大盈利之后,当盈利回落大于 等于设定值,自动进行平仓操作,平仓的价格是满足回落值等于设定值的价格。只有当最大盈利大于FloorValue该函数才会有效执行 .
请问:这个FloorValue,是否可以设置为0,或者设置为很小的数(如0.01),而实现不管价格上涨多少,哪怕是上涨一丁点,只要最大赢利出现回落一定百分比(如30%)就平仓?

SetPeriodTrailing 根据参数进行区间回落平仓操作,区间回落平仓是指在取得最大盈利之后的设定周期内,盈利回落大于等于设定值,自动进行平仓操作,平仓的价格是满足回落值等于设定值的价格,例子
请问:这个区间参数,如果我设置为100个周期,如果在3个周期之内,而没有等到100个周期,盈利回落就大于等于设定值,是否也会执行平仓?

[ 本帖最后由 nopain 于 2007-10-20 22:00 编辑 ]
作者: nopain    时间: 2007-8-17 09:27:10

原帖由 ddbq 于 2007-8-16 23:26 发表
SetPercentTrailing  根据参数进行百分比回落平仓操作,百分比回落平仓是指在取得最大盈利之后,当盈利回落大于 等于设定值,自动进行平仓操作,平仓的价格是满足回落值等于设定值的价格。只有当最大盈利大于FloorValue该函 ...


回复1:
FloorValue必须大于0,dPercentValue必须大于而且小于等于1。
设置很小的正数也是有效的。您的理解是正确的。

回复2:
SetPeriodTrailing是指  在设定周期内的最大盈利之后,盈利回落大于设定值,进行平仓。
您的例子会平仓的,此种平仓对那种每天下跌一丁点,连续阴跌的情况无法做出平仓。因为指定周期内下落总是小于设定范围。
作者: sandboy2005    时间: 2007-10-11 12:43:50     标题: 老大这个东东要专门做一个贴来搞啊

老大这个东东要专门做一个贴来搞啊,老大这个东东要专门做一个贴来搞啊,移动止损如果做得好,TB将更加吸引人
作者: sandboy2005    时间: 2007-10-11 12:44:17     标题: 老大你来开贴吧

老大你来开贴吧老大你来开贴吧老大你来开贴吧老大你来开贴吧老大你来开贴吧
作者: nopain    时间: 2007-10-11 15:31:24

移动止损的使用很简单。
请按下步骤进行操作:
1、随便打开一个商品,举例为a805,周期为5分钟,样本数为300根;
2、插入系统内置的交易指令MACD_LE,即MACD的多头建仓指令;为了简单起见,将交易设置里面设置为不能连续开仓。
3、插入DollarTrailing交易指令,该交易指令其实就是直接调用SetDollarTrailing函数;将该交易指令的参数设置为:300,false。
界面如下:
[attach]339[/attach]
修改参数为500,false,界面如下:
[attach]340[/attach]
作者: nopain    时间: 2007-10-11 15:36:43

4、为了发挥DollarTrailing第二个参数的威力,您需要打开交易设置的多次开仓。我们修改交易设置的连续开仓选项,让它可以连续开5次仓。之后的界面显示如下:
[attach]342[/attach]

[ 本帖最后由 nopain 于 2007-10-11 15:39 编辑 ]
作者: nopain    时间: 2007-10-11 15:44:39

5、这个时候,我们在修改DollarTrailing的第二个参数为True,此时将会把所有的仓位合并进行处理。界面如下:
[attach]343[/attach]

6、SetDollarTrailing是最简单的滑动止损函数,参数较少,也比较好理解。直接调用DollarTrailing呢是简单的应用,
复杂应用需要在公式里面直接来通过计算得出设定值,然后作为参数传入。
比如:
SetDollarTrailing(close/100*Trailset* bigpointvalue);

注意问题:
1、SetDollarTrailing函数的启动条件是盈利需要达到设定的DollarValue值,如果开仓之后行情一直朝不好的方向移动,SetDollarTrailing将不会产生任何作用。
2、该函数并不包含开仓Bar的止损保护功能,比如实际情况是开仓之后同一个Bar内,价格朝有利的方向移动,盈利达到DollarValue值,之后又反向,一直朝不利的方向移动,下跌值超过DollarValue,SetDollarTrailing也不会产生任何作用!
3、该函数只会以建仓Bar的收盘价来判断盈利是否达到DollarValue,并在稍后的其他Bar进行跟踪止损监控。
4、在当前运行的Bar上,SetDollarTrailing函数只会以Open价来判断盈利是否达到DollarValue,而不会以High/Low来判断,因为就当前Bar的止损来说,系统并不知道High,Low出现的先后顺序,因此不能以假设的前提来进行止损判断。这一点TB是TradeStation在这个函数的处理区别!

作者: nopain    时间: 2007-10-11 15:48:37     标题: SetPercentTrailing

1、同上面的例子,依然用a805,5分钟周期,样本数为300根。
2、插入系统内置的交易指令MACD_LE,即MACD的多头建仓指令;为了简单起见,将交易设置里面设置为不能连续开仓。
3、插入PercentTrailing交易指令,该交易指令其实就是直接调用SetPercentTrailing函数;将该交易指令的参数设置为:300,0.2,false。
界面如下:
[attach]368[/attach]

[ 本帖最后由 nopain 于 2007-10-20 22:25 编辑 ]
作者: nopain    时间: 2007-10-11 15:55:31

占座1
作者: nopain    时间: 2007-10-11 15:55:36

占座2
作者: nopain    时间: 2007-10-11 15:55:40

占座3
作者: nopain    时间: 2007-10-11 15:55:45

占座4
作者: nopain    时间: 2007-10-11 15:55:49

占座5
作者: future    时间: 2007-10-11 19:28:28

俺也抢个座
作者: ATL    时间: 2007-10-11 23:37:55

抢2个座
作者: sandboy2005    时间: 2007-10-13 00:32:38     标题: 又扫了一个障碍了

又扫了一个障碍了,加油
作者: ALLY    时间: 2007-10-19 18:32:34

搬个板凳听课,版主继续啊。
作者: nickchen    时间: 2007-10-20 01:01:42

喜欢老师们的讨论 受益非牵
作者: dc32168    时间: 2007-10-20 09:45:59

好贴,值得好好学习!
作者: hnhyjxwy    时间: 2007-10-22 22:59:19

初来乍到,四处学习。
作者: ATL    时间: 2007-10-26 14:05:32     标题: 回复 #7 nopain 的帖子

那setstoploss是否在开仓的那根BAR上就按开仓均价开始计算呢?
作者: nopain    时间: 2007-10-26 14:48:27

原帖由 ATL 于 2007-10-26 14:05 发表
那setstoploss是否在开仓的那根BAR上就按开仓均价开始计算呢?


只用开仓价和收盘价比较。最低价不再比较范围。
因为不能确定最低价是在开盘前还是开盘后出现的
作者: ATL    时间: 2007-10-26 15:17:26

原帖由 nopain 于 2007-10-26 14:48 发表


只用开仓价和收盘价比较。最低价不再比较范围。
因为不能确定最低价是在开盘前还是开盘后出现的


在其它的BAR上什么价与什么价比较?


这当中很多玄机。
很有必要把所有的内置建仓指令机制列明啊。
1。在开仓BAR上是什么价与什么价比较。
2。其它BAR又是如何。
3。。。。
。。。。


作者: nopain    时间: 2007-10-26 15:20:44

开仓Bar按开仓价和Close比较。
在其他Bar当然要和High,Low比较。
当前Bar只比较Open和Close之间的差值。
作者: ATL    时间: 2007-10-26 15:30:56

当前BAR是什么BAR?
作者: nopain    时间: 2007-10-26 15:42:45

当前Bar就是公式正在执行的Bar。
为了方便理解,您可以认为是图上最后的Bar!
作者: 518    时间: 2007-10-31 20:21:09

经测试,SetPercentTrailing 产生信号出现又消失。反复平仓!!
作者: nopain    时间: 2007-10-31 20:27:53

原帖由 518 于 2007-10-31 20:21 发表
经测试,SetPercentTrailing 产生信号出现又消失。反复平仓!!


只有一种情况会出现您说的,那就是同一个Bar开仓,又止损平仓!
这个时候是比较开仓价及收盘价的差值,看是否满足止损条件。
这个时候是不能用High/Low来判断,因为不能确定High/Low是在开仓前,还是开仓后出现。
对于这种情况,要么开仓Bar不进行止损监控,要么只能按现在的方式。
作者: 518    时间: 2007-10-31 20:39:44

如果很幸运开仓BAR没有平掉,但在其它BAR上,比如做多的话,正好这一个BAR强劲上涨,high是会一直变动的,SETPERCENTRALIING就会一直反复平仓。
作者: nopain    时间: 2007-10-31 20:54:37

原帖由 518 于 2007-10-31 20:39 发表
如果很幸运开仓BAR没有平掉,但在其它BAR上,比如做多的话,正好这一个BAR强劲上涨,high是会一直变动的,SETPERCENTRALIING就会一直反复平仓。


不明白您的意思,可以找个例子,贴个图么?
作者: jeff456    时间: 2008-10-4 08:06:49


作者: guoling    时间: 2008-10-24 08:20:34

谢谢老师
谢谢老师
作者: chi    时间: 2010-7-9 12:53:41

1) SetDollarTrailing计算回落价格是根据程序自己的内存来计算还是要发送指令到交易公司查询才决定利润回落价格的?

2)还有,这个命令是条用一次就行(一直到平仓为止)还是每一个bar或tick都要调用才行
thx
作者: newtimes    时间: 2010-7-13 18:23:03     标题: 回复 1# ddbq 的帖子

新手学习中,感谢各位分享!
作者: newtimes    时间: 2010-7-13 18:23:53     标题: 回复 6# nopain 的帖子

新手学习中,感谢各位分享!
作者: 道勤    时间: 2010-7-14 08:11:55     标题: 回复 27# 518 的帖子

SetPercentraling 测试后发现在这个情况下会反复出现平仓信号,例如设置1000元之后回撤10%平仓也就是0.1。那么当价格第一次达到1000之后回撤10%,出现一次平仓信号,但是这个bar并没有走完,之后如果在这个bar上价格上涨到1500元,那么回撤150元的时候又会出现平仓信号,可是这个时候已经没有仓位可平了。如果老师能把该函数的代码公布一下,会方便对其进行修改。

[ 本帖最后由 道勤 于 2010-7-14 08:13 编辑 ]
作者: jun1962    时间: 2011-1-7 11:01:23

这个人为输个定值来确定平不平仓,似乎意思不大吧,主观的东西太重,不知输入固定值处可不可以用变量呢?比如一个指标达到相关的条件值,呵,请赐教
作者: liq77    时间: 2011-1-8 09:13:58

本帖最后由 liq77 于 2011-1-8 09:28 编辑

谢谢管理员的解释,图文并茂!
对照TB附录中关于SetPercentTrailing等词条的解释,真的是太粗糙太费解了。
作者: liq77    时间: 2011-1-8 09:28:51

另外还有一个疑问:使用SetPercentTrailing等指令进行平仓,发出的单子是以最接近设定条件的整数(跳点)报价,会不会出现不能成交的情况,如果出现怎么处理?谢谢回复。
作者: speed_fj    时间: 2011-2-6 08:54:14

请版主继续解释下以目造成讯号消失的问题前究竟会不会上疑问,我们嘴关心是这个函数
作者: missgod    时间: 2011-2-6 20:10:50

可以这样理解,信号存在,是因为达到平仓标准,信号失去,是因为又没达到平仓标准了。如此简单。当然会反复平仓。
作者: speed_fj    时间: 2011-2-7 09:54:55

如果按照最后k线open 判断的话,应该不会有信号消失的问题呀。
作者: speed_fj    时间: 2011-2-7 22:50:03

我看到历史测试出来的
譬如SetPercentTrailing(1000,0.01,true); 历史测试就是一个BAR最高价回落一点后 然后出现平仓信号

但是实际中 作为正在TICK触发的最后一个BAR 根本无法确认目前的最高价是不是BAR走完后显示的最高价啊?

会不会造成历史测试上用SetPercentTrailing后跟实盘严重不准的情况呢?
作者: sunkquan    时间: 2011-7-6 18:08:06

PercentTrailing有函数代码就好了
作者: CrewsHe    时间: 2011-7-11 13:15:19

学习中,,,,
作者: lanmeng_818    时间: 2011-12-27 16:08:08

学习中。。。。。。。关注
作者: tqtvip    时间: 2012-3-15 09:33:57

关于跟踪止损,怎么我设置后在止损后,再重新开仓的跟踪止损就不对了呢?
作者: 感悟人生    时间: 2012-6-5 21:14:01

zha nzuo
作者: 感悟人生    时间: 2012-6-7 06:56:19

zhanzhuo
作者: 水流深    时间: 2012-6-9 20:58:08

学习了,MARK
作者: yml6363    时间: 2012-7-21 10:39:56

占座2
作者: lanmeng_818    时间: 2013-1-28 22:53:34

现在新版TB中这几个函数都去掉了,不能用了,是不是应该讨论一下在新版TB中如何实现这几个功能啊?
作者: lanmeng_818    时间: 2013-1-28 22:55:02

顺便再把帖子顶起来。nopain有没有简单有效的方法去实现老版函数的功能呢?
作者: hepang    时间: 2013-3-22 20:58:37

人家以前讨论的东西 咱再学习
作者: dnt00193    时间: 2013-3-23 18:43:03

我有很棒的跟踪止损函数,求用很棒的开仓点判断函数来交换
作者: linroot    时间: 2017-9-2 23:45:52

学习了,感谢分享。。。
作者: hyqh900707171    时间: 2017-12-26 19:40:12

SetDollarTrailing这个函数在哪里可以查看的到?
作者: baby9112    时间: 2018-12-21 19:39:12


俺也抢个座




欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/) Powered by Discuz! X2