设为首页收藏本站

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

为什么我想控制海龟模型加仓总次数无效呢? [复制链接]

Rank: 1

精华
0
UID
264520
积分
29
帖子
18
主题
11
阅读权限
10
注册时间
2018-4-16
最后登录
2021-2-26
跳转到指定楼层
1#
发表于 2018-4-23 16:07:03 |显示全部楼层 |倒序浏览
本帖最后由 a2456cn 于 2018-4-23 16:13 编辑

模型中相关语句:

       
        Numeric MoneyUsedRatio(0.01);      //资金比例。
               
        Numeric Unit(10);                      // 交易单位
       
       
Begin

        TR    = max(max((High-low),abs(close[1]-high)),abs(close[1]-low));  //求atr
        ATR   = AverageFC(TR,26);                  // 26周的atr平均值
                 
     TotalEquity = Portfolio_CurrentCapital() + Portfolio_UsedMargin(); //求可用资金
     Units          = IntPart((TotalEquity*MoneyUsedRatio)/(Unit*ATR));  //按照资金比例计算可以开仓的手数量。
         
     
                    else if (  CurrentContracts<(4*Units)  ) //没有超过连续建仓4次头寸的时候。
                {
                        dTmp = EtPrice[BarsSinceLastEntry]+atr[BarsSinceLastEntry]*NAtrOfAddPosition;
                        //多头加仓,实时的最高价格超过最近一次开仓价格+开仓价格的atr的0.5倍则继续建立头寸。
                        if( High>dTmp )
                        {
                                EtPrice = max(open,dTmp);
                                Buy(Units,EtPrice);
                        }
                }
     }
     
                else if (  CurrentContracts<(4*Units)   )
                {
                        dTmp = EtPrice[BarsSinceLastEntry]-atr[BarsSinceLastEntry]*NAtrOfAddPosition;
                        if( low<dTmp )
                        {
                                EtPrice = min(open,dTmp);
                                SellShort(Units,EtPrice);
                        }
                }   
     }
End



发现这个else if (  CurrentContracts<(4*Units)   )控制根本不起作用,只要超过0.5倍ATR就一直连续开仓,稍微有点趋势就多达十次以上。到底是哪里出了问题呢?
您需要登录后才可以回帖 登录 | 注册

bottom

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

GMT+8, 2024-5-17 16:08

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部