程序化交易 - 轻松交易从此开始!
您的位置:主页 > 程序化交易 >

TB源码:日内高低点突破交易系统

发布时间:2017-07-14 09:06

//------------------------------------------------------------------------
// 简称: 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公式修改和重写的权利
//------------------------------------------------------------------------程序化交易

网站首页 | 关于我们 | 程序化交易 | 交易知识 | 投资经典 | 模型鉴赏 | 代写指标 | 联系我们

全国统一客户服务热线:13022759527
程序化交易交流群:8641958
新浪博客:程序化交易网-官方博客
京ICP备10004064号-4
COPYRIGHT 2008-2018 WWW.ZCXH.COM All RIGHTS RESERVED