我如何通过 pinescript 请求更高的时间框架趋势线以显示在较低的时间框架上?

问题描述 投票:0回答:1

在一些帮助下,我已经能够成功地获得趋势线,以在最多 100 根蜡烛的外柱上绘制扩大的形态。我已经能够启用颜色输入,并让趋势线到达最低/最高的前一根蜡烛或最远的前一根蜡烛,只要它在外部柱内。

我的问题是......我怎样才能让我的脚本从更高的时间范围(每周、每月、每年)拉出扩大的形态,并在更小的时间范围内显示它们? (每天、4 小时、1 小时等)?

我知道需要有一个安全功能,但我不确定如何将其添加到代码中。我正在为这个问题挠头,请提供一些帮助。谢谢。

//@version=5
indicator("Mega",overlay = true)

OutsideBar = high > high[1] and low < low[1]
OnlyShowOnWeekly = input(true,"Only Show OnWeekly")

OkToShow = OnlyShowOnWeekly == false or timeframe.isweekly

ConnectTo = input.string("Furthest Candle",options = ["Furthest Candle","Lowest/Highest Candle"])

var color ln_col = input.color(color.new(color.red, 0), title="BF Color")
var color ln_col2 = input.color(color.new(color.red, 0), title="BF Color")

if OutsideBar and OkToShow
    float lv = na
    float hv = na
    int lt = na
    int ht = na
    
    for i = 1 to 100
        if high[i] < high and low[i] > low
            if ConnectTo == "Lowest/Highest Candle"
                if na(lv)
                    lv := low[i]
                    lt := time[i]
                else
                    if low[i] > lv or OutsideBar[i]
                        lv := low[i]
                        lt := time[i]
                if na(hv)
                    hv := high[i]
                    ht := time[i]
                else
                    if high[i] < hv or OutsideBar[i]
                        hv := high[i]
                        ht := time[i]
            else
                lv := low[i]
                lt := time[i]
                hv := high[i]
                ht := time[i]
        else
            break
    
    if not (na(hv) or na(lv))
        line.new(ht,hv,time,high,xloc = xloc.bar_time,extend = extend.right, color=ln_col)
        line.new(lt,lv,time,low,xloc = xloc.bar_time,extend = extend.right, color=ln_col2)

附上到目前为止我的代码。

pine-script-v5 trading tradingview-api trendline
1个回答
0
投票

request.security计算highlow
并检查它是否不重绘

类似的东西:

i_htf        = input.timeframe  ('', 'Select Higher Timeframe')
highHft      = request.security(syminfo.tickerid, i_htf,
               high[1],
               lookahead = barmerge.lookahead_on)  //No repaint
© www.soinside.com 2019 - 2024. All rights reserved.