首页 > 解决方案 > 交易品种列表的交易视图 Pine 脚本的自定义筛选器

问题描述

我是 Pine 脚本的初学者。我正在尝试为 25 个符号的固定列表创建自定义筛选器和警报。

筛选器将扫描列表中 15 分钟蜡烛收盘价高于 Pivot 的符号。

我无法找到一种方法来获取前一天高点、低点、动态收盘价的固定交易品种列表。

我尝试使用 security(syminfo.tickerid,'D',high) 但syminfo.tickerid 将意味着它特定于当前显示的图表

你能帮忙吗?

当天枢轴水平的计算基于:

枢轴=(前一天高点+前一天低点+前一天收盘价)/3。

higherTF = input.timeframe("D") 
prevCloseHTF = request.security(syminfo.tickerid, higherTF, close[1], lookahead=barmerge.lookahead_on) 
prevHighHTF = request.security(syminfo.tickerid, higherTF, high[1], lookahead=barmerge.lookahead_on) 
prevLowHTF = request.security(syminfo.tickerid, higherTF, low[1], lookahead=barmerge.lookahead_on)  
pivot = ( prevHighHTF[1] + prevLowHTF[1] + prevCloseHTF[1] ) / 3

customFunc() => close > pivot  // The close should be the current 15minute candle close

s1  = security('BTCUSD', timeframe.period, customFunc())
s2  = security('ETHUSD', timeframe.period, customFunc())
s3  = security('XRPUSD', timeframe.period, customFunc())
s4  = security('LTCUSD', timeframe.period, customFunc())
s5  = security('USDTUSD', timeframe.period, customFunc())

scr_label = 'Pivot Screener: \n##########\n'

scr_label := s1  ? scr_label + 'BTCUSD\n'  : scr_label
scr_label := s2  ? scr_label + 'ETHUSD\n'  : scr_label
scr_label := s3  ? scr_label + 'XRPUSD\n'  : scr_label
scr_label := s4  ? scr_label + 'LTCUSD\n'  : scr_label
scr_label := s5  ? scr_label + 'USDTUSD\n' : scr_label

alert_message = "Above Pivot : " + scr_label + "\n\n"

// Send an alert
alert(alert_message, freq = alert.freq_once_per_bar_close )

不幸的是,我不知道如何为这 5 个动态计算枢轴信息的固定符号运行 customFunc()。

我在另一个工具中实现了类似的警报系统。概念是一样的。

有通过以下条件筛选的固定符号列表。如果这是真的,那么我会收到警报。

每日枢轴警报示例上方15 分钟收盘价:

策略示例

标签: pine-scriptalgorithmic-tradingtrading

解决方案


您可以使用历史引用运算符来引用历史数据。例如,close[2]将返回前两根柱线的收盘价。

因此,您的枢轴计算应该是:

pivot = (high[1] + low[1] + close[1])/3

security()然后在你的调用中使用这个变量。


推荐阅读