查看: 639|回复: 0

商品期货5分钟开拓者通用策略

[复制链接]

507

主题

571

帖子

6649

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6649
星辰 发表于 2018-7-10 10:28:26 | 显示全部楼层 |阅读模式
//--------------------------------------------------------------------------------
//不同品种适合不同的参数,使用之前请优化XiShu1、XiShu2这一参数,Lots为手数不需要优化
//参数优化时设置范围:0.2到1.5之间  步长0.05
//参数优化时注意:使用品种的指数合约,有些品种的指数合约为000结尾,有些为9000。
//周期:推荐5分钟周期,因为5分钟K线一根bar同时上穿上下轨的情况基本没有
//测试样本数越多越好,可以使用交易开拓者最大的样本数8万根k线来进行测试
//推荐商品:RB、PP、ni、ta、rm、sr、L、ag、股指等等。自己可以测试历史数据
//实盘时为了能及时成交请设置好委托偏移,并且配合交易助手
//--------------------------------------------------------------------------------
Params       
        Numeric XiShu1(0.65);
        Numeric XiShu2(0.35);       
        Numeric Lots(1);   //手数,自己想开几手就设置几手
Vars        
        NumericSeries OpenToday;                     
        NumericSeries Band1;
        NumericSeries Band2;
        NumericSeries UpperBand;
        NumericSeries LowerBand;
        NumericSeries SellBand;
        NumericSeries BuyToCoverBand;       
        NumericSeries myEntryPrice;
Begin
If(Date >= 20160820) return;
        OpenToday=OpenD(0);
       
        Band1=(HighD(1)-LowD(1))*Max(XiShu1,XiShu2);
        UpperBand=OpenToday+Band1;
        LowerBand=OpenToday-Band1;
       
        Band2=(HighD(1)-LowD(1))*Min(XiShu1,XiShu2);
        SellBand=OpenToday-Band2;
        BuyToCoverBand=OpenToday+Band2;
       
    PlotNumeric("UpperBand",UpperBand);
        PlotNumeric("LowerBand",LowerBand);
        PlotNumeric("SellBand",SellBand);
        PlotNumeric("BuyToCoverBand",BuyToCoverBand);       
        //PlotNumeric("OpenToday",OpenToday);
       
    If(MarketPosition==-1 && High>=BuyToCoverBand)       
        {
                If(Open>BuyToCoverBand) myEntryPrice=Open;
                Else myEntryPrice=BuyToCoverBand;                               
            BuyToCover(Lots,myEntryPrice);
        }       
        If(MarketPosition==1 && Low<=SellBand)
        {
                If(Open<SellBand) myEntryPrice=Open;
                Else myEntryPrice=SellBand;
                Sell(Lots,myEntryPrice);
        }
        If(MarketPosition!=-1 && Low<=LowerBand)
        {
                If(Open<LowerBand) myEntryPrice=Open;
                Else myEntryPrice=LowerBand;
                SellShort(Lots,myEntryPrice);
        }
        If(MarketPosition!=1 && High>=UpperBand)
        {
                If(Open>UpperBand) myEntryPrice=Open;
                Else myEntryPrice=UpperBand;                               
            Buy(Lots,myEntryPrice);
        }
End       


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发表主题
    6649
    积分
    571
    帖子
    507
    主题
快速回复 返回顶部 返回列表