在股市中,价格的波动往往呈现出一种周期性的特征,就像钟摆一样,涨多了会跌,跌多了会涨。这种规律性使得我们可以通过一些技术指标来捕捉市场的超买和超卖状态,从而为投资决策提供参考。趋势平衡指标(SPPP)正是基于这一原理设计的,它通过设定两个动态边界,帮助我们判断个股的涨跌状态山东炒股配资开户,进而把握买卖时机。
图片
一、指标的基本原理趋势平衡指标的核心思想是通过设定上下两个边界,来判断价格的超涨和超跌状态。通常情况下,SPPP的上下边界分别设置为5和-5。当指标值触及上边界5时,意味着价格已经超涨,市场可能面临回调的风险;反之,当指标值触及下边界-5时,意味着价格已经超跌,市场可能会出现反弹的机会。
这种设计类似于物理学中的钟摆原理,价格在达到极端位置后,往往会向相反的方向运动。因此,SPPP指标可以帮助我们在市场情绪过度乐观或过度悲观时,及时做出反应。
图片
二、指标的具体用法超跌反弹信号当SPPP指标值触及下边界-5时,表明市场已经处于超跌状态。此时,即使价格不会立即反弹,也可能会出现短暂的企稳或喘息。对于短线投资者来说,这是一个较好的买入时机,因为市场情绪已经过度悲观,价格继续下跌的空间有限。
超涨回调信号当SPPP指标值触及上边界5时,表明市场已经处于超涨状态。此时,价格可能会出现回调或盘整。对于短线投资者来说,这是一个较好的卖出时机,因为市场情绪已经过度乐观,价格继续上涨的动力可能不足。
边界内的波动当SPPP指标值在-5到5之间波动时,表明市场处于相对平衡的状态。此时,价格的波动较为平稳,投资者可以根据其他技术指标或基本面分析来做出决策。
三、指标的适用范围趋势平衡指标适用于大多数个股,尤其是在波动性较大的市场中,其效果更为明显。由于个股的波动性不同,5和-5的边界设置可以根据具体情况进行调整。例如,对于波动性较小的股票,可以将边界设置为3和-3;而对于波动性较大的股票,可以将边界设置为7和-7。
图片
趋势平衡指标C++源代码:
#include <vector>#include <algorithm>// 假设我们有历史数据数组,索引0是最新一天,索引1是前一日,依此类推std::vector<double> high; // 最高价数组std::vector<double> low; // 最低价数组std::vector<double> open; // 开盘价数组std::vector<double> close; // 收盘价数组// 计算移动平均值(MA)double MA(const std::vector<double>& data, int n) { double sum = 0.0; for (int i = 0; i < n; ++i) { sum += data[i]; } return sum / n;}// 计算HHV(N天内的最高值)double HHV(const std::vector<double>& data, int n) { return *std::max_element(data.begin(), data.begin() + n);}// 计算LLV(N天内的最低值)double LLV(const std::vector<double>& data, int n) { return *std::min_element(data.begin(), data.begin() + n);}// 获取前N日的数据double REF(const std::vector<double>& data, int n) { return data[n];}// 计算短买信号double 短买() { // 计算S下和S上 double ma_high_2 = MA(high, 2); double S下 = HHV({ma_high_2, MA(high, 2)}, 2); double S上 = LLV({ma_high_2}, 1); // 计算lijinfPP double lijinfPP = -(S上 - S下) / REF(close, 1) * 100; // 计算临时变量 double min_OC = std::min(open[0], close[0]); double lijinfTEM1 = (min_OC - low[0]) / (high[0] - low[0]) * 100; double max_OC = std::max(open[0], close[0]); double lijinfTEM2 = (high[0] - max_OC) / (high[0] - low[0]) * 100; double lijinfTEM3 = (close[0] - open[0]) / (high[0] - low[0]) * 100; // 计算lijin条件 bool lijin1 = (lijinfTEM3 > 49 && lijinfTEM1 > 0.3 * lijinfTEM2) || lijinfTEM3 > 80; bool lijin2 = (lijinfTEM3 <= 49 && lijinfTEM3 > 20 && lijinfTEM1 > lijinfTEM2); bool lijin3 = (lijinfTEM3 <= 20 && lijinfTEM3 > -20 && lijinfTEM1 > 1.2 * lijinfTEM2); bool lijin4 = (lijinfTEM3 < -20 && lijinfTEM3 > -40 && lijinfTEM1 > 2 * lijinfTEM2); bool lijin = (lijin1 || lijin2 || lijin3 || lijin4) && (lijinfPP > 2 || REF(lijinfPP, 1) > 2); // 计算短买信号 int sum_lijinfPP = 0; int sum_lijin = 0; for (int i = 0; i < 5; ++i) { if (lijinfPP > 0) sum_lijinfPP++; if (lijin) sum_lijin++; } if (sum_lijinfPP == 5 && sum_lijin == 0) return5 * (lijin1 || lijin2 || lijin3 || lijin4 ? 1 : 0); else return5 * lijin;}// 计算短卖信号double 短卖() { // 计算X下和X上 double ma_low_2 = MA(low, 2); double X下 = HHV({ma_low_2}, 1); double X上 = LLV({ma_low_2, MA(low, 2)}, 2); // 计算XPPP double XPPP = (X上 - X下) / REF(close, 1) * 100; // 计算临时变量 double min_OC = std::min(open[0], close[0]); double XPTEM1 = (min_OC - low[0]) / (high[0] - low[0]) * 100; double max_OC = std::max(open[0], close[0]); double XPTEM2 = (high[0] - max_OC) / (high[0] - low[0]) * 100; double XPTEM3 = (close[0] - open[0]) / (high[0] - low[0]) * 100; // 计算XKJ条件 bool XKJ1 = (XPTEM3 < -49 && lijinfTEM2 > 0.3 * lijinfTEM1) || lijinfTEM3 < -80; bool XKJ2 = (lijinfTEM3 >= -49 && lijinfTEM3 < -20 && lijinfTEM1 < lijinfTEM2); bool XKJ3 = (lijinfTEM3 >= -20 && lijinfTEM3 < 20 && lijinfTEM2 > 1.2 * lijinfTEM1); bool XKJ = (XKJ1 || XKJ2 || XKJ3) && (XPPP < -2 || REF(XPPP, 1) < -2); // 计算短卖信号 return-5 * XKJ;}通达信指标公式如下:指标若出现字符串错误,因为文本字符串兼容问题,请先打开新建空白的doc文档,将代码放进去,再放到通达信公式管理器。S下:=HHV(MA(HIGH,2),2),COLORGREEN,LINETHICK2;
S上:=LLV(MA(HIGH,2),1),COLORRED,LINETHICK2;
LIJINFPP:-(S上-S下)/REF(C,1)*100;
LIJINFTEM1:=(MIN(O,C)-L)/(H-L)*100;
LIJINFTEM2:=(H-MAX(O,C))/(H-L)*100;
LIJINFTEM3:=(C-O)/(H-L)*100;
LIJIN1:=(LIJINFTEM3>49 AND LIJINFTEM1>0.3*LIJINFTEM2) OR LIJINFTEM3>80;
LIJIN2:=(LIJINFTEM3<=49 AND LIJINFTEM3>20 AND LIJINFTEM1>LIJINFTEM2);
LIJIN3:=(LIJINFTEM3<=20 AND LIJINFTEM3>-20 AND LIJINFTEM1>1.2*LIJINFTEM2);
LIJIN4:=(LIJINFTEM3< -20 AND LIJINFTEM3>-40 AND LIJINFTEM1>2*LIJINFTEM2);
LIJIN:=(LIJIN1 OR LIJIN2 OR LIJIN3 OR LIJIN4) AND (LIJINFPP>2 OR REF(LIJINFPP,1)>2 );
短买:IF(SUM(LIJINFPP>0,5)=5 AND SUM(LIJIN>0,5)=0,5*(LIJIN1 OR LIJIN2 OR LIJIN3 OR LIJIN4),5*LIJIN),STICK,COLORRED;
X下:=HHV(MA(L,2),1),COLORGREEN,LINETHICK2;
X上:=LLV(MA(L,2),2),COLORRED,LINETHICK2;
XPPP:(X上-X下)/REF(C,1)*100;
XPTEM1:=(MIN(O,C)-L)/(H-L)*100;
XPTEM2:=(H-MAX(O,C))/(H-L)*100;
XPTEM3:=(C-O)/(H-L)*100;
XKJ1:=(XPTEM3< -49 AND LIJINFTEM2>0.3*LIJINFTEM1) OR LIJINFTEM3< -80;
XKJ2:=(LIJINFTEM3>=-49 AND LIJINFTEM3< -20 AND LIJINFTEM1< LIJINFTEM2);
XKJ3:=(LIJINFTEM3>=-20 AND LIJINFTEM3< 20 AND LIJINFTEM2>1.2*LIJINFTEM1);
XKJ:=(XKJ1 OR XKJ2 OR XKJ3) AND (XPPP< -2 OR REF(XPPP,1)< -2 );
短卖:(-5)*FILTER(XKJ,0),STICK,COLORGREEN;
5;
-5;
风险提示:本指标仅供技术研究与学习交流使用。资本市场具有高度不确定性,任何基于本指标的投资决策都需要自行承担风险,不构成任何投资建议。
图片
图片
学习分享
学术交流:我们专注于市场的学术交流与研究包括自用指标抄底逃顶零滞后均线最速曲线,以及期货自动化和股票自动化学习。分享知识:田都元帅,敬神常在,爱人如己,我为人人,与人为善,分享快乐! 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。嘉汇优配提示:文章来自网络,不代表本站观点。