您现在的位置:程序化交易>> 期货公式>> 交易开拓者(TB)>> 开拓者知识>>正文内容

MACD多周期共振系统 - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: 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. //------------------------------------------------------------------------

     

  • TB技术人员: 交易指令。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. //------------------------------------------------------------------------
    复制代码

     

  • TB客服: 这么好的系统,下个TB版本升级的时候,直接写到TB里啊。。。

     

  • 网友回复: 嘿嘿,这个系统很好,很适合某些人用。。。
    强烈建议加密只让我知道...

     

  • 网友回复: 正愁多周期编程呢,学习了,好东西。

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

 

如果以上指标公式不适用于您常用的行情软件

或者您想改编成选股公式,以便快速选出某种形态个股的话,

可以联系我们相关技术人员 QQ: 262069696  点击在线交流进行 有偿 改编!

 


【字体: 】【打印文章】【查看评论

相关文章

    没有相关内容