首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pine-script如何获得交叉点的y坐标

Pine-script是一种专门用于编写TradingView上的技术指标和策略的脚本语言。它可以帮助交易者通过自定义指标和策略来分析市场走势和制定交易决策。

要获得交叉点的y坐标,需要使用Pine-script中的plot函数来绘制指标线,并使用cross函数来判断两条指标线的交叉点。以下是一个示例代码:

代码语言:txt
复制
//@version=4
study(title="交叉点的y坐标示例", shorttitle="交叉点y坐标", overlay=true)

// 定义两条指标线
line1 = sma(close, 10)
line2 = sma(close, 20)

// 判断交叉点
crossUp = cross(line1, line2) and line1[1] < line2[1]
crossDown = cross(line2, line1) and line1[1] > line2[1]

// 绘制指标线和交叉点
plot(line1, color=color.blue, title="线1")
plot(line2, color=color.red, title="线2")
plotshape(crossUp ? line1 : na, title="上交叉点", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(crossDown ? line1 : na, title="下交叉点", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)

// 获取交叉点的y坐标
crossUpY = valuewhen(crossUp, line1, 0)
crossDownY = valuewhen(crossDown, line1, 0)

// 打印交叉点的y坐标
plot(crossUpY, color=color.green, title="上交叉点的y坐标")
plot(crossDownY, color=color.red, title="下交叉点的y坐标")

在上述示例代码中,我们使用了sma函数来计算两条移动平均线(line1和line2),然后使用cross函数来判断两条线的交叉点。通过plotshape函数,我们可以在交叉点处绘制相应的形状,如上箭头和下箭头。

为了获取交叉点的y坐标,我们使用了valuewhen函数。该函数可以在满足条件时返回指定序列的值。在这里,我们分别获取了上交叉点和下交叉点的y坐标,并使用plot函数将其绘制在图表上。

请注意,以上示例代码仅为演示目的,实际使用时可能需要根据具体需求进行修改和优化。

推荐的腾讯云相关产品:由于问题要求不能提及具体的云计算品牌商,这里无法给出腾讯云相关产品的推荐。但腾讯云提供了丰富的云计算服务,包括云服务器、云数据库、云存储等,可以根据具体需求选择适合的产品。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python 利用Python操作excel表格之openyxl介绍Part2

## 绘图 c = LineChart() # 设置图标类型:LineChart 连线图 AreaChart 面积图 c.title = 'CPU利用率' # 设置生成图的报告名称 c.style = 10 # 设置图例样式 c.y_axis.title = '百分比' # 设置 Y 轴名称 c.x_axis.title = '时间' # 设置 X 轴名称 c.y_axis.scaling.min = 0 # 设置y轴坐标最的小值 c.y_axis.majorUnit = 10 # 设置主y轴坐标,两个“坐标刻度”直接的间隔 c.y_axis.scaling.max = 100 # 设置主y轴坐标的最大值 # 设置 data引用数据源:第2列到第列(包括第2,10列),第1行到第30行,包括第1, 30行 data = Reference(sheet, min_col=2, max_col=10, min_row=1, max_row=30) c.add_data(data, titles_from_data=True) # 设置x轴 坐标值,即轴标签(Label)(从第3列,第2行(包括第2行)开始取数据直到第30行(包括30行)) x_labels = Reference(sheet, min_col=1, min_row=2, max_row=30) c.set_categories(x_labels) c.width = 18 # 设置图表的宽度 单位 cm c.height = 8 # 设置图表的高度 单位 cm # 设置插入图表位置 cell = "A10" sheet.add_chart(c, cell) # 绘制双y坐标轴图表 sheet = work_book['DEV'] c1 = AreaChart() # 面积图 c1.title = '磁盘活动统计报告' c1.style = 10 # 10 13 11 c1.y_axis.title = '平均时长(毫秒)' c1.x_axis.title = '时间' c1.y_axis.majorGridlines = None first_row = [] # 存储第一行记录 # 获取第一行记录 for row in sheet.rows: for cell in row: first_row.append(cell.value) break # 拼接系列的方式 target_columns = ['await', 'svctm'] for target_column in target_columns: index = first_row.index(target_column) ref_obj = Reference(sheet, min_col=index + 1, min_row=2, max_row=300) series_obj = Series(ref_obj, title=target_column) c1.append(series_obj) x_labels = Reference(sheet, min_col=1, min_row=2, max_row=300) c1.set_categories(x_labels) c1.width = 18 c1.height = 8 c2 = LineChart() c2.y_axis.title = '磁盘利用率' c2.y_axis.scaling.min = 0 # 设置y轴坐标最的小值 #c2.y_axis.majorUnit = 5 # 设置主y轴坐标的坐标单位 c2.y_axis.scaling.max = 100 # 设置主y轴坐标的最大值 ref_obj = Reference(sheet, min_col=8, min_row=2, max_row=300) series_obj = Series(ref_obj, title='%util') c2.append(series_obj) s = c2.series[0] # 获取添加第一个系列 # 设置线条填充颜色,也是图例的颜色 s.graphicalProperties.line.solidFill = "DEB887" # 设置线形 可选值如下: # ['solid', 'dot', 'dash', 'lgDash', 'dashDo

02
领券