经典理论 【量价趋势】 部分python代码

#1

condition=(
            ((df['close']-df['preclose'])>=0.9*df['atr'])&
            (df['volume']>2*df['volume'].shift(1))&
            (df['preclose']<df['close'].shift(-1))&
            (df['close'].shift(-1)<df['close'])&
            (0.4*df['volume']<=df['volume'].shift(-1))&
            (df['volume'].shift(-1)<=0.6*df['volume'])
        )

result=df[condition]
#结果 是否有启动信号

#2
#df 
result=[]
for i in range(1,len(df)-1):
    a=df.iloc[i-1]
    b=df.iloc[i]
    c=df.iloc[i+1]
    if (a['low']>b['low'])and(b['low']<c['low']):
        result.append(b)
result_df=pd.DataFrame(result)
xh=False #判断趋势线形成信号
if len(result_df)>2:
    for i in range(0,len(result_df)-1):
        if result_df.iloc[i]['low']>result_df.iloc[i+1]['low']:
            xh=True
# 使用xh判断 是否趋势线形成


#3 没有循环判断
# 动态阻力线 支撑线 maxHigh minLow
# i行 即最后一个低点后到值 显示突破 目前没有动态创建 两个价格
maxHigh=df.iloc[i-10:i]['high'].max()
minLow=df.iloc[i-10:i]['low'].min()

#此处需要修改
result=[]
zc=False
xh=False
#突破后阻力位转为支撑位  
if (df.iloc[i]['close']>maxHigh) and (df.iloc[i]['volume']>=2*df.iloc[i-1]['volume']) and (df.iloc[i+1]['close']>maxHigh):
    result.append(df.iloc[i])
    zc=maxHigh
#此处只记录突破位置
if zc:
    if df.iloc[i]['close']<zc:
        xh=True
    #破线  趋势结束


# 4 没有循环判断
# 成交量异常  放大
df.iloc[i]['volume']>2*df.iloc[i-1]['volume']

#锤子
abs(df.iloc[i]['close']-df.iloc[i]['open'])*3<=(df.iloc[i]['high']-df.iloc[i]['low'])
#黄昏星
(df.iloc[i-1]['close']>df.iloc[i-1]['open'])and(df.iloc[i+1]['close']<df.iloc[i+1]['open'])
abs(df.iloc[i]['close']-df.iloc[i]['open'])*3<=(df.iloc[i]['high']-df.iloc[i]['low'])
df.iloc[i]['high']>df.iloc[i]['open']
df.iloc[i]['high']>df.iloc[i]['close']
#吞没
df.iloc[i-1]['close']>df.iloc[i-1]['open']
df.iloc[i]['close']<df.iloc[i]['open']
df.iloc[i]['close']<df.iloc[i-1]['open']
df.iloc[i]['open']>df.iloc[i-1]['close']

#      趋势结束

此条目发表在None分类目录。将固定链接加入收藏夹。

发表回复