设为首页收藏本站

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

初学TB,做了一个克罗均线系统,关于信号闪烁的问题? [复制链接]

Rank: 1

精华
0
UID
188200
积分
15
帖子
8
主题
2
阅读权限
10
注册时间
2014-6-8
最后登录
2016-3-10
跳转到指定楼层
1#
发表于 2015-9-13 21:10:21 |只看该作者 |倒序浏览
初学TB想做个顺势均线突破系统,写下来,回测了下,一看结果出奇的好就知道不对了。。。
信号有闪烁,大神看下能不能根据交易规则,改一下?然后解释下信号闪烁和回测结果出奇好友什么关系?有什么解决方法?


交易规则:
适用于日线,1小时线
在上升趋势中,只持有多头头寸,或不入市。不持有空头头寸。
在下降趋势中,只持有空头头寸,或不入市。不持有多头头寸。
下一步是将进入和退出的原则公式化,这项讨论将用到下列原则:

我们将用收盘价与三个简单移动平均作比较,
进行长期分析:10天,20天,50天。
买入:当收盘价>10天>20天>50天;
卖出:当收盘从<10天<20天<50天。
进行短期分析,4天,9天,18天。
买入:当收盘价>4天>9天>18天;
卖出:当收盘从<4天<9天<18天
---------------------------------------------------------------------------------------------- 我是分割线(ㄒoㄒ)
Params
      Numeric lots(1);

Vars
      Numeric ma4;
      Numeric ma9;
      Numeric ma10;
      Numeric ma18;
      Numeric ma20;
      Numeric ma50;
Begin
      ma4=AverageFC(Close,4);
      ma9=AverageFC(Close,9);
      ma10=AverageFC(Close,10);
      ma18=AverageFC(Close,18);
      ma20=AverageFC(Close,20);
      ma50=AverageFC(Close,50);
      If(Close>Close[1])
      {
           If((Close[1]>ma10 && ma10>ma20 && ma20>ma50) || (Close[1]>ma4 && ma4>ma9 && ma9>ma18))
                Buy(lots,Open);
      }
      If(Close<Close[1])
      {
           If((Close[1]<ma10 && ma10<ma20 && ma20<ma50) || (Close[1]<ma4 && ma4<ma9 && ma9<ma18))
                SellShort(lots,Open);
      }
End

Rank: 1

精华
0
UID
188200
积分
15
帖子
8
主题
2
阅读权限
10
注册时间
2014-6-8
最后登录
2016-3-10
2#
发表于 2015-9-13 21:10:57 |只看该作者
自己顶起

使用道具 举报

Rank: 1

精华
0
UID
188200
积分
15
帖子
8
主题
2
阅读权限
10
注册时间
2014-6-8
最后登录
2016-3-10
3#
发表于 2015-9-13 21:17:28 |只看该作者
@小米 请帮我看看。。。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
4#
发表于 2015-9-14 11:19:03 |只看该作者
本帖最后由 小米 于 2015-9-17 10:15 编辑
wu82088465 发表于 2015-9-13 21:17
@小米 请帮我看看。。。
  1. Params
  2.       Numeric lots(1);

  3. Vars
  4.       Numeric ma4;
  5.       Numeric ma9;
  6.       Numeric ma10;
  7.       Numeric ma18;
  8.       Numeric ma20;
  9.       Numeric ma50;
  10.       boolseries con1;
  11.       boolseries con2;
  12. Begin
  13.       ma4=AverageFC(Close,4);
  14.       ma9=AverageFC(Close,9);
  15.       ma10=AverageFC(Close,10);
  16.       ma18=AverageFC(Close,18);
  17.       ma20=AverageFC(Close,20);
  18.       ma50=AverageFC(Close,50);
  19.       con1 = Close[1]>ma10 && ma10>ma20 && ma20>ma50) || (Close[1]>ma4 && ma4>ma9 && ma9>ma18;
  20.       con2 = Close[1]<ma10 && ma10<ma20 && ma20<ma50) || (Close[1]<ma4 && ma4<ma9 && ma9<ma18;
  21.       If(Close[1]>Close[2])
  22.       {
  23.            If(con1[1] ==true)
  24.                 Buy(lots,Open);
  25.       }
  26.       If(Close[1]<Close[2])
  27.       {
  28.            If((con2[1]==true))
  29.                 SellShort(lots,Open);
  30.       }
  31. End
复制代码
你的公式里有信号消失的原因在于使用了close的判断以及close计算的变量结果。
当一个bar没有结束前,这个close是会变动的。。于是这个值可能会在满足条件与不满足条件之间来回跳动。
当前的处理办法是在这个bar结束时再判断条件是否满足,即在下一个bar一开始时就进行判断条件并决定是否下单 。

使用道具 举报

Rank: 1

精华
0
UID
195796
积分
34
帖子
15
主题
3
阅读权限
10
注册时间
2014-10-23
最后登录
2023-6-1
5#
发表于 2015-9-17 10:08:10 |只看该作者
小米 发表于 2015-9-14 11:19
你的公式里有信号消失的原因在于使用了close的判断以及close计算的变量结果。
当一个bar没有结束前,这个 ...

个人意见:
24行:If(con1[2] ==true) =====改为======> If(con1[1] ==true)
27行:If(Close[2]<Close[2]) =====改为======> If(Close[1]<Close[2])

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
6#
发表于 2015-9-17 10:14:47 |只看该作者
guairen 发表于 2015-9-17 10:08
个人意见:
24行:If(con1[2] ==true) =====改为======> If(con1[1] ==true)
27行:If(Close[2] If(Close ...


是呢,是我过于粗心了,输入错误且没有仔细检查,谢谢提醒。

使用道具 举报

Rank: 1

精华
0
UID
177770
积分
3
帖子
1
主题
0
阅读权限
10
注册时间
2013-12-18
最后登录
2015-10-22
7#
发表于 2015-9-24 10:04:35 |只看该作者
缺少; 无法通过 请修改

使用道具 举报

Rank: 1

精华
0
UID
220895
积分
10
帖子
9
主题
1
阅读权限
10
注册时间
2015-10-6
最后登录
2015-11-25
8#
发表于 2015-11-14 15:23:43 |只看该作者
ht83010313 发表于 2015-9-24 10:04
缺少; 无法通过 请修改

加上()就可以

使用道具 举报

Rank: 1

精华
0
UID
220895
积分
10
帖子
9
主题
1
阅读权限
10
注册时间
2015-10-6
最后登录
2015-11-25
9#
发表于 2015-11-14 15:25:02 |只看该作者
小米 发表于 2015-9-17 10:14
是呢,是我过于粗心了,输入错误且没有仔细检查,谢谢提醒。

原本 盈利的模型,改成close[1]之后变成盈利很少的模型了。。。

还是没有良好的解决这个问题。

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
10#
发表于 2015-11-16 08:49:37 |只看该作者
liangls1982 发表于 2015-11-14 15:25
原本 盈利的模型,改成close[1]之后变成盈利很少的模型了。。。

还是没有良好的解决这个问题。 ...


抱歉呀,我个人确实没有什么好办法在避免信号消失时还要兼顾盈利呢。
您有什么好建议吗?我们也学习一下。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-8 18:11

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部