Python全系列 教程
3567个小节阅读:5930.1k
目录
鸿蒙应用开发
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
MACD指标是股市中最经典、最常用的技术指标。它运用快、慢速移动平均线聚合与分
离的功能,加以移动平滑运算,用以研判买卖时机和信号。
EMA:指数移动平均线,对价格进行加权平均,近期的价格分配更高的权重
快线(DIF) = 12EMA - 26EMA (默认情况下)
慢线 (DEA)= 快线DIF的EMA均线(默认周期为9)
慢线DEA一定是跟随着快线DIF变化,并滞后于快线的
默认参数: (12, 26, 9),12代表周期为12的EMA均线(短期EMA为12天);26代表周期
为26的EMA均线(长期EMA为26天);快线DIF周期为9的EMA均线
注意
- MACD金叉:快线(DIF线)上穿慢线(DEA线)所形成的一个交点
- MACD死叉:快线(DIF线)下穿慢线(DEA线)所形成的一个交点
- A股经典买卖法则:“金叉买,死叉卖”
xxxxxxxxxx
import jqdata
from jqlib.technical_analysis import *
# 初始化函数
def initialize(context):
# 定义一个全局变量, 保存要操作的股票
# 000001(股票:平安银行)
g.security = '000001.XSHE'
# 设定沪深300作为基准
set_benchmark('000300.XSHG')
# 开启动态复权模式(真实价格)
set_option('use_real_price', True)
# 单位时间调用的函数
def handle_data(context, data):
#获取初始化中要操作的股票
security = g.security
#调用MACD函数,并获取股票的MACD指标的DIF,DEA和MACD的值
# check_date=context.current_dt,表示获取当前回测日期
macd_dif, macd_dea, macd_macd = MACD(security,check_date=context.current_dt, SHORT = 12, LONG = 26, MID = 9)
# 取得当前的现金
cash = context.portfolio.cash
# 如果DIFF、DEA均为正,DIF向上突破DEA
if macd_dif[security] > 0 and macd_dea[security] >0 and macd_dif[security] > macd_dea[security] :
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("买入股票 %s" % (security))
# 如果DIF、DEA均为负,DIFF向下跌破DEA,并且目前还有剩余仓位
elif macd_dif[security] < 0 and macd_dea[security] < 0 and macd_dif[security] < macd_dea[security] and context.portfolio.positions[security].closeable_amount > 0:
# 全部卖出
order_target(security, 0)
# 记录这次卖出
log.info("卖出股票 %s" % (security))