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.
[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.
[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.
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!
Special Time PeriodWith this indicator, you can choose candles in the period you want on your chart.
How ?
• If your chart is 5 minutes, the duration should be greater than 5 on this indicator.
If you do not do it this way, there will be gaps in the price, it will not give the right result.
• If you want to see it in minutes, you must enter a direct numerical value. For example, to see 2 hours, you must enter the number 120. Because 2 hours is 120 minutes.
Like the warning above, if you want to plot a 2-hour chart with this indicator, a maximum of 1 hour should be selected on your main chart.
• Resolution, eg. '60' - 60 minutes, 'D' - daily, 'W' - weekly, 'M' - monthly, '5D' - 5 days, '12M' - one year, '3M' - one quarter
• For example, if you want to see the 2-day chart, you should have a maximum of 1 day chart open on your home screen and write "2D" to the indicator value.
• You will get much better results if the period on your main chart and the period on this indicator are multiples of each other.
• In the image below, the period on the main chart is 30 minutes, but the period on the indicator is 90
• Click on the facing brackets at the top right of the legend and your chart will enlarge.
Session Time RangesHave you ever wondered if you are trading at the right time of the day or feel like all the good trades happen when you are sleeping? Well now you can check your theory :)
This Script allows you to highlight a time range on your chart over a 24hour time period. For example 3AM to 6AM
The script has two time variables, set your start time and end time based on a 24 hour clock and set the time zone offset variable to match your charts time zone. For example New York -4 (for utc just enter 0 for no offset )
This is a quick script I put together so hopefully it is error free enjoy :)
ICT KillzonesThis Script plots the ICT Killzones in the Chart using a new Panel.
It's based on the Major Forex Sessions and this is usually where Key Swing Points occur.
It has a lookback of 20 days for Performance reasons.
CUSTOMISATION
- Time can be modified
- Lines width can be modified
- Lines colours can be modified
DEFAULT
By default the Killzones will be based on NY Time using the following order
- London Open: 02:00 to 05:00
- New York Open: 07:00 to 10:00
- London Close: 10:00 to 12:00
Natural Stochastic Indicator [CC]The Natural Stochastic Indicator was created by Jim Sloman and this is another indicator from his Ocean series which I will eventually publish all of them. Big thanks to @altcoinz and @tmac87 for giving me all of the source code in order to publish Jim's life work. This is another momentum indicator but unlike a traditional stochastic indicator, this one doesn't use overbought and oversold levels. Instead it becomes a sell signal when the indicator starts getting lower and vice versa. This takes the classic approach to a stochastic and combines it with the time factor from Jim's Ocean Theory to create this new indicator. I have included strong buy and sell signals as darker colors and normal buy and sell signals as lighter colors. Buy when the line turns green and sell when it turns red.
Let me know if there are any other indicators you would like to see me publish!
No Trading Zone (NZT)The script highlights Frankfurt's opening range up until New York's close. It is described as No Trading Zone in Gabrielle Fabris's The Price in Time book.
Projections of the Frankfurt range are potential supports and resistances and they are used in trade management & for taking profits in his system.
Full rules are not mine to share. You have to read the book to understand his system and run your own backtest on each pair to find out what management method you will be most comfortable with.
Auto Fib Time Zones and Trend-Based Fib Time by DGTFibonacci time zones, based on the Fibonacci number sequence, are vertical lines that represent potential areas where a swing high, low, or reversal could occur.
Trend-Based Fib Time shows probable price corrections in an existing trend. A useful tool to use in addition to Elliot Wave counting, Fib Time helps to identify how far the wave is likely to travel
Please note, Time zones aren't concerned with price, only time
Disclaimer :
Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitute professional and/or financial advice. You alone have the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
Time Wolna_2021_iun3[wozdux] Description of the Time_Wolna indicator
The indicator is designed to study the behavior of time. There are many indicators that study just the price, a little less indicators that study the volume of trading and vanishingly few indicators that study time.
This is not an oscillator, it does not have oversold or overbought levels. This indicator has an indefinite beginning and an indefinite end. Its value is not in the absolute values of the indicator, but in relative ones. This indicator calculates the time of price rise and the time of price decline. It clearly shows how long the price rises and how long the price falls.
The initial idea was to use my RSIVol indicator to study the time. Each bar is counted as a unit of time. If the price rises during the period of one bar, then one is added, if the price falls, then one is subtracted. By default, the blue line shows this time movement according to the RsiVol indicator.
The basic RsiVol indicator is shown at the bottom of the diagram. The bill goes along the blue line, which calculates the movement of the volume price. If the blue RSIVol line is above the yellow level, then the blue Time_Wolna time line is colored green. If the blue line in the base RsiVol indicator falls below the lower yellow level, then the blue time line of the Time_Wolna indicator turns red.
The result is a broken line that clearly shows the waves of rising and falling prices. In principle, the time indicator makes it easier to recognize waves.
It is known that time plays an important role in Elliott wave analysis, although in practice this is almost never done. The mention of Elliott is just a lyrical digression.
Time is very difficult to study. This indicator does not give clear buy or sell signals. This is just an analysis tool to help analysts.
In addition to the RsiVol indicator, simply the Rsi from the price and a simple moving average from the price are also used.
So, the settings of this indicator.
"switch Price == close <==> ( High+Low)/2" -- select the base price in all subsequent calculations
"Key EMA=> True=ema(Price); False=ema(Price*Volume)" --The key for switching the moving average from the price or from the volume price.
"T==> EMA(price, T)" --The period for calculating the moving average
" key red==> Yes/No Rsi")--the key turns on or off the RSI line red line
"key green==> Yes/No Orsi") --the key turns on or off the Volume RSI line green line
" key olive==> Yes/No RsiVol200 " -- the key enables or disables the Volumetric RSIVol200 olive line. This is RsiVol minus the 200-period moving average.
"keyVol blue==> Yes/No " - the key enables or disables the base blue line RSIVol
"keyVol blue==> V->tt(RsiVol) ->tt(ema(Price))"—The blue line selection will be calculated as the time from RSIVol or as the time from the moving average EMA.
"keyVol blue==> : 1=Time, 2=Time* price, 3=Time*(Ci-Ck) 4=Time*Volume, 5=Time*price*Volume")- selection for the blue baseline. By default, the time of the price rise or fall is calculated simply. Key=1. But you can investigate the joint influence of time and price and then the key is=2. If we study the combined effect of time and price changes per bar, then the key=3. If we study the joint influence of time and volume, then the key=4. If we study the joint influence of time, price and volume, then the key=5.
"key RsiO red + green==> : 1=Time, 2=Time*Price, 3=Time*(Ci-Ck) 4=Time*Volume, 5=Time*Price*Volume") - - - similar settings for the red green line. By default, the time of the price rise or fall is calculated simply. Key=1. But you can investigate the joint influence of time and price and then the key is=2. If we study the combined effect of time and price changes per bar, then the key=3. If we study the joint influence of time and volume, then the key=4. If we study the joint influence of time, price and volume, then the key=5.
"Key Color – - here you can disable changing the color of the blue line to green or red when the base indicator RsiVol exits above the upper and below the lower levels.
"Level nul ==> * Down Level Rsi - screen configuration in order to raise or lower chart
"Level nul ==> * Down Level ORsi -- beauty setup in order to raise or lower chart
"Level nul ==> * DownLevel RsiVol200 -- beauty setup in order to raise or lower chart
"blue =volume * price" – period for calculation of volumetric rates
"blue => RSIVOL(Volume*price,len) and EMA" – the period for calculating RsiVol
"blue__o1=> ema ( RSIVOL, o1)" – additional smoothing RsiVol
"red=rsi (Price,14)" – the period for calculating Rsi
"red= ema ( RSI ,3)" -- additional smoothing Rsi
"fuchsia__ => RsiVol200 (vp,200)" - the period for calculating RsiVol200
"fuchsia__o2=> ema ( RSIVOL200 , o2)" -- additional smoothing RsiVol200
To study the time between two fixed dates. Setting the start point of the calculation and the end point of the calculation
"Data(0)=Year" – the year of the start date
"Data(0)= Month" – the month of the start date
"Data (0)=Day" the day of the start date
"Data(1)=Year" – the year of the end date.
"Data(1)=Year" – month of the end date.
"Data(1)=Day" -- the day of the end date.
--------русский вариант описания ------
Описание индикатора Time_Wolna
Индикатор призван изучать поведение времени. Есть много индикаторов изучающих просто цену, немного меньше индикаторов изучающих объем торгов и исчезающе мало индикаторов, изучающих время.
Это не осциллятор у него нет уровней перепроданности или перекупленности. Данный индикатор имеет неопределенное начало и неопределенный конец. Ценность его не в абсолютных значениях индикатора, а в относительных. Этот индикатор высчитывает время подъема цены и время снижения цены. Он наглядно показывает сколько времени цена поднимается и сколько времени цена опускается.
Первоначальная идея была использовать мой индикатор RSIVol для изучения времени. Каждый бар считается за единицу времени. Если цена поднимается за период одного бара, то прибавляется единица, если цена опускается, то вычитается единица. По умолчанию голубая линия показывает такое движения времени по индикатору RsiVol.
Внизу на диаграмме показан базовый индикатор RsiVol. Счёт идет по синей линии, которая вычисляет движение объемной цены. Если синяя линия RSIVol находится выше желтого уровня, то голубая линия времени Time_Wolna окрашивается в зеленый цвет. Если синяя линия в базовом индикаторе RsiVol опускается ниже нижнего желтого уровня, то голубая линия времени индикатора Time_Wolna окрашивается в красный цвет.
В результате получается ломанная линия, четко показывающая волны восхождения и снижения цены. В принципе индикатор времени позволяет легче распознавать волны.
Известно, что время играет важную роль в волновом анализе Эллиотта, хотя на практике это почти никогда не делается. Упоминание Эллиотта это просто лирическое отступление.
Время очень трудно изучать. Этот индикатор не дает четких сигналов на покупку или продажу. Это всего лишь инструмент анализа в помощь аналитикам.
Кроме индикатора RsiVol, используются и просто Rsi от цены и простая скользящая средняя от цены.
Итак, настройки данного индикатора.
"switch Price == close <==> ( High+Low)/2" -- выбираем базовую цену во всех последующих вычислениях
"Key EMA=> True=ema(Price); False=ema(Price*Volume)" --Ключ переключения скользящей средней от цены или от объемной цены.
" T==> EMA(price,T)"--Период вычисления скользящей средней
"key red==> Yes/No Rsi")--ключ включает или выключает линию RSI красная линия
"key green==> Yes/No Orsi") --ключ включает или выключает линию Объемной RSI зеленая линия
"key olive==> Yes/No RsiVol200" -- ключ включает или выключает линию Объемной RSIVol200 оливковая линия. Это RsiVol минус 200-периодная скользящая средняя.
"keyVol blue==> Yes/No " – ключ включает или выключает базовую голубую линию RSIVol
"keyVol blue==> V->tt(RsiVol) ->tt(ema(Price))"—выбор голубая линия будет вычисляться как время от RSIVol или как время от скользящей средней EMA.
"keyVol blue==> : 1=Time, 2=Time* price, 3=Time*(Ci-Ck) 4=Time*Volume, 5=Time*price*Volume")—выбор для голубой базовой линии. По умолчанию вычисляется просто время подъема или опускания цены. Ключ=1. Но можно исследовать совместное влияние времени и цены и тогда ключ=2. Если изучаем совместное влияние времени и изменения цены за один бар, то ключ=3. Если изучаем совместное влияние времени и объема, то ключ=4. Если изучаем совместное влияние времени, цены и объема, то ключ=5.
"key RsiO red + green==> : 1=Time, 2=Time*Price, 3=Time*(Ci-Ck) 4=Time*Volume, 5=Time*Price*Volume") ---аналогичные настройки для красной зеленой линии. По умолчанию вычисляется просто время подъема или опускания цены. Ключ=1. Но можно исследовать совместное влияние времени и цены и тогда ключ=2. Если изучаем совместное влияние времени и изменения цены за один бар, то ключ=3. Если изучаем совместное влияние времени и объема, то ключ=4. Если изучаем совместное влияние времени, цены и объема, то ключ=5.
"Key Color" – здесь можно отключить изменение цвета голубой линии на зеленый или красный в моменты выхода базового индикатора RsiVol выше верхнего и ниже нижнего уровней.
"Level nul ==> * Down Level Rsi - косметическая настройка для того, чтобы поднять или опустить график
"Level nul ==> * Down Level ORsi -- косметическая настройка для того, чтобы поднять или опустить график
"Level nul ==> * DownLevel RsiVol200 -- косметическая настройка для того, чтобы поднять или опустить график
" blue =>volume * price" – период для вычисления объемной цены
" blue => RSIVOL(Volume*price,len) and EMA" – период для вычисления RsiVol
"blue__o1=> ema ( RSIVOL, o1)" – дополнительное сглаживание RsiVol
" red=rsi (Price,14)" – период для вычисления Rsi
" red= ema ( RSI ,3)" -- дополнительное сглаживание Rsi
"fuchsia__ => RsiVol200 (vp,200)" -- период для вычисления RsiVol200
"fuchsia__o2=> ema ( RSIVOL200 , o2)" -- дополнительное сглаживание RsiVol200
Для исследования времени между двумя фиксированными датами. Задаем начальную точку вычисления и конечную точку вычисления
"Data(0)=Year" – год начальной даты
"Data(0)= Month" – месяц начальной даты
"Data(0)=Day" день начальной даты
"Data(1)=Year" – год конечной даты.
"Data(1)=Year" – месяц конечной даты.
"Data(1)=Day" -- день конечной даты.
Time-Period Coloring Instagram LuckyNickVAFor Coloring Your Candles To A Specific Time Period. Used To Exploit Perspective Of Market Structure For Different Time Periods.
Hourly Time SeparatorI made this indicator mostly for personal use but there may be few others who would like to have vertical lines occur every day in specific our on chart.
I am no developer and all I did was copy @allanster's work and delete few lines and duplicate few others. Code will be open for anyone to edit since it was not my code to start with after all. Hopefully this one helps to someone.
Flunki T-WAP minus MA Oscillator
Yo,
Possible the last of these for now, and mostly for the sake of completeness..
This is..
Another simple oscillator that show the difference in price between a selectable timeframe TWAP and a Moving Average of that TWAP
This is shown as a histogram.
Use numeric TWAP values for minutes (30, 60 ,720 whatever) and D, 3D, W, M for higher values
There is also a global timeframe which will set the timeframe for a global alternate timeframe (instead of current chart resolution)
On top of that is a Moving Average of the histogram value, shown as a blue / red line with an option to highlight this MA crossing zero, and an option to colour bars to this line.
The major difference between this Oscillator, and the other script (Flunki VWAP minus MA Oscillator)
(I treid to insert a link but it's invisible so it would seem, anyway.. )
is that VWAP is usually calculated daily, so there is a sharp move upon the daily close, as VWAP starts a new day. Using TWAP this does not occur, so gives smoother transitions ; also the timeframe for TWAP is selectable for additional wap fun.
Simple idea : Code open
Enjoy !