from jqdatasdk import *
from datetime import datetime as dt
import pandas as pd

from sqlalchemy import create_engine




auth('18616891214', 'Ea?*7f68nD.dafcW34d!')

fre = ['30m', '1d']

engine_hlfx_pool = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/hlfx_pool?charset=utf8')
engine_stock = create_engine('mysql+pymysql://root:r6kEwqWU9!v3@localhost:3307/stocks?charset=utf8')



fut = locals()
print(dt.now(), '开始赋值!')
for fre in ['1d']:

        try:
            stock_pool = pd.read_sql_query(
                'select value from `%s`' % fre, engine_hlfx_pool)
            print(stock_pool)
            stock_pool = stock_pool.iloc[-1, 0].split(",")
            print(stock_pool)
        except BaseException:
            continue
        for stock in stock_pool[0:1]:
            print(stock)

            df_stock=df = get_bars(stock, count=10, unit=fre, fields=['date', 'open', 'close','high','low' ], include_now=True, df=True)
            price = df_stock.iloc[-1].at['close']
            price_open = df_stock.iloc[-1].at['open']
            MA5_1 = df_stock['close'][-7:-2].mean()
            MA5 = df_stock['close'][-6:-1].mean()
            MA10 = df_stock['close'].mean()
            print(price,price_open, 'ma5_1:',MA5_1, 'ma5:', MA5,MA10)
            if (price > price_open) & (price > MA5) & (MA5 > MA5_1) & (price < MA5 * 1.07):
                print('BUY')

print(dt.now(), '数据库数据已赋值!')

# print(fut['IF9999.CCFX'])

# start = dt.now()
# print(start)
# for f in futures:
#     fut[f] = pd.concat([fut[f], pd.DataFrame(columns=['MA5', 'derta'])],axis=1)
#     print(fut[f])
#
#     for i in range(len(fut[f])):
#         MA1 = MA(f, check_date=fut[f].loc[i, 'date'], timeperiod=5)
#         MA1 = MA1[f]
#         fut[f].loc[i, 'MA5'] = MA1
#         # print(fut[f].loc[i, ['close','high','low']])
#         if fut[f].loc[i, 'close'] > MA1:
#             derta = fut[f].loc[i, 'high']/MA1 - 1
#         else:
#             derta = (fut[f].loc[i, 'low']/MA1 -1)
#         fut[f].loc[i, 'derta'] = derta
#     print('___________________________________')
#     print(fut[f])
#     fut[f].to_excel('/Users/daniel/Downloads/MA_derta/30m_%s.xlsx'% f)
#
# end= dt.now()
# print('总时长:', (end - start).seconds)









# MA1 = MA('MA9999.XZCE', check_date='2022-09-25', timeperiod=5)
# print(MA1['MA9999.XZCE'])