gpt4 book ai didi

pine-script - 如何使用 pine 脚本查找一天的最后一个柱

转载 作者:行者123 更新时间:2023-12-04 09:56:33 25 4
gpt4 key购买 nike

我需要在特定时间平仓,例如我想在 15:15 平仓。

pine 脚本中是否有内置函数来检查时间?

最佳答案

方法一
这是一个使用简单函数的研究,该函数在常规 session 的第一个柱上触发 TRUE,允许您使用引用运算符来识别最后一个柱。如果您不需要它在实时/日内工作,这可能很有用。

// https://uk.tradingview.com/u/trader-ap2/#published-scripts

//@version=4
study("Last Bar", overlay=true)

// Last Bar of Regular Session
f_isLastBar() =>
t = time("1440", session.regular) // Resolution of 1440 = 60*24 minutes in a whole day
not na(t[1]) and na(t) or t[1] < t

if f_isLastBar()
label.new(bar_index[1], high, "Last Bar")
注意 :这对历史数据有效。如果盘中/实时需要,它不起作用,因为它在第二天常规 session 的第一个柱上触发,或者使用当天“延长时间(仅限日内)” session 的第一个柱的解决方法,如果它被打开添加指标时,在图表的设置中打开。在图表上启用延长时间可能会对其他指标产生计算影响,例如 VWAP、EMA、SMA 等。
方法二
这是修改为使用 input.session 参数来配置 session 持续时间的代码
// https://uk.tradingview.com/u/trader-ap2/#published-scripts

//@version=4
study("Custom Session Duration", overlay=true)

i_session = input(defval="0930-1545", title="   Session", type=input.session)

// Last Bar of Custom Session
f_isLastBar() =>
t = time("1440", i_session) // Resolution of 1440 = 60*24 minutes in a whole day
not na(t[1]) and na(t) or t[1] < t

if f_isLastBar()
label.new(bar_index, high, "Last Bar")
注意 :这对日内/实时有效,可用于配置任何自定义 session 。它还可以处理交易所交易品种的首日上市。它不会自动处理在特定公共(public)假期或之前提前关闭交易所的情况,例如平安夜或新年前夜。这些天需要调整 input.session 。
方法三
// https://uk.tradingview.com/u/trader-ap2/#published-scripts

//@version=4
study("Last Bar", overlay=true)

// Last Bar of Regular Session
f_isLastBar() =>

var int sessionDuration = na
var int sessionCalculatedLastBarTime = na

t = time(resolution = "1440", session = session.regular) // Resolution of 1440 = 60*24 minutes in a whole day

// Calculate regular session duration for the symbol using very first day of the Bar Set
if na(sessionDuration) and (na(t[1]) and not na(t) or t[1] < t)
sessionDuration := (time[1] - t[1])

// Calculate time of the session's last bar by adding session duration to the time of the first bar of the session
// This does not correctly handle early close of exchange on or ahead of public holiday
// This will also not work correctly in realtime on the very first day of a new symbol listing on an Exchange
if na(t[1]) and not na(t) or t[1] < t
sessionCalculatedLastBarTime := t[0] + sessionDuration

// Return true if current bar's time == session's calculated last bar time otherwise return false
time[0] == sessionCalculatedLastBarTime

if f_isLastBar() and barstate.isconfirmed
label.new(bar_index, high, "Last Bar")
注意 :这通过使用图表栏集的第一天但在第二天的开盘栏触发来计算交易品种的常规 session 持续时间来工作
它可以实时有效地工作,但有以下限制:
  • 它确实 不是 处理交易所提前关闭的日子,例如平安夜或新年前夜。
  • 它确实 不是 实时处理交易所第一天列出的交易品种的最后一根柱,因为它在第二个常规日的第一根柱上被触发,或者作为一种解决方法,它可以由“延长时间(盘中)的开盘柱触发仅当指标添加到图表时启用图表设置。
  • 关于pine-script - 如何使用 pine 脚本查找一天的最后一个柱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61904608/

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