
N:=2;SR1:=REF(HIGH,N)=HHV(HIGH,2*10+1);{N天前的高点是否是最近21天的最高点}SR2:=FILTER(SR1,N);{过滤连续信号}SR3:=SUM(SR2,10+SR1);HD:=FILTER(SR3,N);{过滤连续信号}前高:=REF(H,BARSLAST(HD));倍量:=VOL/REF(VOL,1)>=2;突破前高:CROSS(C,前高) AND 倍量;
拆解代码部分。开头定义N=2,然后SR1是找当前N天前的高点是否是最近21天的最高点。这里要注意HHV的周期计算,2*10+1是21天,可能用户之前有默认设置,但代码里没体现,这里可能需要提醒用户注意周期参数是否合理。
接着SR2用FILTER过滤连续信号,避免重复。SR3用SUM累加,但这里加了SR1,可能是个技巧,需要解释清楚实际效果。HD再次过滤,确保信号有效。前高通过BARSLAST找到最近HD的位置,引用当时的高点。
倍量是成交量翻倍,突破前高则是价格上穿前高且伴随倍量。这里得提醒用户,仅靠这两个条件可能假信号多,需要结合其他指标过滤。
最后得总结策略逻辑,指出潜在问题,比如震荡市中假突破多,以及参数固化的风险。用户可能真正需要的是如何优化和验证这个策略,而不仅仅是代码解释。
好的,我们来逐行解析这段通达信公式代码。
这段代码的核心目的是寻找股价“放量突破前期重要高点”的买入信号。
逐行解析N:=2;
解释: 定义一个参数 N,并将其值设置为 2。这个参数在后面用于控制过滤信号的灵敏度。
SR1:=REF(HIGH,N)=HHV(HIGH,2*10+1);
解释: 这一行是寻找“潜在高点”的关键。
REF(HIGH, N): 引用 N 天前(即2天前)的最高价。
HHV(HIGH, 2*10+1): 计算过去 21 个交易日(2*10+1)内的最高价。
整体逻辑: 判断“2天前的最高价”是否等于“过去21天内的最高价”。如果是,则 SR1 返回 1 (True),否则返回 0 (False)。这标识出了过去21天内,那些在创下高点后又经过了两天确认的价位。
SR2:=FILTER(SR1,N);
解释: 对 SR1 产生的信号进行过滤。
FILTER(SR1, N): 过滤掉 SR1 信号出现后 N 天(2天)内的其他信号。这确保了找到的“潜在高点”是独立的,不会过于密集。
SR3:=SUM(SR2,10+SR1);
解释: 这一行较为复杂且不常见,其目的可能是为了在找到信号点后的特定周期内进行计数或标记。10+SR1 的部分逻辑上有些奇怪,因为 SR1 是0或1,这意味着周期可能是10或11。它可能试图根据是否满足SR1条件来微调求和周期,但这种写法在实际应用中效果可能不稳定,可能是原编写者的一种特殊思路。
HD:=FILTER(SR3,N);
解释: 再次使用 FILTER 函数,对 SR3 产生的信号进行过滤,确保最终确定的“前高”信号点(HD)之间至少有 N 天(2天)的间隔。HD 就是一个标记了“符合条件的前期高点”位置的信号。
前高:=REF(H,BARSLAST(HD));
解释: 确定“前高”的具体价格。
BARSLAST(HD): 计算上一次出现 HD 信号到当前的周期数(天数)。
REF(H, ...): 引用上一次 HD 信号出现当天的最高价(H)。
整体逻辑: 前高 这个变量保存了最近一个被识别为重要高点的价格值。
倍量:=VOL/REF(VOL,1)>=2;
解释: 定义“倍量”的条件。
REF(VOL,1): 昨日的成交量。
VOL/REF(VOL,1): 今日成交量与昨日成交量的比值。
整体逻辑: 如果今日成交量是昨日成交量的 2倍或以上,则 倍量 条件为真(返回1)。
突破前高:CROSS(C,前高) AND 倍量;
解释: 这是最终的输出信号,结合了价格行为和成交量。
CROSS(C, 前高): 函数表示今日的收盘价(C)由下向上穿越了 前高 这个价格值。
AND: 逻辑“与”操作符。
整体逻辑: 如果同时满足【股价收盘价突破前期重要高点】和【成交量是前一日的两倍以上】这两个条件,则输出 突破前高 信号(值为1),否则为0。在图表上,这通常会显示为一个箭头或其他标记。
核心逻辑总结这个指标公式试图捕捉的典型交易场景是:
一只股票在经过一段时间(21天)的震荡或上涨后,形成了一个显著的高点(HD)。随后股价回调或盘整,最终某一天伴随着成交量的急剧放大(倍量),股价一举突破了之前那个高点。在技术分析中,这通常被视为一个强烈的看涨买入信号,表明有新的强大买盘力量入场,股价很可能继续上涨。
潜在问题与注意事项参数固化: 公式中的 10 和 N 的值是固定的。在实际分析中,寻找高点的周期(原代码中的21天)和过滤周期(N=2)可能需要根据不同的股票和市况进行调整。
未来函数: 经检查,此代码中没有使用通达信的“未来函数”。REF, HHV, BARSLAST, FILTER 等都是基于已有历史数据计算的,信号一旦出现就不会改变。这是一个可靠的指标。
SR3行的逻辑: 如前所述,SR3:=SUM(SR2,10+SR1); 这行的逻辑有些晦涩且不常规。它可能是原作者为了精确筛选每隔一段时间出现的高点而设计的,但实现方式可能并非最优,理解起来比较困难。
实战应用: 像所有技术指标一样,这个“突破前高+倍量”的信号并非100%成功。它可能会在强势上涨的起点发出信号,也可能会在行情的末期发出“诱多”的假信号。使用者应结合其他指标(如大盘趋势、均线系统、MACD等)进行综合判断,并设置好止损位。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。盛康配资提示:文章来自网络,不代表本站观点。