PINE LIBRARY
Updated OHLC

📕 LIBRARY OHLC
🔷 Introduction
This library is a custom library designed to work with real-time bars. It allows to easily calculate OHLC values for any source.
Personally, I use this library to accurately display the highest and lowest values on visual indicators such as my progress bars.
🔷 How to Use
◼ 1. Import the OHLC library into your TradingView script:
Pine Script®
- or -
Instead of the library namespace, you can define a custom namespace as alias.
Pine Script®
◼ 2. Create a new OHLC source using the `new()` function.
Pine Script®
- or -
If you has set up an alias before.
Pine Script®
===
In that case, your `<OHLC.src>` needs to be `na`, define your object like that
Pine Script®
◼ 3. Call the `hydrateOHLC()` method on your OHLC source to update its values:
Basic
Pine Script®
- or -
Inline
Pine Script®
◼ 4. The data is accessible under their corresponding names.
Pine Script®
🔷 Note: This library only works with real-time bars and will not work with historical bars.
🔷 Introduction
This library is a custom library designed to work with real-time bars. It allows to easily calculate OHLC values for any source.
Personally, I use this library to accurately display the highest and lowest values on visual indicators such as my progress bars.
🔷 How to Use
◼ 1. Import the OHLC library into your TradingView script:
import cryptolinx/OHLC/1
- or -
Instead of the library namespace, you can define a custom namespace as alias.
import cryptolinx/OHLC/1 as src
◼ 2. Create a new OHLC source using the `new()` function.
varip mySrc = OHLC.new() // It is required to use the `varip` keyword to init your `<OHLC.src>`
- or -
If you has set up an alias before.
varip mySrc = src.new()
===
In that case, your `<OHLC.src>` needs to be `na`, define your object like that
varip <OHLC.src> mySrc = na
◼ 3. Call the `hydrateOHLC()` method on your OHLC source to update its values:
Basic
float rsi = ta.rsi(close, 14)
mySrc.hydrateOHLC(rsi)
- or -
Inline
rsi = ta.rsi(close, 14).hydrateOHLC(mySrc)
◼ 4. The data is accessible under their corresponding names.
mySrc.open
mySrc.high
mySrc.low
mySrc.close
🔷 Note: This library only works with real-time bars and will not work with historical bars.
Release Notes
v2- Updated documentation
Release Notes
v3- Updated documentation
- Renamed `src.length` to `src.update_no`
Release Notes
🔷 Release Notes v4🔷 What's New
- Renamed hydrateOHLC to hydrate.
- Optimized hydrate() method for improved performance
- Added support for series int input in hydrate()
- Optimization - varip declaration now handled internally
- Improved documentation and examples
🔷 Key Features
- Easy calculation of OHLC values for any source
- Real-time bar support
- Flexible integration with existing scripts
🔷 How to Use
1. Import the updated OHLC library:
import cryptolinx/OHLC/4 as ohlc
2. Create a new OHLC source:
mySource = ohlc.src.new()
3. Update the OHLC values:
rsi = ta.rsi(close, 14).hydrate(mySource)
or
mySource.hydrate(rsi)
4. Access the OHLC data:
mySource.open
mySource.high
mySource.low
mySource.close
mySource.update_no
🔷 Optimization Improvements
- The varip keyword is now automatically applied internally, eliminating the need for manual declaration
- This change simplifies usage and ensures optimal performance by default
🔷 Note
This library is designed for real-time bars and may not provide accurate results with historical data.
Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.
Pine library
In true TradingView spirit, the author has published this Pine code as an open-source library so that other Pine programmers from our community can reuse it. Cheers to the author! You may use this library privately or in other open-source publications, but reuse of this code in publications is governed by House Rules.
Disclaimer
The information and publications are not meant to be, and do not constitute, financial, investment, trading, or other types of advice or recommendations supplied or endorsed by TradingView. Read more in the Terms of Use.