QQQ NQ NDX SPY SPX ES Price Convert Overlay
_____________________________________________________________________
QQQ NQ NDX SPY SPX ES Price Convert Overlay Indicator
____________________
This 'Prices Overlay' indicator is a minimalist tool for traders who want to track and compare Nasdaq and S&P 500 instruments quickly and clearly, boosting efficiency and decision-making with minimal distraction.
How to Use It
____________________
Add the indicator onto your TradingView chart.
Adjust your Right Margin in TradingView Settings > Canvas to show as much or as little of the line as you want, based on the "Price Buffer" indicator setting.
Select which instruments to overlay (e.g., QQQ, SPX).
Adjust levels, buffer, font, transparency, and update interval.
Features and Functions
____________________
1. Automatic Ticker Detection:
The indicator identifies the ticker of your current chart (e.g., NQ, ES, SPY).
It then shows price levels for related instruments, eg:
On an NQ or MNQ chart, it can display QQQ or NDX levels.
On an ES or MES chart, it can display SPY or SPX levels.
...and vice versa
2. Adjustable Number of Levels
You can choose how many price levels to show, from 10 to 100.
This lets you decide how much detail you want based on your trading needs.
3. Visual Customization
Price Buffer: Move the lines and labels horizontally closer/further price action.
Font Size: Pick from "Tiny," "Small," or "Normal" for label text size.
Line Transparency: Adjust the opacity of the lines (0% = solid, 100% = invisible) to blend them with your chart.
4. Support for Micro Futures
Works with both regular futures (NQ, ES) and micro futures (MNQ, MES), perfect for traders using smaller contract sizes.
5. Update Frequency
Set how often the price levels refresh, from every 5 seconds to every 60 seconds.
This keeps the data current without slowing down your chart.
6. Accurate Price Conversion
Uses specific multipliers for each instrument (e.g., 100.0 for NDX and SPX, 1.0 for QQQ and SPY) to calculate and display price levels correctly.
Fetches real-time prices and converts them to match your chart’s scale.
Price conversions courtesy of PtGambler.
Benefits
____________________
Easier Analysis: See how prices from different instruments line up on one chart—no need for multiple screens or math.
Customizable: Turn on/off instruments and tweak visuals to fit your trading style.
Time-Saving: Automates price conversions, letting you focus on trading decisions.
Thanks!
____________________
Thank you for your interest in my work. This is something I use every day for my trading and wanted to share it with the public. If you have any comments, bugs, or suggestions, please leave them here, or you can find me on Twitter or Discord.
@ ContrarianIRL
Open-source developer for over 25 years
Convert
intoLibrary "into"
convert literals by type,
Same-types left in for bulk reasons.
TODO: Expand Types
b(string)
Convert string to bool.
Parameters:
string : val A string value.
Returns: Bool.
b(bool)
Pass Bool/bool
Parameters:
bool :
Returns: Bool.
b(float)
Convert Float (True if exists and not 0)
Parameters:
float : val A float value.
Returns: Bool.
b(int)
Convert integer (True if exists and not 0)
Parameters:
int : val An integer value.
Returns: Bool.
f(bool)
Convert bool to float.
Parameters:
bool : val A boolean value.
Returns: Float.
f(string, int)
Convert with decimal
Parameters:
string : val A string value.
int : decimals Decimal places. def = 6
Returns: Float.
f(float, int)
Convert float bypass with decimals
Parameters:
float : val A float value.
int : decimals Decimal places. def = 6
Returns: Float.
f(int)
Convert integer to float.
Parameters:
int : val An integer value.
Returns: Float.
i(bool)
Convert bool to int.
Parameters:
bool : val A boolean value.
Returns: Int.
i(string)
Convert string number to int.
Parameters:
string : val A string value.
Returns: Int.
i(float)
Convert float to int.
Parameters:
float : val A float value.
Returns: Int.
i(int)
Convert int to int.
Parameters:
int : val An int value.
Returns: Int.
s(bool)
Convert bool value to string.
Parameters:
bool : val A boolean value.
Returns: String.
s(str)
bypass string
Parameters:
str : val A string value.
Returns: String.
s(float)
Convert float value to string.
Parameters:
float : val A float value.
Returns: String.
s(int)
Convert int value to string.
Parameters:
int : val An integer value.
Returns: String.
s(val)
Array Convert Each Item
Parameters:
val : Array Input (Str,Bool,Int,Float)
Returns: String.
s(val)
Array Convert Each Item
Parameters:
val : Array Input (Str,Bool,Int,Float)
Returns: String.
s(val)
Array Convert Each Item
Parameters:
val : Array Input (Str,Bool,Int,Float)
Returns: String.
s(val)
Array Convert Each Item
Parameters:
val : Array Input (Str,Bool,Int,Float)
Returns: String.
srcCalcLibrary "srcCalc"
Provides functions for converting input strings 'open','high','low','close','hl2','hlc3','ohlc4','hlcc4' to corresponding source values.
get_src(src)
Converts string to source float value
Parameters:
src : String to use (`close` is used if no argument is supplied).
Returns: Returns the float value of the string
jsonLibrary "json"
Convert JSON strings to tradingview
▦ FEATURES ▦
█ Json to array █ Get json key names █ Get json key values █ Size of json
get_json_keys_names(raw_json) Returns string array with all key names
Parameters:
raw_json : (string) Raw JSON string
Returns: (string array) Array with all key names
get_values_by_id_name(raw_json, key_name) Returns string array with values of the input key name
Parameters:
raw_json : (string) Raw JSON string
key_name : (string) Name of the key to be fetched
Returns: (string array) Array with values of the input key name
size_of_json_string(raw_json) Returns size of raw JSON string
Parameters:
raw_json : (string) Raw JSON string
Returns: Size of n_of_values, size of n_of_keys_names
TimeframeToMinutesLibrary "TimeframeToMinutes"
The timeframeToMinutes() function returns the number of minutes in an arbitrary timeframe string.
timeframeToMinutes()
Returns the number of minutes in the supplied timeframe string, which is arbitrary, i.e. it doesn't have to be the timeframe of the current chart but can be taken from an input.
The sole advantage over the short and neat Pinecoders f_resInMinutes function from their excellent MTF Selection Framework (at ) is that this one doesn't use up a security() call.
To convert the other way, from minutes to timeframe.period format, I would use the f_resFromMinutes function from the Pinecoders' MTF Selection Framework, which does not use security().
ERROR-CHECKING: It has light error-checking to try to make sure the string is in the format timeframe.period, e.g. 15S, 1 (minute), 60 (1H), 1D, 1W, 1M.
It will throw an error for some non-standard timeframes such as 30 hours (1800 minutes). Above 1440 minutes, only whole numbers of days are allowed. This is to be consistent with the security() function.
But it will allow some non-standard timeframes such as 7 hours (420 minutes). Such timeframes must still be supplied in the standard timeframe.period format.
param _tf
The timeframe to convert to minutes. Must be in timeframe.period format.
returns
An integer representing the number of minutes that the timeframe period is equivalent to.
yuan normizapply to symbols expressed/valued in Chinese Yuan to automatically divide the symbol by FX:USDCNH. For example, I like to apply OKCOIN:BTCCNY to my main BTCUSD chart to compare, but I'd like to have the value for BTCCNY converted to USD for each tick---whether USDCNY was 6.30 or 6.80.
This is a very narrow use script designed to be applied on top of of symbols (press the 'apply indicator' + sign button)