设为首页收藏本站

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

自己编的一个简单趋势系统,为什么前3次开仓的头寸不对呢 [复制链接]

Rank: 3Rank: 3

精华
0
UID
52470
积分
182
帖子
91
主题
30
阅读权限
40
注册时间
2011-7-11
最后登录
2014-4-24
跳转到指定楼层
1#
发表于 2012-7-25 11:55:17 |只看该作者 |倒序浏览
本帖最后由 skykisser 于 2012-7-25 12:00 编辑

如题,系统很简单,套用海归的头寸管理。只是在查看交易记录的时候,发现前三次的开仓手数和后面相差很大,并不是我要的。因为引入两个跨周期函数,所以可能水平有限,哪里出问题看不出来,请高手赐教。

Params

Numeric MaLength1(20);

Numeric lots(1);

Numeric offset(3);
Numeric RiskRatio(2.5); // % Risk Per N ( 0 - 100)
Numeric TimeFrame(1440);
Numeric BarsBack(1);
Numeric Length(20);
Numeric OriginalCapital(100000);
Numeric ATRLength(20);                  

Vars

Numeric Ma1;
Numeric i_offset;
Numeric N;
Numeric TotalEquity;  
Numeric TurtleUnits;
NumericSeries MtATR;
NumericSeries ATRValue;
Numeric oATR;
NumericSeries AvgTR;                                       
Numeric oMA1;


Begin

If (Portfolio_CurrentCapital >= 0.9*OriginalCapital)

{
        MtATR(TimeFrame,BarsBack,Length,oATR);
        ATRValue = oATR;
        TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin();//获得按当前bar开盘价计算的可用资金+获得当前的持仓保证金
        N = TotalEquity/100;
    TurtleUnits = (N*RiskRatio) /(ATRValue * ContractUnit()*BigPointValue());
    TurtleUnits = IntPart(TurtleUnits); // 对小数取整
        AvgTR = XAverage(TrueRange,ATRLength);

        Commentary("TotalEquity="+Text(TotalEquity));
        Commentary("手数="+Text(TurtleUnits));
        Commentary("ATR="+Text(ATRValue));
        Commentary("AvgTR="+Text(AvgTR));
        Commentary("Riskcapital="+Text(N*RiskRatio));

}
       
        MtMa(TimeFrame,BarsBack,MaLength1,oMA1);

              Ma1 = oMA1;


   PlotNumeric("Ma1",MA1);

i_offset = offset*MinMove*PriceScale;

  

                If(Open>Ma1)

                {

                        Buy(TurtleUnits,Open+i_offset);
                 Return;

                }



                If(Open< Ma1 )

                {

                        SellShort(TurtleUnits,Open-i_offset);

                        Return;

                }

       



End

Rank: 3Rank: 3

精华
0
UID
52470
积分
182
帖子
91
主题
30
阅读权限
40
注册时间
2011-7-11
最后登录
2014-4-24
2#
发表于 2012-7-25 14:42:03 |只看该作者
交易记录如图
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
非典型性期货参与者

使用道具 举报

Rank: 5Rank: 5

精华
0
UID
12330
积分
838
帖子
254
主题
15
阅读权限
60
注册时间
2010-6-16
最后登录
2017-4-25
3#
发表于 2012-7-27 13:40:38 |只看该作者
你手工算一下,按照你的资金规模,前3次应该开仓几手?

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
52470
积分
182
帖子
91
主题
30
阅读权限
40
注册时间
2011-7-11
最后登录
2014-4-24
4#
发表于 2012-7-28 19:33:54 |只看该作者
手工算下来也就4手,但是实际开仓11手,从第四次开始就恢复正常3手。是不是前三次发生交易的时候,bar不足导致跨周期ATR调用值不正确?

使用道具 举报

Rank: 2

精华
0
UID
12631
积分
52
帖子
31
主题
1
阅读权限
30
注册时间
2010-6-20
最后登录
2013-7-27
5#
发表于 2012-7-29 00:20:12 |只看该作者
学习

使用道具 举报

Rank: 2

精华
0
UID
12631
积分
52
帖子
31
主题
1
阅读权限
30
注册时间
2010-6-20
最后登录
2013-7-27
6#
发表于 2012-7-29 00:20:17 |只看该作者

使用道具 举报

Rank: 3Rank: 3

精华
0
UID
52470
积分
182
帖子
91
主题
30
阅读权限
40
注册时间
2011-7-11
最后登录
2014-4-24
7#
发表于 2012-7-30 11:16:13 |只看该作者
仔细查了一下,是前若干个跨周期提取日线ATR的数据不正确,导致头寸计算不正确,还未解决。

使用道具 举报

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

bottom

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

GMT+8, 2024-5-23 11:42

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部