设为首页收藏本站

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

MACD多周期共振系统 [复制链接]

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
跳转到指定楼层
1#
发表于 2008-6-20 16:14:37 |只看该作者 |倒序浏览
1、系统原理很简单,MACD的柱状线,在1分钟,3分钟,5分钟,15分钟及30分钟都是红柱,即都大于0时,多头开仓。
当1分钟的MACD柱线变绿柱,即小于0时,多头平仓。
2、做空的条件类似,收盘平仓。
3、在此提供这个系统的目录是为了演示跨周期数据处理的方法,本系统并不是一个完善有效的系统,照此交易,后果自负

代码分为两部分,1个用户函数,1个交易指令。
用户函数:MinsXAverage,代码如下
  1. //------------------------------------------------------------------------
  2. // 简称: MinsXAverage
  3. // 名称: 1分钟转换N分钟的指数平均
  4. // 类别: 用户函数
  5. // 类型: 用户函数
  6. // 输出: 数值型
  7. //------------------------------------------------------------------------

  8. Params
  9.         Numeric nMinSet(3);
  10.         NumericSeries Price(10);
  11.         Numeric Length(10);
  12. Vars
  13.         NumericSeries MinsBarIndex;
  14.         BoolSeries FirstMin(True);
  15.    
  16.         Numeric sFcactor;
  17.         NumericSeries XAvgValue;
  18. Begin
  19.         If(CurrentBar == 0)
  20.         {
  21.                 FirstMin = True;
  22.         }Else
  23.         {
  24.                 FirstMin = FirstMin[1];
  25.                 If(FirstMin && IntPart(Minute/nMinSet) != IntPart(Minute[CurrentBar]/nMinSet))
  26.         {
  27.                         FirstMin = False;
  28.                 }
  29.         }
  30.                
  31.         If(IntPart(Minute%nMinSet)==0)
  32.         {
  33.                 MinsBarIndex = 1;
  34.         }Else
  35.         {
  36.                 MinsBarIndex = MinsBarIndex[1] + 1;
  37.         }

  38.         sFcactor = 2 / ( Length + 1 );
  39.         if (FirstMin)
  40.         {
  41.                 XAvgValue = Price;
  42.         }else
  43.         {
  44.                 XAvgValue = XAvgValue[MinsBarIndex] + sFcactor * ( Price - XAvgValue[MinsBarIndex] ) ;
  45.         }        
  46.         Return XAvgValue;
  47. End

  48. //------------------------------------------------------------------------
  49. // 编译版本        GS2004.06.12
  50. // 用户版本        2008/06/20 14:09
  51. // 版权所有        nopain
  52. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
  53. //                        每一版本的TrabeBlazer公式修改和重写的权利
  54. //------------------------------------------------------------------------
复制代码

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
2#
发表于 2008-6-20 16:16:10 |只看该作者
交易指令。MACERS,仅适用于1分钟周期
  1. //------------------------------------------------------------------------
  2. // 简称: MACDRS
  3. // 名称: MACD Resonance System
  4. // 类别: 交易指令
  5. // 类型: 多头建仓
  6. // 输出:
  7. //------------------------------------------------------------------------

  8. Params
  9.         Numeric FastLength(12);
  10.         Numeric SlowLength(26);
  11.         Numeric MACDLength(9);
  12. Vars
  13.         NumericSeries MACDValue1;
  14.         NumericSeries MACDValue3;
  15.         NumericSeries MACDValue5;
  16.         NumericSeries MACDValue15;
  17.         NumericSeries MACDValue30;
  18.         Numeric AvgMACD1;
  19.         Numeric AvgMACD3;
  20.         Numeric AvgMACD5;
  21.         Numeric AvgMACD15;
  22.         Numeric AvgMACD30;
  23.         Numeric MACDDiff1;
  24.         Numeric MACDDiff3;
  25.         Numeric MACDDiff5;
  26.         Numeric MACDDiff15;
  27.         Numeric MACDDiff30;
  28.         Bool LongEntryCon;
  29.         Bool ShortEntryCon;
  30.         Bool LongExitCon;
  31.         Bool ShortExitCon;
  32. Begin
  33.         MACDValue1 = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );       
  34.         AvgMACD1 = XAverage(MACDValue1,MACDLength);
  35.         MACDDiff1 = MACDValue1 - AvgMACD1;

  36.         MACDValue3 = MinsXAverage(3, Close, FastLength ) - MinsXAverage(3, Close, SlowLength );        
  37.         AvgMACD3 = MinsXAverage(3,MACDValue3,MACDLength);
  38.         MACDDiff3 = MACDValue3 - AvgMACD3;
  39.        
  40.         MACDValue5 = MinsXAverage(5, Close, FastLength ) - MinsXAverage(5, Close, SlowLength );        
  41.         AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
  42.         MACDDiff5 = MACDValue5 - AvgMACD5;
  43.        
  44.         MACDValue15 = MinsXAverage(15, Close, FastLength ) - MinsXAverage(15, Close, SlowLength );        
  45.         AvgMACD15 = MinsXAverage(15,MACDValue15,MACDLength);
  46.         MACDDiff15 = MACDValue15 - AvgMACD15;
  47.        
  48.         MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );        
  49.         AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
  50.         MACDDiff30 = MACDValue30 - AvgMACD30;

  51.         LongEntryCon = MACDDiff1 > 0 && MACDDiff3 > 0 && MACDDiff5 > 0 && MACDDiff15 > 0 && MACDDiff30 > 0;
  52.         ShortEntryCon = MACDDiff1 < 0 && MACDDiff3 < 0 && MACDDiff5 < 0 && MACDDiff15 < 0 && MACDDiff30 < 0;
  53.        
  54.         LongExitCon = MACDDiff1 < 0;
  55.         ShortExitCon = MACDDiff1 > 0;
  56.        
  57.         Commentary("MACDDiff1="+Text(MACDDiff1));
  58.         Commentary("MACDDiff3="+Text(MACDDiff3));
  59.         Commentary("MACDDiff5="+Text(MACDDiff5));
  60.         Commentary("MACDDiff15="+Text(MACDDiff15));
  61.         Commentary("MACDDiff30="+Text(MACDDiff30));
  62.        
  63.         If(MarketPosition == 0)
  64.         {
  65.                 If(LongEntryCon)
  66.                 {
  67.                         Buy(1,NextOpen,True);
  68.                 }Else if(ShortEntryCon)
  69.                 {
  70.                         SellShort(1,NextOpen,True);
  71.                 }               
  72.         }Else If(MarketPosition == 1 && LongExitCon)
  73.         {
  74.                 Sell(1,NextOpen,True);
  75.         }Else if(MarketPosition == -1 && ShortExitCon)
  76.         {
  77.                 BuyToCover(1,NextOpen,True);
  78.         }
  79.        
  80.         If(Time >= 0.1459)
  81.         {
  82.                 Sell(1,Open);
  83.                 BuyToCover(1,Open);
  84.         }
  85. End

  86. //------------------------------------------------------------------------
  87. // 编译版本        GS2004.06.12
  88. // 用户版本        2008/06/20 14:47
  89. // 版权所有        nopain
  90. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
  91. //                        每一版本的TrabeBlazer公式修改和重写的权利
  92. //------------------------------------------------------------------------
