股票trueDate方法

trueDate函数解析
本文介绍了一个名为trueDate的内建函数,该函数用于确定给定Bar条目的真正交易日期。通过对一系列Bar对象进行操作,根据特定条件调整日期偏移量,以确保返回正确的交易日期。文章提供了函数实现的具体代码示例。
/**
    * 简称:trueDate<br/>
    * 名称:返回指定Bar的真正交易日期<br/>
    * 类别: 用户函数<br/>
    * 类型: 内建函数<br/>
    * @param list
    * @param bar
    * @param length
    * @return
    * @throws ParseException
    */
   public static int trueDate(int length) throws ParseException {
    
    type=5;
    int newDate, dayOffset, dow;
    
//    if (barType(bar) == 0 || barType(bar) == 4 || barType(bar) == 5) {
//     newDate = backDate2(list, length).date;
//    }
//    else {
//     dayOffset = 0;
//     dow = weekDay(backDate2(list, length));
//     if (hour(backDate2(list, length)) >= 18) {
//      if (dow == 5) // 周五晚上
//      {
//       dayOffset = 3;
//      } else if (dow == 6) // 周六晚上
//      {
//       dayOffset = 2;
//      } else {
//       dayOffset = 1;
//      }
//     } else {
//      if (dow == 6) // 周六
//      {
//       dayOffset = 2;
//      } else if (dow == 0) // 周日
//      {
//       dayOffset = 1;
//      }
//     }
//     newDate = dateAdd(backDate2(list, length).date, dayOffset);
//    }
    
    //另改写了该方法
    Bar bar1=new Bar();
    bar1.date=20140629; 
    bar1.time=1030;
    Bar bar2=new Bar();
    bar2.date=20140701;
    bar2.time=1830;
    Bar bar3=new Bar();
    bar3.date=20140702;
    bar3.time=1930;
    Bar bar4=new Bar();
    bar4.date=20140705;
    bar4.time=930;
    List<Bar> list=new ArrayList<Bar>();
    list.add(bar1);
    list.add(bar2);
    list.add(bar3);
    list.add(bar4);
    type=5;
    if (type == 24 || type == 7 || type == 31) {
     newDate = backDate2(list, length).date;
    }
    else {
     dayOffset = 0;
     dow = weekDay(backDate2(list, length));
     if (hour(backDate2(list, length)) >= 18) {
      if (dow == 5) // 周五晚上
      {
       dayOffset = 3;
      } else if (dow == 6) // 周六晚上
      {
       dayOffset = 2;
      } else {
       dayOffset = 1;
      }
     } else {
      if (dow == 6) // 周六
      {
       dayOffset = 2;
      } else if (dow == 0) // 周日
      {
       dayOffset = 1;
      }
     }
     newDate = dateAdd(backDate2(list, length).date, dayOffset);
    }
    System.out.println("真正交易日"+newDate);
    return newDate;
   }

转载于:https://my.oschina.net/u/1035715/blog/286981

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值