在股市投资的世界里,技术分析是投资者不可或缺的工具之一。通达信作为一款功能强大的股票分析软件,提供了众多实用的技术指标和公式,帮助投资者更好地把握市场脉搏。本文将揭秘通达信中的20个实战公式,旨在助你股市投资如虎添翼。
1. 移动平均线(MA)
移动平均线是衡量股价趋势的重要指标。通过计算一定时间内的平均股价,可以判断当前股价的趋势。
def moving_average(prices, period):
return [sum(prices[i:i+period]) / period for i in range(len(prices) - period + 1)]
2. 相对强弱指数(RSI)
相对强弱指数用于衡量股票的超买或超卖状态。RSI值通常介于0到100之间,当RSI值超过70时,表示股票可能处于超买状态;当RSI值低于30时,表示股票可能处于超卖状态。
def rsi(prices, period):
gains = [max(price - prev_price, 0) for prev_price, price in zip(prices[:-1], prices[1:])]
losses = [max(prev_price - price, 0) for prev_price, price in zip(prices[:-1], prices[1:])]
avg_gain = sum(gains) / len(gains)
avg_loss = sum(losses) / len(losses)
rsi_value = (avg_gain / (avg_gain + avg_loss)) * 100
return rsi_value
3. 布林带(BOLL)
布林带由上轨、中轨和下轨组成,用于衡量股价的波动范围。当股价触及上轨时,可能存在超买风险;当股价触及下轨时,可能存在超卖风险。
def bollinger_bands(prices, period, std_dev):
ma = moving_average(prices, period)
std_devs = [sum((price - ma[i])**2 for i in range(period))**0.5 for price in prices]
upper_band = ma + std_devs
lower_band = ma - std_devs
return upper_band, lower_band
4. MACD(指数平滑异同移动平均)
MACD指标通过计算两个不同周期的指数移动平均线的差值和其信号线,用于判断股票的买卖时机。
def macd(prices, short_period, long_period, signal_period):
short_ma = moving_average(prices, short_period)
long_ma = moving_average(prices, long_period)
macd_line = [short_ma[i] - long_ma[i] for i in range(len(short_ma))]
signal_line = moving_average(macd_line, signal_period)
return macd_line, signal_line
5. 成交量(VOL)
成交量是衡量市场活跃度的指标。当股价上涨时,伴随着成交量的放大,可能表示上涨趋势的加强;当股价下跌时,伴随着成交量的放大,可能表示下跌趋势的加强。
def volume_change(current_volume, previous_volume):
return (current_volume - previous_volume) / previous_volume * 100
6. 乖离率(BIAS)
乖离率用于衡量股价与移动平均线之间的偏离程度。当乖离率过高时,可能存在超买风险;当乖离率过低时,可能存在超卖风险。
def bias(prices, ma, period):
return [(price - ma[i]) / ma[i] * 100 for i, price in enumerate(prices)]
7. 平均真实范围(ATR)
平均真实范围用于衡量股价的波动性。ATR值越大,表示股价波动越剧烈。
def atr(prices, period):
true_ranges = [max(high - low, abs(high - prev_close), abs(low - prev_close)) for prev_close, high, low in zip(prices[:-1], prices[1:], prices[2:])]
atr_value = sum(true_ranges) / len(true_ranges)
return atr_value
8. 振幅比(VR)
振幅比用于衡量股价的波动幅度与平均波动幅度的比值。VR值越高,表示股价波动越剧烈。
def vr(highs, lows, period):
atr_value = atr([high - low for high, low in zip(highs, lows)], period)
vr_value = sum((high - low) / atr_value for high, low in zip(highs, lows)) / len(highs)
return vr_value
9. 平均成交量(AVG)
平均成交量用于衡量一段时间内的平均成交量。
def avg_volume(volumes, period):
return sum(volumes) / period
10. 成交量比率(VR)
成交量比率用于衡量成交量与平均成交量的比值。
def volume_ratio(volume, avg_volume):
return volume / avg_volume * 100
11. 量比(VOLR)
量比用于衡量当前成交量与昨日成交量的比值。
def volume_ratio_today_yesterday(volume_today, volume_yesterday):
return volume_today / volume_yesterday * 100
12. 涨跌比(UPDOWN)
涨跌比用于衡量上涨股票与下跌股票的数量比例。
def updown_ratio(up_stocks, down_stocks):
return up_stocks / down_stocks * 100
13. 换手率(TURN)
换手率用于衡量股票的流通性。换手率越高,表示股票的流通性越好。
def turnover_rate(volume, total_shares):
return volume / total_shares * 100
14. 趋势线(TREND)
趋势线用于判断股价的趋势方向。上升趋势线表示股价处于上升趋势,下降趋势线表示股价处于下降趋势。
def trend_line(prices, period):
trend_lines = []
for i in range(period, len(prices)):
if prices[i] > prices[i - 1]:
trend_lines.append((i, prices[i]))
else:
trend_lines.append((i, None))
return trend_lines
15. 通道线(CHANNEL)
通道线用于判断股价的波动范围。通道线由上轨、中轨和下轨组成,与布林带类似。
def channel_line(prices, period, std_dev):
ma = moving_average(prices, period)
std_devs = [sum((price - ma[i])**2 for i in range(period))**0.5 for price in prices]
upper_band = ma + std_devs
lower_band = ma - std_devs
return upper_band, lower_band
16. 均线粘合(MA_CROSS)
均线粘合是指短期均线与长期均线交叉的情况,通常表示市场处于震荡状态。
def ma_cross(short_ma, long_ma):
return short_ma[-1] > long_ma[-1] and short_ma[-2] < long_ma[-2]
17. 均线发散(MA_SPAWN)
均线发散是指短期均线与长期均线远离的情况,通常表示市场处于单边上涨或下跌状态。
def ma_spawn(short_ma, long_ma):
return short_ma[-1] < long_ma[-1] and short_ma[-2] > long_ma[-2]
18. 均线金叉(MA GOLDEN)
均线金叉是指短期均线从下方穿越长期均线的情况,通常表示市场处于买入信号。
def ma_golden(short_ma, long_ma):
return short_ma[-1] > long_ma[-1] and short_ma[-2] < long_ma[-2]
19. 均线死叉(MA_DEATH)
均线死叉是指短期均线从上方穿越长期均线的情况,通常表示市场处于卖出信号。
def ma_death(short_ma, long_ma):
return short_ma[-1] < long_ma[-1] and short_ma[-2] > long_ma[-2]
20. 均线钝化(MA_BLUR)
均线钝化是指短期均线与长期均线接近的情况,通常表示市场处于震荡状态。
def ma_blur(short_ma, long_ma):
return abs(short_ma[-1] - long_ma[-1]) < short_ma[-1] * 0.05
通过以上20个实战公式,投资者可以更好地把握市场趋势,提高投资成功率。当然,在实际操作中,投资者还需结合其他指标和基本面分析,以实现更好的投资效果。
