我是使用 TradingView 的 Pinescript 的新手,很难找到一个易于理解的脚本示例。我习惯了 Java/C++ 和 Pinescript 是非常不同的。我正在尝试构建一个脚本来扫描股票图表并寻找超过 5% 的差距。这是我要创建的伪代码:
if(当日开盘价与前一日收盘价差 > 5%) { 绘制绿色圆圈或红色圆圈,取决于差距是向上还是向下}
先感谢您!
我是使用 TradingView 的 Pinescript 的新手,很难找到一个易于理解的脚本示例。我习惯了 Java/C++ 和 Pinescript 是非常不同的。我正在尝试构建一个脚本来扫描股票图表并寻找超过 5% 的差距。这是我要创建的伪代码:
if(当日开盘价与前一日收盘价差 > 5%) { 绘制绿色圆圈或红色圆圈,取决于差距是向上还是向下}
先感谢您!
Pine 脚本易于使用;最初它有点难以理解,一旦开始使用它,它就变得对制定逻辑非常有用。
在您的情况下,您也可以使用条件运算符来检测这一点。这将在版本 2 中工作。版本 3 有点不同
//version =2
study(title ="Experementing the code ",overlay =true ,shorttitle ="testing") //overlay=false to get this down of the chart as seperate layout
plotchar( (close-close[1])/close[1] >0.05 ? 1:na ,char =' ',text ="plot\nTest",textcolor=red,size.huge)
您可以使用 ?: 运算符代替 if 条件来完成这项工作。
请确保 plotchar(.....) 进入同一行,而不是单独的行。
Pine 有很多很酷的功能可供使用,并帮助我制定了自己的策略。教程真的很好。
请注意,如果您不将 char='' 放在上面,它将打印 STAR 作为默认字符。即使你把 char='testtest' 放在字符中,它也会打印唯一的 t 。
你最好的办法是通过他们的教程
如果您有任何编程背景,那么在这种语言中会有一些可能性选择,所以阅读它可能是一个好主意(它不是那么多)。例如
open
是当前柱线开盘价,但是open[1]
前一根柱线开盘价(因此应读作open[current_index-1]
)plot
在函数体内使用调用至于你的问题(未经测试,但应该足够接近以给出正确的想法):
study(title='gap detector', overlay=true)
//plotshape(<condition>, <options>) // condition must be true to plot something
is_percentage_increase = if (close-close[1])/close[1] > 0.05
true
plotshape(is_percentage_increase, style=shape.circle, color=green)