pine-script - 想将三元运算符转换为循环
问题描述
我正在制作一个指标,我只想保存high[100]
99 candelse 之后的值是否小于high[100]
.
我想保持这个值,直到我得到另一个类似的条件,最后一个high[100]
高于或低于新high[100]
条件都没有关系。
我试着在一个循环中做,但因为我对循环很陌生,所以我还没有成功。
//@version=3
strategy("trend hybrid",overlay=true)
long_2 = highest(high,100)
high_long = high[100]
long_test = highest(high,99)
long = na
long := long_test <= high_long ? high_long : long[1]
plot(long)
//@version=3
study("For Loop tutorial - Example 6")
l = high[100]
y = high
for i = 99 to 1
if high[i] <= high[l]
break
y := l
plot(y, style=line, color=green, linewidth=3)
解决方案
这可能是您正在寻找的。请记住,检测您的状况需要 100 条,因此蓝色标签和线条印有您length - 1
过去的偏移量。只有检测到新高时出现的紫红色圆圈才会绘制在检测到的蜡烛上。您可以在Inputs中更改长度。
//@version=4
study("", "", true)
length = input(100)
highBar = -highestbars(length) == length - 1
var highValue = 0.
if highBar
highValue := high[length - 1]
label.new(bar_index[length - 1], highValue, tostring(highValue), xloc.bar_index, yloc.price, size = size.normal)
plot(highValue, "highValue", offset = -(length - 1))
plotchar(highBar, "High detected", "•", location.abovebar, color.fuchsia, size = size.small)
推荐阅读
- python-3.x - 查找男性和女性的百分比
- vba - VBE 插入菜单中的其他项目
- python - SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape data text file
- java - 从输入写入文本文件
- flutter - 不能使用相机包
- java - Java Streams Collectors.toList() with map() vs mapToInt()
- git - Git 树图 - 正方形、圆形和不同颜色显示什么?
- generics - Kotlin 从泛型类型中获取属性
- c# - 将 char[] 缓冲区传递给 XmlSerializer
- c# - 'Newtonsoft.Json' 中都存在'JsonConvert' 类型