Пример #1
0
def execute():
    query_result = chaxun()
    for row in query_result:
        codeItem = row[1]
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "=====" + codeItem
        try:

            macd_30,macdsignal_30,macdhist_30,jsonResult_30,result_30,mairuresult_30,maichuresult_30  = MACD(codeItem,  '30')
            macd_60,macdsignal_60,macdhist_60,jsonResult_60,result_60,mairuresult_60,maichuresult_60  = MACD(codeItem,  '60')
            macd_D,macdsignal_D,macdhist_D,jsonResult_D,result_D,mairuresult_D,maichuresult_D  = MACD(codeItem,  'D')
            macd_W,macdsignal_W,macdhist_W,jsonResult_W,result_W,mairuresult_W,maichuresult_W  = MACD(codeItem,  'W')
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30,mairuresult_bl_30,maichuresult_bl_30 = BBANDS(codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60,mairuresult_bl_60,maichuresult_bl_60 = BBANDS(codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D,mairuresult_bl_D,maichuresult_bl_D = BBANDS(codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W,mairuresult_bl_W,maichuresult_bl_W = BBANDS(codeItem, 'W')

            jsonDic = {}
            jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            jsonDic['02Code'] = '_' + codeItem
            jsonDic['03Name'] = common.gupiaomingcheng(codeItem)
            jsonDic['04涨跌幅'] = common.zhangdiefu(codeItem)
            jsonDic['041备注信息'] = row[5]
            jsonDic['042板块信息'] = row[6]
            jsonDic['051日买入信息'] = mairuresult_D + ' ' + mairuresult_bl_D
            jsonDic['052时买入信息'] =  mairuresult_60 + ' ' + mairuresult_bl_60
            jsonDic['06卖出信息'] = maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            jsonDic['07上升通道'] = result_D + ' ' + result_bl_D
            #jsonDic['验证_MACD_30'] =  '%.3f' % macd_30[-1] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-3]
            #jsonDic['验证_MACD_60'] =  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
            #jsonDic['验证_MACD_D'] =  '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
            #jsonDic['验证_MACD_W'] =  '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]
            #jsonDic['验证_布林_30'] =  '%.3f' % middleband_30[-1] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-3]
            #jsonDic['验证_布林_60'] =  '%.3f' % middleband_60[-1] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-3]
            #jsonDic['验证_布林_D'] =  '%.3f' % middleband_D[-1] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-3]
            #jsonDic['验证_布林_W'] =  '%.3f' % middleband_W[-1] + '_' +  '%.3f' % middleband_W[-2] + '_' +  '%.3f' % middleband_W[-3]


            jsonParam = dict(jsonResult_30.items() + jsonResult_60.items() + jsonResult_D.items()
                             + jsonResult_W.items() + jsonResult_b_30.items() + jsonResult_b_60.items()
                             + jsonResult_b_D.items() + jsonResult_b_W.items() + jsonDic.items())

            insertRecord_param(jsonParam, collectionName)
        except (IOError, TypeError, NameError, IndexError,Exception) as e:
            logging.error("error:" + codeItem)
            print e
def execute():
    query_result = ['000980','601633','600686','601777','000572','000625']
    for codeItem in query_result:
        xinhao = ''
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "=====" + codeItem
        try:
            macd_30,macdsignal_30,macdhist_30,jsonResult_30,result_30,mairuresult_30,maichuresult_30  = MACD(codeItem,  '30')
            macd_60,macdsignal_60,macdhist_60,jsonResult_60,result_60,mairuresult_60,maichuresult_60  = MACD(codeItem,  '60')
            macd_D,macdsignal_D,macdhist_D,jsonResult_D,result_D,mairuresult_D,maichuresult_D  = MACD(codeItem,  'D')
            macd_W,macdsignal_W,macdhist_W,jsonResult_W,result_W,mairuresult_W,maichuresult_W  = MACD(codeItem,  'W')
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30,mairuresult_bl_30,maichuresult_bl_30 = BBANDS(codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60,mairuresult_bl_60,maichuresult_bl_60 = BBANDS(codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D,mairuresult_bl_D,maichuresult_bl_D = BBANDS(codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W,mairuresult_bl_W,maichuresult_bl_W = BBANDS(codeItem, 'W')

            jsonDic = {}
            jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            jsonDic['02Code'] = '_' + codeItem
            jsonDic['03Name'] = common.gupiaomingcheng(codeItem)
            jsonDic['04涨跌幅'] = common.zhangdiefu(codeItem)
            jsonDic['051日买入信息'] = mairuresult_D + ' ' + mairuresult_bl_D
            #print  mairuresult_D + ' ' + mairuresult_bl_D
            jsonDic['052时买入信息'] =  mairuresult_60 + ' ' + mairuresult_bl_60

            #if (mairuresult_D !='' and (mairuresult_60  != '' or mairuresult_bl_60 != '')):
            if (mairuresult_60  != '' or mairuresult_bl_60 != ''):
                i = 0
                for i in [0] :
                    xinhao = xinhao + codeItem + '买入信号出现:<br>' +  mairuresult_D + '<br> ' + mairuresult_60 + '<br>' + mairuresult_bl_60 + ' '
                    email_util.sendMail(codeItem + '买入信号出现:<br>' + mairuresult_D + '<br>' + mairuresult_60 + '<br>' + mairuresult_bl_60, codeItem + '买入,谨慎谨慎再谨慎')
                    i = i + 1
                    time.sleep(3)

            jsonDic['06卖出信息'] = maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            #print  maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            if (maichuresult_60 != '' or  maichuresult_bl_60 != ''):
                j = 0
                for j in [0] :
                    xinhao = xinhao + codeItem + '卖出信号出现:<br>' +  maichuresult_D + '<br>' + maichuresult_60 + '<br>' + maichuresult_bl_60 + ' '
                    email_util.sendMail(codeItem + '卖出信号出现:<br>' +  maichuresult_D + '<br>' +maichuresult_60 + '<br>' + maichuresult_bl_60, codeItem + '卖出,果断果断再果断')
                    j = j + 1
                    time.sleep(3)

            jsonDic['07上升通道'] = result_D + ' ' + result_bl_D
            jsonDic['验证_MACD_30'] =  '%.3f' % macd_30[-1] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-3]
            jsonDic['验证_MACD_60'] =  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
            jsonDic['验证_MACD_D'] =  '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
            jsonDic['验证_MACD_W'] =  '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]
            jsonDic['验证_布林_30'] =  '%.3f' % middleband_30[-1] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-3]
            jsonDic['验证_布林_60'] =  '%.3f' % middleband_60[-1] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-3]
            jsonDic['验证_布林_D'] =  '%.3f' % middleband_D[-1] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-3]
            jsonDic['验证_布林_W'] =  '%.3f' % middleband_W[-1] + '_' +  '%.3f' % middleband_W[-2] + '_' +  '%.3f' % middleband_W[-3]


            jsonParam = dict(jsonResult_30.items() + jsonResult_60.items() + jsonResult_D.items()
                             + jsonResult_W.items() + jsonResult_b_30.items() + jsonResult_b_60.items()
                             + jsonResult_b_D.items() + jsonResult_b_W.items() + jsonDic.items())

            insertRecord_param(jsonParam, collectionName)
        except (IOError, TypeError, NameError, IndexError,Exception) as e:
            logging.error("error:" + codeItem)
            print e

        xiaomowang = '<br>=============================='
        xiaomowang = xiaomowang + '<br>卖出信号:<br>' +  maichuresult_W + '<br>' + maichuresult_D + '<br>' + maichuresult_60 + '<br>' + maichuresult_bl_60 + '<br>' + maichuresult_bl_D
        xiaomowang = xiaomowang + '<br>买入信号:<br>' +  mairuresult_W + '<br>' + mairuresult_D + '<br> ' + mairuresult_60 + '<br>' + mairuresult_bl_60 + '<br>' + mairuresult_bl_D

        xiaomowang = xiaomowang + '<br>=============================='
        xiaomowang = xiaomowang + '<br>60验证:' +  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
        xiaomowang = xiaomowang + '<br>D验证:' + '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
        xiaomowang = xiaomowang + '<br>W验证:' + '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]

        caozuo = ''
        if xinhao.__contains__('买入'):
            caozuo = '【操作】买入'
        elif xinhao.__contains__('卖出'):
            caozuo = '【操作】卖出'

        caozuo2 = ''
        if xinhao.__contains__('V型翻转'):
            caozuo = '【操作】买入点'
            toDataFrame_param_content({}, '★★★★★My_Code_' + common.gupiaomingcheng(codeItem) + '_'  + common.zhangdiefu(codeItem) + '_' + time.strftime('%Y-%m-%d_%H:%M', time.localtime(time.time())) + '#'+ caozuo +',【主题】中国汽车品牌#',xinhao + xiaomowang, collectionName)
        elif xinhao.__contains__('下降1') or xinhao.__contains__('上穿'):
            caozuo = '【操作】卖出点'
            #toDataFrame_param_content({}, '★★★★★My_Code_JSON_Mongo_' + time.strftime('%Y-%m-%d_%H:%M', time.localtime(time.time())) + '#【长期关注】'+ common.gupiaomingcheng(codeItem) + caozuo + caozuo2 +'#',xinhao + xiaomowang, collectionName)



    return xinhao
def execute_param():
    query_result = ['000980','601633','600686','601777','000572','000625']
    xinhao = ''
    for codeItem in query_result:
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "=====" + codeItem
        try:

            macd_30,macdsignal_30,macdhist_30,jsonResult_30,result_30,mairuresult_30,maichuresult_30  = MACD(codeItem,  '30')
            macd_60,macdsignal_60,macdhist_60,jsonResult_60,result_60,mairuresult_60,maichuresult_60  = MACD(codeItem,  '60')
            macd_D,macdsignal_D,macdhist_D,jsonResult_D,result_D,mairuresult_D,maichuresult_D  = MACD(codeItem,  'D')
            macd_W,macdsignal_W,macdhist_W,jsonResult_W,result_W,mairuresult_W,maichuresult_W  = MACD(codeItem,  'W')
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30,mairuresult_bl_30,maichuresult_bl_30 = BBANDS(codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60,mairuresult_bl_60,maichuresult_bl_60 = BBANDS(codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D,mairuresult_bl_D,maichuresult_bl_D = BBANDS(codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W,mairuresult_bl_W,maichuresult_bl_W = BBANDS(codeItem, 'W')

            jsonDic = {}
            jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            jsonDic['02Code'] = '_' + codeItem
            jsonDic['03Name'] = common.gupiaomingcheng(codeItem)
            jsonDic['04涨跌幅'] = common.zhangdiefu(codeItem)
            jsonDic['051日买入信息'] = mairuresult_D + ' ' + mairuresult_bl_D
            #print  mairuresult_D + ' ' + mairuresult_bl_D
            jsonDic['052时买入信息'] =  mairuresult_60 + ' ' + mairuresult_bl_60

            print '买入mairuresult_bl_60!='':'
            print  mairuresult_bl_60 != ''
            if ( mairuresult_bl_60 != ''):
                i = 0
                for i in [0] :
                    xinhao = xinhao + codeItem + '买入信号出现:<br>' +  mairuresult_D + '<br> ' + mairuresult_60 + '<br>' + mairuresult_bl_60 + ' '
                    email_util.sendMail(codeItem + '买入信号出现:<br>' + mairuresult_D + '<br>' + mairuresult_60 + '<br>' + mairuresult_bl_60, codeItem + '买入,谨慎谨慎再谨慎')
                    i = i + 1
                    time.sleep(3)

            jsonDic['06卖出信息'] = maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            #print  maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            print '卖出mairuresult_bl_60!='':'
            print maichuresult_bl_60 != ''
            if ( maichuresult_bl_60 != ''):
                j = 0
                for j in [0] :
                    xinhao = xinhao + codeItem + '卖出信号出现:<br>' +  maichuresult_D + '<br>' + maichuresult_60 + '<br>' + maichuresult_bl_60 + ' '
                    email_util.sendMail(codeItem + '卖出信号出现:<br>' +  maichuresult_D + '<br>' +maichuresult_60 + '<br>' + maichuresult_bl_60, codeItem + '卖出,果断果断再果断')
                    j = j + 1
                    time.sleep(3)

            jsonDic['07上升通道'] = result_D + ' ' + result_bl_D
            jsonDic['验证_MACD_30'] =  '%.3f' % macd_30[-1] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-3]
            jsonDic['验证_MACD_60'] =  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
            jsonDic['验证_MACD_D'] =  '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
            jsonDic['验证_MACD_W'] =  '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]
            jsonDic['验证_布林_30'] =  '%.3f' % middleband_30[-1] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-3]
            jsonDic['验证_布林_60'] =  '%.3f' % middleband_60[-1] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-3]
            jsonDic['验证_布林_D'] =  '%.3f' % middleband_D[-1] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-3]
            jsonDic['验证_布林_W'] =  '%.3f' % middleband_W[-1] + '_' +  '%.3f' % middleband_W[-2] + '_' +  '%.3f' % middleband_W[-3]


            jsonParam = dict(jsonResult_30.items() + jsonResult_60.items() + jsonResult_D.items()
                             + jsonResult_W.items() + jsonResult_b_30.items() + jsonResult_b_60.items()
                             + jsonResult_b_D.items() + jsonResult_b_W.items() + jsonDic.items())

            #insertRecord_param(jsonParam, collectionName)
        except (IOError, TypeError, NameError, IndexError,Exception) as e:
            logging.error("error:" + codeItem)
            print e

    return xinhao
Пример #4
0
def execute2(all_code_index, all_title, all_time):

    all_code = DataFrame(
        {
            'codeitem': all_code_index,
            'hangye': all_title,
            'time': all_time
        },
        index=all_code_index)
    all_code_drop = all_code.drop_duplicates('codeitem')

    all_code_time = DataFrame(all_time, index=all_code_index, columns=['time'])

    for codeItem in all_code_drop['codeitem']:
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(
            time.time())) + "=====" + codeItem
        try:
            macd_30, macdsignal_30, macdhist_30, jsonResult_30, result_30, mairuresult_30, maichuresult_30 = MACD(
                codeItem, '30')
            macd_60, macdsignal_60, macdhist_60, jsonResult_60, result_60, mairuresult_60, maichuresult_60 = MACD(
                codeItem, '60')
            macd_D, macdsignal_D, macdhist_D, jsonResult_D, result_D, mairuresult_D, maichuresult_D = MACD(
                codeItem, 'D')
            macd_W, macdsignal_W, macdhist_W, jsonResult_W, result_W, mairuresult_W, maichuresult_W = MACD(
                codeItem, 'W')
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30, mairuresult_bl_30, maichuresult_bl_30 = BBANDS(
                codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60, mairuresult_bl_60, maichuresult_bl_60 = BBANDS(
                codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D, mairuresult_bl_D, maichuresult_bl_D = BBANDS(
                codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W, mairuresult_bl_W, maichuresult_bl_W = BBANDS(
                codeItem, 'W')
            real_D, tableresult_ma_d_20 = MA(codeItem, 'D', 20)
            real_60, tableresult_ma_60_20 = MA(codeItem, '60', 20)

            jsonDic = {}
            jsonDic['00_20天线信息'] = tableresult_ma_d_20
            jsonDic['00_60分钟信息'] = tableresult_ma_60_20
            jsonDic['01_日买入信息'] = mairuresult_D + ' ' + mairuresult_bl_D
            jsonDic['01_时买入信息'] = mairuresult_60 + ' ' + mairuresult_bl_60
            jsonDic[
                '02_卖出信息'] = maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            jsonDic['03_上升通道'] = result_D + ' ' + result_bl_D
            jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S',
                                               time.localtime(time.time()))
            jsonDic['90_原始Time'] = all_code_drop.loc[codeItem, 'time']
            jsonDic['04_Code'] = codeItem
            #jsonDic['02Code2'] = '_' + codeItem
            jsonDic['05_Name'] = common.gupiaomingcheng(codeItem)
            jsonDic['06_所属行业'] = all_code_drop.loc[codeItem, 'hangye']
            jsonDic['07_涨跌幅'] = common.zhangdiefu(codeItem)

            #jsonDic['验证_MACD_30'] =  '%.3f' % macd_30[-1] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-3]
            #jsonDic['验证_MACD_60'] =  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
            #jsonDic['验证_MACD_D'] =  '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
            #jsonDic['验证_MACD_W'] =  '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]
            #jsonDic['验证_布林_30'] =  '%.3f' % middleband_30[-1] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-3]
            #jsonDic['验证_布林_60'] =  '%.3f' % middleband_60[-1] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-3]
            #jsonDic['验证_布林_D'] =  '%.3f' % middleband_D[-1] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-3]
            #jsonDic['验证_布林_W'] =  '%.3f' % middleband_W[-1] + '_' +  '%.3f' % middleband_W[-2] + '_' +  '%.3f' % middleband_W[-3]

            jsonParam = dict(jsonResult_30.items() + jsonResult_60.items() +
                             jsonResult_D.items() + jsonResult_W.items() +
                             jsonResult_b_30.items() +
                             jsonResult_b_60.items() + jsonResult_b_D.items() +
                             jsonResult_b_W.items() + jsonDic.items())

            insertRecord_param(jsonParam, collectionName2)
        except (IOError, TypeError, NameError, IndexError, Exception) as e:
            logging.error("error:" + codeItem)
            print e

    zhishu_code_index = num.array(['399006', '399001', '000001'])
    for codeItem in zhishu_code_index:
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(
            time.time())) + "=====" + codeItem
        try:
            macd_30, macdsignal_30, macdhist_30, jsonResult_30, result_30, mairuresult_30, maichuresult_30 = MACD(
                codeItem, '30')
            macd_60, macdsignal_60, macdhist_60, jsonResult_60, result_60, mairuresult_60, maichuresult_60 = MACD(
                codeItem, '60')
            macd_D, macdsignal_D, macdhist_D, jsonResult_D, result_D, mairuresult_D, maichuresult_D = MACD(
                codeItem, 'D')
            macd_W, macdsignal_W, macdhist_W, jsonResult_W, result_W, mairuresult_W, maichuresult_W = MACD(
                codeItem, 'W')
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30, mairuresult_bl_30, maichuresult_bl_30 = BBANDS(
                codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60, mairuresult_bl_60, maichuresult_bl_60 = BBANDS(
                codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D, mairuresult_bl_D, maichuresult_bl_D = BBANDS(
                codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W, mairuresult_bl_W, maichuresult_bl_W = BBANDS(
                codeItem, 'W')
            real_D, tableresult_ma_d_20 = MA(codeItem, 'D', 20)
            real_60, tableresult_ma_60_20 = MA(codeItem, '60', 20)

            jsonDic = {}
            jsonDic['00_20天线信息'] = tableresult_ma_d_20
            jsonDic['00_60分钟信息'] = tableresult_ma_60_20
            jsonDic['01_日买入信息'] = mairuresult_D + ' ' + mairuresult_bl_D
            jsonDic['01_时买入信息'] = mairuresult_60 + ' ' + mairuresult_bl_60
            jsonDic[
                '02_卖出信息'] = maichuresult_60 + ' ' + maichuresult_D + ' ' + maichuresult_bl_60 + ' ' + maichuresult_bl_D
            jsonDic['03_上升通道'] = result_D + ' ' + result_bl_D
            jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S',
                                               time.localtime(time.time()))
            jsonDic['04_Code'] = codeItem
            #jsonDic['02Code2'] = '_' + codeItem
            jsonDic['05_Name'] = common.gupiaomingcheng(codeItem)
            jsonDic['07_涨跌幅'] = common.zhangdiefu(codeItem)

            #jsonDic['验证_MACD_30'] =  '%.3f' % macd_30[-1] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-3]
            #jsonDic['验证_MACD_60'] =  '%.3f' % macd_60[-1] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-3]
            #jsonDic['验证_MACD_D'] =  '%.3f' % macd_D[-1] + '_' +  '%.3f' % macd_D[-2] + '_' +  '%.3f' % macd_D[-3]
            #jsonDic['验证_MACD_W'] =  '%.3f' % macd_W[-1] + '_' +  '%.3f' % macd_W[-2] + '_' +  '%.3f' % macd_W[-3]
            #jsonDic['验证_布林_30'] =  '%.3f' % middleband_30[-1] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-3]
            #jsonDic['验证_布林_60'] =  '%.3f' % middleband_60[-1] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-3]
            #jsonDic['验证_布林_D'] =  '%.3f' % middleband_D[-1] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-3]
            #jsonDic['验证_布林_W'] =  '%.3f' % middleband_W[-1] + '_' +  '%.3f' % middleband_W[-2] + '_' +  '%.3f' % middleband_W[-3]

            jsonParam = dict(jsonResult_30.items() + jsonResult_60.items() +
                             jsonResult_D.items() + jsonResult_W.items() +
                             jsonResult_b_30.items() +
                             jsonResult_b_60.items() + jsonResult_b_D.items() +
                             jsonResult_b_W.items() + jsonDic.items())

            insertRecord_param(jsonParam, collectionName2)
        except (IOError, TypeError, NameError, IndexError, Exception) as e:
            logging.error("error:" + codeItem)
            print e
Пример #5
0
def strategy002(query_result, zhuti, collectionName):
    for codeItem in query_result:
        xinhao = ''
        print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())) + "=====" + codeItem
        try:
            # MACD
            macd_30, macdsignal_30, macdhist_30, jsonResult_30, result_30, mairuresult_30, maichuresult_30 = MACD(codeItem, '30')
            macd_60, macdsignal_60, macdhist_60, jsonResult_60, result_60, mairuresult_60, maichuresult_60 = MACD(codeItem, '60')
            macd_D, macdsignal_D, macdhist_D, jsonResult_D, result_D, mairuresult_D, maichuresult_D = MACD(codeItem,'D')
            macd_W, macdsignal_W, macdhist_W, jsonResult_W, result_W, mairuresult_W, maichuresult_W = MACD(codeItem,'W')
            macd_M, macdsignal_M, macdhist_M, jsonResult_M, result_M, mairuresult_M, maichuresult_M = MACD(codeItem,'M')

            # 布林线
            upperband_30, middleband_30, lowerband_30, jsonResult_b_30, result_bl_30,mairuresult_bl_30,maichuresult_bl_30 = BBANDS(codeItem, '30')
            upperband_60, middleband_60, lowerband_60, jsonResult_b_60, result_bl_60,mairuresult_bl_60,maichuresult_bl_60 = BBANDS(codeItem, '60')
            upperband_D, middleband_D, lowerband_D, jsonResult_b_D, result_bl_D,mairuresult_bl_D,maichuresult_bl_D = BBANDS(codeItem, 'D')
            upperband_W, middleband_W, lowerband_W, jsonResult_b_W, result_bl_W,mairuresult_bl_W,maichuresult_bl_W = BBANDS(codeItem, 'W')
            upperband_M, middleband_M, lowerband_M, jsonResult_b_M, result_bl_M, mairuresult_bl_M, maichuresult_bl_M = BBANDS(
                codeItem, 'M')

            jsonDic = {}
            # jsonDic['90_Time'] = time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time()))
            jsonDic['aaaInfo_1股票编码'] = '_' + codeItem
            jsonDic['aaaInfo_2股票名称'] = common.gupiaomingcheng(codeItem)
            jsonDic['aaaInfo_股票涨跌幅'] = common.zhangdiefu(codeItem)

            # MACD
            jsonDic['basicInfo_30分钟MACD快线信息'] =  '%.3f' % macd_30[-3] + '_' +  '%.3f' % macd_30[-2] + '_' +  '%.3f' % macd_30[-1]
            jsonDic['basicInfo_30分钟MACD慢线信息'] = '%.3f' % macdsignal_30[-3] + '_' + '%.3f' % macdsignal_30[-2] + '_' + '%.3f' % macdsignal_30[-1]
            jsonDic['basicInfo_30分钟MACD柱体信息'] = '%.3f' % macdhist_30[-3] + '_' + '%.3f' % macdhist_30[-2] + '_' + '%.3f' % macdhist_30[-1]
            jsonDic['basicInfo_60分钟MACD快线信息'] =  '%.3f' % macd_60[-3] + '_' +  '%.3f' % macd_60[-2] + '_' +  '%.3f' % macd_60[-1]
            jsonDic['basicInfo_60分钟MACD慢线信息'] = '%.3f' % macdsignal_60[-3] + '_' + '%.3f' % macdsignal_60[-2] + '_' + '%.3f' % macdsignal_60[-1]
            jsonDic['basicInfo_60分钟MACD柱体信息'] = '%.3f' % macdhist_60[-3] + '_' + '%.3f' % macdhist_60[-2] + '_' + '%.3f' % macdhist_60[-1]
            jsonDic['basicInfo_日MACD快线信息'] = '%.3f' % macd_D[-3] + '_' + '%.3f' % macd_D[-2] + '_' + '%.3f' % macd_D[-1]
            jsonDic['basicInfo_日MACD慢线信息'] = '%.3f' % macdsignal_D[-3] + '_' + '%.3f' % macdsignal_D[-2] + '_' + '%.3f' % macdsignal_D[-1]
            jsonDic['basicInfo_日MACD柱体信息'] = '%.3f' % macdhist_D[-3] + '_' + '%.3f' % macdhist_D[-2] + '_' + '%.3f' % macdhist_D[-1]
            jsonDic['basicInfo_周MACD快线信息'] = '%.3f' % macd_W[-6] + '_' + '%.3f' % macd_W[-5] + '_' + '%.3f' % macd_W[-4] + '_' + '%.3f' % macd_W[-3] + '_' + '%.3f' % macd_W[-2] + '_' + '%.3f' % macd_W[-1]
            jsonDic['basicInfo_周MACD慢线信息'] = '%.3f' % macdsignal_W[-3] + '_' + '%.3f' % macdsignal_W[-2] + '_' + '%.3f' % macdsignal_W[-1]
            jsonDic['basicInfo_周MACD柱体信息'] = '%.3f' % macdhist_W[-3] + '_' + '%.3f' % macdhist_W[-2] + '_' + '%.3f' % macdhist_W[-1]
            jsonDic['basicInfo_月MACD快线信息'] = '%.3f' % macd_M[-3] + '_' + '%.3f' % macd_M[-2] + '_' + '%.3f' % macd_M[-1]
            jsonDic['basicInfo_月MACD慢线信息'] = '%.3f' % macdsignal_M[-3] + '_' + '%.3f' % macdsignal_M[-2] + '_' + '%.3f' % macdsignal_M[-1]
            jsonDic['basicInfo_月MACD柱体信息'] = '%.3f' % macdhist_M[-3] + '_' + '%.3f' % macdhist_M[-2] + '_' + '%.3f' % macdhist_M[-1]

            # BULL
            jsonDic['basicInfo_30分钟布林中线信息'] =  '%.3f' % middleband_30[-3] + '_' +  '%.3f' % middleband_30[-2] + '_' +  '%.3f' % middleband_30[-1]
            jsonDic['basicInfo_30分钟布林上线信息'] = '%.3f' % upperband_30[-3] + '_' + '%.3f' % upperband_30[-2] + '_' + '%.3f' % upperband_30[-1]
            jsonDic['basicInfo_30分钟布林下线信息'] = '%.3f' % lowerband_30[-3] + '_' + '%.3f' % middleband_30[-2] + '_' + '%.3f' % middleband_30[-1]
            jsonDic['basicInfo_60分钟布林中线信息'] =  '%.3f' % middleband_60[-3] + '_' +  '%.3f' % middleband_60[-2] + '_' +  '%.3f' % middleband_60[-1]
            jsonDic['basicInfo_60分钟布林上线信息'] = '%.3f' % upperband_60[-3] + '_' + '%.3f' % upperband_60[-2] + '_' + '%.3f' % upperband_60[-1]
            jsonDic['basicInfo_60分钟布林下线信息'] = '%.3f' % lowerband_60[-3] + '_' + '%.3f' % lowerband_60[-2] + '_' + '%.3f' % lowerband_60[-1]
            jsonDic['basicInfo_日布林中线信息'] =  '%.3f' % middleband_D[-3] + '_' +  '%.3f' % middleband_D[-2] + '_' +  '%.3f' % middleband_D[-1]
            jsonDic['basicInfo_日布林上线信息'] = '%.3f' % upperband_D[-3] + '_' + '%.3f' % upperband_D[ -2] + '_' + '%.3f' % upperband_D[-1]
            jsonDic['basicInfo_日布林下线信息'] = '%.3f' % lowerband_D[-3] + '_' + '%.3f' % lowerband_D[-2] + '_' + '%.3f' % lowerband_D[-1]
            jsonDic['basicInfo_周布林中线信息'] = '%.3f' % middleband_W[-3] + '_' + '%.3f' % middleband_W[-2] + '_' + '%.3f' % middleband_W[-1]
            jsonDic['basicInfo_周布林上线信息'] = '%.3f' % upperband_W[-3] + '_' + '%.3f' % upperband_W[-2] + '_' + '%.3f' % upperband_W[-1]
            jsonDic['basicInfo_周布林下线信息'] = '%.3f' % lowerband_W[-3] + '_' + '%.3f' % lowerband_W[2] + '_' + '%.3f' % lowerband_W[-1]
            jsonDic['basicInfo_月布林中线信息'] = '%.3f' % middleband_M[-3] + '_' + '%.3f' % middleband_M[-2] + '_' + '%.3f' %  middleband_M[-1]
            jsonDic['basicInfo_月布林上线信息'] = '%.3f' % upperband_M[-3] + '_' + '%.3f' % upperband_M[-2] + '_' + '%.3f' % upperband_M[-1]
            jsonDic['basicInfo_月布林下线信息'] = '%.3f' % lowerband_M[-3] + '_' + '%.3f' % lowerband_M[-2] + '_' + '%.3f' % lowerband_M[-1]

            # 策略1
            # MACD月线大于0,MACD月线处于上升阶段,布林周线下穿
            stra001 = ''
            if (macdsignal_M[-1] > 0):
                stra001 = stra001 + '1'
            if (macdhist_M[-1] > macdhist_M[-2]):
                stra001 = stra001 + '2'
            if ( (common.zuidijiage(codeItem, 'W') - lowerband_W[-1]) < 0):
                stra001 = stra001 + '3'
            jsonDic['aaaInfo_stra001_MACD月线大于0,MACD月线柱体处于上升阶段,布林周线下穿'] = stra001

            # 策略2
            # MACD月线大于0,MACD月线柱体转折,布林周线下穿
            stra002 = ''
            if (macdsignal_M[-1] > 0):
                stra002 = stra002 + '1'
            if (macdhist_M[-1] > macdhist_M[-2] and  macdhist_M[-3] > macdhist_M[-2]):
                stra002 = stra002 + '2'
            if ((common.zuidijiage(codeItem, 'W') - lowerband_W[-1]) < 0):
                stra002 = stra002 + '3'
            jsonDic['aaaInfo_stra002_MACD月线大于0,MACD月线柱体转折,布林周线下穿'] = stra002

            # 策略3
            # MACD月线大于0,MACD月线柱体转折,布林周线下穿
            stra003 = ''
            if (macdsignal_M[-1] > 0):
                stra003 = stra003 + '1'
            if (macdhist_M[-1] > macdhist_M[-2]):
                stra003 = stra003 + '2'
            if (macdhist_W[-1] < macdhist_W[-4] or  macdhist_W[-1] < macdhist_W[-5]):
                stra003 = stra003 + '3'
            jsonDic['aaaInfo_stra003_MACD月线大于0,MACD月线柱体处于上升阶段,MACD_周线_持续下跌,等待时机'] = stra003

            # 策略4
            if ( (common.zuidijiage(codeItem, 'W') - lowerband_W[-1]) < 0):
                jsonDic['aaaInfo_stra004_布林_周线_收在下方'] = 1

            # 策略5
            if ((common.zuidijiage(codeItem, 'D') - lowerband_D[-1]) < 0):
                jsonDic['aaaInfo_stra005_布林_日线_收在下方'] = 1
                if ((middleband_D[-1]-lowerband_D[-1])/lowerband_D[-1] > 0.05):
                    jsonDic['aaaInfo_stra005_布林_日线_收在下方,上升空间大于5%'] = 1
                    if((common.zuidijiage(codeItem, 'D')-lowerband_W[-1])/common.zuidijiage(codeItem, 'D') < 0.1):
                        jsonDic['aaaInfo_stra005_布林_日线_收在下方,距离布林周线小于10%'] = 1

        except (IOError, TypeError, NameError, IndexError, Exception) as e:
            logging.error("error:" + codeItem)
            print e

        # 插入数据库
        jsonParam = dict(jsonDic.items())
        insertRecord_param(jsonParam, collectionName)