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

开拓者 日内开盘区高低点机械突破交易系统源码[开拓者公式]

  • 源码内容:


    //------------------------------------------------------------------------
    // 简称: todayHLCross
    // 名称:
    // 类别: 交易指令
    // 类型: 其他
    // 输出:程序化交易
    //------------------------------------------------------------------------
    /*
            日内开盘区高低点机械突破系统
    */
    Params
            Numeric maxLots(1);//单次开仓手数
            Numeric maxTrad(4);//最大交易次数
            Numeric minSpt(15);//最小开仓间隔bar数
            Numeric splitRate(3); //交易滑点和佣金       
           
            Numeric tradBegin(930); //开仓时间       
            Numeric tradEnd(1430); //开仓截止时间       
            Numeric closeTime(1457); //bar的时间超过此值后平仓,一分钟交易=1457       

    Vars
            Numeric splitDot;        //交易滑点
           
            Bool bc(False);//开多条件
            Bool sc(False);//开空条件
           
            Numeric tradePrice(0);

            NumericSeries hh;
            NumericSeries ll;

    Begin
            splitDot=splitRate*MinMove();
           
            If(BarStatus==0)
            {
                    hh=High;
                    ll=Low;
                    Return;
            }
           
            if(Day !=Day[1])
            {
                    hh=High;
                    ll=Low;                }       
            Else       
            If(Time<0.0001*tradBegin)
            {
                    if(High>hh[1]) hh=High; Else        hh=hh[1];
                    if(Low<ll[1])         ll=Low;  Else        ll=ll[1];               
            }
            Else
            if(Time>=0.0001*tradBegin And Time<=0.1500)
            {
                    hh=hh[1];
                    ll=ll[1];               
                   
                    //穿越模式
                    bc=CrossOver(Open,hh) Or CrossOver(High,hh) Or CrossOver(Low,hh)  Or CrossOver(Close,hh) ;
                    sc=CrossUnder(Open,ll) Or CrossUnder(High,ll) Or CrossUnder(Low,ll) Or CrossUnder(Close,ll);       
                   
                    if(MarketPosition == 0)
                    {
                            // 当前无仓,开始建立多头
                            if(bc)
                            {
                                    if(BarStatus==2)        tradePrice= Q_AskPrice +splitDot; Else tradePrice=hh+splitDot;
                                    Buy(maxLots,tradePrice);
                            }
                            Else
                            // 当前无仓,开始建立空头
                            If(sc )
                            {
                                    if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else tradePrice=ll-splitDot;                       
                                    SellShort(maxLots,tradePrice);                               
                            }
                    }
                    //-----------------------------------------------------------------------------
                    Else
                    {
                            if(MarketPosition > 0 )
                            {
                                    // 当前多仓,加仓多头
                                    if(bc And BarsSinceLastEntry>minSpt)
                                    {
                                            if(BarStatus==2)        tradePrice= Q_AskPrice +splitDot; Else tradePrice=hh+splitDot;
                                            Buy(maxLots,tradePrice);
                                    }                       
                                    // 当前多头,要求反转为空头
                                    if(sc)
                                    {
                                            if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else  tradePrice=ll-splitDot;                                       

                                            // 平多头开空
                                            SellShort(maxLots,tradePrice);                                       
                                    }                                       
                                    //持仓处理,止损止盈平仓
                                    //........
                            }
                            //-----------------------------------------------------------------------------------------------
                            Else
                            if(MarketPosition < 0 )
                            {       
                                    // 当前空仓,加空头
                                    If(sc And BarsSinceLastEntry>minSpt)
                                    {
                                            if(BarStatus==2)tradePrice= Q_BidPrice -splitDot; Else tradePrice=ll-splitDot;                       
                                            SellShort(maxLots,tradePrice);
                                    }                       
                                    // 当前空头,要求反转为多头
                                    if(bc)
                                    {
                                            if(BarStatus==2)        tradePrice= Q_AskPrice +splitDot; Else  tradePrice=hh+splitDot;                               
                                            //平空头,开多
                                            Buy(maxLots,tradePrice);
                                    }                               
                                    //持仓处理,止损止盈平仓                               
                                    //........
                            }
                    }               
            }
    End

    //------------------------------------------------------------------------
    // 编译版本        GS2004.06.12
    // 用户版本        2008/11/18 18:49
    // 版权所有        fish0451程序化交易
    // 更改声明        TradeBlazer Software保留对TradeBlazer平台
    //                        每一版本的TrabeBlazer公式修改和重写的权利
    //------------------------------------------------------------------------

     

 

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

可联系技术人员 QQ: 262069696  点击在线交流进行 有偿 编写!不贵!点击查看价格!

 


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

相关文章

    没有相关内容