pine-script - 在不满足条件的情况下触发警报 - 你能帮忙吗?需要 pinescript 帮助
问题描述
首先,我想说我是一个完全的外行,所以你需要帮助我,就像我用蜡笔写字一样。
话虽如此,我已尝试将警报添加到以前没有的指示器。我已经设法让他们以我想要的能力进入警报工具。但是,当相关标签(^ 或 v)打印在图表上时触发警报,并且当我创建警报(无论工具设置如何)时,它会发送警报,基本上没有条件,基本上在每根柱线收盘时如果这是选择的设置。
我遵循了类似的问题和答案,指示使用标志来完成此操作。但是,它没有按预期工作。我认为这可能是因为标志是根据执行它的 if 函数触发的,并且在“label.new”函数行中可能有一些我不完全理解的编码,在打印实际标签之前给它更多逻辑?
这是我得到的最接近的结果,我之前曾尝试使用标签本身,或者 if 逻辑本身作为警报条件函数的限定符。我已经包含了代码的照片,但还包括下面的复制粘贴。
更新:
正如建议的那样,我试图将标志定义为 var 变量。不幸的是,这根本没有改变警报的效果。
我一直在尝试按照建议从“循环”中提取绘图逻辑和警报。但是,恐怕我的无知可能会限制我遵循指示的能力。我已经尝试了本地和全球范围内的警报。仍然无法得到它。..................................................... ...
h = input(8.,'Bandwidth') src = input(close,'Source') //---- n = bar_index var ln = array.new_line(0) var LONG = false var SHORT = false if barstate.isfirst for i = 0 to 499 array.push(ln,line.new(na,na,na,na)) //---- float y2 = na float y1 = na float y1_d = na //---- line l = na label lb = na if barstate.islast for i = 0 to min(499,n-1) sum = 0. sumw = 0. for j = 0 to min(499,n-1) w = exp(-(pow(i-j,2)/(h*h*2))) sum += src[j]*w sumw += w y2 := sum/sumw d = y2 - y1 l := array.get(ln,i) line.set_xy1(l,n-i+1,y1) line.set_xy2(l,n-i,y2) line.set_color(l,y2 > y1 ? #ff1100 : #39ff14) line.set_width(l,2) if d > 0 and y1_d < 0 label.new(n i+1,src[i],'▲',color=#00000000,style=label.style_label_up,textcolor=#39ff14,textalign=text.align_center) LONG := true if d < 0 and y1_d > 0 SHORT := true label.new(n-i+1,src[i],'▼',color=#00000000,style=label.style_label_down,textcolor=#ff1100,textalign=text.align_center) y1 := y2 y1_d := d //--------- ALERTING alertcondition(LONG, title='BUY', message='LONG {{ticker}} TIMEFRAME {{interval}}') LONG := false //reset flag alertcondition(SHORT, title='Sell', message='SHORT {{ticker}} TIMEFRAME {{interval}}') SHORT := false //reset flag
解决方案
推荐阅读
- google-cloud-functions - 如何使用 REST 模板在本地调用经过身份验证的云函数
- distribution - 测试 R 或 Python 中不同组的多峰分布差异
- javascript - Ruby on Rails 6 - 实现 javascripts (chess.js)
- sql - 有编译器问题以及游标问题的声明?
- mysql - 从另一个表创建具有多个 SUM 的新表
- c++ - 如何通过索引访问数据
- ssis - 在 SSIS 2019 中面临查找转换的问题
- python - 如何让我的代码返回网格中可用的每个字符串?
- reactjs - 带 setTimeout 的 onClick 事件的高级时间(以毫秒为单位)
- python-3.x - Python,TypeError:缺少 1 个必需的位置参数。仅在使用 ThreadPoolExcecutor 的提交功能时