股友们今年发大财,海龟策略指标挺有意思的,它背后蕴含的逻辑就像在股票市场里“寻宝”一样,只不过这个“宝”指的是那些可能被低估或者高估的机会。咱们来聊聊它到底是个啥逻辑股票中杠杆是什么,以及为啥能让人觉得它有点意思。
海龟策略指标逻辑首先,它用了一堆函数来分析价格走势。比如HHV和LLV,这两个函数就像是在给价格画“天花板”和“地板”。HHV找出了一段时间里价格的最高点,LLV找出了这段时间里价格的最低点。为啥要这么做呢?很简单,通过这两个“天花板”和“地板”,就能大致知道这段时间价格在什么范围内晃悠。
图片股票中杠杆是什么
然后,LIJIHH1和LIJILL1这两个变量就像是在“打分”。它们分别看看当前的高点和低点是不是比前一天更高或者更低。如果高点比前一天高,那就说明价格还在往上冲;如果低点比前一天低,那就说明价格还在往下掉。这种“打分”的方式,其实是在捕捉价格的突破信号,看看价格是不是在某个方向上有了新的“冲动”。
再往后,LIJINB和LIJINS就好比是在“选边站”。根据LIJIHH1和LIJILL1的大小关系,它们会决定是把高点还是低点作为参考。这就好比是在判断市场的情绪,到底是偏向乐观(价格往上冲)还是偏向悲观(价格往下掉)。而LIJINS则是进一步看看当前的价格和这个参考价格之间的关系,相当于是在确认市场的走势方向。
最后,LIJINN21这个指标就有点像在“测体温”。它通过计算过去一段时间内价格变化的“强度”,来判断市场的动量。如果这个指标很高,那就说明市场的情绪很强烈,价格变化很快;如果这个指标很低,那就说明市场的情绪比较低迷,价格变化比较慢。
图片
判断底部的逻辑海龟策略指标代码里判断底部的方式也很有意思。首先,LLV和LIJILL1就像是在“挖坑”,找出了价格的最低点。当LIJILL1出现的时候,就说明价格又创了新低,这可能就是一个潜在的底部信号。就好比说,一个东西价格一直往下掉,掉到一定程度,可能就没人愿意再卖了,这时候价格就有可能止跌反弹。
然后,LIJIHH1和LIJILL1的交叉就像是在“投票”。如果LIJIHH1小于LIJILL1,那就说明价格在创了新低之后,没有再创新高,而是继续往下掉。市场的情绪已经从犹豫变成了恐慌,大家都觉得价格还会继续往下掉,这种情况下,底部的信号就更明显了。
最后,LIJINN21的交叉就像是在“测风向”。当LIJINN21低于18的时候,就说明市场的下跌动能很强,价格一直在往下掉。这时候,如果价格真的开始反弹,那可能就是一个不错的抄底机会。正如一个东西掉得差不多了,再往下掉的空间也不大了,这时候如果价格开始反弹,那可能就是一个不错的买入机会。
图片
通达信海龟策略自动化趋势分析N:=15;HH:=HHV(HIGH,N);LL:=LLV(LOW,N);LIJIHH1:=BARSLAST((HH>REF(HH,1)));LIJILL1:=BARSLAST((LL<REF(LL,1)));DRAWTEXT(CROSS(LIJIHH1,LIJILL1),HH,'空'),COLORGREEN;DRAWTEXT(CROSS(LIJILL1,LIJIHH1),LL,'多'),COLORYELLOW;LIJINB:IF(LIJIHH1>LIJILL1,HH,LL),COLORGREEN,LINETHICK2;LIJINS:IF(C>LIJINB,LL,DRAWNULL),COLORRED,LINETHICK2;STICKLINE(LIJIHH1>LIJILL1,HIGH,LOW,3,0),COLORBLUE;STICKLINE(LIJIHH1<LIJILL1,HIGH,LOW,3,0),COLORRED;LIJINN21:=SMA(MAX(CLOSE-REF(CLOSE,1),0),6,1)/SMA(ABS(CLOSE-REF(CLOSE,1)),6,1)*100;DRAWTEXT(CROSS(82,LIJINN21),HIGH,'减'),COLORF0F000,LINETHICK2;DRAWTEXT(CROSS(LIJINN21,18),LOW,'抄'),LINETHICK2;图片
海龟策略自动化趋势分析C+源代码#include <iostream>#include <vector>#include <cmath>#include <algorithm>// 假设的股票数据结构struct StockData { double high; double low; double close;};// 计算N天内的最高价double HHV(const std::vector<StockData>& data, int N) { double maxHigh = -std::numeric_limits<double>::infinity(); for (int i = 0; i < N && i < data.size(); ++i) { maxHigh = std::max(maxHigh, data[i].high); } return maxHigh;}// 计算N天内的最低价double LLV(const std::vector<StockData>& data, int N) { double minLow = std::numeric_limits<double>::infinity(); for (int i = 0; i < N && i < data.size(); ++i) { minLow = std::min(minLow, data[i].low); } return minLow;}// 计算BARSLASTint BARSLAST(const std::vector<StockData>& data, int N, double value, bool isHigh) { for (int i = data.size() - 1; i >= 0; --i) { if ((isHigh && data[i].high > value)