CandleReseach - ChannelCMT/OFO GitHub Wiki
蜡烛图形态
用TA_Lib寻找蜡烛图特征
目录
- 蜡烛图是什么?
- 蜡烛图的两大用途是什么?
- 6个常见蜡烛图是怎么计算的?
- 蜡烛图如何用图表显示
- 如何用TA_Lib寻找蜡烛图
- 多根蜡烛图组合(最常用的5种)
1、 蜡烛图是什么?
蜡烛图又称为K线图,主要包含四个数据,即开盘价、最高价、最低价、收盘价,所有的蜡烛图都是围绕这四个数据展开,反映大势的状况和价格信息。如果把每日的K线图放在一张图中,就能得到日K线图,同样也可画出周K线图、月K线图。
2、 蜡烛图的两大用途是什么?
- 判断反转信号
- 判断持续信号
3、 常见蜡烛图是怎么计算的?
1. 大阳线: 涨幅大于5%,上下影线小于1.8%
Close/Open>1.05
High/Low < Close/Open+0.018
2. 大阴线: 跌幅大于5%, 上下影线小于1.8%
Open/Close > 1.05
High/Low < Open/Close+0.018
3.下影线
(Min(Close,Open)-Low)/(High-Low)>0.667
4. 上影线
(High-Max(Close,Open))/(High-Low)>0.667
5.十字星
Close-Open<Abs(0.001)
High-Low>0.001
6. 缺口Gap
open[-1]-close[-2]>0.01
http://www.stockstowatch.com/candle-indicator/
import warnings
warnings.filterwarnings('ignore')
import talib as ta
import pandas as pd
import warnings
warnings.filterwarnings('ignore')
stock1 = pd.read_excel('sz50.xlsx', sheetname='600036.XSHG', index_col='datetime')[-200:]
4、 蜡烛图如何用图表显示
import matplotlib.pyplot as plt
from matplotlib.pylab import date2num
stock1['time'] = list(map(date2num, stock1.index))
candle = stock1.reindex_axis(["time", "open", "high", "low", "close"], 1).values
import matplotlib.finance as mpf
fig, (ax) = plt.subplots(1,1, figsize=(15,12))
fig.subplots_adjust(bottom=0.5)
ax.grid(True)
mpf.candlestick_ohlc(ax, candle, width=0.6, colorup='r', colordown='g',alpha=1.0)
ax.xaxis_date ()
plt.show()
5、 如何用TA_Lib寻找蜡烛图
CDLLONGLINE = ta.abstract.CDLLONGLINE(stock1)
axisX = CDLLONGLINE[CDLLONGLINE==100].index
axisY = stock1.loc[axisX].low-0.1
def draw_candle(candle, scatterX, scatterY):
fig, (ax) = plt.subplots(1,1,sharex=True, figsize=(16,7))
ax.grid(True)
mpf.candlestick_ohlc(ax, candle, width=0.6, colorup='r', colordown='g',alpha=1.0)
ax.scatter(scatterX, scatterY, color='b', s=100, marker='^')
ax.xaxis_date ()
plt.show()
draw_candle(candle, axisX, axisY)
6、 多根蜡烛图组合
- Engulfing, bearish: 79% ta.CDLENGULFING
- Morning star: 78% ta.CDLMORNINGSTAR
CDLENGULFING = ta.abstract.CDLENGULFING(stock1)
CDLENGULFING_X = CDLENGULFING[CDLENGULFING==100].index
CDLENGULFING_Y = stock1.loc[CDLENGULFING_X].low-1
draw_candle(candle, CDLENGULFING_X, CDLENGULFING_Y)
CDLMORNINGSTAR = ta.abstract.CDLMORNINGSTAR(stock1)
CDLMORNINGSTAR_X = CDLMORNINGSTAR[CDLMORNINGSTAR==100].index
CDLMORNINGSTAR_Y = stock1.loc[CDLMORNINGSTAR_X].low-1
draw_candle(candle, CDLMORNINGSTAR_X, CDLMORNINGSTAR_Y)