def CR(security_list, check_date, N=26, M1=10, M2=20, M3=40, M4=62, unit='1d',
       include_now=True, fq_ref_date=None):
    '''
    计算公式：
        MID:=REF(HIGH+LOW,1)/2;
        CR:SUM(MAX(0,HIGH-MID),N)/SUM(MAX(0,MID-LOW),N)*100;
        MA1:REF(MA(CR,M1),M1/2.5+1);
        MA2:REF(MA(CR,M2),M2/2.5+1);
        MA3:REF(MA(CR,M3),M3/2.5+1);
        MA4:REF(MA(CR,M4),M4/2.5+1);
        MID赋值:1日前的最高价+最低价/2
        输出带状能量线:0和最高价-MID的较大值的N日累和/0和MID-最低价的较大值的N日累和*100
        输出MA1:M1/2.5+1日前的CR的M1日简单移动平均
        输出均线:M2/2.5+1日前的CR的M2日简单移动平均
        输出MA3:M3/2.5+1日前的CR的M3日简单移动平均
        输出MA4:M4/2.5+1日前的CR的M4日简单移动平均
    输入：
        security_list:股票列表
        check_date：要查询数据的日期
        N：统计的天数 N
        M1：统计的天数 M1
        M2：统计的天数 M2
        M3：统计的天数 M3
        M4：统计的天数 M4
    输出：
        CR和MA1，MA2，MA3，MA4 的值。
    输出结果类型：
        字典(dict)：键(key)为股票代码，值(value)为数据。
    '''
    func_name = sys._getframe().f_code.co_name
    check_date = to_date_str(check_date)
    fq_ref_date = to_date_str(fq_ref_date)
    return JQDataClient.instance().get_technical_analysis(**locals())
计算公式：
MID:=REF(HIGH+LOW,1)/2;
CR:SUM(MAX(0,HIGH-MID),N)/SUM(MAX(0,MID-LOW),N)*100;
MA1:REF(MA(CR,M1),M1/2.5+1);
MA2:REF(MA(CR,M2),M2/2.5+1);
MA3:REF(MA(CR,M3),M3/2.5+1);
MA4:REF(MA(CR,M4),M4/2.5+1);
MID赋值:1日前的最高价+最低价/2
输出带状能量线:0和最高价-MID的较大值的N日累和/0和MID-最低价的较大值的N日累和*100
输出MA1:M1/2.5+1日前的CR的M1日简单移动平均
输出均线:M2/2.5+1日前的CR的M2日简单移动平均
输出MA3:M3/2.5+1日前的CR的M3日简单移动平均
输出MA4:M4/2.5+1日前的CR的M4日简单移动平均
输入：
security_list:股票列表
check_date：要查询数据的日期
N：统计的天数 N
M1：统计的天数 M1
M2：统计的天数 M2
M3：统计的天数 M3
M4：统计的天数 M4
输出：
CR和MA1，MA2，MA3，MA4 的值。
输出结果类型：
字典(dict)：键(key)为股票代码，值(value)为数据。
jqdatasdk/technical_analysis.py