设为首页收藏本站

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

关于移仓换月的代码该如何添加 [复制链接]

Rank: 1

精华
0
UID
285158
积分
48
帖子
26
主题
22
阅读权限
10
注册时间
2019-10-26
最后登录
2022-9-11
跳转到指定楼层
1#
发表于 2019-11-19 21:15:45 |只看该作者 |倒序浏览
请高手帮忙,关于移仓换月的代码该如何添加,,比如在如下代码上(代码我是从TBQuant公式上粘过来的),TB量化学院里有《利用系统函数的简洁写法》一节,可是用了好久没弄好。

Params
        Numeric FastLength(5);// 短期指数平均线参数
        Numeric SlowLength(20);// 长期指数平均线参数
Vars
        Series<Numeric> AvgValue1;
        Series<Numeric> AvgValue2;
Events
        OnBar(ArrayRef<Integer> indexs)
        {
                AvgValue1 = AverageFC(Close,FastLength);
                AvgValue2 = AverageFC(Close,SlowLength);
                PlotNumeric("MA1",AvgValue1);
                PlotNumeric("MA2",AvgValue2);               
               
               
               
                If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
                {
                        Buy(1,Open);
                }
               
                If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
                {
                        SellShort(1,Open);
                }
                //PlotNumeric("PL",Portfolio_TotalProfit);       
        }

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
2#
发表于 2019-11-20 14:43:01 |只看该作者
只要需将相应的这三个简洁函数用到的语句复制上你的公式就OK了呀。
  1. Params
  2. Bool IsRollover(true);//是否后复权
  3. Bool IsRolloverRealPrice(true);//是否映射真实价格
  4. Bool IsAutoSwapPosition(true);//是否自动换仓
  5. Numeric FastLength(5);// 短期指数平均线参数
  6.         Numeric SlowLength(20);// 长期指数平均线参数
  7. Vars
  8.         Series<Numeric> AvgValue1;
  9.         Series<Numeric> AvgValue2;
  10. Events
  11. OnInit()
  12. {
  13. Range[0:DataCount-1]
  14. {
  15. If(IsRollover)
  16. {
  17. AddDataFlag(Enum_Data_RolloverBackWard());//设置后复权
  18. }
  19. If(IsRolloverRealPrice)
  20. {
  21. AddDataFlag(Enum_Data_RolloverRealPrice());//是否映射真实价格
  22. }
  23. If(IsAutoSwapPosition)
  24. {
  25. AddDataFlag(Enum_Data_AutoSwapPosition());//设置自动换仓
  26. }
  27. }
  28. }
  29. OnBar(ArrayRef<Integer> indexs)  
  30.         {
  31.                 AvgValue1 = AverageFC(Close,FastLength);
  32.                 AvgValue2 = AverageFC(Close,SlowLength);
  33.                 PlotNumeric("MA1",AvgValue1);
  34.                 PlotNumeric("MA2",AvgValue2);               
  35.                
  36.                
  37.                
  38.                 If(MarketPosition <>1 && AvgValue1[1] > AvgValue2[1])
  39.                 {
  40.                         Buy(1,Open);
  41.                 }
  42.                
  43.                 If(MarketPosition <>-1 && AvgValue1[1] < AvgValue2[1])
  44.                 {
  45.                         SellShort(1,Open);
  46.                 }
  47.                 //PlotNumeric("PL",Portfolio_TotalProfit);       
  48.         }
复制代码

使用道具 举报

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

bottom

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

GMT+8, 2024-5-3 11:47

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部