设为首页收藏本站

 找回密码
 注册
查看: 1912|回复: 2
打印 上一主题 下一主题

哪位大哥能把我这个RB模型优化下,不胜感激! [复制链接]

Rank: 1

精华
0
UID
245242
积分
4
帖子
2
主题
1
阅读权限
10
注册时间
2016-12-26
最后登录
2020-1-23
跳转到指定楼层
1#
发表于 2017-1-19 11:46:31 |只看该作者 |倒序浏览
Params
        Numeric length(22);//周期数
        Numeric length1(220);
    Numeric lots(1);//定义做单手数
    Numeric zjd(0);//定义开平仓的追价点数

Vars
       
        Numeric ma1;
        NumericSeries nphigh;//n周期最高
        Numeric nphigh1;//n周期次高
        NumericSeries nplow;//n周期最低
        Numeric nplow1;//n周期次低
        BoolSeries breakup(False);//是否向上突破
        BoolSeries breakdown(False);//是否向下突破
        Numeric zjia;//定义追价值
       
Begin

        zjia=zjd*MinMove*PriceScale;//开平仓追价数值
       
       
        nphigh=Highest(High,length);
        nphigh1=Highest(High[1],length-1);
        nplow=lowest(low,length);
        nplow1=lowest(low[1],length-1);
        ma1=AverageFC(Close[1],length1);
       
        PlotNumeric("nhigh",nphigh1);
        PlotNumeric("nlow",nplow1);
        PlotNumeric("ma1",ma1);
       
       
        if(High==nphigh )
        {
            breakup=True;
        }else
        {
            breakup=False;
        }
       
        if(Low==nplow )
        {
            breakdown=True;
        }else
        {
            breakdown=False;
        }
       
        if(MarketPosition==0)//不持有仓位时
        {
           if(high>ma1&& breakup==True &&Open>Low[1] &&Open[1]>Low[2] && Open[1]<Close[1] )
           {Buy(lots,Max(Max(nphigh1,open),ma1)+zjia);
           }
           If(low<ma1&&breakdown==True &&Open<High[1]&&Open[1]<High[2]&& Open[1]>Close[1] )
           {SellShort(lots,Min(Min(nplow1,open),ma1)-zjia);
          
           }
        }
        else If(MarketPosition==1)//持有多头仓位时
        {
                  If(close[1]<ma1&&low[1]<low[2])
           {Sell(lots,open-zjia);
           }

          If(low<ma1&&breakdown==True &&Open<High[1]&&Open[1]<High[2]&& Open[1]>Close[1] )
           {SellShort(lots,Min(Min(nplow1,open),ma1)-zjia);}
          
          
        }
       
        else //持有空头仓位时
        {
       
          if( close[1]>ma1&&High[1]>High[2] )
           BuyToCover(lots,open+zjia);
          
          
           if(high>ma1&& breakup==True &&Open>Low[1] &&Open[1]>Low[2] && Open[1]<Close[1] )
           {Buy(lots,Max(Max(nphigh1,open),ma1)+zjia);
           }
        }
End

Rank: 1

精华
0
UID
128166
积分
13
帖子
13
主题
0
阅读权限
10
注册时间
2011-1-1
最后登录
2018-2-26
2#
发表于 2017-1-19 20:20:28 |只看该作者
有点意思。

使用道具 举报

Rank: 1

精华
0
UID
210907
积分
13
帖子
9
主题
3
阅读权限
10
注册时间
2015-6-10
最后登录
2022-5-14
3#
发表于 2017-1-24 08:59:10 |只看该作者
似乎不太能用

使用道具 举报

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

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-5-11 10:38

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部