#!/usr/bin/env python# -*- coding: utf-8 -*-import talibimport cross_order as orderimport timeimport pandas as pddef LON(df, n=10):""" 钱龙长线指标是一种描述当前趋势的指标,相比均线只使用收盘价而言,钱龙长线指标在描述趋势时,还考虑到了最高价、最低价、成交量对趋势的影响。 最常用的使用方法是,LON指标上穿0线时做多;LON指标下穿0线时做空。 @param df: 数据源 @param n: 时间 @return: """ lc = df['close'].shift(1)
a = (df['high'].rolling(2).max() - df['low'].rolling(2).min()) * 100 vid = df['volume'].rolling(2).sum() / a
rc = (df['close'] - lc) * vid
long = rc.cumsum()
dif = long.ewm(com=9, adjust=False).mean()
dea = long.ewm(com=19, adjust=False).mean()
lon = dif - deareturn pd.DataFrame({ 'lon': lon, 'lonma': lon.rolling(n).mean()},
a = (df['high'].rolling(2).max() - df['low'].rolling(2).min()) * 100 vid = df['volume'].rolling(2).sum() / a
rc = (df['close'] - lc) * vid
long = rc.cumsum()
dif = long.ewm(com=9, adjust=False).mean()
dea = long.ewm(com=19, adjust=False).mean()
lon = dif - deareturn pd.DataFrame({ 'lon': lon, 'lonma': lon.rolling(n).mean()},