设为首页收藏本站

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

【求教】使用非确定不变的数据作为判断条件,有什么办法使信号不消失? [复制链接]

Rank: 4

精华
0
UID
202052
积分
598
帖子
12
主题
3
阅读权限
50
注册时间
2015-1-20
最后登录
2015-1-30
跳转到指定楼层
1#
发表于 2015-1-29 15:30:49 |只看该作者 |倒序浏览
小弟有一难题,求各位大神帮帮!如下:

        If(MarketPosition == 1 And BarsSinceEntry >= 1)
        {
            If(Close < MA1)
                {
                        Sell(0,Close);
                }

当K线还在运动时,close 代表的是最新价,而我想要的也是当最新价跌破MA1的时候平仓,
当以最新价平仓后,K线是没有停止运动的,
然而K线停止后,CLose 代表的是收盘价,这样收盘的标示也会随之下移到收盘价的位置,
导致信号标注得不准确(有时候也会导致信号消失),进行回测的结果也是天壤之别!
面对这样的问题,请问该如何解决?谢谢

Rank: 4

精华
0
UID
202052
积分
598
帖子
12
主题
3
阅读权限
50
注册时间
2015-1-20
最后登录
2015-1-30
2#
发表于 2015-1-29 21:32:03 |只看该作者
Q:如何处理讯号出现又消失的情况?

A:有以下两种方式:
1、使用Buy(1,Close,True)这样的格式,将信号延迟到该Bar走完,下一个Bar的第一个Tick出现的时候发送。
这个时候您可以用Buy(1,Close,True),表示的意思是用当前Bar的收盘价在下一个Bar开始时候交易。
您也可以用Buy(1,NextOpen,True),表示用下一个Bar的开盘价交易。
对于上面的这种处理方式,还有另外一种变通的处理,那就是取上一个Bar的条件或数据,只用当前Bar的Open价来进行判断。这样公式会写得更清晰。以下两段代码效果是相同的。
  1. 01.Condition = 您的交易条件;

  2. 02.If(Condition)

  3. 03.{

  4. 04.    Buy(1,NextOpen,True);

  5. 05.}
复制代码
  1. 01.Condition = 您的交易条件;

  2. 02.If(Condition[1])

  3. 03.{

  4. 04.    Buy(1,Open);

  5. 05.}
复制代码
2、第一种处理方式对于时间敏感性不高的系统,是可以采取的,但有些系统,如果选择延迟发送,则会导致比较大的性能下降。
此时我们需要选择另外一种处理方式。使用High,Low,Open这样能够保持住的价格来进行条件判断。
是价格往上的突破形成的交易操作用High来判断。是价格下上的突破形成的交易操作用Low来判断。其他不确定方向的情况最好用Open来判断。
比如,以下两种情况在实时交易方面同样迅速,但后面的就不会出现讯号消失的问题。
  1. 01.AvgClose = AverageFC(Close,10);

  2. 02.If(CrossOver(Close,AvgClose))

  3. 03.{

  4. 04.    Buy(1,AvgClose+MinMove*PriceScale);

  5. 05.}
复制代码
  1. 01.AvgClose = AverageFC(Close,10);

  2. 02.If(CrossOver(High,AvgClose))

  3. 03.{

  4. 04.    Buy(1,AvgClose+MinMove*PriceScale);

  5. 05.}
复制代码
以上信息引于:
TB公式之常见问题(Q&A)!
http://bbs.tb18.net/forum.php?mo ... &fromuid=202052

使用道具 举报

Rank: 2

精华
0
UID
40788
积分
84
帖子
36
主题
14
阅读权限
30
注册时间
2011-5-19
最后登录
2021-3-1
3#
发表于 2015-5-4 12:57:51 |只看该作者
CWQ_dylan 发表于 2015-1-29 21:32
Q:如何处理讯号出现又消失的情况?

A:有以下两种方式:

1.因为AvgClose获取的是当前K线的Close,在实盘中Close会随时改变,因此AvgClose是不真实的
2.用H或者L判断,在实盘中不会出现信号消失,但测试结果也是不准的(小周期影响不大,大周期会有很大影响)
3.通过MinMove*PriceScale这种方式增加滑点,也会导致测试结果不准,但影响不会很大

使用道具 举报

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

bottom

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

GMT+8, 2024-5-11 16:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部