Как различить guish между RTH и ночными сессиями в TradingView - PullRequest
0 голосов
/ 30 марта 2020

Предполагая, что мы сейчас на сессии RTH. Я пытаюсь автоматически нарисовать линии OHL C (точки разворота) в текущем сеансе RTH для предыдущего сеанса RTH и сеанса овернайт.

Вот что я имею до сих пор. Но это рассматривает сеанс как 24-часовой период и не различает guish между ночным и РУТ. Сценарий можно найти здесь: https://www.tradingview.com/script/HDQuJjio-OHLC-Previous-Session-Lines-24hr/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TopStepLocal

//@version=4
// Pivots for Previous Session OHLC
// TODO: add pivots for Overnight session, that are distinct from Previous RTH session
//

study("OHLC Previous Session Lines", overlay=true)

higherTF = input("D", type=input.resolution)


prevOpenHTF = security(syminfo.tickerid, higherTF, open[1], lookahead=true)
prevCloseHTF = security(syminfo.tickerid, higherTF, close[1], lookahead=true)
prevHighHTF = security(syminfo.tickerid, higherTF, high[1], lookahead=true)
prevLowHTF = security(syminfo.tickerid, higherTF, low[1], lookahead=true)

var line prevCloseHTF_line = na
var line prevOpenHTF_line = na
var line prevHighHTF_line = na
var line prevLowHTF_line = na

if prevOpenHTF[1] != prevOpenHTF
    line.set_x2(prevOpenHTF_line, bar_index)
    line.set_x2(prevCloseHTF_line, bar_index)
    line.set_x2(prevHighHTF_line, bar_index)
    line.set_x2(prevLowHTF_line, bar_index)
    line.set_extend(prevOpenHTF_line, extend.none)
    line.set_extend(prevCloseHTF_line, extend.none)
    line.set_extend(prevHighHTF_line, extend.none)
    line.set_extend(prevLowHTF_line, extend.none)
    prevOpenHTF_line := line.new(bar_index, prevOpenHTF, bar_index, prevOpenHTF, extend=extend.right,  width=3, color=color.white)
    prevCloseHTF_line := line.new(bar_index, prevCloseHTF, bar_index, prevCloseHTF, extend=extend.right,  width=3, color=color.gray)
    prevHighHTF_line := line.new(bar_index, prevHighHTF, bar_index, prevHighHTF, extend=extend.right,  width=3, color=color.green)
    prevLowHTF_line := line.new(bar_index, prevLowHTF, bar_index, prevLowHTF, extend=extend.right,  width=3, color=color.red)
    label.new(bar_index, prevOpenHTF, "OPEN", style=label.style_none, textcolor=color.white, textalign=text.align_right)
    label.new(bar_index, prevCloseHTF, "CLOSE", style=label.style_none, textcolor=color.gray, textalign=text.align_right)
    label.new(bar_index, prevHighHTF, "HIGH", style=label.style_none, textcolor=color.green, textalign=text.align_right)
    label.new(bar_index, prevLowHTF, "LOW", style=label.style_none, textcolor=color.red, textalign=text.align_right)

if not na(prevOpenHTF_line) and line.get_x2(prevOpenHTF_line) != bar_index
    line.set_x2(prevOpenHTF_line, bar_index)
    line.set_x2(prevCloseHTF_line, bar_index)
    line.set_x2(prevHighHTF_line, bar_index)
    line.set_x2(prevLowHTF_line, bar_index)
...