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

【跟风发套系统】道氏理论系统分享 [开拓者 TB]

  • 咨询内容: 跟穿堂风一个群的 平时喜欢琢磨点系统 我看流氓风分享了好几套系统了 我也跟风发一个吧~
    道氏理论大家应该都很熟悉
    不太清楚的同志请自己搜索下 这个东西是套很经典的系统
    因为我是做日内的 所以写成了日内交易 有兴趣的朋友可以改成中长线的系统
    代码如下
    1. //------------------------------------------------------------------------
    2. // 简称: D1
    3. // 名称: 道氏理论
    4. // 类别: 交易指令
    5. // 类型: 多头建仓
    6. // 输出:
    7. //------------------------------------------------------------------------

    8. Params
    9.         Numeric ATime(918);
    10.         Numeric CTime(1510);
    11.         Numeric Lot(1);
    12.         Numeric MoneyLoss(0.6);
    13.         Numeric BarCross(1);
    14.         Numeric Length(5);
    15.        
    16. Vars
    17.         Numeric bTime(0);
    18.         Numeric MyClose(0);
    19.         Numeric MyDiff(0);
    20.         NumericSeries estP(0);
    21.         NumericSeries ExitP(0);
    22.         NumericSeries Position(0);
    23.         NumericSeries est(0);
    24.         NumericSeries est1(0);
    25.         NumericSeries est2(0);
    26.         NumericSeries est3(0);
    27.        
    28.         Bool bTimeCon;
    29.         Bool BarUpCon;
    30.         Bool BarDownCon;
    31.         Bool BarExitCon;
    32.         Bool LongOpenCon;
    33.         Bool ShortOpenCon;
    34.         Bool LongExitCon;
    35.         Bool ShortExitCon;
    36.        
    37. Begin
    38.        
    39.         If (Date != Date[1])
    40.                 {
    41.                         est = Open;
    42.                         est1 = Open;
    43.                         est2 = Open;
    44.                         est3 = Open;
    45.                         estP = 0;
    46.                         ExitP = 0;
    47.                         Position = 0;
    48.                         MyClose = Open;
    49.                 }
    50.         Else
    51.                 {
    52.                         est = est[1];
    53.                         est1 = est1[1];
    54.                         est2 = est2[1];
    55.                         est3 = est3[1];
    56.                         estP = estP[1];
    57.                         ExitP = ExitP[1];
    58.                         Position = Position[1];
    59.                         If(Length != 0) MyClose = Average(Close[1],Length);
    60.                         Else MyClose = Close[1];
    61.                 }
    62.                
    63.         MyDiff = MyClose * BarCross / 1000;
    64.        
    65.         bTime = IntPart(Time*10000);
    66.         bTimeCon = (bTime > ATime) And (bTime < CTime);
    67.        
    68.         If((MyClose < est And MyClose < est1) Or (MyClose > est And MyClose > est1)) est = MyClose;
    69.         If(((MyClose - est) > MyDiff And est < est1) Or ((est - MyClose) > MyDiff And est > est1))
    70.                 {
    71.                         est3 = est2;
    72.                         est2 = est1;
    73.                         est1 = est;
    74.                         est = MyClose;
    75.                 }
    76.                
    77.         If(Position > 0 And High > estP) estP = High;
    78.         If(Position < 0 And Low < estP) estP = Low;
    79.         If(Position > 0) ExitP = estP * (100 - MoneyLoss) / 100;
    80.         If(Position < 0) ExitP = estP * (100 + MoneyLoss) / 100;
    81.        
    82.         If(bTime >= CTime)
    83.         {
    84.                 If (Position > 0)
    85.                         Sell(lot,Open);
    86.                 Else
    87.                         BuyToCover(lot,Open);
    88.         }
    89.          
    90.         If(bTimeCon)
    91.         {
    92.                 If (Position == 0)
    93.                 {
    94.                         If(est3 < est1 And (est2 / 2000 + est2) <= est And est3 < est2)
    95.                         {
    96.                                 Buy(lot,Open);
    97.                                 Position = lot;
    98.                                 estP = Open;
    99.                                 ExitP = estP * (100 - MoneyLoss) / 100;
    100.                                 Commentary("LongOpen");
    101.                                
    102.                         }
    103.                          
    104.                         Else If(est3 > est1 And (est2 - est2 / 2000) >= est And est3 > est2)
    105.                         {
    106.                                 SellShort(lot,Open);
    107.                                 Position = lot * -1;
    108.                                 estP = Open;
    109.                                 ExitP = estP * (100 + MoneyLoss) / 100;
    110.                                 Commentary("ShortOpen");
    111.                         }
    112.                 }
    113.                
    114.                 Else
    115.                
    116.                 {
    117.                         If(Position > 0 And est3 > est1)
    118.                         {
    119.                                 Sell(lot,Open);
    120.                                 Position = 0;
    121.                                 Commentary("LongExit1");
    122.                         }
    123.                        
    124.                         Else If(Position < 0 And est3 < est1)
    125.                         {
    126.                                 BuyToCover(lot,Open);
    127.                                 Position = 0;
    128.                                 Commentary("ShortExit1");
    129.                         }
    130.                        
    131.                         Else If(Position > 0 And Open < ExitP)
    132.                         {
    133.                                 Sell(lot,Open);
    134.                                 Position = 0;
    135.                                 Commentary("LongExit2");
    136.                         }
    137.                        
    138.                         Else If(Position < 0 And Open > ExitP)
    139.                         {
    140.                                 BuyToCover(lot,Open);
    141.                                 Position = 0;
    142.                                 Commentary("ShortExit2");
    143.                         }
    144.                 }
    145.         }
    146.        
    147.         Commentary("Position = "+Text(Position));
    148.         Commentary("ExitP = "+Text(ExitP));
    149. End

    150. //------------------------------------------------------------------------
    151. // 编译版本        GS2004.06.12
    152. // 用户版本        2011/05/03 13:21
    153. // 版权所有        illidanyl
    154. // 更改声明        TradeBlazer Software保留对TradeBlazer平台
    155. //                        每一版本的TrabeBlazer公式修改和重写的权利
    156. //------------------------------------------------------------------------

     

  • TB技术人员: 中间有些资金控制的东西 不修改任何参数的日内结果如下 大家图个乐吧~
    11.jpg (109.97 KB, 下载次数: 8) 2011-7-26 17:08:48 上传 下载次数: 8

     

  • TB客服: 快把压箱底的交出来

     

  • 网友回复: 我的测试结果怎么和版主的不一样?

     

  • 网友回复:
    快把压箱底的交出来
    穿堂风 发表于 2011-7-26 17:34



        才不要 -v-

 

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

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

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

 


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

相关文章

    指定的模型还没有相关内容!