# -*- coding: utf-8 -*-
import talib
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
g.security = '600570.SS'
set_universe(g.security)
def handle_data(context, data):
security = g.security
# 得到五日均线价格
prices = get_history(100, '1d', 'close', security, fq = 'pre', include = False)
#当前的现金余额
cash = context.portfolio.cash
macd, signal, hist = talib.MACD(prices['close'].values, fastperiod=12, slowperiod=26, signalperiod=9)
#当前的仓位
curPosition = get_position(security).amount
#当满足红柱时,全仓买入
if hist[-1] > 0 and hist[-2] < 0 and curPosition == 0:
order_value(security, cash)
log.info('Buying %s' % (security))
#当满足绿柱时,且持仓股不为0,全仓卖出
if hist[-1] < 0 and hist[-2] > 0 and curPosition != 0:
order_target(security, 0)
log.info('Selling %s' % (security))