设为首页收藏本站

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

急贴,一个资金管理策略的写法 [复制链接]

Rank: 3Rank: 3

精华
0
UID
19764
积分
163
帖子
18
主题
2
阅读权限
40
注册时间
2010-11-16
最后登录
2019-6-21
跳转到指定楼层
1#
发表于 2010-11-26 09:11:48 |只看该作者 |倒序浏览
谁能帮忙想下这个加仓的资金管理策略怎么写 我写的怎么不加仓!
   如果平掉所有持仓权益大于一个固定权益,那它增长的比例如果大于0.5 就加固定的仓位(参数),如果平掉所有持仓权益小于一个固定权益,那它减少的比例如果小于0.2 就减少固定仓位(参数)!
   急贴 ,求帮忙!
   附代码:
  Params
      Numeric Jxcs1(5);
      Numeric Jxcs2(40);
      Numeric Jxcs3(76);
      Numeric Yycs(16);
          Numeric TC(1);
      Numeric JCTC(1);
          Numeric QSSJ(20100501);
      Numeric BL(0.05);
          Numeric QY(1000000);
Vars
          NumericSeries BIAS(0);
      NumericSeries DIF(0);
      NumericSeries DBCD(0);
      NumericSeries MMZ(0);
      NumericSeries QY1;
      NumericSeries QY2;
      NumericSeries BL1;
      NumericSeries BL2;
          BoolSeries    BT1(True);
          BoolSeries    BT2(True);
          BoolSeries    ST1(True);
          BoolSeries    ST2(True);
Begin
      BIAS = (C-Average(C,Jxcs1)) / Average(C,Jxcs1);
      DIF = BIAS-BIAS[Yycs];
      DBCD = WAverage(DIF,Jxcs3);
      MMZ = 100000*Average(DBCD,Jxcs1);
      BT1 = MMZ>MMZ[1];
      BT2 = C>Average(C,Jxcs2);
      ST1 = MMZ<MMZ[1];
          

          If(D>=QSSJ)
        {
          If(BT1 AND BT2 And MarketPosition !=1)
                {
                        Buy(TC,c,true);
                }ELSE If(BT1 AND BT2 AND MarketPosition !=1 AND QY1>QY AND (Abs(QY-QY1)/QY)>BL && GetGlobalVar(1)==1){
            Buy(TC+JCTC,c,True);
        }Else If(BT1 AND BT2 AND MarketPosition !=1 AND QY1<QY AND (Abs(QY-QY1)/QY)>0.02 && GetGlobalVar(1)==1) {
                        Buy(TC-JCTC,c,True);
                }
      If(ST1 And MarketPosition ==1)
           {   
            Sell(0,c,true);
                        SetGlobalVar(1,1);
            QY1 = CurrentCapital;
           }
      If(ST1 AND ST2 And MarketPosition !=-1)
                {
                        SellShort(TC,c,true);
               
                }ELSE If(ST1 AND ST2 AND MarketPosition !=-1 AND QY2>QY AND Abs(QY2-QY2[1])/QY2[1]>BL){
                        SellShort(TC+JCTC,c,True);
        }Else If(ST1 AND ST2 AND MarketPosition !=-1 AND QY2<QY AND Abs(QY2-QY2[1])/QY2[1]>0.02){
            SellShort(TC-JCTC,c,True);
            }
          If(BT1 And MarketPosition == -1)
                {
                        BuyToCover(0,c,true);
            QY2=CurrentCapital;
                       
                }
          }

End

Rank: 1

精华
0
UID
176121
积分
25
帖子
14
主题
3
阅读权限
10
注册时间
2013-11-22
最后登录
2014-1-24
2#
发表于 2014-1-9 08:38:32 |只看该作者
你应该多点注释 要不这么多,帮你的人需要看半天!

使用道具 举报

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

bottom

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

GMT+8, 2024-5-18 12:39

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部