gpt4 book ai didi

pine-script - 如何在Tradingview的pinescript中的某个时间画一条垂直线?

转载 作者:行者123 更新时间:2023-12-04 01:35:08 52 4
gpt4 key购买 nike

我想每天在某个本地时间(例如 08:00 GMT+1)画一条垂直线。

由于我的 last post 关于垂直线,pine-script 已更新为包括 vline() ,但是,这里的问题是获取正确的时间。大多数服务器(用于 FX)似乎是基于美国的,并且交易 View 本地时间设置(显示在左下角)似乎完全独立于 pine-script 中所做的事情。

//@version=4
study("Time Adjusted Vertical Line", overlay=true)

vline(BarIndex, Color, LineStyle, LineWidth) => // Verticle Line, 54 lines maximum allowable per indicator
return = line.new(BarIndex, -1000, BarIndex, 1000, xloc.bar_index, extend.both, Color, LineStyle, LineWidth)

if(bar_index%10==0.0)
vline(bar_index, #FF8000ff, line.style_solid, 1) // Variable assignment not required

我无法让上述工作,但我得到这个至少显示线条:

//@version=4
study(title="Time Based Session Bars", shorttitle="NowOpen", overlay=true)
line_height = 2 // We must define a height that reaches far above the highest price level in main chart!

gmt_offs = 2 // GMT + X
nys_offs = 6 // EST (in GMT)

t1 = time(timeframe.period, "0930-0935:23456")
//t1 = time(timeframe.isintraday, "0930-0935:23456")
//t2 = t1 + gmt_offs*60*60*60
t2 = t1 + 2
plot(na(t2) ? 0 : line_height, title='Hello!', color=#101010, linewidth=1, style=plot.style_histogram, transp=50, offset=0, trackprice=false)

但是,这些行是完全错误的:

enter image description here

如何扩展上面的代码,在每天的某个时间绘制一条垂直线,并获得正确的时间位置?

可能有用的链接:
  • Sessions and time functions(官方文档)
  • Sessions_and_time_functions(Github repo 文档)
  • Introducing Pine-script-4


  • 更新

    多亏了 PineCoders-LucF,我能够大致得到我想要的东西,代码如下:

    //@version=4
    study("Line at time",overlay=true)

    t1 = timestamp("GMT+2", year, month, dayofmonth, 07, 00, 00)
    //t2 = timestamp("GMT+2", year, month, dayofmonth, 10, 00, 00) // Uncomment this to make a range
    t2=t1 // Comment out this to use a range
    bgcolor( (time >= t1) and (time <= t2) ? color.silver : na, transp = 0)

    但是,此代码有两个问题。
  • 它没有使用很好的 timeframe.period 功能,它允许您在一个地方指定特定的日期和时间间隔。
  • 它把这条线放在蜡烛的“中间”,所以如果你在 1H 图表上并且想要一条 08.00 的线,它就会把它放在中间。因此不适合作为警报/信号,除非您使用 <= 1 分钟的时间范围。
  • 最佳答案

    版本 1

    timestamp() 的一个版本函数可以使用时区参数:

    //@version=4
    study("Line at time", overlay=true)
    targetTime = timestamp("GMT+1", year, month, dayofmonth, 08, 00, 00)
    bgcolor(targetTime == time ? color.silver : na, transp = 0)

    // Debugging: these plots lines in separate window
    plot(targetTime, "targetTime", color.orange)
    plot(time, "time")

    图表以 UTC+1 次显示,指标设置为“无标度”以不破坏价格标度:

    enter image description here

    版本 2

    使用此版本,您可以选择:
  • 从/到小时范围
  • 仅在工作日显示线路
  • 在 bgcolor 或 vline 模式之间

  • //@version=4
    study("Line at time",overlay=true)
    fromHour = input(7)
    toHour = input(10)
    weekdaysOnly = input(true)
    useVline = input(false)
    dayIsOk = not weekdaysOnly or (dayofweek != dayofweek.saturday and dayofweek != dayofweek.sunday)
    t1 = timestamp("GMT+2", year, month, dayofmonth, fromHour, 00, 00)
    t2 = timestamp("GMT+2", year, month, dayofmonth, toHour, 00, 00)
    timeIsOk = (time >= t1) and (time <= t2)
    bgcolor( not useVline and timeIsOk and dayIsOk ? color.orange : na, transp = 80)
    if useVline and timeIsOk and dayIsOk
    line.new(bar_index, low * .9999, bar_index, high * 1.0001, xloc.bar_index, extend.both, #FF8000ff, line.style_solid, 1)

    enter image description here

    关于pine-script - 如何在Tradingview的pinescript中的某个时间画一条垂直线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59828610/

    52 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com