Volume [theEccentricTrader]OVERVIEW
This indicator simply bridges the gap between symbols from brokers that provide volume data and symbols from brokers that do not provide volume data. Users can select any symbol that provides volume data from the settings menu and the volume data will be displayed in histogram form on their current chart. The default volume symbol is CURRENCYCOM:US500.
CONCEPTS
Volume
Volume refers to the total number of shares or contracts that are traded during a given period of time. It is a measure of the amount of activity in the market and can be used to gauge the strength or weakness of a particular trend.
Volume is typically displayed as a histogram on trading charts, with each bar representing the total volume for a particular time period. High volume bars indicate a lot of trading activity, while low volume bars indicate relatively little trading activity.
Traders use volume in a number of ways. For example, they may use it to confirm a trend. If a stock is trending up and the volume is also increasing, this can be seen as a sign that the trend is strong and likely to continue. Conversely, if a stock is trending down and the volume is also increasing, this can be seen as a sign that the trend is weak and may be coming to an end. Volume can similarly be used to identify potential reversals. If a stock is trending up but the volume starts to decrease, this could indicate that the trend is losing momentum and that a reversal may be imminent.
FEATURES
Inputs
• Volume Symbol
Style
Users can change plot color and style from the default Style menu if so required.
NOTES
For 24-hour markets and forex volume I use the broker currency.com. As can be seen in the example above, I am using CURRENCYCOM:USDJPY to pull volume to a FOREXCOM:USDJPY chart, which otherwise would not show volume data as forex.com do not provide it.
Su Pine
Intra-Candles*For use with <=24 hour Hollow Candles *
Indicator for more informative candle plotting. Select from 2-6 lower timeframe candles and view the price action of the lower bars within the normal chart's candles. Plotting short time frame candles with a semi-transparent body lets you see reversals that occurred during the larger candle's formation. Use the information provided to inform your own trading decisions.
Trading Checklist - SonarlabTrading Checklist is a customizable indicator designed for traders who want to stay disciplined and stick to their trading rules. Using this indicator, you can easily create and display your own personalized checklist of trading rules directly on your TradingView chart.
The Title and the Body are two different sections, so you can set two different styles.
This indicator allows you to customize:
Text color
Text size
Text alignment
RedK DIY ZLMA: Customizable Zero-Lag MA (Educational / Utility)This script is more of an educational / utility piece rather than a fully-fledged indicator - It provides an easy way to customize and produce a zero-lag Moving average that can then be used in various scenarios
What is DIY_ZLMA?
------------------------
The DIY ZLMA is for fans and enthusiasts of researching Moving Averages (like me) - the script enables the user to play around with one of the common approaches used to reduce lag in moving averages - which was explained in this old post below
Suggested uses of the DIY_ZLMA
---------------------------------------
* The Zero-lag approach here applies 3 moving average passes to a source data series - I'll refer to these 3 passes as Base MA Pass , De-lagging Pass, and Smoothing Pass - these "passes" can be customized from the indicator settings in terms of MA Length and type. The first pass allows the choice of a "source", and the second pass allows additional fine tuning by playing around with the magnification factor. The 3rd pass (smoothing) is optional and can be skipped altogether when needed. (as noted in the script, HMA and TEMA, which are very common low-lag MA's use slightly different approach in the calculation than the one used here .. so we can't get an equivalent of either of these MA's with the customization of DIY_ZLMA parameters)
* After the user experiments with the various settings for the 3 passes, and finds a "preferred combination", the script not only plots the resulting My_ZLMA - it also produces the "1-line Pine script formula" that the user can then use in any other script, maybe to smoothen some data series, or to combine with other types of moving averages to create multi-MA cross-over trading signals... and so on.
* The DIY_ZLMA can also be added to another indicator as a signal line using the Indicator-on-Indicator feature of TradingView (review this post for step-by-step -->
)
* the script also showcases couple of recent (and very neat) Pine features: the use of User-defined Types (UDT) and User-defined Methods - which are awesome and a lot of fun to work with :)
Since this is more of a utility piece, I added as many comments as possible to the script to explain the way it works - so it's more valuable if someone finds it by searching the "Add Indicator" feature in TradingView charts
Please feel free to play around with this new toy :) and share comments and feedback below if you find this useful. I truly hope you do.
Trade Ideas to Discord WebhookTakes basic user inputs for entries, exits, stop loss and leverage.
Converts all inputs (removing unused ones) to an alert message.
Intended for use as a single alert / message.
Alert will fire as soon as activated - after that you should delete the alert to prevent multiple alerts being fired on subsequent candles.
Click Signal IndicatorThis is a Signal Indicator that emits signals based on mouse clicks when the indicator is added to the chart, or later on in the "Settings/Inputs" tab by changing/selecting the open time of the desired bar of each one of the signals.
It is designed to be used as an External Input for the "Template Trailing Strategy" to verify the correctness of the features the aforementioned script offers, and to provide an easy way to play around with this framework.
Last but not least this script offers a way to debug and report problems when this is necessary. Moreover, this script is a simple example you can copy-paste and create your own custom signal indicator that can be "plugged into"
the "Template Trailing Strategy" taking advantage of all the fancy stuff the TTS framework can provide!
To connect this signal indicator to the TTS you have to change the "Deal Conditions Mode" to '🔨External' and the 'External Input 🛈➡' to 'CSI:🔌Signal' in the TTS "Settings/Inputs" tab. For more information check the "Template Trailing Strategy - Part 02" video tutorial.
Vertical Lines 2A vertical line plotting function is missing in Pinescript. This is another method to plot vertical line on a chart, and an improvement on my previous script "vertical lines" .
The script hacks the plotcandle function to display just the wicks without the body. This hack simulates a vertical line. The body of the candle is non-existing since the open and close are the same and its color is set to null. The wicks are abutting resulting in a continuous vertical line.
Drawbacks include inability to set width and transparency of the lines. The plotcandle function does not allow setting the width and transparency of the wicks. This feature would be desirable.
The crossing of the RSI of overbought and undersold zones is used as an example in this published script. Any indicator can be used and this script can be executed on any other indicator by using "add indicator" on the desired indicator, and selecting the indicator as the source. I added crossover lines on the plotted RSI as an example.
//////////////////////////////////////////////////////Breakdown of the script////////////////////////////////////////////////////////
The src input determines which price data is used for the highest value calculation. By default, it is set to the close price.
The length input determines the length of the RSI calculation. By default, it is set to 14.
The mult input determines the multiplier of the highest value that is used to determine the height of the vertical lines. By default, it is set to 100%, meaning the lines will reach the highest value in the dataset.
The top and bot inputs determine the overbought and oversold levels for the RSI. By default, they are set to 70 and 30, respectively.
The current_rsi and previous_rsi variables calculate the RSI values for the current bar and the previous bar, respectively.
The hi_value variable finds the highest value in the dataset, and the hi variable calculates the height of the vertical lines based on the highest value and the user-defined multiplier. The lo variable calculates the distance between the highest value and the current price data.
The uph, dnh, upl, and dnl variables determine the height and low of the vertical lines for when the RSI crosses overbought or oversold levels.
The if statements check if the RSI has crossed overbought or oversold levels and set the uph, dnh, upl, and dnl variables accordingly.
Finally, the plotcandle() function is used to plot the vertical lines on the chart. The open and close values are set to the src input, and the high and low values are set to the uph, dnh, upl, and dnl variables. The bordercolor argument is set to na to hide the borders of the lines, and the wickcolor argument is set to green or red, depending on whether the line is an overbought or oversold crossover.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
USBOND_BackCalcDetermining bond prices from yields on US Treasuries.
Cannot be used because it is not a chart of US Treasuries and yields.
米国債の利回りから債券価格を求める。
米国債利回り以外のチャートでは使用できません。
債券価格 = 100 * (1 + 利回り(終値))^(-残年数)
[-_-] DictionaryThe script shows an example implementation of dictionary-like data type which can store key:value pairs (Python style). Both keys and values can have any of the following type:
• string
• integer
• float
• boolean
• color
You can add items of different types to the same dictionary (e.g. key = 12 and value = "value" stored in the same dictionary with key = "key" and value = 0.23).
Under the hood dictionary is a custom Object (see www.tradingview.com), that has two array fields (one for storing keys, another for storing values). Keys and values of different types are converted into a string representation when adding a new item to the dictionary. The value is then converted back to certain type (bool/color/etc.) from that string representation when being retrieved. Script also utilises the new Methods (see www.tradingview.com).
The following methods are implemented:
• init() -> initialises the array fields of dictionary (without this the script throws an error "Array methods can't be called when ID of array is na"
• set(key, value) -> add a new item to dictionary; if an item for given key already exists - change it to new value
• getS(key) -> get value of string type
• getI(key) -> get value of integer type
• getF(key) -> get value of float type
• getB(key) -> get value of boolean type
• getC(key) -> get value of color type
• remove(key) -> removes item from dictionary
• len() -> get length of dictionary (the number of keys)
I could not make just one "get" function that returns any type of value (color/string/etc.), so instead I created a get function for each value type. Example usage:
• you add a string item: dictionary.set(2, "string here")
• you add a float item: dictionary.set(3, 24.56)
• to retrieve first value (key=2) do this: dictionary.getS(2)
• to retrieve second value (key=3) do this: dictionary.getF(3)
Transmit signals to overlayThis indicator transmits signals from another indicator panel to the main panel through the chart.
It may be suitable when it is not possible to use the main indicator with the "overlay=true" attribute.
For the script to work, the input signal must be "1" for BUY and "0" for SELL.
Alternative words: transmit signals, send, connect, broadcast, copy signals, duplicate.
---
You can change display style:
---
You can use alerts:
Number Formatting Indian/USAThis is a Pine script that helps traders format numbers in different ways to make it easier to read and display big numbers on TradingView.
this script is specifically to help other fellow pinecoder. Its not a indicator.
The above code is an example of how to format numbers in TradingView using two different formats: Indian and USA. The code defines a function called `formatNumber()` which takes two arguments: num (the number to format) and format (the format to use - either "Indian" or "USA").
If the "Indian" format is selected, the function rounds the number to the nearest crore, lakh or thousand and adds the appropriate suffix (i.e. "Cr", "Lac" or "K"). If the "USA" format is selected, the function rounds the number to the nearest billion, million or thousand and adds the appropriate suffix (i.e. "B", "M" or "K").
In both cases, the function then adds commas to the formatted number. The example usage shows how to call the `formatNumber()` function with a given number and format, and then plot the formatted number as a label on the chart.
Investing Performance with vs without feesHello traders,
I had a chat with a friend recently who's using a fund manager services to invest for him in some US-based ETFs tracking the US indices.
I showed him using an online tool that those 2% annual fees he's paying to his fund manager are eating a lot of his profit overtime.
As I had some time, I decided to code this simulator in Pinescript because .... why not :)
@RicardoSantos already did that Compound Interest function ()
I added the n parameter being the number of times the interest is compounded per unit of time
Compound interest is calculated using the following formula
CI = P*(1 + R/n) (n*t) – P
Here,
P is the principal amount.
R is the annual interest rate.
t is the time the money is invested or borrowed for.
n is the number of times that interest is compounded per unit t, for example if interest is compounded monthly and t is in years then the value of n would be 12.
If interest is compounded quarterly and t is in years then the value of n would be 4.
For now, the script only works on a yearly chart - I might update it later making it compatible with other chart timeframes - assuming there is some demand for it
If there is, let me know in the comments down below
All the best
Dave
[CLX] Library Motion - Examples📑 Showcase
This is ready-to-show indicator version of the example code form the `motion` library. It can be used to create string- or color-based effects.
Library:
================================================================================
📑 Setup
To use this library in your own scripts, you must first import it. To do this, add the following line to the top of your script:
import cryptolinx/Motion/1 as motion
Next, create a `keyframe` object by using the `varip` keyword.
varip myKeyframe = motion.keyframe.new(_intv = 1, _steps = 1)
Based on your needs, you can now use one of the simplified functions to create a transition effect, or you can use the `transition()` or `iteration()` function to create a custom transition effect.
📑 Simplified Functions:
(direct output)
// motion.marquee(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _ltr)
motion.marquee(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideInLeft(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideInLeft(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideOutLeft(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideOutLeft(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideInRight(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideInRight(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.slideOutRight(keyframe myKeyframe, string _seq, int _ws, int _maxLoops, bool _refill)
motion.slideOutRight(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
// motion.blink(keyframe myKeyframe, string _seq, int _ws, int _maxLoops)
motion.blink(myKeyframe, 'Hello World!', 3, 0) // 0 = infinite loops
(indirect output)
// After you create a transition, you can use the `output` field of the `keyframe` object to get the result.
// motion.marquee(myKeyframe, 'Hello World!', 3, 0)
myKeyframe.output
Wave Generator (WG)Pine Script Wave Generator Utility
Introduction:
The Pine Script Wave Generator Utility is a versatile tool that creates different wave patterns. The script provides the user with four different wave styles to choose from (Sine, Triangle, Saw, Square) with customizable parameters for the wave height, duration, number of harmonics, and phase shift.
Technical Details:
The script utilizes the mathematical functions sin, pi, and array.avg to generate wave patterns. The wave height and duration are the main inputs, and the number of harmonics and phase shift are additional inputs that add fine-tuning to the wave pattern.
The wave styles are created using different combinations of sine waves and are normalized so that the resulting wave always lies within a range of -1 to 1.
Usage:
The user can adjust the wave parameters using the input options in the script. The user can choose the wave style from the “Wave Select” option and set the wave height, wave duration, number of harmonics and phase shift by adjusting the corresponding input options.
Conclusion:
The Pine Script Wave Generator Utility is an efficient and effective tool for generating wave patterns. It can be used for a variety of purposes such as creating wave patterns for technical analysis, simulation, and testing purposes. The user can easily adjust the wave parameters to create custom wave patterns, making it a flexible and valuable tool.
Fib RetracementI've re-created the fib retracement tool as an indicator and this is as close as I can currently get to matching the built-in fib retracement tool.
Why did I make this? For custom labels for every fib retracement level.
Caveats to this vs the built-in tool are:
the "Save as Default" doesn't appear to work (I believe this is due to the interactive/confirm based settings)
copy and paste to another chart is locked into the price of source location
when dragging the points of retracement the tool/indicator disappears
Hopefully some can find usefulness in this code or it's functionality.
Grid Indicator - The Quant ScienceQuickly draw a 10-level grid on your chart with our open-source tool.
Our grid tool offers a unique solution to traders looking to maximize their profits in volatile market conditions. With its advanced features, you can create customized grids based on your preferred start price and line distance, allowing you to easily execute trades and capitalize on price movements. The tool works automatically, freeing up your time to focus on other important aspects of your trading strategy.
The benefits of using this tool are numerous. Firstly, it eliminates the need for manual calculation, making the analysis process much more efficient. Secondly, the automatic nature of the tool ensures that each grids are draw at precisely prices, giving you the best possible chance of maximizing your analysis. Finally, the ability to easily customize grids means that you can adapt your strategy quickly and effectively, even in rapidly changing market conditions.
So why wait? Take control of your trading and start using our innovative grid tool today! With its advanced features and ease of use, it's the perfect solution for traders of all levels looking to take their trading to the next level.
HOW TO USE
Using it is easy. Add the script to your chart and set the price and distance between the grids.
Premium/Discount Zone Buy/Sell Indicator JMJThis indicator calculates whether the opening price is in a premium or discount zone, based on the specified premiumThreshold and discountThreshold values. A premium zone is defined as when the difference between the high price and the opening price divided by the opening price is greater than or equal to premiumThreshold. A discount zone is defined as when the difference between the opening price and the low price divided by the opening price is less than or equal to discountThreshold. The premium and discount signals are plotted as green and red triangles, respectively.
HTF Bar Close CountdownThis simple indicator displays a countdown for the amount of time left until a bar of your chosen timeframe closes.
Displays up to 5 different HTF countdowns.
Fully Customizable to fit any style, change the text colors, background colors, frame colors, display size and border & frame widths.
Flat display option for a sleek look to mesh with your charts.
Notes/Tips:
Higher Time Frames only! This is only intended to view HTF countdowns, will not work when trying to use a timeframe lower than your current chart's.
Some weird timeframes do not work, you'll know when.
Only works on live charts! Will display "Closed" when on an inactive chart.
Does not work for replay! A countdown is pretty pointless on a replay that is not real-time anyways...
Enjoy!
ANTEYA ProfilingThis script allows to compare which code is more efficient by running it inside a loop for a certain time or a certain number of iterations.
Just paste your pieces of code as Option 1 and Option 2 inside the loop (see comments in the script).
Bar MagnifierMany times while developing algos based on patterns and reversals, I come across issues which needs lower timeframe inspection. Loading multiple charts and comparing equivalent lower timeframe is slightly cumbersome at times. Hence, I thought of building this simple tool - which will instantly provide me lower timeframe candles for given candle. Since the candle selection happen via confirmed time input, we can use this as slider to move from one candle to other for inspection.
🎲 Usage
🎯Loading the script
When you load the script, a prompt appears which asks you to select a time by clicking on the chart.
Select the bar you want to magnify and study
🎯Components
Once loaded, you can see the marker which tells which bar is magnified. And you can also see all the lower timeframe candles before that point. Please note that due to pine restrictions, we can only show last 250 lower timeframe bars. You can change the lower timeframe via settings to cover if the chart timeframe is very high.
🎯Moving to different bars
Click on the middle of the marker, you will see slider which you can slide to move from one bar to other.
Example, after sliding, you will see the lower timeframe data of new candle.
🎯Settings
Settings has only two inputs.
Bar time - selects the bar which needs to be inspected.
Lower timeframe - Default is 1 min. And select a timeframe according to your chart timeframe. Less than 1 min is not supported by security.lower_tf function. Hence, will not work.
[CLX] Progressbar - LogoThis script is part of the Library Progressbar - Showcase. You can find it under:
Composite Cosmetic CandlesThis is effectively version 2 of my script "Candle Fill % Meter", with a few different/more options available in a more compact form. Choose between multiple oscillator sources, # of dividing lines, and solid or gradient candle fill. Once again this script is intended for use with hollow candles! This script enables you to see more information with less screen space taken up, not to mention it looks nice. Labels by last bar also toggleable in the settings.