分类
技术面及基本面分析

甚么是移动平均背驰指标(MACD)?

DIF(蓝线): 计算12天平均和26天平均的差,公式:EMA(C,12)-EMA(c,26)
Signal(DEM或DEA或MACD) (红线): 计算macd9天均值,公式:Signal(DEM或DEA或MACD):EMA(MACD,9)
Histogram (柱): 计算macd与signal的差值,公式:Histogram:MACD-Signal

代码先锋网 代码片段及技术文章聚合

Mybatis配置文件引入MySQL数据源的三种方式&&映射文件配置的三种方式 这里是MySQL数据源的引入方式示例,其中还在每段代码的下面示范了映射文件配置的三种配置示例。 方式一:最基础的配置方式 方式二:通过resource属性引入类路径下的配置文件 方式三:通过url属性引入任意路径下的配置文件.

解决 - 甚么是移动平均背驰指标(MACD)? java.lang.OutOfMemoryError: unable to create new native thread

工作中碰到过这个问题好几次了,觉得有必要总结一下,所以有了这篇文章,这篇文章分为三个部分:认识问题、分析问题、解决问题。 一、认识问题: 首先我们通过下面这个 测试程序 来认识这个问题: 运行的环境 (有必要说明一下,不同环境会有不同的结果):32位 Windows XP,Sun JDK 1.6.0_18, 甚么是移动平均背驰指标(MACD)? eclipse 3.4, 测试程序: Java代码 importjava.util.con.

equals原理

在java中,"=="和"equals()"区别是什么? 恐怕大多数人都会回答,第一个是用来比较地址,第二个是用来比较内容的吧。这个回答并不准确 例如 输出的结果为false,而用String输出的却是true 这是为什么呢? 查看object的qeuals方法发现 Object的equals方法就是使用"=="来比较对象和传入的参数的。.

MACD 之 波段买卖,实战绝技!

MACD指标,称为指数平滑异同移动平均线,是由Geral Appel 于1979年提出的,它是一项利用长短期指数移动平均线之间的聚合与分离状况,对买进、卖出时机作出研判的趋势类技术指标。是从双指数移动平均线发展而来的,由快的指数移动平均线(EMA)减去慢的指数移动平均线,MACD的意义和双移动平均线基本相同,但阅读起来更方便。当MACD从负数转向正数,是买的信号。当MACD从正数转向负数,是卖的信号。当MACD以大角度变化,表示快的移动平均线和慢的移动平均线的差距非常迅速的拉开,代表了一个市场大趋势的转变。

打造属于自己的量化投资系统5——利用backtrader创建平滑异同移动平均线MACD策略

在这里插入图片描述

DIF(蓝线): 计算12天平均和26天平均的差,公式:EMA(C,12)-EMA(c,甚么是移动平均背驰指标(MACD)? 26)
Signal(DEM或DEA或MACD) (红线): 计算macd9天均值,公式:Signal(DEM或DEA或MACD):EMA(MACD,9)
Histogram (柱): 甚么是移动平均背驰指标(MACD)? 计算macd与signal的差值,公式:Histogram:MACD-Signal