复制代码

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
3#
发表于 2008-6-20 21:48:16 |只看该作者
这么好的系统,下个TB版本升级的时候,直接写到TB里啊。。。
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1263
积分
1151
帖子
199
主题
70
阅读权限
60
注册时间
2008-3-3
最后登录
2008-7-21
4#
发表于 2008-6-20 22:02:55 |只看该作者
嘿嘿,这个系统很好,很适合某些人用。。。
强烈建议加密只让我知道...
欢迎加入交易开拓者QQ群:38529330,让我们一起交流,一起提高,一起赚钱吧。。。

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
1057
积分
824
帖子
158
主题
8
阅读权限
60
注册时间
2008-1-11
最后登录
2021-10-24
5#
发表于 2008-6-21 00:28:14 |只看该作者
正愁多周期编程呢,学习了,好东西。

请版主以后多编一些这样的公式例子,让我们有学习的素材!
系统交易学徒

使用道具 举报

Rank: 7Rank: 7Rank: 7

精华
1
UID
387
积分
2724
帖子
167
主题
33
阅读权限
80
注册时间
2007-9-21
最后登录
2020-2-24
6#
发表于 2008-6-22 22:41:29 |只看该作者

回复 #2 nopain 的帖子

该帖好,版主能编个跨周期的HIGHEST吗?


AvgPrice = 22166
AvgPrice = 22166.13
AvgPrice = 22166.38
AvgPrice = 22170.88
AvgPrice = 22170.88          AvgPrice = 22170.88   11:14
AvgPrice = 22193.38
AvgPrice = 22192.88
AvgPrice = 22191.50
AvgPrice = 22190.13
AvgPrice = 22189.75          AvgPrice = 22193.38  11:19          AvgPrice = 22193.38  11:19
AvgPrice = 22198.38
AvgPrice = 22198.38
AvgPrice = 22199.13
AvgPrice = 22199
AvgPrice = 22198.63          AvgPrice = 22199       11:24
AvgPrice = 22204.88
AvgPrice = 22205.88
AvgPrice = 22207.38
AvgPrice = 22207.25
AvgPrice = 22207.50          AvgPrice = 22207.50   11:29               AvgPrice = 22207.50   11:29

使用道具 举报

Rank: 4

精华
0
UID
1271
积分
423
帖子
74
主题
21
阅读权限
50
注册时间
2008-3-5
最后登录
2021-2-8
7#
发表于 2008-6-23 12:24:53 |只看该作者
用户函数:MinsXAverage太难懂了,N周期的均线如何表示呀,能不能发个用户函数,举个例子?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
20
UID
4
积分
22709
帖子
4802
主题
64
阅读权限
255
注册时间
2007-7-20
最后登录
2024-1-15
8#
发表于 2008-6-23 12:31:04 |只看该作者
原帖由 b8866 于 2008-6-23 12:24 发表
用户函数:MinsXAverage太难懂了,N周期的均线如何表示呀,能不能发个用户函数,举个例子?


看这里:
http://www.tradeblazer.net/forum/viewthread.php?tid=1996

使用道具 举报

Rank: 4

精华
0
UID
1285
积分
278
帖子
54
主题
6
阅读权限
50
注册时间
2008-3-7
最后登录
2014-12-29
9#
发表于 2008-9-10 09:39:35 |只看该作者
很好的内容,非常感谢!

使用道具 举报

Rank: 2

精华
0
UID
2371
积分
64
帖子
6
主题
1
阅读权限
30
注册时间
2008-9-16
最后登录
2008-10-17
10#
发表于 2008-9-18 17:12:47 |只看该作者
很好的内容,非常感谢!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-2 09:55

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部