如何在Pine语言均线交叉脚本中添加交叉点上下箭头标记
Pine Script 均线交叉点位箭头标记实现方法
直接在你现有AnyDozer均线脚本的均线计算逻辑后追加两段代码即可,不需要改动原有脚本的计算逻辑,不会影响你之前的使用体验。
- 首先确认你脚本中两条移动平均线的变量名,常规脚本里一般是快线(短周期)、慢线(长周期)两个变量,比如常见命名为
maFast、maSlow,如果你的脚本里变量名不同,直接替换下面代码里的对应变量名即可。 - 第一步:添加交叉信号判断逻辑,用Pine内置的交叉判断函数识别金叉、死叉:
// 交叉信号判定 goldenCross = ta.crossover(maFast, maSlow) // 短均线上穿长均线,金叉信号 deathCross = ta.crossunder(maFast, maSlow) // 短均线下穿长均线,死叉信号
- 第二步:添加箭头绘制逻辑,箭头默认放在不遮挡K线的位置:金叉向上箭头放在对应K线的最低点下方,死叉向下箭头放在对应K线的最高点上方:
// 绘制交叉标记箭头 plotshape(goldenCross, title="金叉标记", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small) plotshape(deathCross, title="死叉标记", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
可调参数说明
- 如果想要箭头带文字提示,可以在
plotshape里加text="金叉"/text="死叉"参数,同时设置textcolor=color.white调整文字颜色。 - 如果觉得箭头离K线太远/太近,可以加
offset参数微调位置,比如offset=-2就是向K线方向偏移2个单位像素。 - 如果想要箭头大小更醒目,把
size=size.small改成size=size.normal或者size=size.large即可。
注意:如果你的脚本引用了多周期数据,做交叉判断的两个均线变量必须和你实际在图表上绘制的均线变量完全一致,否则会出现信号和K线错位的问题。
内容的提问来源于stack exchange,提问作者Giancarlo Barbini MD
相关产品推荐
相关产品推荐