'''#平滑异同移动平均线MACD
DIF(蓝线): 计算12天平均和26天平均的差,公式:EMA(C,12)-EMA(c,26)
Signal(甚么是移动平均背驰指标(MACD)? DEM或DEA或MACD) (红线): 计算macd9天均值,公式:Signal(DEM或DEA或MACD):EMA(MACD,9)
Histogram (柱): 计算macd与signal的差值,公式:Histogram:MACD-Signal

period_me1=12
period_me2=26
period_signal=9

macd = ema(data, me1_period) - ema(data, me2_period)
signal = ema(macd, signal_period)
histo = macd - signal

def __init__(self):
#sma源码位于indicators\macd.py
#指标必须要定义在策略类中的初始化函数中
macd=bt.ind.MACD()
self.macd=macd.macd
self.signal=macd.signal

def next(self):
#self.data.close是表示收盘价
#收盘价大于histo,买入
if self.macd>0 and self.signal>0 and self.histo>0:
self.甚么是移动平均背驰指标(MACD)? buy()

2.MACD的应用
3. MACD指标的研判标准
a.DIF和MACD的值及线的位置
  • 当DIF和MACD均大于0(即在图形上表示为它们处于零线以上)并向上移动时,一般表示为股市处于多头行情中,可以买入或持股;
  • 当DIF和MACD均小于0(即在图形上表示为它们处于零线以下)并向下移动时,一般表示为股市处于空头行情中,可以卖出股票或观望。
  • 当DIF和MACD均大于0(即在图形上表示为它们处于零线以上)但都向下移动时,一般表示为股票行情处于退潮阶段,股票将下跌,可以卖出股票和观望;
  • 当DIF和MACD均小于0时(即在图形上表示为它们处于零线以下)但向上移动时,一般表示为行情即将启动,股票将上涨,可以买进股票或持股待涨。
b.DIF和MACD的交叉情况
  • 当DIF与MACD都在零线以上,而DIF向上突破MACD时,表明股市处于一种强势之中,股价将再次上涨,可以加码买进股票或持股待涨,这就是MACD指标“黄金交叉”的一种形式。
  • 当DIF和MACD都在零线以下,而DIF向上突破MACD时,表明股市即将转强,股价跌势已尽将止跌朝上,可以开始买进股票或持股,这是MACD指标“黄金交叉”的另一种形式。
  • 当DIF与MACD都在零线以上,而DIF却向下突破MACD时,表明股市即将由强势转为弱势,股价将大跌,这时应卖出大部分股票而不能买股票,这就是MACD指标的“死亡交叉”的一种形式。
  • 当DIF和MACD都在零线以上,而DIF向下突破MACD时,表明股市将再次进入极度弱市中,股价还将下跌,可以再卖出股票或观望,这是MACD指标“死亡交叉”的另一种形式。
c.MACD指标中的柱状图分析
  • 当红柱状持续放大时,表明股市处于牛市行情中,股价将继续上涨,这时应持股待涨或短线买入股票,直到红柱无法再放大时才考虑卖出。
  • 当绿柱状持续放大时,表明股市处于熊市行情之中,股价将继续下跌,这时应持币观望或卖出股票,直到绿柱开始缩小时才可以考虑少量买入股票。
  • 当红柱状开始缩小时,表明股市牛市即将结束(或要进入调整期),股价将大幅下跌,这时应卖出大部分股票而不能买入股票。
  • 当绿柱状开始收缩时,表明股市的大跌行情即将结束,股价将止跌向上(或进入盘整),这时可以少量进行长期战略建仓而不要轻易卖出股票。
  • 当红柱开始消失、绿柱开始放出时,这是股市转市信号之一,表明股市的上涨行情(或高位盘整行情)即将结束,股价将开始加速下跌,这时应开始卖出大部分股票而不能买入股票。
  • 当绿柱开始消失、红柱开始放出时,这也是股市转市信号之一,表明股市的下跌行情(或低位盘整)已经结束,股价将开始加速上升,这时应开始加码买入股票或持股待涨。
4.MACD案例

# -*- coding: utf-8 -*-
"""
Created on Wed May 13 14:37:09 2020

from 甚么是移动平均背驰指标(MACD)? __future__ import (absolute_import, division, print_function,
unicode_literals)

import datetime
import backtrader as bt # 引入backtrader框架

#平滑异同移动平均线MACD
#买入与卖出算法:
# macd、signal、histo都大于0,买入
# macd、signal、histo都小于等于0,卖出


class StrategyClass(bt.Strategy):
'''#平滑异同移动平均线MACD
DIF(蓝线): 计算12天平均和26天平均的差,公式:EMA(C,12)-EMA(c,26)
Signal(DEM或DEA或MACD) (红线): 计算macd9天均值,公式:Signal(DEM或DEA或MACD):EMA(MACD,9)
Histogram (柱): 计算macd与signal的差值,公式:Histogram:MACD-Signal

