#!/usr/bin/env python
# -*- coding: utf-8 -*-
import talib
import cross_order as order
import time

# kd指标参数
fastk_period = 5
slowk_period = 3
slowk_matype = 0
slowd_period = 3
slowd_matype = 0

# kd指标超买、超卖参数
slowk_bid = 25
slowk_sell = 75
slowd_bid = 25
slowd_sell = 75


def main():
    print("任务开始时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    for symbol in order.symbol_pool:
        # 设置杠杆倍数
        order.set_leverage(symbol=symbol, leverage='18')
        # 获取标的的最新价
        df = order.get_candlesticks(symbol=symbol, interval='15m', limit=str(20))
        # 计算kdj
        slowk, slowd = talib.STOCH(df['high'], df['low'], df['close'], fastk_period=fastk_period,
                                   slowk_period=slowk_period, slowk_matype=slowk_matype, slowd_period=slowd_period,
                                   slowd_matype=slowd_matype)
        # kdj策略
        if slowk.values[-1] < slowk_bid or slowd.values[-1] < slowd_bid:
            order.up_cross_order(symbol=symbol,ordtype='market', message='KD小于25 KDJ策略做多')
        elif slowk.values[-1] > slowk_sell or slowd.values[-1] > slowd_sell:
            order.down_cross_order(symbol=symbol,ordtype='market', message='KD大于75 KDJ策略做空')
        time.sleep(5)

    print("任务结束时间:", time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))


if __name__ == '__main__':
    main()