Debug_Window_LibraryLibrary "Debug_Window_Library"
Provides a framework for logging debug information to a window on the chart.
consoleWrite(txt, maxLines) Adds a line of text to the debug window. The text is rolled off the bottom of the window as it fills up.
Parameters:
txt : - this is the text to be appended to the window
maxLines : - this is the size of the window in lines.
Returns: nothing
The example above shows the close value for the last 10 bars.
Here's the code.
//@version=5
indicator("Debug Library test Script", overlay=true)
import sp2432/Debug_Window_Library/1 as dbg
// add some text to the debug window
dbg .consoleWrite( str .tostring(close), 10)
Tìm kiếm tập lệnh với "text"
logLibrary "log"
A Library to log and display messages in a table, with different colours.
The log consists of 3 columns:
Bar Index / Message / Log
Credits
QuantNomad - for his idea on logging messages as Error/Warnings and displaying the color based on the type of the message
setHeader(_t, _location, _header1, _header2, _header3, _halign, _valign, _size) Sets the header for the table to be used for displaying the logs.
Parameters:
_t : table, table to be used for printing
_location : string, Location of the table.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: Void
initHeader(_location, _rows, _header1, _header2, _header3, _halign, _valign, _size, _frameBorder, _cellBorder) Creates the table for logging.
3 columns will be displayed.
Bar Index Q / Message Q / Log Q
Parameters:
_location : string, Location of the table.
_rows : int, table size, excluding the header. Default value is 40.
_header1 : string, the name to put into the Index Queue Header. Default is 'Bar #'
_header2 : string, the name to put into the Message Queue Header. Default is 'Message'
_header3 : string, the name to put into the Log Queue Header. Default is 'Log'
_halign : string, the horizontal alignment of header. Options - Left/Right/Center
_valign : string, the vertical alignment of header. Options - Top/Bottom/Center
_size : string, the size of text of header. Options - Tiny/Small/Normal/Large/Huge/Auto
_frameBorder : int, table Frame BorderWidth. Default value is 1.
_cellBorder : int, table Cell Borders Width, Default value is 2.
Returns: table
init(_rows) Initiate array variables for logging.
Parameters:
_rows : int, table size, excluding the header. Default value is 40.
Returns: tuple, arrays - > error code Q, bar_index Q, Message Q, Log Q
log(_ec, _idx, _1, _2, _m1, _m2, _code, _prefix, _suffix) logs a message to logging queue.
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , bar index Q. The index of current bar is logged automatically
you can add before and after this index value, whatever you choose to, via the _prefix and _suffix variables.
_1 : string , Message Q.
_2 : string , Log Q
_m1 : string, message needed to be logged to Message Q
_m2 : string, detailed log needed to be logged to Log Q
_code : int, Error/Code to be assigned. Default code is 1.
_prefix : string, prefix to Bar State Q message
_suffix : string, suffix to Bar State Q message
Order of logging would be Bar Index Q / Message Q / Log Q
Returns: void
resize(_ec, _idx, _1, _2, _rows) Resizes the all messaging queues.
a resize will delete the existing table, so a new header/table has to be initiated after the resize.
This is because pine doesnt allow changing the table dimensions once they have been recreated.
If size is decreased then removes the oldest messages
Parameters:
_ec : int , Error/Codes (1-7) for colouring.
_idx : int , bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_rows : int, the new size needed for the queue. Default value is 40.
Returns: void
print(_t, _ec, _idx, _1, _2, halign, halign, _size) Prints Bar Index Q / Message Q / Log Q
Parameters:
_t : table, table to be used for printing
_ec : int , Error/Codes (1-7) for colouring.
Default Colour Code is 1 - Gray, 2 - Orange, 3 - Red, 4 - Blue, 5 - Green, 6 - Cream, 7 - Offwhite
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
halign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
printx(_t, _idx, _1, _2, _ec, _fg, _bg, _halign, _valign, _size) Prints Bar Index Q / Message Q / Log Q, but with custom options to format the table and colours
Parameters:
_t : table, table to be used for printing
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
_fg : color , Color array specifying colours for foreground. Maximum length is seven. Need not provide all seven, but atleast one. If not enough provided then last colour in the array is used for missing codes
_bg : color , Same as fg.
_halign : string, the horizontal alignment of all message column. Options - Left/Right/Center
_valign : string, the vertical alignment of all message column. Options - Top/Bottom/Center
_size : string, the size of text across the table, excepr the headers. Options - Tiny/Small/Normal/Large/Huge/Auto
Returns: void
flush(_t, _idx, _1, _2, _ec) Clears queues of existing messages, filling with blanks and 0
Parameters:
_t : table, table to be flushed
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void.
erase(_idx, _1, _2, _ec) Deletes message queue and the table used for displaying the queue
Parameters:
_idx : int , for bar index Q.
_1 : string , Message Q.
_2 : string , Log Q
_ec : int , Error/Codes (1-7) for colouring.
Returns: void
1St Bar GAP+BkOut Screener v2 by RMFirst Bar Gap and subsequent conditions are used as one of the several strategies for Day traders.
This script runs on first bar and checks if the stocks has an initial Gap (up or down), then checks for next bars to be inside the boundaries of the first candle
you can customize this screener according to your requirement. There are a number of very clever people I have taken bits of code and ideas, thanks to you all :)
Used part of this code as published by @PineCoders and Public Libraries. Also add some power query code to help you create the symbols input in the script
Disclaimer: This is not a Financial advisory tool. For education purposes only. * Use at your own risk *
Outline:
gap up/ gap down on 1 min first candle -> good
2nd candle inside 1st candle -> good
3rd to nth candle to break out from first candle range -> good /alert/ Plot flag
//M (Excel power query) code to load and format watchlist from txt file format
//Input: , Output:
let
// replace and for the correspondign values in your computer
Source = Csv.Document(File.Contents("C:\ \ "), ),
#"Transposed Table" = Table.Transpose(Source),
#"Sorted Rows" = Table.Sort(#"Transposed Table",{{"Column1", Order.Ascending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
#"Changed Type1" = Table.TransformColumnTypes(#"Added Index",{{"Index", type text}}),
#"Inserted Merged Column1" = Table.AddColumn(#"Changed Type1", "Merged", each Text.Combine({"0", }), type text),
#"Inserted First Characters" = Table.AddColumn(#"Inserted Merged Column1", "Two Characters", each Text.End( , 2), type text),
#"Removed Columns" = Table.RemoveColumns(#"Inserted First Characters",{"Index", "Merged"}),
#"Inserted Merged Column" = Table.AddColumn(#"Removed Columns", "Merged", each Text.Combine({"s", , " = input( '", , "' , type=input.string)"}), type text)
in
#"Inserted Merged Column"
//--> once input string is created Copy&Paste in this code after // Symbols _ Use Power Query in Excel
// end of M code to load watchlist from txt format
Strat Assistant Hour FlipStrat Assistant Hour Flip
----------------------------
█ OVERVIEW
This script is intended to provide a vertical line indicator for the hourly "flips" to easily indicate when the hour turns. Ideally used in timeframes less than an hour.
Input
----------
Hour Color: the color of the line and the text for the hourly indicator
Four Hour Color: the color of the line and the text for the four hour indicator
Show Label Text?: an on/off (active/inactive) flag to display the text (new 30s/60s). I can't figure out how to get a label vertical, so sometimes it gets in the way.
Output
----------
Vertical Dotted Line Indicator: vertical lines that allow a user to quickly see when the hour flips
Hour Flip Labels: quick visual labels with the same color as the lines that will display new 4h/60s/30s
Best Practices
----------
Trading view may limit the number of lines drawn, so probably not best to be use in larger time frames (like days/month worth of data on the chart) for smaller intervals
Best if used for intervals under 30 minutes
DAYOFWEEK performance1 -Objective
"What is the ''best'' day to trade .. Monday, Tuesday...."
This script aims to determine if there are different results depending on the day of the week.
The way it works is by dividing data by day of the week (Monday, Tuesday, Wednesday ... ) and perform calculations for each day of the week.
1 - Objective
2 - Features
3 - How to use (Examples)
4 - Inputs
5 - Limitations
6 - Notes
7 - Final Tooughs
2 - Features
AVG OPEN-CLOSE
Calculate de Percentage change from day open to close
Green % (O-C)
Percentage of days green (open to close)
Average Change
Absolute day change (O-C)
AVG PrevD. Close-Close
Percentage change from the previous day close to the day of the week close
(Example: Monday (C-C) = Friday Close to Monday close
Tuesday (C-C) = Monday C. to Tuesday C.
Green % (C1-C)
Percentage of days green (open to close)
AVG Volume
Day of the week Average Volume
Notes:
*Mon(Nº) - Nº = Number days is currently calculated
Example: Monday (12) calculation based on the last 12 Mondays. Note: Discrepancies in numbers example Monday (12) - Friday (11) depend on the initial/end date or the market was closed (Holidays).
3 - How to use (Examples)
For the following example, NASDAQ:AAPL from 1 Jan 21 to 1 Jul 21 the results are following.
The highest probability of a Close being higher than the Open is Monday with 52.17 % and the Lowest Tuesday with 38.46 %. Meaning that there's a higher chance (for NASDAQ:AAPL ) of closing at a higher value on Monday while the highest chance of closing is lower is Tuesday. With an average gain on Tuesday of 0.21%
Long - The best day to buy (long) at open (on average) is Monday with a 52.2% probability of closing higher
Short - The best day to sell (short) at open (on average) is Tuesday with a 38.5% probability of closing higher (better chance of closing lower)
Since the values change from ticker to ticker, there is a substantial change in the percentages and days of the week. For example let's compare the previous example ( NASDAQ:AAPL ) to NYSE:GM (same settings)
For the same period, there is a substantial difference where there is a 62.5% probability Friday to close higher than the open, while Tuesday there is only a 28% probability.
With an average gain of 0.59% on Friday and an average loss of -0.34%
Also, the size of the table (number of days ) depends if the ticker is traded or not on that day as an example COINBASE:BTCUSD
4 - Inputs
DATE RANGE
Initial Date - Date from which the script will start the calculation.
End Date - Date to which the script will calculate.
TABLE SETTINGS
Text Color - Color of the displayed text
Cell Color - Background color of table cells
Header Color - Color of the column and row names
Table Location - Change the position where the table is located.
Table Size - Changes text size and by consequence the size of the table
5 - LIMITATIONS
The code determines average values based on the stored data, therefore, the range (Initial data) is limited to the first bar time.
As a consequence the lower the timeframe the shorter the initial date can be and fewer weeks can be calculated. To warn about this limitation there's a warning text that appears in case the initial date exceeds the bar limit.
Example with initial date 1 Jan 2021 and end date 18 Jul 2021 in 5m and 10 m timeframe:
6 - Notes and Disclosers
The script can be moved around to a new pane if need. -> Object Tree > Right Click Script > Move To > New pane
The code has not been tested in higher subscriptions tiers that allow for more bars and as a consequence more data, but as far I can tell, it should work without problems and should be in fact better at lower timeframes since it allows more weeks.
The values displayed represent previous data and at no point is guaranteed future values
7 - Final Tooughs
This script was quite fun to work on since it analysis behavioral patterns (since from an abstract point a Tuesday is no different than a Thursday), but after analyzing multiple tickers there are some days that tend to close higher than the open.
PS: If you find any mistake ex: code/misspelling please comment.
Contextual Moving AveragesThis indicator customizes moving averages, allowing you to show or hide them on specific timeframes.
Lets say you want to show MA8 on the 5m timeframe but not on the Daily timeframe , now you can!
You can also timeframe lock a moving average and see it on the other timeframes, for example: You would like to see the Daily MA20 on the all other timeframes.
If you think that the indicator parameters texts are too long when viewing charts, right click on the indicator name and unclick "Show Indicator Arguments"
Trend ChannelMarket engineers can use channels to find out when a market has entered an undervalued or overvalued zone. Purchases and sales take place in these zones. Professionals use trending channels to find out when the market has overtaken itself and where it is likely to reverse.
Upper channel line = EMA + EMA x channel coefficient
Lower channel line = EMA - EMA x channel coefficient
The topline reflects the bulls' strength in raising prices above the average value consensus. This line marks the normal limit of optimism in the market.
The bottom line of the channel reflects the strength of the bears pushing prices below the average consensus of values. This line marks the normal limit of pessimism in the market.
The coefficient is used to correct the distance to the moving average until the channel contains 95% of all prices. Only the tips and the lowest bottoms are allowed to protrude. For these peaks and curves and sideways trends, I have added two more switchable lines to the border lines, with a distance of 23.6% (light blue).
The larger the time frame, the wider the channel.
If you buy near a rising moving average, you take profits near the upper line of the channel.
If you are short near a falling moving average, you should close out near the bottom of the channel.
If the moving average is essentially flat, then you should be long on the bottom of the channel and short on the top of the channel. You realize profits when the prices have returned to their moving average to normal.
Interesting for day traders:
Adjust the moving average so that it has the same slope as the quotes on the hourly chart. With the coefficient you set the distance between the border lines. Perhaps adding the 23.6% lines will help, where the sideways trends are starting. Set the resolution to "1 hour". If you want to trade with these settings in short time units, e.g. in the 3 minute chart or in the 1 minute chart, then you now have target marks and indications in which direction the prices will possibly move when the prices have reached the moving average or one of the border lines.
The text contains excerpts from "Come into my Trading Room" by Dr. Alexander Elder.
The indicator has an additional exponential moving average with adjustable period, adjustable shift and adjustable source for the narrow range of quotations and final determination of direction.
The chart shows how the trend channel and the Fibonacc trading indicator can complement each other.
The text contains excerpts from "Come into my Trading Room" by Dr. Alexander Elder.
Markttechniker können Kanäle verwenden um heraus zu finden, wann ein Markt eine unterbewertete oder überbewertete Zone erreicht hat. An diesen Zonen finden Käufe und Verkäufe statt. Profis benutzen Trendkanäle um herauszufinden, wann der Markt sich selbst überholt hat und wo er wahrscheinlich eine Umkehrbewegung vollziehen wird.
Obere Kanallinie = EMA + EMA x Kanalkoeffizient
Untere Kanallinie = EMA - EMA x Kanalkoeffizient
Die Oberlinie reflektiert die Kraft der Bullen, mit der sie die Kurse über den durchschnittlichen Wertekonsens anheben. Diese Linie kennzeichnet die normale Grenze des Optimismus im Markt.
Die untere Linie des Kanals reflektiert die Kraft der Bären, mit der sie die Kurse unter den durchschnittlichen Wertekonsens drücken. Diese Linie kennzeichnet die normale Grenze des Pessimismus im Markt.
Mit dem Koeffizienten wird der Abstand zum gleitenden Durchschnitt so lange korrigiert, bis der Kanal 95% aller Kurse enthält. Lediglich die Spitzen und die niedrigsten Böden dürfen herausragen. Für diese Spitzen und Bögen und Seitwärtstrends habe ich zu den Grenzlinien zwei weitere zuschaltbare Linien, mit einem Abstand von 23,6%, hinzugefügt (hellblau).
Je größer der Zeitrahmen ist, um so breiter ist der Kanal.
Wenn Sie in der Nähe eines ansteigenden gleitenden Durchschnitts kaufen, nehmen Sie die Gewinne in der Nähe der oberen Grenzlinie des Kanals mit.
Wenn Sie in der Nähe eines fallenden gleitenden Durchschnitts leerverkaufen, sollten Sie in der Nähe der unteren Grenzlinie des Kanals glattstellen.
Wenn der gleitende Durchschnitt im Wesentlichen flach ist, dann sollten Sie an der unteren Kanalbegrenzung eine Long-Position und an der oberen Kanalbegrenzung eine Short-Position einnehmen. Gewinne realisieren Sie jeweils, wenn die Kurse zu ihrem gleitenden Durchschnitt, zur Normalität zurückgekehrt sind.
Für Daytrader interessant:
Stellen Sie den gleitenden Durchschnitt so ein, dass er die gleiche Steigung wie die Notierungen im Stunden-Chart hat. Mit dem Koeffizienten Stellen Sie den Abstand der Grenzlinien ein. Vielleicht hilft die Zuschaltung der 23,6%-Linien, wo die Seitwärtstrends anstoßen. Stellen Sie die Auflösung auf „1 Stunde“. Wenn Sie mit diesen Einstellungen in niedrigen Zeiteinheiten traden wollen, z.B. im 3 Minuten-Chart oder im 1 Minuten-Chart, dann haben Sie jetzt Zielmarken und Hinweise in welche Richtung die Notierungen möglicherweise laufen werden, wenn die Notierungen den gleitenden Durchschnitt oder eine der Grenzlinien erreicht haben.
Der Text enthält Auszüge aus „Come into my Trading Room“ von Dr. Alexander Elder.
Der Indikator besitzt zur engen Umfang der Notierungen und endgültigen Richtungsbestimmung einen zusätzlichen exponentiellen gleitenden Durchschnitt mit einstellbarer Periode, einstellbarer Verschiebung und einstellbarer Quelle.
Der Chart zeigt wie sich Trendkanal und Fibonacc-Trading-Indikator ergänzen könne.
Der Text enthält Auszüge aus „Come into my Trading Room“ von Dr . Alexander Elder.
Developing Range v1.0Developing Range v1.0
----------------------------
Azimuth Dynamics
Scalping tool for help finding potentially high probability reactive levels. I suggest using on a 5min chart.
GRAY BAND: yesterday's High-Low range
BLUE BAND: today's Developing Range. Mean of today's High-Low range so far and yesterday's High-Low range, this is calculated for each of today's bars
THIN BLUE LINE: the mean of today's range median and yesterday's range median.
Note: we do not use the DAILY bar via 'security()' to obtain today's high and low. This would essentially be forward looking, instead we use iteration to check from the current bar back to midnight, bar by bar. This then allows a developing range to be established as the day prints new highs and lows.
Inspired by volatility trading textbook.
Any MA bands (TMA bands V2)Hi everyone
Website will be opening very shortly :) Sorting out the last details and we're so excited to finally roll-out our different Algorithm Builders for you guys
Forewords
This present script is an evolution of the TMA bands . I would never have expected that script to become so popular to be honest
This is not only a study or idea but a really proven method and I'm glad that many of you are using it already. But please, whenever you see a new script out there, even if it looks cool and promising, please test it on a demo account for a week or on a LIVE account but with tiny amounts every time.
Many times, what you see on the chart is not what will happen in reality. I know that most of you will agree and I know exactly why we see this behavior... I'll give more details in a later post
I have plenty of methods like that one and I'll detail them on my website (and a bit on TradingView) starting next month
TMA bands on steroids
Someone asked me privately to make a generic version of the TMA bands and make it compatible with other standards Moving Average types. That's it for the specifications really as I didn't do much than re-using some piece of my own code
Suggested (but not mandatory) methodology
1) The Take Profit 1 is the middle line, Take Profit 2 is the opposite band.
2) Once the TP1 is hit, set your Stop Loss to breakeven
3) Once the TP2 is hit, if you still want to stay in the trade, set your Stop Loss to the TP1
It will be a powerful tool in your arsenal for some scalp/intraday trades
Wishing you all of you a great and profitable day
PS
It's strictly forbidden to republish this script without my explicit approval. All my posts are copyrighted from now on
Obviously you can use but not republish and get the credit or even worse... some money from your own clients
Dave
____________________________________________________________
Be sure to hit the thumbs up. Building those indicators take a lot of time and likes are always rewarding for me :) (tips are accepted too)
- If you want to suggest some indicators that I can develop and share with the community, please use my personal TRELLO board
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Disclaimer:
Trading involves a high level of financial risk, and may not be appropriate because you may experience losses greater than your deposit. Leverage can be against you.
Do not trade with capital that you can not afford to lose. You must be aware and have a complete understanding of all the risks associated with the market and trading. We can not be held responsible for any loss you incur.
Trading also involves risks of gambling addiction.
Please notice I do not provide financial advice - my indicators, strategies, educational ideas are intended to provide only some source code for anyone interested in improving their trading
The proprietary indicators and strategies developed by Best Trading Indicator, the object of intellectual property rights are and remain the exclusive property of Best Trading Indicator, at the exclusion of images and videos and texts free of rights or provided by the Company or external legal or physical person.
No assignment of intellectual property rights is carried out through these Terms and Conditions.
Any total or partial reproduction, modification or use of these properties for any reason whatsoever is strictly prohibited without the express written authorization of the Company.
Trend Direction Helper (ZigZag and S/R and HH/LL labels)Hey everyone
First of all, I'd like to thank Ricardo Santos, Backtest Rookies for the inspiration for this script.
Actually, most of it is coming from them and I only mixed them up (and added my secret sauce ^^). If some of you are not thinking about a trading secret sauce, please get serious for a moment :)
Some of you asked me how I do to set the trend direction. You all understood that if you get an UP label, then the price should go up and vice-versa for down.
But it's not so easy to define the good signals for each asset and each timeframe. I'm going to repeat what I said yesterday because ... well... that's what trading is about
So quoting myself here "The inputs set by default will have to be changed for your asset/timeframe and can't be generic for everything. You have to play with the inputs until the signals will make sense to you
The indicator/strategy with a unique configuration that you'll never check or update according to the market condition DOES NOT exit. "
BUT... a bit of patience and practice and you might do wonders.
The Method
I never realized until now but by connecting the higher highs/lower lows, I was drawing zigzag lines.
The Zig Zag Master is Ricardo Santos . Please give him a follow, he's awesome
For those who don't want to draw on the chart or (my preferred choice) need some inspiration to define your trend directions, this script is for YOU (and your family, your pet, your girlfriend/boyfriend, ...)
I think that each asset/timeframe chart has its own history. What worked in a post could work in the future.
In that regard, if a trend direction worked in the past, that's the parameter that I'll use to trade with it in a demo account and make sure it's relevant. If not then I will adjust
If you're trading with new indicators or a new method right away on your real trading account, you're gonna have a bad time imgflip.com
Lines EVERYWHERE
The script draws the classical horizontal pivots + the zig zag lines + the Higher Highs/Lower Lows label in just 1 script. I'm very excited to share a script (on which I coded 100 lines out of 500) but no one else did it
The horizontal pivots part are coming from Backtest Rookies
For more security, you can add a pullback on a moving average after getting a signal. Pullbacks are necessary to limit any eventual loss or maximize your gains by getting in the trend sooner.
I really give you a solid method and a great script in my opinion. 6 years of experience given away for FREE :p (when Dave will start thinking as a business man instead :O)
Does it repaint ?
Getting this question twice a day. You guys are obsessed with the repainting :)
Short answer, yes because it will calculate the pivots and zig zags whenever new higher highs/lower lows will be formed.
However, the trend direction code is based on the candle close so it shouldn't repaint. If it does, please let me know
See you all on Monday
Love you all
Dave
____________________________________________________________
Be sure to hit the thumbs up. Building those indicators take a lot of time and likes are always rewarding for me :) (tips are accepted too)
- If you want to suggest some indicators that I can develop and share with the community, please use my personal TRELLO board
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Disclaimer:
Trading involves a high level of financial risk, and may not be appropriate because you may experience losses greater than your deposit. Leverage can be against you.
Do not trade with capital that you can not afford to lose. You must be aware and have a complete understanding of all the risks associated with the market and trading. We can not be held responsible for any loss you incur.
Trading also involves risks of gambling addiction.
Please notice I do not provide financial advice - my indicators, strategies, educational ideas are intended to provide only some source code for anyone interested in improving their trading
The proprietary indicators and strategies developed by Best Trading Indicator, the object of intellectual property rights are and remain the exclusive property of Best Trading Indicator, at the exclusion of images and videos and texts free of rights or provided by the Company or external legal or physical person.
No assignment of intellectual property rights is carried out through these Terms and Conditions.
Any total or partial reproduction, modification or use of these properties for any reason whatsoever is strictly prohibited without the express written authorization of the Company.
CCI Stochastic and a quick lesson on Scalping & Trading SystemsHello traders
Still on holidays but I don't and will never forget you <3
I realize more and more that you guys don't only want some indicators and learn about pinescript. You also want some guidance and get some mentors providing you with comprehensive and simple trading methods and tricks.
I'm against those posting many scripts a day that in the end will make you lose your money because they don't give you the methodology to use them
It might look nice on the charts but we're not here to do some painting.... but to improve our lifestyle right :)
The today indicator is based on an indicator that I used for scalping : Fxcodebase CCI Stochastic
A CCI stochastic is very reactive and allows us to take many scalps trades per day with a few pips/USD gain for each trade. I don't recommend novice traders to use it and I strongly recommend everyone reading my disclaimer below basically saying "I'm not a financial advisor, don't be dumb, stay safe"
(I also recommend the few scripts copy-pasters to read my disclaimer as well)
What's a novice trader, sir? Well... thanks for asking. A novice trader is any trader with less than 5 years of live trading experience
From a pinescript perspective, this script will be however interesting for everyone :)
How to use it?
The indicator gives 3 possible entries for Longs and Shorts:
- Arrows at Enter - Will give signals whenever the Stoch CCI will enter in the BUY/SELL zone
- Arrows at Exit - Will give signals whenever the Stoch CCI will exit the BUY/SELL zone
- Arrows at Center - Signals whenever the Stoch CCI will cross the mid-line (50)
All arrows have different colors because ... painting is cool and nice.... kidding.... it gives clearer and more readable signals on the chart (but painting sir...)
A possible trading method could be to use the 3 modes at the same time to get the maximum of opportunities.
The safer bet is to use the "Arrows at Exit" only mode but for those who want to accumulate more scalping positions, adding the "Arrows at Enter" mode is an option as well. In other words, you accumulate a few scalping positions whenever the Stoch CCI get in the BUY/SELL zone and will stop accumulating whenever it will exit the BUY/SELL zone
You can add a few extra positions whenever the Stoch CCI will cross the mid-line as it often translates in a trend continuation
Life hack
Very important note : (probably the most important gem I shared until now) The inputs set by default will have to be changed for your asset/timeframe and can't be generic for everything. You have to play with the inputs until the signals will make sense to you
The indicator/strategy with a unique configuration that you'll never check or update according to the market condition DOES NOT exit.
If you find such a tool and prove me that you're making constant gains with it over a year, please patent it and then show it to me as I'd like to study it to replicate :) But most likely this is a myth/unicorn
Who I am to say this? Well, I worked in a Bank with real traders and I have a good sense of what works and what will certainly not work
My guru said scalping crypto in 1 second timeframe was the way to get rich quick. Do you agree sir?
But in trading, this is not because you take the maximum of trades possible that your gains will increase. This is the contrary.
There is a strong and proven inverse correlation between the number of trades taken and how fast you'll burn your capital. A swing trader taking 2/3 trades a month is more likely to beat 99% of the scalpers out there trying to predict all market movements. (and I'm not even talking about how dangerous it is to scalp with leverage)
You're starting to know me a bit more right now. I prefer to tell you what you need to hear vs what you want to hear because the second option doesn't allow to stay in the game very long.
I might lose some futures clients along the way by saying that but for my own conscience and ethics, I prefer to warn about the true risks of trading and to select who you listen very carefully (the advice also works for me, if you feel what I said doesn't make sense, this is totally your right but I hope this is because I'm french and not because of the content ^^).
See you tomorrow for another indicator or idea
Love you all
Dave
____________________________________________________________
Be sure to hit the thumbs up. Building those indicators take a lot of time and likes are always rewarding for me :) (tips are accepted too)
- If you want to suggest some indicators that I can develop and share with the community, please use my personal TRELLO board
- I'm an officially approved PineEditor/LUA/MT4 approved mentor on codementor. You can request a coaching with me if you want and I'll teach you how to build kick-ass indicators and strategies
Jump on a 1 to 1 coaching with me
- You can also hire for a custom dev of your indicator/strategy/bot/chrome extension/python
Disclaimer:
Trading involves a high level of financial risk, and may not be appropriate because you may experience losses greater than your deposit. Leverage can be against you.
Do not trade with capital that you can not afford to lose. You must be aware and have a complete understanding of all the risks associated with the market and trading. We can not be held responsible for any loss you incur.
Trading also involves risks of gambling addiction.
Please notice I do not provide financial advice - my indicators, strategies, educational ideas are intended to provide only some source code for anyone interested in improving their trading
The proprietary indicators and strategies developed by Best Trading Indicator, the object of intellectual property rights are and remain the exclusive property of Best Trading Indicator, at the exclusion of images and videos and texts free of rights or provided by the Company or external legal or physical person.
No assignment of intellectual property rights is carried out through these Terms and Conditions.
Any total or partial reproduction, modification or use of these properties for any reason whatsoever is strictly prohibited without the express written authorization of the Company.
Multi SMA EMA WMA HMA BB (4x3 MAs Bollinger Bands) Pro MTF - RRBMulti SMA EMA WMA HMA 4x3 Moving Averages with Bollinger Bands Pro MTF by RagingRocketBull 2018
Version 1.0
This indicator shows multiple MAs of any type SMA EMA WMA HMA etc with BB and MTF support, can show MAs as dynamically moving levels.
There are 4 MA groups + 1 BB group. You can assign any type/timeframe combo to a group, for example:
- EMAs 50,100,200 x H1, H4, D1, W1 (4 TFs x 3 MAs x 1 type)
- EMAs 8,13,21,55,100,200 x M15, H1 (2 TFs x 6 MAs x 1 type)
- D1 EMAs and SMAs 12,26,50,100,200,400 (1 TF x 6 MAs x 2 types)
- H1 WMAs 7,77,231; H4 HMAs 50,100,200; D1 EMAs 144,169,233; W1 SMAs 50,100,200 (4 TFs x 3 MAs x 4 types)
- +1 extra MA type/timeframe for BB
compile time: 25-30 sec
full redraw time after parameter change in UI: 3 sec
There are several versions: Simple, MTF, Pro MTF, Advanced MTF and Ultimate MTF. This is the Pro MTF version. The Differences are listed below. All versions have BB
- Simple: you have 2 groups of MAs that can be assigned any type (5+5)
- MTF: +2 custom Timeframes for each group (2x5 MTF)
- Pro MTF: +4 custom Timeframes for each group (4x3 MTF), MA levels and show max bars back options
- Advanced MTF: +2 extra MAs/group (4x5 MTF), custom Ticker/Symbol, backreferences for type, TF and MA lengths in UI
- Ultimate MTF: +individual settings for each MA, custom Ticker/Symbols
Features:
- 4x3 = 12 MAs of any type including Hull Moving Average (HMA)
- 4x MTF groups with step line smoothing
- BB +1 extra TF/type for BB MAs
- 12 MA levels with adjustable group offsets, indents and shift
- show max bars back
- you can show/hide both groups of MAs/levels and individual MAs
Notes:
1. based on 3EmaBB, uses plot*, barssince and security functions
2. you can't set certain constants from input due to Pinescript limitations - change the code as needed, recompile and use as a private version
3. Levels = trackprice implementation
4. Show Max Bars Back = show_last implementation
5. uses timeframe textbox instead of input resolution to allow for 120 240 and other custom TFs. Also supports TFs in hours: 2H or H2
6. swma has a fixed length = 4, alma and linreg have additional offset and smoothing params
7. Smoothing is applied by default for visual aesthetics on MTF. To use exact ma mtf values (lines with stair stepping) - disable it
MTF Notes:
- uses simple timeframe textbox instead of input resolution dropdown to allow for 120, 240 and other custom TFs, also supports timeframes in H: 2H, H2
- Groups that are not assigned a Custom TF will use Current Timeframe (0).
- MTF will work for any MA type assigned to the group
- MTF works both ways: you can display a higher TF MA/BB on a lower TF or a lower TF MA/BB on a higher TF.
- MTF MA values are normally aligned at the boundary of their native timeframe. This produces stair stepping when a higher TF MA is viewed on a lower TF.
Therefore X Y Point Density/Smoothing is applied by default on MA MTF for visual aesthetics. Set both to 0 to disable and see exact ma mtf values (lines with stair stepping and original mtf alignment).
- Smoothing is disabled for BB MTF bands because fill doesn't work with smoothed MAs after duplicate values are replaced with na.
- MTF MA Value fluctuation is possible on the current bar due to default security lookahead
Smoothing:
- X,Y == 0 - X,Y smoothing disabled (stair stepping on high TFs)
- X == 0, Y > 0 - X,Y smoothing applied to all TFs
- Y == 0, X > 0 - X smoothing applied to all TFs < deltaX_max_tf, Y smoothing disabled
- X > 0, Y > 0 - Y smoothing applied to all TFs, then X smoothing applied to all TFs < deltaX_max_tf
X Smoothing with Y == 0 - shows only every deltaX-th point starting from the first bar.
X Smoothing with Y > 0 - shows only every deltaX-th point starting from the last shown Y point, essentially filling huge gaps remaining after Y Smoothing with points and preserving the curve's general shape
X Smoothing on high TFs with already scarce points produces weird curve shapes, it works best only on high density lower TFs
Y Smoothing reduces points on all TFs, removes adjacent points with prices within deltaY, while preserving the smaller curve details.
A combination of X,Y produces the most accurate smoothing. Higher delta value - larger range, more points removed.
Show Max Bars Back:
- can't set plot show_last from input -> implemented using a timenow based range check
- you can't delete/modify history once plotted, so essentially it just sets a start point for plotting (from num_bars bars back) that works only in realtime mode (not in replay)
Levels:
You can plot current MA value using plot trackprice=true or by checking Show Price Line in Style. Problem is:
- you can only change color (not the dashed line style, width), have both ma + price line (not just the line), and it's full screen wide
- you can't set plot trackprice from input => implemented using plotshape/plotchar with fixed text labels serving as levels
- there's no other way of creating a dynamic level: hline, plot, offset - nothing else works.
- you can't plot a text var - all text strings must be constants, so you can't change the style, width and text labels without recompiling.
- from input you can only adjust offset, indent and shift for each level group, and change color
- the dot below each level line is the exact MA value. If you want just the line swap plotshape with plotchar, recompile and save as your private version, adjust Y shift.
To speed up redraw times: reduce last_bars to ~2000, recompile and use as your own private version
Pinescript is a rudimentary language (should be called Painscript instead) that can basically only plot data. You can't do much else. Please see the code for tips and hints.
Certain things just can't be done or require shady workarounds and weeks of testing trying to resolve weird node.js compiler errors.
Feel free to learn from/reuse/change the code as needed and use as your own private version. See comments in code. Good Luck!
Trend Strength Meter [Eˣ]📊 Trend Strength Meter - Free Indicator
Overview
The Trend Strength Meter quantifies market momentum with a simple 0-100 score. No more guessing if a trend is strong or weak - this indicator gives you an objective, numerical measurement of trend strength that combines trend direction, momentum, volatility, and moving average alignment into one clear reading.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎯 What This Indicator Does
Quantifies Trend Strength:
• Measures trend on a scale from -100 (extreme bearish) to +100 (extreme bullish)
• Combines 4 key components: Trend Direction, Momentum, Volatility, MA Alignment
• Provides objective measurement instead of subjective interpretation
• Works on all timeframes and instruments
Visual Display:
• Green Histogram Bars = Bullish strength (0 to +100)
• Red Histogram Bars = Bearish strength (0 to -100)
• Smooth Overlay Line = Trend direction (filters noise)
• Triangle Markers = Trend reversals (zero-line crosses)
• Background Zones = Visual strength categories
Multi-Timeframe Analysis:
• See strength readings from 3 timeframes simultaneously
• Identify when trends align across multiple timeframes
• "ALIGNED" indicator shows when all timeframes agree
• Spot divergences between timeframes
Clean & Professional:
• Minimal clutter, maximum clarity
• Compact info panel in top-right corner
• No overwhelming indicators or text
• Easy to read at a glance
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 Understanding The Strength Scale
Bullish Readings (0 to +100)
+75 to +100 - VERY STRONG BULL
• Extremely powerful uptrend
• All components aligned bullishly
• Best time for aggressive long positions
• Trend likely to continue
• Strategy: Hold longs, avoid shorts
+50 to +75 - STRONG BULL
• Strong uptrend with good momentum
• High probability of continuation
• Quality long setups
• Pullbacks are buying opportunities
• Strategy: Enter longs on dips
+25 to +50 - BULL
• Moderate bullish trend
• Decent upward momentum
• Trend following longs work
• Watch for weakening signals
• Strategy: Ride the trend, trail stops
+10 to +25 - WEAK BULL
• Weak bullish bias
• Trend may be exhausting
• Lower probability setups
• Consider taking profits
• Strategy: Caution, reduce position sizes
-10 to +10 - NEUTRAL
• No clear trend
• Choppy, range-bound market
• Conflicting signals
• Low probability for trend trades
• Strategy: Stay flat or trade ranges
Bearish Readings (0 to -100)
-10 to -25 - WEAK BEAR
• Weak bearish bias
• Trend may be exhausting
• Lower probability setups
• Consider taking profits on shorts
• Strategy: Caution, reduce position sizes
-25 to -50 - BEAR
• Moderate bearish trend
• Decent downward momentum
• Trend following shorts work
• Watch for weakening signals
• Strategy: Ride the trend down, trail stops
-50 to -75 - STRONG BEAR
• Strong downtrend with momentum
• High probability of continuation
• Quality short setups
• Bounces are selling opportunities
• Strategy: Enter shorts on rallies
-75 to -100 - VERY STRONG BEAR
• Extremely powerful downtrend
• All components aligned bearishly
• Best time for aggressive short positions
• Trend likely to continue
• Strategy: Hold shorts, avoid longs
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📊 How To Use This Indicator
Basic Usage
1. Check Current Strength
• Look at the histogram height and color
• Read the exact number in the info panel
• Note the status label (STRONG BULL, WEAK BEAR, etc.)
• Higher absolute value = stronger trend
2. Watch For Reversals
• Triangle markers appear when strength crosses zero
• 🟢 Green triangle up = Bullish reversal signal
• 🔴 Red triangle down = Bearish reversal signal
• These mark potential trend changes
3. Monitor Multi-Timeframe Alignment
• Check if all timeframes show same direction
• "✓ ALIGNED" = All timeframes agree (high confidence)
• "✗ Mixed" = Timeframes disagree (lower confidence)
• Aligned trends have higher probability
4. Observe Strength Changes
• Rising strength = Trend strengthening
• Falling strength = Trend weakening
• Strength near extremes (+75/-75) = Potential exhaustion
• Strength near zero = Indecision/consolidation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💡 Trading Strategies
Strategy 1: Trend Following
Best For: Capturing major moves
Timeframes: 1H, 4H, Daily
Rules:
1. Wait for strength to reach +50 or higher (or -50 or lower)
2. Check MTF alignment - all timeframes should agree
3. Enter on pullbacks in the direction of strength
4. Hold position while strength remains above +25 (or below -25)
5. Exit when strength crosses back to weak zone or reverses
Example - Long Setup:
• Strength crosses above +50 = Strong bull trend
• All MTF readings positive and aligned
• Wait for minor pullback to support
• Enter long with stop below recent swing low
• Hold while strength stays above +25
• Exit if strength drops below +10 or reverses to negative
Strategy 2: Reversal Trading
Best For: Catching trend changes early
Timeframes: 15min, 1H, 4H
Rules:
1. Watch for strength to reach extreme levels (+75 or -75)
2. Look for divergence (price new high/low but strength declining)
3. Wait for zero-line cross (triangle marker appears)
4. Enter in direction of new trend
5. Use tight stops since you're catching early
Example - Bullish Reversal:
• Strength at -80 (very strong bear)
• Price makes new low but strength only at -70 = Divergence
• Green triangle appears = Zero-line cross
• Enter long on confirmation
• Stop below recent swing low
• Target: Strength reaching +50
Strategy 3: Avoid Bad Trades
Best For: Improving win rate
Timeframes: All
Rules:
• DON'T trade when strength is between -10 and +10 (neutral zone)
• DON'T go long when strength is negative
• DON'T go short when strength is positive
• DON'T trade against MTF alignment
• DO wait for clear strength readings
Why It Works: Most losses come from trading in choppy markets or against the trend
Strategy 4: Position Sizing Based On Strength
Best For: Risk management
Timeframes: All
Rules:
• Strength +75 to +100 or -75 to -100 = Full position size (2-3% risk)
• Strength +50 to +75 or -50 to -75 = Normal position (1.5-2% risk)
• Strength +25 to +50 or -25 to -50 = Reduced position (1% risk)
• Strength -10 to +10 = No trades or minimal size (0.5% risk)
Why It Works: Bigger positions in stronger trends, smaller in weak trends
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ Settings Explained
Multi-Timeframe Analysis
• Toggle ON/OFF the MTF readings in the info panel
• Turn OFF for cleaner display if you only trade one timeframe
Timeframe 1, 2, 3 (Default: 15min, 1H, 4H)
• Choose which timeframes to analyze
• For day trading: Use 5min, 15min, 1H
• For swing trading: Use 1H, 4H, Daily
• For position trading: Use 4H, Daily, Weekly
• Higher timeframes show bigger picture trends
MA Length (Default: 20)
• Moving average period for trend direction component
• Lower values (10-15): More responsive, more signals
• Higher values (25-50): Smoother, fewer signals
• Recommended: 20 for most styles
ATR Length (Default: 14)
• Period for measuring volatility
• Standard setting works well for most markets
• Recommended: Keep at 14
RSI Length (Default: 14)
• Period for momentum measurement
• Standard setting works well for most markets
• Recommended: Keep at 14
Show Trend Labels on Chart
• Toggle ON to display "BULL" / "BEAR" text at reversals
• Keep OFF for cleaner chart (default)
• Useful when backtesting to see historical signals
Show Reversal Signals
• Toggle triangle markers at zero-line crosses
• Keep ON to catch trend changes
• Turn OFF if you only care about current strength
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎓 How The Calculation Works
The indicator measures 4 components, each worth 25 points (total = 100):
1. Trend Direction (25 points)
• Compares price to moving average
• Checks if MA is rising or falling
• Perfect score: Price above rising MA
• Minimum score: Price below falling MA
2. Momentum (25 points)
• Uses RSI to measure momentum strength
• RSI > 70 = Maximum bullish points
• RSI < 30 = Maximum bearish points
• RSI near 50 = Neutral points
3. Volatility Alignment (25 points)
• Checks if price moves align with volatility
• Strong moves in trending direction = High score
• Weak moves or counter-trend = Low score
• Uses ATR to measure volatility
4. Moving Average Alignment (25 points)
• Checks EMA 8, 21, and 55 positioning
• Perfect bullish: 8 > 21 > 55 above price
• Perfect bearish: 8 < 21 < 55 below price
• Misaligned = Reduced score
Final Score = Sum of all 4 components (-100 to +100)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Info Panel Guide
Current
• Shows exact strength number for current timeframe
• Color-coded background (green = bullish, red = bearish)
• Larger number for quick visibility
Status
• Text description of current trend state
• Examples: "STRONG BULL", "WEAK BEAR", "NEUTRAL"
• Quick interpretation without looking at number
Timeframe Readings
• Shows strength for each selected timeframe
• Color-coded for quick reading
• Compare to spot divergences
MTF Alignment
• ✓ ALIGNED = All timeframes show same direction (high confidence)
• ✗ Mixed = Timeframes disagree (proceed with caution)
• Most reliable trades happen when aligned
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📱 Alert Setup
This indicator includes 4 alert types:
1. Bullish Reversal
• Triggers when strength crosses from negative to positive
• Potential trend change from bearish to bullish
• Early warning of new uptrend
2. Bearish Reversal
• Triggers when strength crosses from positive to negative
• Potential trend change from bullish to bearish
• Early warning of new downtrend
3. Very Strong Bull
• Triggers when strength reaches +75 or higher
• Extreme bullish conditions
• Aggressive long opportunity
4. Very Strong Bear
• Triggers when strength reaches -75 or lower
• Extreme bearish conditions
• Aggressive short opportunity
To Set Up Alerts:
1. Click "Alert" button (clock icon)
2. Select "Trend Strength Meter"
3. Choose your alert type
4. Configure notifications
5. Click "Create"
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
💎 Pro Tips & Best Practices
✅ DO:
• Trust the extremes - Readings above +75 or below -75 are highly reliable
• Wait for alignment - Best trades happen when MTF shows "ALIGNED"
• Use with price action - Combine with support/resistance for entries
• Respect the neutral zone - Avoid trading when strength is -10 to +10
• Scale position size - Bigger positions in stronger trends
• Watch for divergence - Price new high but strength declining = Warning
• Follow the trend - Don't fight strong readings (±50 or more)
⚠️ DON'T:
• Don't trade neutral readings - Wait for clear strength above ±25
• Don't fade extremes - Very strong trends (+75/-75) can stay extreme
• Don't ignore MTF - Mixed timeframes = Lower probability
• Don't overtrade - Wait for quality setups with good strength
• Don't use alone - Combine with support/resistance and risk management
• Don't expect perfection - Even strong trends can reverse suddenly
🎯 Best Timeframes:
• Scalping: 1min, 5min (fast readings, quick changes)
• Day Trading: 5min, 15min, 1H (balanced view)
• Swing Trading: 1H, 4H, Daily (stable trends)
• Position Trading: 4H, Daily, Weekly (major trends)
🔥 Best Markets:
• Trending markets (crypto, indices, commodities)
• High liquidity instruments (BTC, ES, NQ, EUR/USD)
• Avoid on low-volume stocks or exotic pairs
⏰ Works Best When:
• Market has clear direction
• Good volatility (not too choppy, not too quiet)
• Multiple timeframes aligned
• Away from major news events
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚀 What Makes This Different?
Unlike subjective trend analysis, the Trend Strength Meter:
• Objective Measurement - No guessing, exact numerical score
• Multi-Component - Combines 4 factors, not just one indicator
• Multi-Timeframe - See alignment across timeframes instantly
• Clean Visual - Professional display, easy to interpret
• Actionable - Clear signals for entries, exits, and position sizing
• Universal - Works on all timeframes and instruments
• Proven Components - Based on trend, momentum, volatility, MA alignment
Perfect For:
• Trend followers who want confirmation
• Swing traders seeking high-probability setups
• Risk managers wanting to size positions properly
• Anyone tired of subjective "is this trend strong?" questions
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Common Patterns To Watch
Pattern 1: The Steady Climb
• Strength gradually rises from +25 to +50 to +75
• Indicates building momentum
• Trade: Hold longs, add on pullbacks
Pattern 2: The Quick Spike
• Strength jumps from 0 to +75 in few bars
• Indicates explosive momentum
• Trade: Enter quickly, but expect pullback
Pattern 3: The Exhaustion
• Strength at +80, price new high, strength drops to +70
• Bearish divergence forming
• Trade: Take profits, prepare for reversal
Pattern 4: The Whipsaw
• Strength oscillates between +10 and -10
• Choppy, range-bound market
• Trade: Stay flat, wait for breakout
Pattern 5: The False Breakout
• Strength briefly crosses +50 then drops back
• Weak momentum, trend not confirmed
• Trade: Wait for sustained strength above +50
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📈 Upgrade Your Trading System
This free indicator quantifies trend strength objectively. Want more?
🔥 Check out my premium scripts for:
• Automated entry and exit signals with trend confirmation
• Advanced multi-timeframe strategy systems
• Dynamic position sizing based on trend strength
• Backtested performance with statistics
• Complete trading solutions
• And much more...
👉 Visit my profile for professional-grade trading tools!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📝 Important Notes
• This indicator measures trend strength, not direction alone
• Strong readings don't guarantee continuation (manage risk)
• Always use with proper stop losses
• Combine with support/resistance analysis
• Test on demo before live trading
• Past performance doesn't guarantee future results
• Adjust settings to match your trading style
Disclaimer: For educational purposes only. Trading involves substantial risk. Always do your own research and never risk more than you can afford to lose.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🙏 Support This Work
If this indicator helps your trading:
• ⭐ Give it a thumbs up
• 💬 Share your best strength-based trades in comments
• 🔔 Follow for more free professional tools
• 🚀 Share with traders who need objective trend analysis
Questions about trend strength? Drop a comment and I'll help!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Developed with ❤️ for traders who want objective, quantified analysis
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Version History
• v1.0 - Initial release with 4-component strength calculation and MTF analysis
Gemini Hibrit Avcı (Supertrend + StochRSI)SupertrendOption 1: Natural & Conversational (Best Match for Original Tone)
This version captures the explanatory, "speaking to a friend" vibe of your Turkish text.
Supertrend: When you look at the chart, you'll see Green or Red clouds in the background. This basically tells you, "Should you only be thinking about buying right now, or selling?"
Stoch RSI: You know how the price sometimes makes a correction (drops slightly) even when the Supertrend is green? This indicator catches the exact moment that correction ends and the price starts heading back up (the K and D crossover).
EMA 200 Filter: This comes enabled by default in your settings. It means: "If the price is below the 200-day average, do not—under any circumstances—enter a trade, even if the Supertrend gives a BUY signal." This protects you from fake rallies (bull traps) during a bear market.
Momentum Permission + Pivot Entry + Exit (v1.4 FULL)//@version=5
indicator("Momentum Permission + Pivot Entry + Exit (v1.4 FULL)", overlay=true)
// ──────────────────────────────────────────────
// Inputs
// ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
relVolThresh = input.float(1.3, "Relative Volume Threshold")
pivotLookback = input.int(3, "Pivot Lookback Bars")
// ──────────────────────────────────────────────
// Core Calculations
// ──────────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
vwap = ta.vwap(close)
relVol = volume / ta.sma(volume, 10)
aboveSMA = close > sma50
aboveVWAP = close > vwap
relStrong = relVol > relVolThresh
greenCandle = close > open
crossUp = ta.crossover(close, sma50)
// ──────────────────────────────────────────────
// One-Time Daily Permission
// ──────────────────────────────────────────────
var bool permission = false
if ta.change(time("D"))
permission := false
permitSignal = crossUp and aboveVWAP and relStrong and not permission
if permitSignal
permission := true
// ──────────────────────────────────────────────
// Entry: Pivot Break Continuation
// ──────────────────────────────────────────────
pivotHighBreak = close > ta.highest(high , pivotLookback)
entrySignal = (
permission and
aboveSMA and
aboveVWAP and
relStrong and
greenCandle and
pivotHighBreak
)
// ──────────────────────────────────────────────
// Exit: Trend Exhaustion / VWAP Breakdown
// ──────────────────────────────────────────────
smaChange = sma50 - sma50
exitSignal = (
permission and
close < vwap and
close < open and
relStrong and
smaChange < 0
)
// ──────────────────────────────────────────────
// VISUAL PLOTS (same as before)
// ──────────────────────────────────────────────
plot(sma50, title="SMA50", color=color.orange, linewidth=2)
plot(vwap, title="VWAP", color=color.new(color.blue, 0), linewidth=2)
plotshape(
permitSignal,
title="Trend Permission",
style=shape.triangleup,
location=location.belowbar,
color=color.new(color.green, 0),
size=size.large,
text="PERMIT"
)
plotshape(
entrySignal,
title="Entry Trigger",
style=shape.triangleup,
location=location.abovebar,
color=color.new(color.aqua, 0),
size=size.normal,
text="ENTRY"
)
plotshape(
exitSignal,
title="Exit Signal",
style=shape.triangledown,
location=location.abovebar,
color=color.new(color.red, 0),
size=size.large,
text="EXIT"
)
// ──────────────────────────────────────────────
// SCREENER OUTPUT (persistent 0/1 for the day)
// ──────────────────────────────────────────────
var bool permitToday = false
var bool entryToday = false
var bool exitToday = false
if ta.change(time("D"))
permitToday := false
entryToday := false
exitToday := false
if permitSignal
permitToday := true
if entrySignal
entryToday := true
if exitSignal
exitToday := true
// Hidden plots for screener columns
plot(permitToday ? 1 : 0, title="PERMIT", display=display.none)
plot(entryToday ? 1 : 0, title="ENTRY", display=display.none)
plot(exitToday ? 1 : 0, title="EXIT", display=display.none)
// Alerts
alertcondition(permitSignal, title="PERMIT", message="Momentum PERMISSION fired")
alertcondition(entrySignal, title="ENTRY", message="Momentum ENTRY fired")
alertcondition(exitSignal, title="EXIT", message="Momentum EXIT fired")
Momentum Permission + Pivot Entry + Exit (v1.4)//@version=5
indicator("Momentum Permission + Pivot Entry + Exit (v1.4)", overlay=true)
// ──────────────────────────────────────────────
// Inputs
// ──────────────────────────────────────────────
smaLength = input.int(50, "SMA Length")
relVolThresh = input.float(1.3, "Relative Volume Threshold")
pivotLookback = input.int(3, "Pivot Break Lookback")
// ──────────────────────────────────────────────
// Core Calculations
// ──────────────────────────────────────────────
sma50 = ta.sma(close, smaLength)
vwap = ta.vwap(close)
relVol = volume / ta.sma(volume, 10)
crossUp = ta.crossover(close, sma50)
aboveSMA = close > sma50
aboveVWAP = close > vwap
relStrong = relVol > relVolThresh
greenCandle = close > open
// ──────────────────────────────────────────────
// One-Time Daily Trend Permission
// ──────────────────────────────────────────────
var bool permission = false
if ta.change(time("D"))
permission := false
trendStart = crossUp and aboveVWAP and relStrong and not permission
if trendStart
permission := true
// ──────────────────────────────────────────────
// Pullback Pivot Breakout Entry (Continuation Long)
// ──────────────────────────────────────────────
pivotHighBreak = close > ta.highest(high , pivotLookback)
entryTrigger = (
permission and
aboveSMA and
aboveVWAP and
relStrong and
greenCandle and
pivotHighBreak
)
// ──────────────────────────────────────────────
// EXIT Signal (Trend Exhaustion)
// ──────────────────────────────────────────────
smaChange = sma50 - sma50
exitSignal = (
permission and // only after trend started
close < vwap and // VWAP breakdown
close < open and // red candle body
relVol > relVolThresh and // volume spike on selling
smaChange < 0 // SMA turning down / flattening
)
// ──────────────────────────────────────────────
// Plots
// ──────────────────────────────────────────────
plot(sma50, title="SMA50", color=color.orange, linewidth=2)
plot(vwap, title="VWAP", color=color.new(color.blue, 0), linewidth=2)
// Permission marker (1 per day)
plotshape(
trendStart,
title="Trend Permission",
style=shape.triangleup,
location=location.belowbar,
color=color.new(color.green, 0),
size=size.large,
text="PERMIT"
)
// Entry trigger markers
plotshape(
entryTrigger,
title="Entry Trigger",
style=shape.triangleup,
location=location.abovebar,
color=color.new(color.aqua, 0),
size=size.normal,
text="ENTRY"
)
// EXIT marker (trend exhaustion)
plotshape(
exitSignal,
title="Exit Signal",
style=shape.triangledown,
location=location.abovebar,
color=color.new(color.red, 0),
size=size.large,
text="EXIT"
)
TMT Sessions - Hitesh NimjeTMT Sessions - Hitesh Nimje Indicator
Overview
The TMT Sessions indicator is a comprehensive trading tool designed to visualize and analyze the four major global trading sessions. It provides session-based technical analysis including ranges, trends, averages, and statistical metrics for each trading session.
Key Features
Four Global Trading Sessions
1. Session A - New York (13:00-22:00 UTC)
Color: Blue (#0000FF)
Default timeframe: US/Eastern market hours
2. Session B - London (07:00-16:00 UTC)
Color: Black (#000000)
Default timeframe: European market hours
3. Session C - Tokyo (00:00-09:00 UTC)
Color: Red (#FF0000)
Default timeframe: Asian market hours
4. Session D - Sydney (21:00-06:00 UTC)
Color: Orange (#FFA500)
Default timeframe: Australian market hours
Technical Analysis Tools
Range Analysis:
* Visual range boxes showing session high/low boundaries
* Transparent background areas with configurable transparency
* Range outline borders
* Session labels with customizable text display
Trend Analysis:
* Linear regression trendlines for each session
* Statistical metrics including:
R-squared values for trend strength
Standard deviation calculations
Correlation measurements
Statistical Indicators:
* Session Averages: Simple Moving Averages (SMA) calculated within each session
* VWAP: Volume Weighted Average Price for session-based intraday analysis
* Max/Min Lines: Highest and lowest prices recorded during each session
Visual Elements
Session Dividers:
* Visual markers showing session start/end points
* Session identification symbols (NYE, LDN, TYO, SYD)
* Configurable divider display options
Dashboard Features:
* Basic Dashboard: Session status (Active/Inactive) with color-coded indicators
* Advanced Dashboard: Additional metrics including:
Session trend strength (R-squared values)
Volume data
Standard deviation statistics
* Multiple dashboard positions (Top Right, Bottom Right, Bottom Left)
* Configurable text sizes (Tiny, Small, Normal)
Customization Options
Timezone Management:
* UTC offset adjustment (+/- hours)
* Exchange timezone option for automatic adjustment
* Session time customization
Display Settings:
* Individual session enable/disable
* Color customization for each session
* Range area transparency control
* Line description display toggle
* Session text label configuration
Use Cases
1. Session-Based Trading: Identify optimal trading times for each global session
2. Range Trading: Use session ranges as support/resistance levels
3. Trend Analysis: Track session-specific trends and momentum
4. Statistical Analysis: Monitor session volatility and trend strength
5. Market Structure: Understand how price moves across different trading sessions
Technical Specifications
* Pine Script Version: 6
* Overlays: True (displays on price chart)
* Performance: Optimized for up to 500 bars back
* Multi-element Support: Handles up to 500 lines, boxes, and labels
* Data Source: Compatible with all trading instruments and timeframes
Benefits for Traders
1. Global Market Awareness: Visual representation of all major trading sessions
2. Session Analysis: Automated calculation of key session statistics
3. Trading Strategy Development: Session-based entry and exit signals
4. Risk Management: Session ranges for stop-loss and take-profit levels
5. Market Timing: Optimal trading session identification
This indicator is particularly valuable for forex traders, day traders, and anyone who needs to understand price behavior across different global market sessions. It combines multiple technical analysis concepts into a unified, session-focused trading tool.
TRADING DISCLAIMER
RISK WARNING
Trading involves substantial risk of loss and is not suitable for all investors. Past performance is not indicative of future results. You should carefully consider whether trading is suitable for you in light of your circumstances, knowledge, and financial resources.
NO FINANCIAL ADVICE
This indicator is provided for educational and informational purposes only. It does not constitute:
* Financial advice or investment recommendations
* Buy/sell signals or trading signals
* Professional investment advice
* Legal, tax, or accounting guidance
LIMITATIONS AND DISCLAIMERS
Technical Analysis Limitations
* Pivot points are mathematical calculations based on historical price data
* No guarantee of accuracy of price levels or calculations
* Markets can and do behave irrationally for extended periods
* Past performance does not guarantee future results
* Technical analysis should be used in conjunction with fundamental analysis
Data and Calculation Disclaimers
* Calculations are based on available price data at the time of calculation
* Data quality and availability may affect accuracy
* Pivot levels may differ when calculated on different timeframes
* Gaps and irregular market conditions may cause level failures
* Extended hours trading may affect intraday pivot calculations
Market Risks
* Extreme market volatility can invalidate all technical levels
* News events, economic announcements, and market manipulation can cause gaps
* Liquidity issues may prevent execution at calculated levels
* Currency fluctuations, inflation, and interest rate changes affect all levels
* Black swan events and market crashes cannot be predicted by technical analysis
USER RESPONSIBILITIES
Due Diligence
* You are solely responsible for your trading decisions
* Conduct your own research before using this indicator
* Verify calculations with multiple sources before trading
* Consider multiple timeframes and confirm levels with other technical tools
* Never rely solely on one indicator for trading decisions
Risk Management
* Always use proper risk management and position sizing
* Set appropriate stop-losses for all positions
* Never risk more than you can afford to lose
* Consider the inherent risks of leverage and margin trading
* Diversify your portfolio and trading strategies
Professional Consultation
* Consult with qualified financial advisors before trading
* Consider your tax obligations and legal requirements
* Understand the regulations in your jurisdiction
* Seek professional advice for complex trading strategies
LIMITATION OF LIABILITY
Indemnification
The creator and distributor of this indicator shall not be liable for:
* Any trading losses, whether direct or indirect
* Inaccurate or delayed price data
* System failures or technical malfunctions
* Loss of data or profits
* Interruption of service or connectivity issues
No Warranty
This indicator is provided "as is" without warranties of any kind:
* No guarantee of accuracy or completeness
* No warranty of uninterrupted or error-free operation
* No warranty of merchantability or fitness for a particular purpose
* The software may contain bugs or errors
Maximum Liability
In no event shall the liability exceed the purchase price (if any) paid for this indicator. This limitation applies regardless of the theory of liability, whether contract, tort, negligence, or otherwise.
REGULATORY COMPLIANCE
Jurisdiction-Specific Risks
* Regulations vary by country and region
* Some jurisdictions prohibit or restrict certain trading strategies
* Tax implications differ based on your location and trading frequency
* Commodity futures and options trading may have additional requirements
* Currency trading may be regulated differently than stock trading
Professional Trading
* If you are a professional trader, ensure compliance with all applicable regulations
* Adhere to fiduciary duties and best execution requirements
* Maintain required records and reporting
* Follow market abuse regulations and insider trading laws
TECHNICAL SPECIFICATIONS
Data Sources
* Calculations based on TradingView data feeds
* Data accuracy depends on broker and exchange reporting
* Historical data may be subject to adjustments and corrections
* Real-time data may have delays depending on data providers
Software Limitations
* Internet connectivity required for proper operation
* Software updates may change calculations or functionality
* TradingView platform dependencies may affect performance
* Third-party integrations may introduce additional risks
MONEY MANAGEMENT RECOMMENDATIONS
Conservative Approach
* Risk only 1-2% of capital per trade
* Use position sizing based on volatility
* Maintain adequate cash reserves
* Avoid over-leveraging accounts
Portfolio Management
* Diversify across multiple strategies
* Don't put all capital into one approach
* Regularly review and adjust trading strategies
* Maintain detailed trading records
FINAL LEGAL NOTICES
Acceptance of Terms
* By using this indicator, you acknowledge that you have read and understood this disclaimer
* You agree to assume all risks associated with trading
* You confirm that you are legally permitted to trade in your jurisdiction
Updates and Changes
* This disclaimer may be updated without notice
* Continued use constitutes acceptance of any changes
* It is your responsibility to stay informed of updates
Governing Law
* This disclaimer shall be governed by the laws of the jurisdiction where the indicator was created
* Any disputes shall be resolved in the appropriate courts
* Severability clause: If any part of this disclaimer is invalid, the remainder remains enforceable
REMEMBER: THERE ARE NO GUARANTEES IN TRADING. THE MAJORITY OF RETAIL TRADERS LOSE MONEY. TRADE AT YOUR OWN RISK.
Contact Information:
* Creator: Hitesh_Nimje
* Phone: Contact@8087192915
* Source: Thought Magic Trading
© HiteshNimje - All Rights Reserved
This disclaimer should be prominently displayed whenever the indicator is shared, sold, or distributed to ensure users are fully aware of the risks and limitations involved in trading.
X AVWAP DSOA powerful, non-overlay momentum indicator designed to measure the relationship between current price action and key Volume Weighted Average Price (VWAP) structures. It provides traders with a refined, configurable view of momentum by combining the **magnitude of price separation** with the **trend momentum** of the volume anchor.
---
### Core Calculation and Principle
This oscillator moves beyond simple price-vs-average separation by integrating the momentum (slope) of the volume average itself. The indicator is built around two primary components:
1. **Distance (D):** This is the magnitude of separation, calculated as the difference between the **closing price** and the selected **AVWAP Anchor Source** ($D = \text{Close} - \text{AVWAP}$).
2. **Slope (S):** This represents the **trend momentum** of the VWAP, calculated as the change in the smoothed AVWAP over a defined lookback period.
The final oscillator value is determined by the selected **Combination Method**, giving the user control over how these two factors interact:
* **Addition (Baseline):** The oscillator value is $D + S$. This provides a balanced view where the price separation is slightly adjusted by the VWAP's momentum.
* **Weighted Addition:** The oscillator value is $D + (S \times \text{Weight})$. This is a powerful feature that **allows the user to prioritize the impact of the Slope (trend momentum) over the Distance (magnitude)** using a customizable multiplier called the **Slope Weight**.
---
### Customization and Flexibility
The indicator's value lies in its deep configurability, allowing it to adapt to different trading strategies and timeframes:
* **AVWAP Anchor Source:** You can toggle between two critical VWAP reset structures for context:
* **4H Session VWAP:** Uses fixed, sequential 4-hour VWAP segments (e.g., 18:00, 22:00 NY Time) for tracking short-term structural shifts.
* **Daily AVWAP (ETH 18:00):** Uses a single, continuous VWAP anchored from the Electronic Trading Hours (ETH) open at 18:00 NY Time, providing a broader, sustained volume-weighted average context.
* **VWAP Price Source:** The underlying price used to calculate the VWAP itself is selectable (options include Close, OHLC4, HLC3, Open, High, and Low).
* **Plot Style:** Toggle between a continuous **Line** plot (for tracking fine movements) and a color-coded **Histogram** (for clear magnitude and directional reading, with Blue for positive and Red for negative).
### Trading Application
The AVWAP Distance & Slope Oscillator is a sophisticated tool best used to identify:
* **Zero-Line Crosses:** Signifying price crossing the underlying volume anchor while accounting for the anchor's own momentum.
* **Momentum Confirmation:** A high positive reading indicates price is strongly above the VWAP, and the VWAP itself is actively rising (strong bullish momentum).
* **Filtered Signals:** By adjusting the **Slope Weight** (in the Weighted Addition method), traders can amplify signals when the structural trend (VWAP slope) is strong, helping to filter out minor price fluctuations that occur when the VWAP is relatively flat.
Market Maker Position Bars (Position Size)**Market Maker Position Bars (Position Size) – Indicator Description for TradingView**
This indicator is a clean, professional visualization tool designed for traders who track suspected **market maker / institutional positioning** (especially popular in ICT/SMC communities) on indices like the SPX, NDX, ES, etc.
It draws up to **20 horizontal position bars** directly on the chart, anchored to the very last bar, representing hypothetical long and short positions at specific price levels with corresponding position sizes.
### Key Features & Visual Logic
- **Green bars (Boxes 1–10)** → Extend to the **right** of the last bar
Represent **long positions** (bullish interest)
Default translucent green fill
- **Red bars (Boxes 11–20)** → Extend to the **left** of the last bar
Represent **short positions** (bearish interest)
Default translucent red fill
- **Bar width = Position size**
The length of each box is automatically scaled based on the absolute value you enter in “Position Size”.
Larger position → wider (longer) bar
- Each box displays **Price / Position Size** text inside (e.g., `5720.50 / 1250`)
### Fully Customizable Settings
**Global Geometry**
- Total Box Height (default 10.0) – controls vertical thickness of all boxes
**Position Size Scaling**
- Base Box Width (bars)
- Width per Position Unit – fine-tune how aggressively width grows with size
- Minimum & Maximum Bar Width – prevents boxes from becoming too tiny or excessively long
**Global Text Settings**
- Text color, size (Tiny → Huge), and bold option
**Individual Box Controls (20 independent boxes)**
- Show/Hide toggle
- SPX Price (or any symbol price level)
- Position Size (any positive/negative number; absolute value determines width)
- Fill color (override default green/red if desired)
### How It Works Internally
- All boxes are drawn only on the **last confirmed bar** (`barstate.islast`)
- Width calculation:
`Width = BaseWidth + (|Position Size| × Width per Unit)`
Clamped between Min and Max Bar Width
- Green boxes start at the current bar and extend forward (right)
- Red boxes end at the current bar and extend backward (left)
- Uses Pine Script v6 `box.new()` with `xloc.bar_index` for perfect alignment and performance
### Ideal Use Cases
- Visualizing daily/weekly **order block** or **fair value gap** interest levels with estimated size
- Mapping **dealer positioning**, gamma exposure levels, or large options interest
- Quickly seeing where the “smart money” is theoretically stacked on both sides of the market
- Clean chart markup for screenshots, mentoring, or live trading journals
A minimalist yet powerful tool favored by ICT, SMC, and footprint-style traders who want to see **where the big players might be positioned** — all in one glance without cluttering the chart with hundreds of objects.
Clean. Visual. Size-aware. Perfect for high-level market profiling.
Daily ATR Dashboard - NIRALADaily ATR Dashboard: Volatility at a Glance
What is this?
The "Daily ATR Dashboard" is a simple, non-intrusive utility tool designed for intraday traders. It places a clean information table in the top-right corner of your chart, displaying the Daily Average True Range (DATR) for the current session and the previous two days.
Why is it useful?
Understanding daily volatility is crucial for setting realistic targets and stop-losses.
Know the Range: Instantly see how much the instrument typically moves in a day.
Context: Compare today's volatility with yesterday's and the day before to gauge if the market is expanding (becoming more volatile) or contracting (consolidating).
Clean Charts: Instead of plotting a messy ATR line indicator below your price action, this dashboard gives you the raw data you need without cluttering your workspace.
Features:
Real-Time Data: The "Today" row updates in real-time as the current daily candle develops.
Historical Context: Automatically fetches and displays the final DATR values for the previous two sessions ("Yesterday" and "Day Before").
Highlighted Current Day: The current day's data is highlighted in yellow for immediate visibility.
Customizable: You can adjust the ATR length (default is 14) and the text size to fit your screen perfectly.
How to Read It:
Today: The current volatility of the ongoing daily session.
Yesterday / Day Before: The finalized volatility of past sessions.
Tip: If "Today's" ATR is significantly lower than the previous days, expect potential expansion or a breakout soon. If it is significantly higher, the market may be overextended.
Settings:
DATR Length: The lookback period for the ATR calculation (Default: 14).
Text Size: Adjust the size of the table text (Tiny, Small, Normal, Large).
HTF FVG + SessionsThis indicator combines multi-timeframe FVG A–C detection with intraday session boxes on a single chart.
It automatically finds bullish and bearish Fair Value Gaps on 15m, 30m, 1H, 4H, 1D and 1W timeframes.
Fresh FVGs are drawn in a transparent gold color, then dynamically shrink as price trades back into the gap.
Once price fully fills the gap, the FVG box and its label are automatically removed from the chart.
After the first touch, each FVG changes to a per-timeframe gray shade, making overlapping HTF gaps easy to see.
You can toggle each timeframe on/off and also globally enable/disable all FVGs from the settings panel.
Session boxes highlight Asia, London, NY AM, NY Lunch and NY PM using soft colored rectangles.
Each session box is plotted from the high to the low of that session and labeled with its name in white text.
A global “Show all session boxes” switch allows you to quickly hide or display the session structure.
This tool is designed for traders who want to combine FVG liquidity maps with clear intraday session context.
SCALPING PRO V2 - INTERMÉDIANT (Dashboard + TP/SL + Alerts)//@version=5
indicator("SCALPING PRO V2 - INTERMÉDIANT (Dashboard + TP/SL + Alerts)", overlay=true, max_labels_count=500)
// ---------------- INPUTS ----------------
emaFastLen = input.int(9, "EMA Fast")
emaSlowLen = input.int(21, "EMA Slow")
atrLen = input.int(14, "ATR Length")
atrMultSL = input.float(1.2, "SL = ATR *")
tp1mult = input.float(1.0, "TP1 = ATR *")
tp2mult = input.float(1.5, "TP2 = ATR *")
tp3mult = input.float(2.0, "TP3 = ATR *")
minBars = input.int(3, "Min bars between signals")
showDashboard = input.bool(true, "Show Dashboard")
// ---------------- INDICATORS ----------------
emaFast = ta.ema(close, emaFastLen)
emaSlow = ta.ema(close, emaSlowLen)
atr = ta.atr(atrLen)
bullTrend = emaFast > emaSlow
bearTrend = emaFast < emaSlow
crossUp = ta.crossover(emaFast, emaSlow) and bullTrend
crossDown = ta.crossunder(emaFast, emaSlow) and bearTrend
var int lastSignal = na
okSignal = na(lastSignal) or (bar_index - lastSignal > minBars)
buySignal = crossUp and okSignal
sellSignal = crossDown and okSignal
if buySignal or sellSignal
lastSignal := bar_index
// ---------------- TP & SL ----------------
var float sl = na
var float tp1 = na
var float tp2 = na
var float tp3 = na
if buySignal
sl := close - atr * atrMultSL
tp1 := close + atr * tp1mult
tp2 := close + atr * tp2mult
tp3 := close + atr * tp3mult
if sellSignal
sl := close + atr * atrMultSL
tp1 := close - atr * tp1mult
tp2 := close - atr * tp2mult
tp3 := close - atr * tp3mult
// ---------------- ALERTS ----------------
alertcondition(buySignal, title="BUY", message="BUY Signal")
alertcondition(sellSignal, title="SELL", message="SELL Signal")
alertcondition(ta.cross(close, tp1), title="TP1", message="TP1 Hit")
alertcondition(ta.cross(close, tp2), title="TP2", message="TP2 Hit")
alertcondition(ta.cross(close, tp3), title="TP3", message="TP3 Hit")
alertcondition(ta.cross(close, sl), title="SL", message="Stop Loss Hit")
// ---------------- DASHBOARD ----------------
if showDashboard
var table dash = table.new(position.top_right, 1, 5)
if barstate.islast
table.cell(dash, 0, 0, "SCALPING PRO V2", bgcolor=color.new(color.black, 0), text_color=color.white)
table.cell(dash, 0, 1, "Trend: " + (bullTrend ? "Bull" : bearTrend ? "Bear" : "Neutral"))
table.cell(dash, 0, 2, "ATR: " + str.tostring(atr, format.mintick))
table.cell(dash, 0, 3, "Last Signal: " + (buySignal ? "BUY" : sellSignal ? "SELL" : "NONE"))
table.cell(dash, 0, 4, "EMA Fast/Slow OK")
Student Wyckoff Target Shooter
**Target Shooter — Equal Move Target Tool (Larry Williams idea)**
**1. What this indicator does**
Target Shooter is a tool that measures the last meaningful price swing and projects an **equal move target** in the direction of the breakout.
The logic is simple:
* The market makes a move from point A to point B (a swing high to a swing low, or vice versa).
* Then price breaks out above or below this swing range.
* Target Shooter takes the size of that swing and **adds it in the direction of the breakout**, showing a logical **price target zone** where the move may:
* slow down,
* react,
* or potentially reverse.
This is a practical implementation of the “Equal Moves” idea often referenced by Larry Williams.
---
**2. Core idea (example)**
Example from the classic explanation:
* Price drops from **80 down to 20** → the move is **60 points**.
* The swing range is now: **High = 80, Low = 20**.
* Later, price **breaks above 80**.
Target Shooter assumes:
> “If the market could move 60 points in one direction, after a breakout it may travel another 60 points in the opposite direction.”
So the upside target becomes:
* Move size: 80 − 20 = 60
* Breakout above 80
* **Target = 80 + 60 = 140**
The indicator finds such swings automatically and draws:
* **UT (Upper Target)** on upside breakouts
* **DT (Down Target)** on downside breakouts
---
**3. What you see on the chart**
1. **Target lines**
* When price breaks **above** a previous swing range, the indicator plots a horizontal **UT (Upper Target)** line — the projected equal move target.
* When price breaks **below** the previous swing range, it plots a **DT (Down Target)** line — the downside target.
* Each line is drawn from the breakout bar and extended to the right for a user-defined number of bars.
2. **Price labels**
* A small label “UT” or “DT” is shown at the end of the line with the exact target price.
* This makes it easy to see where the projected target is without checking the scale.
3. **Optional swing range (debug view)**
* There is an option to display the **swing range** that the target is based on (similar to a Donchian channel on previous bars).
* This shows the upper (swing high) and lower (swing low) boundaries the indicator used to define the last move.
---
**4. Key inputs (plain language)**
* **Swing window length (bars)**
How many bars back the indicator looks to find the last meaningful swing (highest high and lowest low).
This is like the length of a Donchian channel used to define the previous range.
Smaller values → more frequent, shorter targets.
Larger values → bigger swings and more distant targets.
* **Minimum move size (in ticks)**
This is a noise filter.
If the distance between the swing high and swing low is smaller than this threshold, no targets are drawn.
The indicator will only react to moves that are big enough to matter for your trading.
* **Breakout type: Close vs High/Low**
* **Breakout by Close**:
The target appears only when the **bar closes** above/below the swing range.
More conservative and fewer false signals.
* **Breakout by High/Low**:
The target appears as soon as the **high** or **low** of the bar breaks the swing range.
Faster and more aggressive, but more sensitive to noise.
* **Target line length (bars)**
How far to the right the UT/DT lines should be extended.
Shorter length → local target zones.
Longer length → important levels visible far into the future.
* **Appearance settings**
* Separate color, width and style for **UT** and **DT** lines.
* Option to show or hide labels with price and “UT/DT” text.
---
**5. How to use Target Shooter in trading**
> Important: this is **not** an entry signal indicator.
> Target Shooter is a **targeting and context tool**, not a standalone system.
Typical uses:
1. **Planning take-profit zones**
* You already have an entry signal from your own strategy (Wyckoff, Larry Williams patterns, levels, volume, whatever you use).
* Target Shooter shows a **logical equal move target** where the current wave can reasonably “shoot”.
* You can:
* place your main take-profit around the target,
* scale out part of the position,
* tighten stops when price approaches the target.
2. **Finding potential reaction / reversal areas**
* Equal move targets often act as **zones of interest**.
* If price reaches a UT/DT level and then shows weakness/absorption/volume spikes or reversal candles, this might be a good place to take profits or look for counter-trend opportunities (for experienced traders).
3. **Assessing trend strength**
* If price **easily exceeds** the equal move target and keeps going without any reaction, it suggests a very strong trend.
* If price **fails to reach** the target and reverses early, the move is weaker than expected.
---
**6. Timeframes**
Target Shooter can be used on:
* **Intraday** (M5, M15, M30, H1) — for shorter-term targets within the day,
* **Higher timeframes** (H4, D1 and above) — for swing and position trades.
General rule:
The **higher the timeframe and the larger the swing**, the **more important** the target level tends to be.
---
**7. Notes and limitations**
* The indicator does **not** predict the future.
It simply projects a geometric equal move from the last swing.
* It should be combined with your own trading framework:
* support/resistance,
* Wyckoff / VSA,
* trend tools,
* volume/flow, etc.
* Always keep proper risk management.
A target is a **scenario**, not a guarantee.
.






















