HarmonicCalculation█ OVERVIEW
This library is complementary for XABCD Harmonic Pattern Custom Range Interactive
PriceDiff()
: Price Difference
Parameters:
: : price_1, price_2
Returns: : PriceDiff
TimeDiff()
: Time Difference
Parameters:
: : time_1, time_2
Returns: : TimeDiff
ReturnIndexOf3Arrays()
: Return Index Of 3 Arrays
Parameters:
: : id1, id2, id3, _int
Returns: : ReturnIndexOf3Arrays
AbsoluteRange()
: Price Difference
Parameters:
: : price, y, point
Returns: : AbsoluteRange
PriceAverage()
: To calculate average of 2 prices
Parameters:
: : price_1, price_2
Returns: : PriceAverage
TimeAverage()
: To calculate average of 2 times
Parameters:
: : time_1, time_2
Returns: : TimeAverage
StringBool()
: To show ratio in 3 decimals format
Parameters:
: : _value, _bool, _text
Returns: : StringBool
PricePercent()
: To show Price in percent format
Parameters:
: : _price, PriceRef, str_dir
Returns: : PricePercent
BoolCurrency()
: To show syminfo.currency
Parameters:
: : _bool
Returns: : BoolCurrency
RatioText()
: To show RatioText in 3 decimals format
Parameters:
: : _value, _text
Returns: : RatioText
RangeText()
: To display RangeText in Harmonic Range Format
Parameters:
: : _id1, _id2, _int, _text
Returns: : RangeText
PriceCurrency()
: To show Currency in Price Format
Parameters:
: : _bool, _value
Returns: : PriceCurrency
時間
PriceTimeInteractive█ OVERVIEW
This library was intended to Get price of given time.input
█ CREDITS
Credits to TradingView for CAGR Custom Range.
█ FUNCTIONS
ohlc_time()
: Get OHLC price of given time.input
Parameters:
: : Time (t) must be using time.input
Returns: : OHLC
hlc_time()
: Get HLC price of given time.input
Parameters:
: : Time (t) must be using time.input
Returns: : HLC
hl_time()
: Get HL price of given time.input
Parameters:
: : Time (t) must be using time.input
Returns: : HL
Simple_PyramidingA simple Pyramiding / DCA Strategy. Everyday at a specified time a position is opened. The individual position is closed when a take profit is triggered. Optionally a stop loss can be activated, or the option to close the position at the and of the time frame. You can specify the max amount of open positions. The equity will be divided through the max amount of open positions.
This strategy is a result of an exploration into working with time sessions, pyramiding, for loops and possibilities to trigger individual take profits (profit) and stop loss levels (stop). This strategy is by no means a worked out and reliable strategy. Please feel free to experiment with the code in your indicators and strategies.
Rangebar timeThis indicator determines the time (in minutes) for which a bar of the Range Bar type was formed.
In order to avoid errors in the calculations, a weekend check is immediately carried out (one day if it is a holiday or two days if it is a weekend).
If there are more days off, then the information on the first bar after the weekend may be incorrect.
Индикатор определяет время (в минутах), за которое образовался бар типа RangeBar.
Cразу идет проверка на выходные дни (один день, если праздник или два дня, если выходные).
Если выходных больше, то информация на 1-ом баре, после выходных может быть некорректна.
Highlight Trading Window (Simple Hours / Time of Day Filter)As the name says this is a straightforward way to highlight the times of day that you are interested in studying.
Like to trade just a market open, or highlight a full session?
Could also be used negatively to "block out" a window of time each day.
Usage:
Just set your preferred time zone and then your time window (start and end).
Hope you find it useful! 😁
Percent Off All-time High (% Off High)Percent Off All-time High tracks the percentage difference between the previous day’s closing price and the All-Time high price of the security’s entire price history.
This metric tells you how far the price has deviated from/converged on the all-time high price.
Heikin Multi Time Frame// How it Works \\
This script calculates the open and close prices of Heikin Ashi candles across multiple timeframes,
If the candle formed on that timeframe is green it will display in the table a green square, If the candle is red, the square will display red.
// Settings \\
You can change the colours of the plots
You can also Change any of the timeframes which the Heikin Ashi candles are being calculated on
// Use Case \\
Heikin Ashi candles are often used to give a smoother trend direction and help cancel out some of the noice/consolidation.
It can also be use as trend detection for multiple timeframes at once
/ / Suggestions \\
Happy for anyone to make any suggestions on changes which could improve the script,
// Terms \\
Feel free to use the script, If you do use the scrip please just tag me as I am interested to see how people are using it. Good Luck!
Fed and ECB Calendar by KziHello traders,
Here is a script that i've done for testing the timestamp and the input.time fonction.
You can see verticals lines blue and yellow.
The blue are the ECB meeting date (7 dates)
The yellow are the FED meeting date. (10 Dates)
// In the parameter you can enter the next rolling month date for ECB and FED
// I don't figure out how to add label / Txt on the lines
// And be carreful i don't put the real hours of the meeting.
Futures Exchange SessionsIn the 24-hour trading of the futures market, this indicator provides the user with full customization concerning the most important factor: time. This indicator is centered around three main visualizations: labels, backgrounds, and lines that minimalistically allows the user to keep track of the many time intervals that occur during a futures market 24-hour trading cycle. It also artfully displays the previous days highs and lows. And everything can be individually toggled and configured so the user can get exactly what they want.
Labels
There are three main futures market sessions in a 24-hour period: the London, New York, and Asian Sessions. Each session is given an independent label for the open and close times. The six labels (LO, LC, NYO, NYC, AO, AC) can be individually toggled on or off, the label background color changed, the text switched between black or white, and the height can be lowered or raised. These customizations are intended to give the user full control of the session they are interested in at the moment.
Backgrounds
Backgrounds are the heart of this indicator. There are different colored transparent backgrounds for each of the futures sessions. So the user can clearly see the session they want to highlight without cluttering their chart and getting in the way of analyzing the candles.
If you are familiar with the London and New York killzones, these backgrounds are each individually configured.
If you are familiar with the Inner Circle Trader’s (ICT) NY Morning and Afternoon sessions, these are available. Also, most times weird price action occurs during the lunch hour of these sessions. The London and New York have a background for their respective lunch hours so the user is never caught of guard during these periods.
Lines
The markets are constantly looking for liquidity. To help the user see runs on liquidity, this indicator projects the previous days highs and lows on to the current day with a line and a price label. The line make it very easy to see where price may be headed. See the image below for the perfect example of this phenomenon. Each of the lines can be independently controlled by color, style, and width. And even the labels can be toggled on or off if the user would prefer just to see the lines. Lastly, there is a line that marks the midnight open price in EST.
Special Notes
This indicator is specifically designed for futures tickers.
All of the backgrounds are not designed to be turned on a once (there are many that overlap). They are designed to give the user ultimate control over exactly what timeframe backgrounds to display on their charts.
The labels only appear when timeframe is 1 hour or less.
Timed_exit_alert_for_webhookLibrary "Timed_exit_alert_for_webhook"
TODO: add library description here
fun(x) TODO: add function description here
Parameters:
x : TODO: add parameter x description here
Returns: TODO: add what function returns
for exiting FCM like Tradovate and AMP using API and python MT5 and Webhooks
the writer take no responsibility for trades made using this script its written for informational purposes only
[TTI] All-time-high (ATH), (ATL), 52 week high and low Dots––––History & Credit
I wanted to show our community the idea that stocks that make All Time High are likely to continue making ATHs for some time. It goes contrary to the idea "buy cheap sell high". Actually, in the real market leaders the stocks that make 100+% return are just getting started on returns to few THOUSAND percent. I have used code from QuantNovad scrip in this one too. So thanks to him as well, since it speeded writing it from scratch!
–––––What it does
The script paints dots and shows stats.
The dots are 4 types:
🟢 = Every time a new ATH is achieved, a green dot paints above the bar
🟣 = Every time a new 52week High is achieved, a purple dot paints above the bar
🟡 = Every time a new ATL is achieved, a yellow dot paints below the bar
🟠 = Every time a new 52week Low is achieved, a orange dot paints below the bar
Stats =
Show in a box in the bottom right corner of the screen. How many times has this stock achieved:
👉 ATHs
👉 52WK High
👉 ATLs
👉 52WK LOW
–––––How to use it
This is really an illustrative script to get the idea of the methodology "buy high sell higher', that we teach as momentum traders.
Some notable examples to check are:
HOOD
MSFT
TSLA
AAPL
See the stock dynamics and understand that bottom fishing doesn't result in stocks making massive moves.
Mean Shift Pivot ClusteringCore Concepts
According to Jeff Greenblatt in his book "Breakthrough Strategies for Predicting Any Market", Fibonacci and Lucas sequences are observed repeated in the bar counts from local pivot highs/lows. They occur from high to high, low to high, high to low, or low to high. Essentially, this phenomenon is observed repeatedly from any pivot points on any time frame. Greenblatt combines this observation with Elliott Waves to predict the price and time reversals. However, I am no Elliottician so it was not easy for me to use this in a practical manner. I decided to only use the bar count projections and ignore the price. I projected a subset of Fibonacci and Lucas sequences along with the Fibonacci ratios from each pivot point. As expected, a projection from each pivot point resulted in a large set of plotted data and looks like a huge gong show of lines. Surprisingly, I did notice clusters and have observed those clusters to be fairly accurate.
Fibonacci Sequence: 1, 2, 3, 5, 8, 13, 21, 34...
Lucas Sequence: 2, 1, 3, 4, 7, 11, 18, 29, 47...
Fibonacci Ratios (converted to whole numbers): 23, 38, 50, 61, 78, 127, 161...
Light Bulb Moment
My eyes may suck at grouping the lines together but what about clustering algorithms? I chose to use a gimped version of Mean Shift because it doesn't require me to know in advance how many lines to expect like K-Means. Mean shift is computationally expensive and with Pinescript's 500ms timeout, I had to make due without the KDE. In other words, I skipped the weighting part but I may try to incorporate it in the future. The code is from Harrison Kinsley . He's a fantastic teacher!
Usage
Search Radius: how far apart should the bars be before they are excluded from the cluster? Try to stick with a figure between 1-5. Too large a figure will give meaningless results.
Pivot Offset: looks left and right X number of bars for a pivot. Same setting as the default TradingView pivot high/low script.
Show Lines Back: show historical predicted lines. (These can change)
Use this script in conjunction with Fibonacci price retracement/extension levels and/or other support/resistance levels. If it's no where near a support/resistance and there's a projected time pivot coming up, it's probably a fake out.
Notes
Re-painting is intended. When a new pivot is found, it will project out the Fib/Lucas sequences so the algorithm will run again with additional information.
The script is for informational and educational purposes only.
Do not use this indicator by itself to trade!
Time Session Filter - Visual Only - @Davi117 Simple visual adjustable time filter to highlight certain times of the day.
For instance if you only trade between 06:00 and 10:00 etc.
Includes Time Zone Selector using GMT
E.g if you live in London then you time zone will be just GMT, else if you live in Paris it would be GMT+1.
Ensure Trading View's time zone selection in the bottom right to the left of the Auto Scale toggle, is also set also set to your time zone, else it will be misaligned.
TimeLockedMALibrary "TimeLockedMA"
Library & function(s) which generates a moving average that stays locked to users desired time preference.
TODO - Add functionality for more moving average types. IE: smooth, weighted etc...
Example:
time_locked_ma(close, length=1, timeframe='days', type='ema')
Will generate a 1 day exponential moving average that will stay consistent across all chart intervals.
Error Handling
On small time frames with large moving averages (IE: 1min chart with a 50 week moving average), you'll get a study error that says "(function "sma") references too many candles in history" .
To fix this, make sure you have timeframe="" as an indicator() header. Next, in the indicator settings, increase the timeframe from to a higher interval until the error goes away.
By default, it's set to "Chart". Bringing the interval up to 1hr will usually solve the issue.
Furthermore, adding timeframe_gaps=false to your indicator() header will give you an approximation of real-time values.
Misc Info
For time_lock_ma() setting type='na' will return the relative length value that adjusts dynamically to user's chart time interval.
This is good for plugging into other functions where a lookback or length is required. (IE: Bollinger Bands)
time_locked_ma(source, length, timeframe, type) Creates a moving average that is locked to a desired timeframe
Parameters:
source : float, Moving average source
length : int, Moving average length
timeframe : string, Desired timeframe. Use: "minutes", "hours", "days", "weeks", "months", "chart"
type : string, string Moving average type. Use "SMA" (default) or "EMA". Value of "NA" will return relative lookback length.
Returns: moving average that is locked to desired timeframe.
timeframe_convert(t, a, b) Converts timeframe to desired timeframe. From a --> b
Parameters:
t : int, Time interval
a : string, Time period
b : string, Time period to convert to
Returns: Converted timeframe value
chart_time(timeframe_period, timeframe_multiplier) Separates timeframe.period function and returns chart interval and period
Parameters:
timeframe_period : string, timeframe.period
timeframe_multiplier : int, timeframe.multiplier
Enjoy :)
[5F] Multi clocks📋 Description :
This script displays three customizable clocks.
You can use it on chart too.
Works only in real time, not for replay.
🛠 Options :
Activate or not each clock
Time zone
Color and size in % of text and background
The script can be placed on the chart and in this case it is possible to change the position of each clock
Thanks to all Pinecoders who share their work with the community, in particular (non exhaustive list) :
LonesomeTheBlue, RafaelZioni, dgtrd, allanster, JayRogers , ChuckBanger, cheatcountry, NeoButane, ChrisMoody, QuantTherapy, J-Streak, makit0, john_everist, JustUncleL, everget, Duyck, KivancOzbilgic, LucF, HammondB3, blackcat1402, alexgrover, Mohamed3nan, DonovanWall, RicardoSantos, LazyBear, PRO_Indicators, theheirophant, midtownsk8rguy, e2e4mfck, SeaSide420, xel_arjona, RagingRocketBull, yatrader2, racer8, xdecow, Daveatt, QuantNomad, ceyhun, BigBitsIO, tista, aamonkey, rthomson, bgeraghty, pAulseperformance, rumpypumpydumpy
Another example :
Bar Percent CompleteThis is an example script for checking how far the current bar has progressed towards it's completed state. This works for any time frame, eliminating extra logic calls and conversions for each timeframe.period. It is not intended to be a standalone indicator, but rather as a resource for additional logic triggers on the real time bar of a pine script.
The main caveat is that pine script calculations occur on a per-tick basis. This means that the completion percentage can exceed the percentage threshold before any logic is executed. This happens when the next tick occurs after the threshold. The relevance then will depend on the activity of the underlying asset. Longer time frames on low activity assets will likely be more relevant than their shorter time frame counterparts.
ConverterTFLibrary "ConverterTF"
I have found a bug Regarding the timeframe display, on the chart I have found that the display is numeric, for example 4Hr timeframe instead of '4H', but it turns out to be '240', which I want it to be displayed in abbreviated form. And in all other timeframes it's the same. So this library was created to solve those problems. It converts a timeframe from a numeric string type to an integer type by selecting a timeframe manually and displaying it on the chart.
CTF()
str = "240"
X.GetTF( str )
Example
str = input.timeframe(title='Time frame', defval='240')
TimeF = CTF(str)
L=label.new(bar_index, high, 'Before>> Timeframe '+str+' After>> Timeframe '+TimeF,style=label.style_label_down,size=size.large)
label.delete(L )
Custom timeframes can handle this issue as well.
An example from the use. You will find it on the bottom right hand side.
Hopefully it will be helpful to the Tradingview community. :)
How To Calculate Symbol's UTC NumberVarious methods to calculate a symbol's timezone offset as a numerical value in hours and decimal minutes. This value may be useful to script authors in certain situations where timezone information needs to be available in a numerical format while using intraday charts. Special thanks to @LucF and TradingView Support for their efficiency advisements!
NOTICE: This is an example script and not meant to be used as an actual strategy. By using this script or any portion thereof, you acknowledge that you have read and understood that this is for research purposes only and I am not responsible for any financial losses you may incur by using this script!
LibraryCheckNthBarLibrary "LibraryCheckNthBar"
TODO: add library description here
canwestart(UTC, prd) this function can be used if current bar is in last Nth bar
Parameters:
UTC : is UTC of the chart
prd : is the length of last Nth bar
Returns: true if the current bar is in N bar
FunctionDaysInMonthLibrary "FunctionDaysInMonth"
Method to find the number of days in a given month of year.
days_in_month(year, month) Method to find the number of days in a given month of year.
Parameters:
year : int, year of month, so we know if year is a leap year or not.
month : int, month number.
Returns: int
FunctionDatestringLibrary "FunctionDatestring"
Methods to stringify date/time, altho there is already builtin support for it.
datetime(unixtime) a stringified date stamp at specified unix time.
Parameters:
unixtime : int unix timestamp.
Returns: string
date_(unixtime) a stringified date stamp at specified unix time.
Parameters:
unixtime : int unix timestamp.
Returns: string
time_(unixtime) a stringified date stamp at specified unix time.
Parameters:
unixtime : int unix timestamp.
Returns: string