第二篇.组合蜡烛线
第一章.刺透.乌云盖顶.吞没.反击线
(一).看涨刺透形态
在下降趋势中 (趋势的定义有很多,量化方法自行选择,或评论留言尽量帮大家写)
绘图函数
CONDITON1:=REF(C,1)<REF(O,1) AND REF(C,1)/REF(O,1) < 0.98;{
昨日收阴线,且跌幅>2%(确保活性)}
CONDITON2:=O<C AND REF(O,1)-(REF(O,1)-REF(C,1))/2<C<REF(O,1);{
今日收阳线,并且阳线在昨日阴线实体中间位置以上}
OUT:DRAWICON(CONDITON1 AND CONDITION2,L,1);
选股函数
CONDITON1:=REF(C,1)<REF(O,1) AND REF(C,1)/REF(O,1) < 0.98;{
昨日收阴线,且跌幅>2%(确保活性)}
CONDITON2:=O<C AND REF(O,1)-(REF(O,1)-REF(C,1))/2<C<REF(O,1);{
今日收阳线,并且阳线在昨日阴线实体中间位置以上}
OUT:CONDITON1 AND CONDITION2;
选股函数
CONDITON1:=REF(C,1)<REF(O,1) AND REF(C,1)/REF(O,1) < 0.98;{
昨日收阴线,且跌幅>2%(确保活性)}
CONDITON2:=O<C AND REF(O,1)-(REF(O,1)-REF(C,1))/2<C<REF(O,1);{
今日收阳线,并且阳线在昨日阴线实体中间位置以上}
OUT:CONDITON1 AND CONDITION2;
python实现
import pandas as pd
import numpy as np
import datetime
# 给代码运行加个速
from numba import jit
@jit(nopython=True)
def u_pierce(data):
""""
看涨刺透
:param data: 用于传入股票代码格式为 SH#602688.txt or SZ#300237.txt
:return: 返回符合条件的股票代码,如果不符合返回None
"""
sd = pd.read_table("/Volumes/data/Stock_data/d_K/{}".format(data),
encoding='gbk', header=1, parse_dates=True)[:-1]
sd.rename(columns=lambda x: x.strip(), inplace=True) #读取数据
sd = np.array(sd) #这里只用于编写策略,不做统计分析,我选numpy
now = datetime.date.today().strftime("%Y/%m/%d")
if now is sd[-1][0]: #进行日期对比,只选择今天有交易的股票
#std[][1]开盘价 std[][2]最高价 std[][3]最低价 std[][4]收盘价
if sd[-2][1] > sd[-2][4] and sd[-1][4]/sd[-1][1] < 0.98 :#CONDITION1代码实现
if sd[-1][4] > sd[-1][4] and sd[-2][1]-(sd[-2][1]-sd[-2][4])/2 < sd[-