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

双均线金叉开多平空,死叉开空平多,开仓间隔不小于50个bar [开拓者 TB]

  • 咨询内容: 本帖最后由 leosu 于 2013-6-18 12:18 编辑

    求编写公式?双均线交叉,金叉开多平空,死叉开空平多,且两次多(空)间隔不小于50个bar。先谢谢了!!

     

  • TB技术人员: 最近 版主都忙什么 来帮帮我呀

     

  • TB客服: 请大家帮帮

     

  • 网友回复: 再次顶起来 谢谢大家

     

  • 网友回复: 本帖最后由 rucrui 于 2013-6-25 11:15 编辑

    没人回复的话我来献丑吧,双均线交叉,金叉买死叉卖,买卖我都加了滑点,用的次一根开盘价避免信号闪烁。唯一你说的间隔的,描述的有点简单,我按我的理解写,就是前一个时间点开多后50根BAR内不再开多,开空同理,如果不一样自己照着我写的稍微修改代码就行。
    1. Params
    2.       Numeric n1(20);
    3.           Numeric n2(60);
    4.           Numeric lots(1);
    5.           Numeric coverTime(50);
    6.                 Numeric splitRate(3);
    7.                
    8. Vars
    9.           Numeric splitDot; //交易滑点
    10.           NumericSeries E1(0);
    11.           NumericSeries E2(0);
    12.           Numeric myprice;       
    13.           NumericSeries bCountTime(0);
    14.           NumericSeries sCountTime(0);

    15.           
    16. Begin
    17.           splitDot=splitRate*MinMove()*PriceScale();
    18.           E1=XAverage(C,n1);
    19.           E2=XAverage(C,n2);       
    20.            PlotNumeric("E1",E1,0,Red);
    21.            PlotNumeric("E2",E2,0,Green);
    22.        
    23.           bCountTime=bCountTime[1]+1;
    24.           sCountTime=sCountTime[1]+1;
    25.           
    26.           If(MarketPosition==0)
    27.           {
    28.                         If(E1[1]>E2[1] && bCountTime>coverTime)
    29.                         {
    30.                             myprice=Open+splitDot;
    31.                                 Buy(lots, myprice);
    32.                                 bCountTime=0;
    33.                         }
    34.                         else If(E1[1]<E2[1] && sCountTime>coverTime)
    35.                         {
    36.                             myprice=Open-splitDot;
    37.                                 Sellshort(lots, myprice);
    38.                                 sCountTime=0;
    39.                         }
    40.           }
    41.           else If(MarketPosition==1)
    42.           {
    43.                 If(E1[1]<E2[1])
    44.                         {
    45.                             myprice=Open-splitDot;
    46.                             Sell(lots,myprice);
    47.                                 If(sCountTime>coverTime)
    48.                                 {
    49.                                 Sellshort(lots, myprice);
    50.                                 sCountTime=0;
    51.                                 }
    52.                         }       
    53.           }
    54.           else If(MarketPosition==-1)
    55.           {
    56.                If(E1[1]>E2[1])
    57.                         {
    58.                             myprice=Open+splitDot;
    59.                             BuyToCover(lots,myprice);
    60.                                 If(bCountTime>coverTime)
    61.                                 {
    62.                                 Buy(lots, myprice);
    63.                                 bCountTime=0;
    64.                                 }       
    65.                         }
    66.           }
    67.           
    68.            Commentary("bCountTime:"+Text(bCountTime));
    69.            Commentary("sCountTime:"+Text(sCountTime));
    70. End          
    71.   
    复制代码

 

有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友

可联系技术人员 QQ: 1145508240  有需要帮忙请点击这里留言!!!进行 有偿 编写!不贵!点击查看价格!


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

相关文章

    没有相关内容