period_me1=12
period_me2=26
period_signal=9

macd = ema(data, me1_period) - ema(data, me2_period)
signal = ema(macd, signal_period)
histo = macd - signal

def __init__(self):
#sma源码位于indicators\macd.py
#指标必须要定义在策略类中的初始化函数中
macd=bt.ind.MACD()
self.macd=macd.macd
self.signal=macd.signal

def next(self):
#self.data.close是表示收盘价
#收盘价大于histo,买入
if self.macd>0 and 甚么是移动平均背驰指标(MACD)? self.signal>0 and self.histo>0:
self.buy()


cerebro=bt.Cerebro()
datapath=".\\datas\\test\\000001.XSHE"
data=bt.feeds.GenericCSVData(dataname=datapath,
fromdate = datetime.datetime(2018, 1, 1),
todate = datetime.datetime(2020, 3, 20),
nullvalue=0.0,
dtformat=('%Y-%m-%d'),
datetime=0,
high=3,
low=4,
open=1,
close=2,
volume=5,
openinterest=-1)
cerebro.adddata(data)

cerebro.addstrategy(StrategyClass)
#设置金额,默认是100000
cerebro.broker.set_cash(200000)
cerebro.run(maxcpu=1)
cerebro.plot()

通达信MACD箭头指标公式

SHORT:=13;LONG:=28;M:=8;
长短期价差:ema(CLOSE,SHORT)-Ema(CLOSE,LONG);
M日均线:EMA(长短期价差,M);
macd:(长短期价差-M日均线)*2,LINETHICK0;

stICKLINE((MacD > 0),0,MACD,2,0),COLOR0000CC;
STICKLINE((MACD > 0),0,MACD*0.9,2,0),COLOR0000EE;
STICKLINE((MACD > 0),0,MACD*0.8,2,0),COLOR0011FF;
STICKLINE((MACD > 0),0,MACD*0.7,2,0),COLOR0033FF;
STICKLINE((MACD > 0),0,MACD*0.6,甚么是移动平均背驰指标(MACD)? 2,0),COLOR0055FF;
STICKLINE((MACD > 0),0,MACD*0.5,2,0),COLOR0077FF;
STICKLINE((MACD > 0),0,MACD*0.4,2,0),COLOR0099FF;
STICKLINE((MACD > 0),0,MACD*0.3,2,0),COLOR00BBFF;
STICKLINE((MACD > 0),0,MACD*0.2,2,0),COLOR00ddfF;
STICKLINE((MACD > 0),0,MACD*0.1,2,0),COLOR00FFFF;
STICKLINE((MACD < 0),0,MACD,2,0),COLORCC0033;
STICKLINE((MACD < 0),0,MACD*0.9,2,0),COLOREE0033;
STICKLINE((MACD < 0),0,MACD*0.8,2,0),COLORFF1133;
STICKLINE((MACD < 0),0,MACD*0.7,2,0),COLORFF3333;
STICKLINE((MACD < 0),0,MACD*0.6,2,0),COLORFF5533;
STICKLINE((MACD < 0),0,MACD*0.5,2,0),COLORFF7733;
STICKLINE((MACD < 0),0,MACD*0.4,2,0),COLORFF9933;
STICKLINE((MACD < 0),0,MACD*0.3,2,0),COLORFFBB33;
STICKLINE((MACD < 0),0,MACD*0.2,2,0),COLORFFDD33;
STICKLINE((MACD < 0),0,MACD*0.1,2,0),COLORFFFF33;
VAR1:=3;
VAR3:=(3)*(SMA(((CLOSE - LLV(LOW,27))/(HHV(HIGH,27) - LLV(LOW,27)))*(100),5,1)) - (2)*(SMA(SMA(((CLOSE - LLV(LOW,27))/(HHV(HIGH,27) - LLV(LOW,27)))*(100),5,1),3,1)); 甚么是移动平均背驰指标(MACD)?
DRAWICON(crOSS(VAR3,VAR1),0,1);