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

分享一个止盈止损的模版... - TradeBlazer公式 [开拓者 TB]

  • 咨询内容: 我目前在用的方法。为促进交流,现在跟大家分享~欢迎交流!
    有什么疑问欢迎指出。

    //------------------------------------------------------------------------
    // 简称: AO
    // 名称: 日内止盈止损系统模版
    // 类别: 交易指令
    // 类型: 其他
    // 输出:
    //------------------------------------------------------------------------

    Params
        Numeric MyZhiSun(0);//止盈止损开关,1为开,其它为关
        Numeric MyJumpScale(1);//每个BAR止线浮动幅度,1为1跳。即,每走完一个BAR,止损线会相应的抬高(多单时)或者降低(空单时)一跳
        Numeric ExitOnCloseMins(14.55);//14:55分请仓。
        Numeric MyStopLoss(5);//默认5跳止损
        Numeric Lots(1); //开仓手数
    Vars
        NumericSeries MyPositionH(0); //做空时的止损线
        NumericSeries MyPositionL(0); //做多时的止损线
    Begin

        If(Date!=Date[1])
        {
            MyPositionH = 0; //每天第一个BAR清零
            MyPositionL = 0;
        }Else
        {
            MyPositionH = MyPositionH[1]; //止损线得以延续
            MyPositionL = MyPositionL[1];
        }

    if(MyZhiSun == 1 && MarketPosition != 0) //止盈止损
    {
      if(MarketPosition==1 && Open < MyPositionL && MyPositionL != 0)
      {
            MyPrice = MyPositionL - MinMove; //保证测试准确,放弃一跳.
            if(BarStatus==2)//做多止损
            {
                Sell(A_BuyPosition,Q_Last);
            }Else
            {
                Sell(Lots,MyPrice);
            }
            Commentary("Open < MyPositionL " + Text(MyPositionL));
            MyPositionL = 0;
            Return;
        if(MyPositionL < HighD(0))MyPositionL = MyPositionL + MyJumpScale*MinMove;//浮动抬高
      }
      if(MarketPosition==-1 && Open > MyPositionH && MyPositionH != 0)
      {
            MyPrice = MyPositionH + MinMove;//保证测试准确,放弃一跳.
            if(BarStatus==2)//做空止损
            {
                BuyToCover(A_SellPosition,Q_Last);
            }Else
            {
                BuyToCover(Lots,MyPrice);
            }
            Commentary("Open > MyPositionH " + Text(MyPositionH));
            MyPositionH = 0;
            Return;
        if(MyPositionH > LowD(0))MyPositionH = MyPositionH - MyJumpScale*MinMove;//浮动降低
      }
        if(MyZhiSun == 1)Commentary("止盈启动!");
    }

    Commentary("MyPositionH == "+Text(MyPositionH));
    Commentary("MyPositionL == "+Text(MyPositionL));

    // 下面是开仓代码
        If(开多条件)
        {
            MyPrice = 开多价格;
            If(Open > MyPrice) MyPrice = Open;
            if(MyPrice > High)MyPrice = High;
            if(BarStatus==2)
            {
                Buy(Lots,Q_Last);
            }Else
            {
                Buy(Lots,MyPrice);
            }
            MyPositionH = 0;
            MyPositionL = MyPrice - MyStopLoss*MinMove;//开仓时设定止损线,以跳为单位
            Return;
        }

        If(开空条件)
        {
            MyPrice = 开空价格;
            If(Open < MyPrice) MyPrice = Open;
            if(MyPrice < Low)MyPrice = Low;
            if(BarStatus==2)
            {
                SellShort(Lots,Q_Last);
            }Else
            {
                SellShort(Lots,MyPrice);
            }
            MyPositionL = 0;
            MyPositionH = MyPrice + MyStopLoss*MinMove;//开仓时设定止损线,以跳为单位
            Return;
        }
        // 收盘平仓,实际执行代码
        If(BarStatus==2 And CurrentTime>=ExitOnCloseMins/100 And MarketPosition!=0)
        {
            If(A_BuyPosition>0)
            {
                Sell(A_BuyPosition,Q_Last);
            }
            If(A_SellPosition>0)
            {
                BuyToCover(A_SellPosition,Q_Last);
            }
        }
        //保证收盘平仓信号的准确
        If(Time >=ExitOnCloseMins/100 And BarStatus!=2 And MarketPosition!=0)
        {
            Sell(Lots,Open-MinMove);
            BuyToCover(Lots,Open+MinMove);
        }

    End

    //------------------------------------------------------------------------
    // 编译版本    GS2004.06.12
    // 用户版本    2009/10/31 01:03
    // 版权所有    na
    // 更改声明    TradeBlazer Software保留对TradeBlazer平台
    //            每一版本的TrabeBlazer公式修改和重写的权利
    //------------------------------------------------------------------------

     

  • TB技术人员: GOOD!         

     

  • TB客服: 未命名.jpg (59.52 KB, 下载次数: 2) 2010-8-10 21:05:47 上传 下载次数: 2

     

  • 网友回复: 通不过呀!怎办?

     

  • 网友回复: 非常感谢分享

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

相关文章

    没有相关内容