Machine Learning: Logistic RegressionMulti-timeframe Strategy based on Logistic Regression algorithm
Description:
This strategy uses a classic machine learning algorithm that came from statistics - Logistic Regression (LR).
The first and most important thing about logistic regression is that it is not a 'Regression' but a 'Classification' algorithm. The name itself is somewhat misleading. Regression gives a continuous numeric output but most of the time we need the output in classes (i.e. categorical, discrete). For example, we want to classify emails into “spam” or 'not spam', classify treatment into “success” or 'failure', classify statement into “right” or 'wrong', classify election data into 'fraudulent vote' or 'non-fraudulent vote', classify market move into 'long' or 'short' and so on. These are the examples of logistic regression having a binary output (also called dichotomous).
You can also think of logistic regression as a special case of linear regression when the outcome variable is categorical, where we are using log of odds as dependent variable. In simple words, it predicts the probability of occurrence of an event by fitting data to a logit function.
Basically, the theory behind Logistic Regression is very similar to the one from Linear Regression, where we seek to draw a best-fitting line over data points, but in Logistic Regression, we don’t directly fit a straight line to our data like in linear regression. Instead, we fit a S shaped curve, called Sigmoid, to our observations, that best SEPARATES data points. Technically speaking, the main goal of building the model is to find the parameters (weights) using gradient descent.
In this script the LR algorithm is retrained on each new bar trying to classify it into one of the two categories. This is done via the logistic_regression function by updating the weights w in the loop that continues for iterations number of times. In the end the weights are passed through the sigmoid function, yielding a prediction.
Mind that some assets require to modify the script's input parameters. For instance, when used with BTCUSD and USDJPY, the 'Normalization Lookback' parameter should be set down to 4 (2,...,5..), and optionally the 'Use Price Data for Signal Generation?' parameter should be checked. The defaults were tested with EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours/Days
Tìm kiếm tập lệnh với "tradingview+筹码结构"
Machine Learning: Perceptron-based strategyPerceptron-based strategy
Description:
The Learning Perceptron is the simplest possible artificial neural network (ANN), consisting of just a single neuron and capable of learning a certain class of binary classification problems. The idea behind ANNs is that by selecting good values for the weight parameters (and the bias), the ANN can model the relationships between the inputs and some target.
Generally, ANN neurons receive a number of inputs, weight each of those inputs, sum the weights, and then transform that sum using a special function called an activation function. The output of that activation function is then either used as the prediction (in a single neuron model) or is combined with the outputs of other neurons for further use in more complex models.
The purpose of the activation function is to take the input signal (that’s the weighted sum of the inputs and the bias) and turn it into an output signal. Think of this activation function as firing (activating) the neuron when it returns 1, and doing nothing when it returns 0. This sort of computation is accomplished with a function called step function: f(z) = {1 if z > 0 else 0}. This function then transforms any weighted sum of the inputs and converts it into a binary output (either 1 or 0). The trick to making this useful is finding (learning) a set of weights that lead to good predictions using this activation function.
Training our perceptron is simply a matter of initializing the weights to zero (or random value) and then implementing the perceptron learning rule, which just updates the weights based on the error of each observation with the current weights. This has the effect of moving the classifier’s decision boundary in the direction that would have helped it classify the last observation correctly. This is achieved via a for loop which iterates over each observation, making a prediction of each observation, calculating the error of that prediction and then updating the weights accordingly. In this way, weights are gradually updated until they converge. Each sweep through the training data is called an epoch.
In this script the perceptron is retrained on each new bar trying to classify this bar by drawing the moving average curve above or below the bar.
This script was tested with BTCUSD, USDJPY, and EURUSD.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+/Days
Machine Learning: kNN-based StrategykNN-based Strategy (FX and Crypto)
Description:
This strategy uses a classic machine learning algorithm - k Nearest Neighbours (kNN) - to let you find a prediction for the next (tomorrow's, next month's, etc.) market move. Being an unsupervised machine learning algorithm, kNN is one of the most simple learning algorithms.
To do a prediction of the next market move, the kNN algorithm uses the historic data, collected in 3 arrays - feature1, feature2 and directions, - and finds the k-nearest
neighbours of the current indicator(s) values.
The two dimensional kNN algorithm just has a look on what has happened in the past when the two indicators had a similar level. It then looks at the k nearest neighbours,
sees their state and thus classifies the current point.
The kNN algorithm offers a framework to test all kinds of indicators easily to see if they have got any *predictive value*. One can easily add cog, wpr and others.
Note: TradingViews's playback feature helps to see this strategy in action.
Warning: Signals ARE repainting.
Style tags: Trend Following, Trend Analysis
Asset class: Equities, Futures, ETFs, Currencies and Commodities
Dataset: FX Minutes/Hours+++/Days
Zignaly TutorialThis strategy serves as a beginner's guide to connect TradingView signals to Zignaly Crypto Trading Platform.
It was originally tested at BTCUSDT pair and 1D timeframe.
Before using this documentation it's recommended that you:
Use default TradingView strategy script or another script and setup its associated alert manually. Just make the alert pop-up in the screen.
Create a 'Copy-Trader provider' (or Signal Provider) in Zignaly and send signals to it either thanks to your browser or with some basic programming.
SETTINGS
__ SETTINGS - Capital
(CAPITAL) Capital quote invested per order in USDT units {100.0}. This setting is only used when '(ZIG) Provider type' is set to 'Signal Provider'.
(CAPITAL) Capital percentage invested per order (%) {25.0}. This setting is only used when '(ZIG) Provider type' is set to 'Copy Trader Provider'.
__ SETTINGS - Misc
(ZIG) Enable Alert message {True}: Whether to enable alert message or not.
(DEBUG) Enable debug on order comments {True}: Whether to show alerts on order comments or not.
Number of decimal digits for Prices {2}.
(DECIMAL) Maximum number of decimal for contracts {3}.
__ SETTINGS - Zignaly
(ZIG) Integration type {TradingView only}: Hybrid : Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync. TradingView only : TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
(ZIG) Zignaly Alert Type {WebHook}: 'Email' or 'WebHook'.
(ZIG) Provider type {Copy Trader Provider}: 'Copy Trader Provider' or 'Signal Provider'. 'Copy Trader Provider' sends a percentage to manage. 'Signal Provider' sends a quote to manage.
(ZIG) Exchange: 'Binance' or 'Kucoin'.
(ZIG) Exchange Type {Spot}: 'Spot' or 'Futures'.
(ZIG) Leverage {1}. Set it to '1' when '(ZIG) Exchange Type' is set to 'Spot'.
__ SETTINGS - Strategy
(STRAT) Strategy Type: 'Long and Short', 'Long Only' or 'Short Only'.
(STOPTAKE) Take Profit? {false}: Whether to enable Take Profit.
(STOPTAKE) Stop Loss? {True}: Whether to enable Stop Loss.
(TRAILING) Enable Trailing Take Profit (%) {True}: Whether to enable Trailing Take Profit.
(STOPTAKE) Take Profit % {3.0}: Take profit percentage. This setting is only used when '(STOPTAKE) Take Profit?' setting is set to true.
(STOPTAKE) Stop Loss % {2.0}: Stop loss percentage. This setting is only used when '(STOPTAKE) Stop Loss?' setting is set to true.
(TRAILING) Trailing Take Profit Trigger (%) {2.5}: Trailing Stop Trigger Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(TRAILING) Trailing Take Profit as a percentage of Trailing Take Profit Trigger (%) {25.0}: Trailing Stop Distance Percentage. This setting is only used when '(TRAILING) Enable Trailing Take Profit (%)' setting is set to true.
(RECENT) Number of minutes to wait to open a new order after the previous one has been opened {6}.
DEFAULT SETTINGS
By default this strategy has been setup with these beginner settings:
'(ZIG) Integration type' : TradingView only
'(ZIG) Provider type' : 'Copy Trader Provider'
'(ZIG) Exchange' : 'Binance'
'(ZIG) Exchange Type' : 'Spot'
'(STRAT) Strategy Type' : 'Long Only'
'(ZIG) Leverage' : '1' (Or no leverage)
but you can change those settings if needed.
FIRST STEP
For both future of spot markets you should make sure to change '(ZIG) Zignaly Alert Type' to match either WebHook or Email. If you have a non paid account in TradingView as in October 2020 you would have to use Email which it's free to use.
RECOMMENDED SETTINGS
__ RECOMMENDED SETTINGS - Spot markets
'(ZIG) Exchange Type' setting should be set to 'Spot'
'(STRAT) Strategy Type' setting should be set to 'Long Only'
'(ZIG) Leverage' setting should be set to '1'
__ RECOMMENDED SETTINGS - Future markets
'(ZIG) Exchange Type' setting should be set to 'Futures'
'(STRAT) Strategy Type' setting should be set to 'Long and Short'
'(ZIG) Leverage' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Signal Providers
'(ZIG) Provider type' setting should be set to 'Signal Provider'
'(CAPITAL) Capital quote invested per order in USDT units' setting might be changed if desired.
__ RECOMMENDED SETTINGS - Copy Trader Providers
'(ZIG) Provider type' setting should be set to 'Copy Trader Provider'
'(CAPITAL) Capital percentage invested per order (%)' setting might be changed if desired.
Strategy Properties setting: 'Initial Capital' might be changed if desired.
INTEGRATION TYPE EXPLANATION
'Hybrid': Both TradingView and Zignaly handle take profit, trailing stops and stop losses. Useful if you are scared about TradingView not firing an alert. It might arise problems if TradingView and Zignaly get out of sync.
'TradingView only': TradingView sends entry and exit orders to Zignaly so that Zignaly only buys or sells. Zignaly won't handle stop loss or other settings on its own.
HOW TO USE THIS STRATEGY
Beginner: Copy and paste the strategy and change it to your needs. Turn off '(DEBUG) Enable debug on order comments' setting.
Medium: Reuse functions and inputs from this strategy into your own as if it was a library.
Advanced: Check Strategy Tester. List of trades. Copy and paste the different suggested 'alert_message' variable contents to your script.
Expert: I needed a way to pass data from TradingView script to the alert. Now I know it's the 'alert_message' variable. I can do this own my own.
ALERTS SETUP
This is the important piece of information that allows you to connect TradingView to Zignaly in a semi-automatic manner.
__ ALERTS SETUP - WebHook
Webhook URL: https : // zignaly . com / api / signals.php?key=MYSECRETKEY
Message: { {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
__ ALERTS SETUP - Email
Setup a new Hotmail account
Add it as an 'SMS email' in TradingView Profile settings page.
Confirm your own the email address
Create a rule in your Hotmail account that 'Redirects' (not forwards) emails to 'signals @ zignaly . email' when (1): 'Subject' includes 'Alert', (2): 'Email body' contains string 'MYZIGNALYREDIRECTTRIGGER' and (3): 'From' contains 'noreply @ tradingview . com'.
In 'More Actions' check: Send Email-to-SMS
Message: ||{{strategy.order.alert_message}}||key=MYSECRETKEY||
MYZIGNALYREDIRECTTRIGGER
'(DEBUG) Enable debug on order comments' is turned on by default so that you can see in the Strategy Tester. List of Trades. The different orders alert_message that would have been sent to your alert. You might want to turn it off it some many letters in the screen is problem.
STRATEGY ADVICE
If you turn on 'Take Profit' then turn off 'Trailing Take Profit'.
ZIGNALY SIDE ADVICE
If you are a 'Signal Provider' make sure that 'Allow reusing the same signalId if there isn't any open position using it?' setting in the profile tab is set to true.
You can find your 'MYSECRETKEY' in your 'Copy Trader/Signal' provider Edit tab at 'Signal URL'.
ADDITIONAL ZIGNALY DOCUMENTATION
docs . zignaly . com / signals / how-to -- How to send signals to Zignaly
3 Ways to send signals to Zignaly
SIGNALS
FINAL REMARKS
This strategy tries to match the Pine Script Coding Conventions as best as possible.
Linear Regression (Log Scale)This code is a slightly modified version of Tradingviews' built-in "linear regression" script which can be correctly plotted on logarithmic charts.
EMA / Fibonacci / Bollinger Indicator for Market Sniper SuiteHello all,
this script was created to be used in conjunction with Market Sniper - Trading/Scalping Suite . It was put together to make instrument analysis faster and less convoluted.
It includes
9 Fibonacci Exponential moving averages + 2 Simple moving averages
Auto Fibonacci levels - Tradingviews Auto Fib Retracement - with some modifications
Bollinger Bands - To faster spot squeeze momentum
Modified version of On-Balance Volume [ChuckBanger]This is a smoothed version of the classic On-Balance Volume indicator. And I added a signal line with alerts that the user can set through TradingViews alert panel to indicate long or short play. I also find that this indicator is good to do divergences analysis on the asset you want to trade.
Higher Highs & Lower Lows Stochastics - Vitali ApirineThis is my modified "Higher Highs & Lower Lows Stochastics" employing PSv4.0, originally formulated by Vitali Apirine for TASC - February 2016 Traders Tips. Reading through a TASC magazine of mine, behold, I found a little known indicator that I can't find anywhere on all of Tradingview. That was a tragedy I felt I had to resolve... This indicator is best described as a dual momentum indicator, being helpful with anticipating reversals, spotting emerging trends, and defining correction periods. I felt it worthy of justice to unveil this for all TV members to utilize and also learn from. It's uniqueness is beyond past due for the honor it deserves on Tradingview.
As always, I have included advanced Pine programming techniques that conform to proper "Pine Etiquette". For those of you who are newcomers to Pine Script, this code release may also help you comprehend the "Power of Pine" by employing advanced programming techniques while exhibiting code utilization in a most effective manner. This script's uniqueness displays that we can now override built-in Pine functions. Firstly, you may have noticed that I replaced ema(), sma(), highest(), and lowest(). If you weren't aware of this Pine capability, well, here is a prime example... Now you know! Just heed caution when doing so to ensure your replacement algorithms are 100% sound. Lastly, I also added an additional "Median" line where the companion stochastics seemingly appear to gravitate within a central zone.
NOTICE: You may have observed, there is highest(), lowest(), ema(), and sma() custom functions overwriting Pine built-ins, some of which are audaciously used in ternary. "IF" you are planning to use Pine Script v4.0 functions in ternary, be forewarned, they WILL NOT operate as expected in most scenarios. The reason why I legitimately used them here in ternary is because they are ONLY manually controlled by an input(). If these were dynamically controlled with bar-to-bar dynamic conditional logic, you would most certainly run into serious unexpected programming issues, potentially resulting in hours of frustrations and guaranteed loss of hair. That's my lesson for this release, so never ever forget this when utilizing the full potential of the "Power of Pine". For more information concerning these potential dilemmas, please consult "Execution of Pine functions and historical context inside function blocks" in the "Pine Script v4 User Manual".
Features List Includes:
Dark Background - Easily disabled in indicator Settings->Style for "Light" charts or with Pine commenting
AND much, much more... You have the source!
The comments section below is solely just for commenting and other remarks, ideas, compliments, etc... regarding only this indicator, not others. When available time provides itself, I will consider your inquiries, thoughts, and concepts presented below in the comments section, should you have any questions or comments regarding this indicator. When my indicators achieve more prevalent use by TV members, I may implement more ideas when they present themselves as worthy additions. As always, "Like" it if you simply just like it with a proper thumbs up, and also return to my scripts list occasionally for additional postings. Have a profitable future everyone!
Trend WaveHello Traders!
You know, I can sill remember the first time I started tinkering with Pinescript. As I had no prior programming experience, I learned by experimenting with other open-source scripts on TradingViews Marketplace. Tearing apart and combining interesting scripts to see what the output would be. @ChrisMoody was a huge source of inspiration for learning, and I wanted to thank him, as well as @TheLark for the concept behind this script.
The Trend Wave is based on @ChrisMoody's PPO-PercentileRank-Mkt-Tops-Bottoms , which also happens to be based on @TheLark's TheLark-Laguerre-PPO/ .
Within my experimentation, I found that if I isolate the ppoT & ppoB variables and plot them calculated from extremely small decimals, you can get an extremely fast reacting, mirroring trend detector.
Within the script, you have the ability to plot the background colors based on trend to make it easier to see where crossovers occured, as well as a Mirror Input to view the mirrored version of the script.
-@DayTradingOil
Krown Cryptos 6 Moving AveragesCouldnt find Krown's moving average indicator so I took the time to make my own use and to aid those who follow his channel.
The moving averages are a mixed batch with mostly EMAS with the 10SMA and 200SMA included. The MAs are labelled so if you question which one is which
10SMA
21EMA
50EMA
89EMA
200SMA
200EMA
377EMA
If anyone has experience with tradingviews pineeditor and knows how to change the title of each MA so I can remove the "6 moving averages" part that would be a great help so please feel free to inbox me.
Moving Averages Cross - MTF - StrategyBacktesting Script for the following strategy
Strategy Injector Source: github.com
SMA Diff stratHello Tradingviewers
I don’t claim that anything I share is original, but I will never intentionally steal someone else’s work other than using plug and play pieces of code that are shared publicly
This strategy's code is the same from the previous "study" post that can be found here:
It's primarily made for back-testing
--------------------------------------------------------------------------
Indicator info:
In addition to the main entry/exit points marked in green/red circles, this indicator as many others can be used in more than one way, see the chart for details
Any kind of feedback is appreciated, coding advice and such…
Feel free to use and share but please no commercial use. Happy trading everyone
--------------------------------------------------------------------------
ETH/TUSD: 0xc66c009140553ef5dec23045399d9dcfddd096a5
LTC: LW4TP527c3HK6FnewXRZt3i6jnrhAynJMA
XVG: DE7uD66rYdmpqe4Fd3MxsXv7F1kNfCrzLk
SMA Diff StdHello Tradingviewers
I don’t claim that anything I share is original, but I will never intentionally steal someone else’s work other than using plug and play pieces of code that are shared publicly because that’s how I’m learning to code in the first place
I started learning to trade and code on this very platform few months ago, AKA noob on both fronts and I still am. Many thanks to those of you who share their ideas, studies and strategies with us for free. I personally owe you most of what I know trading-related
Long story short, I ended up experimenting with all different kinds of code, some of it has no kind of logic behind it at least for me, but the results are somehow interesting, that’s why I thought about sharing them, also it is fun anyway 😊
--------------------------------------------------------------------------
Indicator info:
- Alert conditions implemented “autoview friendly”
- Use Heikin Ashi candles for better smoothing
- WARNING: Avoid use in a bear market
Any kind of feedback is appreciated, coding advice and such…
Feel free to use and share but please no commercial use. Happy trading everyone
--------------------------------------------------------------------------
As crypto is my only source of income, donations are most welcome if any of my work prove useful to you. Just a cup of tea that is
ETH/TUSD: 0xc66c009140553ef5dec23045399d9dcfddd096a5
LTC: LW4TP527c3HK6FnewXRZt3i6jnrhAynJMA
XVG: DE7uD66rYdmpqe4Fd3MxsXv7F1kNfCrzLk
FREE INDICATOR: Relative Momentum Index (RMI)RMI, as requested by glaz
Description:
The Relative Momentum Index was developed by Roger Altman and was introduced in his article in the February, 1993 issue of Technical Analysis of Stocks & Commodities magazine.
While your typical RSI counts up and down days from close to close, the Relative Momentum Index counts up and down days from the close relative to a close x number of days ago. The result is an RSI that is a bit smoother.
Usage:
Use in the same way you would any other RSI. There are overbought and oversold zones, and can also be used for divergence and trend analysis .
Grab the source code here: pastebin.com
Installation video by @ChrisMoody here : vimeopro.com
░░░░░░░░░░░░░░░ Feel free to follow me to keep up with my latest scripts! ░░░░░░░░░░░░░░░
░░░░░░░░░░░░ PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ░░░░░░░░░░░░
I'd like as many people as possible to get it :)
FREE INDICATOR: VOLUME MOMENTUMFor the momentum trader there are plenty of price momentum indicators, here's one that tracks the volume's momentum. Rising momentum in both price and volume is great for any momentum trader.
Add this to your chart, play with the settings, and maybe you'll notice something new!
Grab the source code here: pastebin.com
Installation video by @ChrisMoody here : vimeopro.com
·´¯`·.¸¸.·´¯`· Feel free to follow me to keep up with my latest scripts! ·´¯`·.¸¸.·´¯`·
·´¯`·.¸¸.·´¯`· PLEASE THUMB UP OR STAR IF YOU LIKE THIS INDICATOR! ·´¯`·.¸¸.·´¯`·
I'd like as many people as possible to get it :)
EPS and Sales Magic Indicator V2EPS and Sales Magic Indicator V2
EPS and Sales Magic Indicator V2
Short Title: EPS V2
Author: Trading_Tomm
Platform: TradingView (Pine Script v6)
License: Free for public use under fair usage guidelines
Overview
The EPS and Sales Magic Indicator V2 is a powerful stock fundamental visualization tool built specifically for TradingView users who wish to incorporate earnings intelligence directly onto their price chart. Designed and developed by Trading_Tomm, this upgraded version of the original 'EPS and Sales Magic Indicator' includes an enriched and more insightful presentation of company performance metrics — now with TTM EPS support, advanced color-coding, label sizing, and refined control options.
This indicator is tailored for retail traders, swing investors, and long-term fundamental analysts who need to view Quarter-over-Quarter (QoQ) earnings and revenue changes directly on the price chart without switching tabs or breaking focus.
What Does It Display?
The EPS and Sales Magic Indicator V2 intelligently detects quarterly financial updates and displays the following data points via labels:
1. EPS (Earnings Per Share) – Current Quarterly Value
This is the most recent Diluted EPS published by the company, fetched using TradingView’s request.financial() function.
Displayed in the format: EPS: ₹20.45
2. EPS QoQ Percentage Change
Shows the percentage change in EPS compared to the previous quarter.
Highlights improvement or decline using arrows (up for improvement, down for decline).
Displayed in the format: EPS: ₹20.45 (up 15.3 percent)
3. Sales (Revenue) – Current Quarterly Value
Fetches and displays Total Revenue of the company in ₹Crores for easier Indian-market readability.
Displayed in the format: Sales: ₹460Cr
4. Sales QoQ Percentage Change
Measures and presents the quarter-over-quarter percentage change in total revenue.
Uses arrows to indicate growth or contraction.
Displayed in the format: Sales: ₹460Cr (down 3.8 percent)
5. EPS TTM (Trailing Twelve Months)
You now get the TTM EPS — the sum of the last four quarterly EPS values.
This value provides a better long-term earnings snapshot compared to a single quarter.
Displayed in the format: TTM EPS: ₹78.12
All of these values are automatically calculated and displayed only on the bars where a new financial report is detected, keeping your chart clean and insightful.
Customization Features
This indicator is built with user control in mind, allowing you to personalize how and what you want to see:
Show EPS in Label: Enable or disable the display of EPS and EPS QoQ values.
Show Sales in Label: Toggle the visibility of revenue and sales change percentage.
Color Options for Label Themes: The label background color is automatically determined based on performance.
Green: Both EPS and Sales increased QoQ.
Red: Both decreased.
Orange: One increased and the other decreased.
Gray: Default color (if values are unavailable or mixed).
Label Text Size: Choose from Tiny, Small (default), or Normal.
Visual Design
Placement: The labels are positioned just below the candlesticks using yloc.belowbar, so they do not obstruct price action or interfere with technical indicators.
Anchor: Aligned precisely with the financial reporting bars to maintain clarity in historical comparisons.
Background Style: Clean, semi-transparent styling with soft text colors for comfortable viewing.
How It Works
The indicator relies on TradingView’s powerful request.financial() function to extract fiscal quarterly financials (FQ). Internally, it uses detection logic to identify fresh data updates by comparing current vs. previous values, arithmetic to compute QoQ percentage changes in EPS and Sales, logic to build formatted labels dynamically based on user selections, and conditional color and sizing logic to enhance interpretability.
Use Cases
For Long-Term Investors: Quickly identify if a company’s profitability and revenue are improving over time.
For Swing Traders: Combine recent earnings trends with price action to evaluate if post-result momentum has real backing.
For Technical and Fundamental Traders: Layer it with moving averages, RSI, or volume to create a hybrid analysis environment.
Limitations and Notes
Financial data is provided by TradingView’s financial API, and occasional missing values may occur for less-covered stocks.
This tool does not repaint but depends on the timing of the official financial updates.
All values are rounded and formatted to prioritize readability.
Works best on Daily or higher timeframes (weekly or monthly also supported).
License and Fair Use
This script is free to use and share under TradingView’s open-use guidelines. You may copy, fork, and build upon this indicator for personal or educational purposes, but commercial usage requires attribution to the author: Trading_Tomm.
Future Enhancements (Planned)
Addition of Net Profit (QoQ and TTM)
Inclusion of Operating Margin, Profit Margin, and Book Value
Option to switch between numeric and graphical display (table mode)
Alerts on extreme earnings deviation or sales slumps
Final Thoughts
The EPS and Sales Magic Indicator V2 represents a clean, visual, and smart way to monitor a company’s core performance from your chart screen. It helps you align fundamental strength with technical strategies and provides instant financial clarity, which is especially vital in today’s fast-moving markets.
Whether you’re preparing for an earnings season or scanning past performance to pick your next investment, this indicator saves time, enhances insights, and sharpens decisions.
SIP Evaluator and Screener [Trendoscope®]The SIP Evaluator and Screener is a Pine Script indicator designed for TradingView to calculate and visualize Systematic Investment Plan (SIP) returns across multiple investment instruments. It is tailored for use in TradingView's screener, enabling users to evaluate SIP performance for various assets efficiently.
🎲 How SIP Works
A Systematic Investment Plan (SIP) is an investment strategy where a fixed amount is invested at regular intervals (e.g., monthly or weekly) into a financial instrument, such as stocks, mutual funds, or ETFs. The goal is to build wealth over time by leveraging the power of compounding and mitigating the impact of market volatility through disciplined, consistent investing. Here’s a breakdown of how SIPs function:
Regular Investments : In an SIP, an investor commits to investing a fixed sum at predefined intervals, regardless of market conditions. This consistency helps inculcate a habit of saving and investing.
Cost Averaging : By investing a fixed amount regularly, investors purchase more units when prices are low and fewer units when prices are high. This approach, known as dollar-cost averaging, reduces the average cost per unit over time and mitigates the risk of investing a large amount at a peak price.
Compounding Benefits : Returns generated from the invested amount (e.g., capital gains or dividends) are reinvested, leading to exponential growth over the long term. The longer the investment horizon, the greater the potential for compounding to amplify returns.
Dividend Reinvestment : In some SIPs, dividends received from the underlying asset can be reinvested to purchase additional units, further enhancing returns. Taxes on dividends, if applicable, may reduce the reinvested amount.
Flexibility and Accessibility : SIPs allow investors to start with small amounts, making them accessible to a wide range of individuals. They also offer flexibility in terms of investment frequency and the ability to adjust or pause contributions.
In the context of the SIP Evaluator and Screener , the script simulates an SIP by calculating the number of units purchased with each fixed investment, factoring in commissions, dividends, taxes and the chosen price reference (e.g., open, close, or average prices). It tracks the cumulative investment, equity value, and dividends over time, providing a clear picture of how an SIP would perform for a given instrument. This helps users understand the impact of regular investing and make informed decisions when comparing different assets in TradingView’s screener. It offers insights into key metrics such as total invested amount, dividends received, equity value, and the number of installments, making it a valuable resource for investors and traders interested in understanding long-term investment outcomes.
🎲 Key Features
Customizable Investment Parameters: Users can define the recurring investment amount, price reference (e.g., open, close, HL2, HLC3, OHLC4), and whether fractional quantities are allowed.
Commission Handling: Supports both fixed and percentage-based commission types, adjusting calculations accordingly.
Dividend Reinvestment: Optionally reinvests dividends after a user-specified period, with the ability to apply tax on dividends.
Time-Bound Analysis: Allows users to set a start year for the analysis, enabling historical performance evaluation.
Flexible Dividend Periods: Dividends can be evaluated based on bars, days, weeks, or months.
Visual Outputs: Plots key metrics like total invested amount, dividends, equity value, and remainder, with customizable display options for clarity in the data window and chart.
🎲 Using the script as an indicator on Tradingview Supercharts
In order to use the indicator on charts, do the following.
Load the instrument of your choice - Preferably a stable stocks, ETFs.
Chose monthly timeframe as lower timeframes are insignificant in this type of investment strategy
Load the indicator SIP Evaluator and Screener and set the input parameters as per your preference.
Indicator plots, investment value, dividends and equity on the chart.
🎲 Visualizations
Installments : Displays the number of SIP installments (gray line, visible in the data window).
Invested Amount : Shows the cumulative amount invested, excluding reinvested dividends (blue area plot).
Dividends : Tracks total dividends received (green area plot).
Equity : Represents the current market value of the investment based on the closing price (purple area plot).
Remainder : Indicates any uninvested cash after each installment (gray line, visible in the data window).
🎲 Deep dive into the settings
The SIP Evaluator and Screener offers a range of customizable settings to tailor the Systematic Investment Plan (SIP) simulation to your preferences. Below is an explanation of each setting, its purpose, and how it impacts the analysis:
🎯 Duration
Start Year (Default: 2020) : Specifies the year from which the SIP calculations begin. When Start Year is enabled via the timebound option, the script only considers data from the specified year onward. This is useful for analyzing historical SIP performance over a defined period. If disabled, the script uses all available data.
Timebound (Default: False) : A toggle to enable or disable the Start Year restriction. When set to False, the SIP calculation starts from the earliest available data for the instrument.
🎯 Investment
Recurring Investment (Default: 1000.0) : The fixed amount invested in each SIP installment (e.g., $1000 per period). This represents the regular contribution to the SIP and directly influences the total invested amount and quantity purchased.
Allow Fractional Qty (Default: True) : When enabled, the script allows the purchase of fractional units (e.g., 2.35 shares). If disabled, only whole units are purchased (e.g., 2 shares), with any remaining funds carried forward as Remainder. This setting impacts the precision of investment allocation.
Price Reference (Default: OPEN): Determines the price used for purchasing units in each SIP installment. Options include:
OPEN : Uses the opening price of the bar.
CLOSE : Uses the closing price of the bar.
HL2 : Uses the average of the high and low prices.
HLC3 : Uses the average of the high, low, and close prices.
OHLC4 : Uses the average of the open, high, low, and close prices. This setting affects the cost basis of each purchase and, consequently, the total quantity and equity value.
🎯 Commission
Commission (Default: 3) : The commission charged per SIP installment, expressed as either a fixed amount (e.g., $3) or a percentage (e.g., 3% of the investment). This reduces the amount available for purchasing units.
Commission Type (Default: Fixed) : Specifies how the commission is calculated:
Fixed ($) : A flat fee is deducted per installment (e.g., $3).
Percentage (%) : A percentage of the investment amount is deducted as commission (e.g., 3% of $1000 = $30). This setting affects the net amount invested and the overall cost of the SIP.
🎯 Dividends
Apply Tax On Dividends (Default: False) : When enabled, a tax is applied to dividends before they are reinvested or recorded. The tax rate is set via the Dividend Tax setting.
Dividend Tax (Default: 47) : The percentage of tax deducted from dividends if Apply Tax On Dividends is enabled (e.g., 47% tax reduces a $100 dividend to $53). This reduces the amount available for reinvestment or accumulation.
Reinvest Dividends After (Default: True, 2) : When enabled, dividends received are reinvested to purchase additional units after a specified period (e.g., 2 units of time, defined by Dividends Availability). If disabled, dividends are tracked but not reinvested. Reinvestment increases the total quantity and equity over time.
Dividends Availability (Default: Bars) : Defines the time unit for evaluating when dividends are available for reinvestment. Options include:
Bars : Based on the number of chart bars.
Weeks : Based on weeks.
Months : Based on months (approximated as 30.5 days). This setting determines the timing of dividend reinvestment relative to the Reinvest Dividends After period.
🎯 How Settings Interact
These settings work together to simulate a realistic SIP. For example, a $1000 recurring investment with a 3% commission and fractional quantities enabled will calculate the number of units purchased at the chosen price reference after deducting the commission. If dividends are reinvested after 2 months with a 47% tax, the script fetches dividend data, applies the tax, and adds the net dividend to the investment amount for that period. The Start Year and Timebound settings ensure the analysis aligns with the desired timeframe, while the Dividends Availability setting fine-tunes dividend reinvestment timing.
By adjusting these settings, users can model different SIP scenarios, compare performance across instruments in TradingView’s screener, and gain insights into how commissions, dividends, and price references impact long-term returns.
🎲 Using the script with Pine Screener
The main purpose of developing this script is to use it with Tradingview Pine Screener so that multiple ETFs/Funds can be compared.
In order to use this as a screener, the following things needs to be done.
Add SIP Evaluator and Screener to your favourites (Required for it to be added in pine screener)
Create a watch list containing required instruments to compare
Open pine screener from Tradingview main menu Products -> Screeners -> Pine or simply load the URL - www.tradingview.com
Select the watchlist created from Watchlist dropdown.
Chose the SIP Evaluator and Screener from the "Choose Indicator" dropdown
Set timeframe to 1 month and update settings as required.
Press scan to display collected data on the screener.
🎲 Use Case
This indicator is ideal for educational purposes, allowing users to experiment with SIP strategies across different instruments. It can be applied in TradingView’s screener to compare SIP performance for stocks, ETFs, or other assets, helping users understand how factors like commissions, dividends, and price references impact returns over time.
Adaptive Cycle Oscillator with EMADescription of the Adaptive Cycle Oscillator with EMA Pine Script
This Pine Script, titled "Adaptive Cycle Oscillator with EMA", is a custom technical indicator designed for TradingView to help traders analyze market cycles and identify potential buy or sell opportunities. It combines an Adaptive Cycle Oscillator (ACO) with multiple Exponential Moving Averages (EMAs), displayed as colorful, wavy lines, and includes features like buy/sell signals and divergence detection. Below is a beginner-friendly explanation of how the script works, adhering to TradingView's Script Publishing Rules.
What This Indicator Does
The Adaptive Cycle Oscillator with EMA helps you:
Visualize market cycles using an oscillator that adapts to price movements.
Track trends with seven EMAs of different lengths, plotted as a rainbow of wavy lines.
Identify potential buy or sell signals when the oscillator crosses predefined thresholds.
Spot divergences between the oscillator and price to anticipate reversals.
Use customizable settings to adjust the indicator to your trading style.
Note: This is a technical analysis tool and does not guarantee profits. Always combine it with other analysis methods and practice risk management.
Step-by-Step Explanation for New Users
1. Understanding the Indicator
Adaptive Cycle Oscillator (ACO): The ACO analyzes price data (based on high, low, and close prices, or HLC3) to detect market cycles. It smooths price movements to create an oscillator that swings between overbought and oversold levels.
EMAs: Seven EMAs of different lengths are applied to the ACO and scaled based on the market's dominant cycle. These EMAs are plotted as colorful, wavy lines to show trend direction.
Buy/Sell Signals: The script generates signals when the ACO crosses above or below user-defined thresholds, indicating potential entry or exit points.
Divergence Detection: The script identifies bullish or bearish divergences between the ACO and the fastest EMA, which may signal potential reversals.
Visual Style: The indicator uses a rainbow of seven colors (red, orange, yellow, green, blue, indigo, violet) for the EMAs, with wavy lines for a unique visual effect. Static levels (zero, overbought, oversold) are also wavy for consistency.
2. How to Add the Indicator to Your Chart
Open TradingView and load the chart of any asset (e.g., stock, forex, crypto).
Click on the Indicators button at the top of the chart.
Search for "Adaptive Cycle Oscillator with EMA" (or paste the script into TradingView’s Pine Editor if you have access to it).
Click to add the indicator to your chart. It will appear in a separate panel below the price chart.
3. Customizing the Indicator
The script offers several input options to tailor it to your needs:
Base Cycle Length (Default: 20): Sets the initial period for calculating the dominant cycle. Higher values make the indicator slower; lower values make it more sensitive.
Alpha Smoothing (Default: 0.07): Controls how much the ACO smooths price data. Smaller values produce smoother results.
Show Buy/Sell Signals (Default: True): Toggle to display green triangles (buy) and red triangles (sell) on the chart.
Threshold (Default: 0.0): Defines overbought (above threshold) and oversold (below threshold) levels. Adjust to widen or narrow signal zones.
EMA Base Length (Default: 10): Sets the starting length for the fastest EMA. Other EMAs are incrementally longer (12, 14, 16, etc.).
Divergence Lookback (Default: 14): Determines how far back the script looks to detect divergences.
To adjust these:
Right-click the indicator on your chart and select Settings.
Modify the inputs in the pop-up window.
Click OK to apply changes.
4. Reading the Indicator
Oscillator and EMAs: The ACO and seven EMAs are plotted in a separate panel. The EMAs (colored lines) move in a wavy pattern:
Red (fastest) to Violet (slowest) represent different response speeds.
When the faster EMAs (e.g., red, orange) are above slower ones (e.g., blue, violet), it suggests bullish momentum, and vice versa.
Zero Line: A gray wavy line at zero acts as a neutral level. The ACO above zero indicates bullish conditions; below zero indicates bearish conditions.
Overbought/Oversold Lines: Red (overbought) and green (oversold) wavy lines mark threshold levels. Extreme ACO values near these lines may suggest reversals.
Buy/Sell Signals:
Green Triangle (Bottom): Appears when the ACO crosses above the oversold threshold, suggesting a potential buy.
Red Triangle (Top): Appears when the ACO crosses below the overbought threshold, suggesting a potential sell.
Divergences:
Green Triangle (Bottom): Indicates a bullish divergence (price makes a lower low, but the EMA makes a higher low), hinting at a potential upward reversal.
Red Triangle (Top): Indicates a bearish divergence (price makes a higher high, but the EMA makes a lower high), hinting at a potential downward reversal.
5. Using Alerts
You can set alerts for key events:
Right-click the indicator and select Add Alert.
Choose a condition (e.g., "ACO Buy Signal", "Bullish Divergence").
Configure the alert settings (e.g., notify via email, app, or pop-up).
Click Create to activate the alert.
Available alert conditions:
ACO Buy Signal: When the ACO crosses above the oversold threshold.
ACO Sell Signal: When the ACO crosses below the overbought threshold.
Bullish Divergence: When a potential upward reversal is detected.
Bearish Divergence: When a potential downward reversal is detected.
6. Tips for Using the Indicator
Combine with Other Tools: Use the indicator alongside support/resistance levels, candlestick patterns, or other indicators (e.g., RSI, MACD) for confirmation.
Test on Different Timeframes: The indicator works on any timeframe (e.g., 1-minute, daily). Shorter timeframes may produce more signals but with more noise.
Practice Risk Management: Never rely solely on this indicator. Set stop-losses and position sizes to manage risk.
Backtest First: Use TradingView’s Strategy Tester (if you convert the script to a strategy) to evaluate performance on historical data.
Compliance with TradingView’s Script Publishing Rules
This description adheres to TradingView’s Script Publishing Rules (as outlined in the provided link):
No Performance Claims: The description avoids promising profits or specific results, emphasizing that the indicator is a tool for analysis.
Clear Instructions: It provides step-by-step guidance for adding, customizing, and using the indicator.
Risk Disclaimer: It notes that trading involves risks and the indicator should be used with other analysis methods.
No Misleading Terms: Terms like “buy” and “sell” are used to describe signals, not guaranteed actions.
Transparency: The description explains the indicator’s components (ACO, EMAs, signals, divergences) without exaggerating its capabilities.
No External Links: The description avoids linking to external resources or soliciting users.
Educational Tone: It focuses on educating users about the indicator’s functionality.
Limitations
Not a Standalone System: The indicator is not a complete trading strategy. It provides insights but requires additional analysis.
Lagging Nature: As with most oscillators and EMAs, signals may lag behind price movements, especially in fast markets.
False Signals: Signals and divergences may not always lead to successful trades, particularly in choppy markets.
Market Dependency: Performance varies across assets and market conditions (e.g., trending vs. ranging markets).
Long/Short/Exit/Risk management Strategy # LongShortExit Strategy Documentation
## Overview
The LongShortExit strategy is a versatile trading system for TradingView that provides complete control over entry, exit, and risk management parameters. It features a sophisticated framework for managing long and short positions with customizable profit targets, stop-loss mechanisms, partial profit-taking, and trailing stops. The strategy can be enhanced with continuous position signals for visual feedback on the current trading state.
## Key Features
### General Settings
- **Trading Direction**: Choose to trade long positions only, short positions only, or both.
- **Max Trades Per Day**: Limit the number of trades per day to prevent overtrading.
- **Bars Between Trades**: Enforce a minimum number of bars between consecutive trades.
### Session Management
- **Session Control**: Restrict trading to specific times of the day.
- **Time Zone**: Specify the time zone for session calculations.
- **Expiration**: Optionally set a date when the strategy should stop executing.
### Contract Settings
- **Contract Type**: Select from common futures contracts (MNQ, MES, NQ, ES) or custom values.
- **Point Value**: Define the dollar value per point movement.
- **Tick Size**: Set the minimum price movement for accurate calculations.
### Visual Signals
- **Continuous Position Signals**: Implement 0 to 1 visual signals to track position states.
- **Signal Plotting**: Customize color and appearance of position signals.
- **Clear Visual Feedback**: Instantly see when entry conditions are triggered.
### Risk Management
#### Stop Loss and Take Profit
- **Risk Type**: Choose between percentage-based, ATR-based, or points-based risk management.
- **Percentage Mode**: Set SL/TP as a percentage of entry price.
- **ATR Mode**: Set SL/TP as a multiple of the Average True Range.
- **Points Mode**: Set SL/TP as a fixed number of points from entry.
#### Advanced Exit Features
- **Break-Even**: Automatically move stop-loss to break-even after reaching specified profit threshold.
- **Trailing Stop**: Implement a trailing stop-loss that follows price movement at a defined distance.
- **Partial Profit Taking**: Take partial profits at predetermined price levels:
- Set first partial exit point and percentage of position to close
- Set second partial exit point and percentage of position to close
- **Time-Based Exit**: Automatically exit a position after a specified number of bars.
#### Win/Loss Streak Management
- **Streak Cutoff**: Automatically pause trading after a series of consecutive wins or losses.
- **Daily Reset**: Option to reset streak counters at the start of each day.
### Entry Conditions
- **Source and Value**: Define the exact price source and value that triggers entries.
- **Equals Condition**: Entry signals occur when the source exactly matches the specified value.
### Performance Analytics
- **Real-Time Stats**: Track important performance metrics like win rate, P&L, and largest wins/losses.
- **Visual Feedback**: On-chart markers for entries, exits, and important events.
### External Integration
- **Webhook Support**: Compatible with TradingView's webhook alerts for automated trading.
- **Cross-Platform**: Connect to external trading systems and notification platforms.
- **Custom Order Execution**: Implement advanced order flows through external services.
## How to Use
### Setup Instructions
1. Add the script to your TradingView chart.
2. Configure the general settings based on your trading preferences.
3. Set session trading hours if you only want to trade specific times.
4. Select your contract specifications or customize for your instrument.
5. Configure risk parameters:
- Choose your preferred risk management approach
- Set appropriate stop-loss and take-profit levels
- Enable advanced features like break-even, trailing stops, or partial profit taking as needed
6. Define entry conditions:
- Select the price source (such as close, open, high, or an indicator)
- Set the specific value that should trigger entries
### Entry Condition Examples
- **Example 1**: To enter when price closes exactly at a whole number:
- Long Source: close
- Long Value: 4200 (for instance, to enter when price closes exactly at 4200)
- **Example 2**: To enter when an indicator reaches a specific value:
- Long Source: ta.rsi(close, 14)
- Long Value: 30 (triggers when RSI equals exactly 30)
### Best Practices
1. **Always backtest thoroughly** before using in live trading.
2. **Start with conservative risk settings**:
- Small position sizes
- Reasonable stop-loss distances
- Limited trades per day
3. **Monitor and adjust**:
- Use the performance table to track results
- Adjust parameters based on how the strategy performs
4. **Consider market volatility**:
- Use ATR-based stops during volatile periods
- Use fixed points during stable markets
## Continuous Position Signals Implementation
The LongShortExit strategy can be enhanced with continuous position signals to provide visual feedback about the current position state. These signals can help you track when the strategy is in a long or short position.
### Adding Continuous Position Signals
Add the following code to implement continuous position signals (0 to 1):
```pine
// Continuous position signals (0 to 1)
var float longSignal = 0.0
var float shortSignal = 0.0
// Update position signals based on your indicator's conditions
longSignal := longCondition ? 1.0 : 0.0
shortSignal := shortCondition ? 1.0 : 0.0
// Plot continuous signals
plot(longSignal, title="Long Signal", color=#00FF00, linewidth=2, transp=0, style=plot.style_line)
plot(shortSignal, title="Short Signal", color=#FF0000, linewidth=2, transp=0, style=plot.style_line)
```
### Benefits of Continuous Position Signals
- Provides clear visual feedback of current position state (long/short)
- Signal values stay consistent (0 or 1) until condition changes
- Can be used for additional calculations or alert conditions
- Makes it easier to track when entry conditions are triggered
### Using with Custom Indicators
You can adapt the continuous position signals to work with any custom indicator by replacing the condition with your indicator's logic:
```pine
// Example with moving average crossover
longSignal := fastMA > slowMA ? 1.0 : 0.0
shortSignal := fastMA < slowMA ? 1.0 : 0.0
```
## Webhook Integration
The LongShortExit strategy is fully compatible with TradingView's webhook alerts, allowing you to connect your strategy to external trading platforms, brokers, or custom applications for automated trading execution.
### Setting Up Webhooks
1. Create an alert on your chart with the LongShortExit strategy
2. Enable the "Webhook URL" option in the alert dialog
3. Enter your webhook endpoint URL (from your broker or custom trading system)
4. Customize the alert message with relevant information using TradingView variables
### Webhook Message Format Example
```json
{
"strategy": "LongShortExit",
"action": "{{strategy.order.action}}",
"price": "{{strategy.order.price}}",
"quantity": "{{strategy.position_size}}",
"time": "{{time}}",
"ticker": "{{ticker}}",
"position_size": "{{strategy.position_size}}",
"position_value": "{{strategy.position_value}}",
"order_id": "{{strategy.order.id}}",
"order_comment": "{{strategy.order.comment}}"
}
```
### TradingView Alert Condition Examples
For effective webhook automation, set up these alert conditions:
#### Entry Alert
```
{{strategy.position_size}} != {{strategy.position_size}}
```
#### Exit Alert
```
{{strategy.position_size}} < {{strategy.position_size}} or {{strategy.position_size}} > {{strategy.position_size}}
```
#### Partial Take Profit Alert
```
strategy.order.comment contains "Partial TP"
```
### Benefits of Webhook Integration
- **Automated Trading**: Execute trades automatically through supported brokers
- **Cross-Platform**: Connect to custom trading bots and applications
- **Real-Time Notifications**: Receive trade signals on external platforms
- **Data Collection**: Log trade data for further analysis
- **Custom Order Management**: Implement advanced order types not available in TradingView
### Compatible External Applications
- Trading bots and algorithmic trading software
- Custom order execution systems
- Discord, Telegram, or Slack notification systems
- Trade journaling applications
- Risk management platforms
### Implementation Recommendations
- Test webhook delivery using a free service like webhook.site before connecting to your actual trading system
- Include authentication tokens or API keys in your webhook URL or payload when required by your external service
- Consider implementing confirmation mechanisms to verify trade execution
- Log all webhook activities for troubleshooting and performance tracking
## Strategy Customization Tips
### For Scalping
- Set smaller profit targets (1-3 points)
- Use tighter stop-losses
- Enable break-even feature after small profit
- Set higher max trades per day
### For Day Trading
- Use moderate profit targets
- Implement partial profit taking
- Enable trailing stops
- Set reasonable session trading hours
### For Swing Trading
- Use longer-term charts
- Set wider stops (ATR-based often works well)
- Use higher profit targets
- Disable daily streak reset
## Common Troubleshooting
### Low Win Rate
- Consider widening stop-losses
- Verify that entry conditions aren't triggering too frequently
- Check if the equals condition is too restrictive; consider small tolerances
### Missing Obvious Trades
- The equals condition is extremely precise. Price must exactly match the specified value.
- Consider using floating-point precision for more reliable triggers
### Frequent Stop-Outs
- Try ATR-based stops instead of fixed points
- Increase the stop-loss distance
- Enable break-even feature to protect profits
## Important Notes
- The exact equals condition is strict and may result in fewer trade signals compared to other conditions.
- For instruments with decimal prices, exact equality might be rare. Consider the precision of your value.
- Break-even and trailing stop calculations are based on points, not percentage.
- Partial take-profit levels are defined in points distance from entry.
- The continuous position signals (0 to 1) provide valuable visual feedback but don't affect the strategy's trading logic directly.
- When implementing continuous signals, ensure they're aligned with the actual entry conditions used by the strategy.
---
*This strategy is for educational and informational purposes only. Always test thoroughly before using with real funds.*
Contrarian 100 MAPairs nicely with Enhanced-Stock-Ticker-with-50MA-vs-200MA located here:
Description
The Contrarian 100 MA is a sophisticated Pine Script v6 indicator designed for traders seeking to identify key market structure shifts and trend reversals using a combination of a 100-period Simple Moving Average (SMA) envelope and Inner Circle Trader (ICT) Break of Structure (BoS) and Market Structure Shift (MSS) logic. By overlaying a semi-transparent SMA-based shadow on the price chart and plotting bullish and bearish structure signals, this indicator helps traders visualize critical price levels and potential trend changes. It leverages higher timeframe (HTF) pivot points and dynamic logic to adapt to various chart timeframes, making it ideal for swing and contrarian trading strategies. Customizable colors, timeframes, and alert conditions enhance its versatility for manual and automated trading setups.
Key Features
SMA Envelope: Plots a 100-period SMA for high and low prices, creating a semi-transparent (50% opacity) purple shadow to highlight the price range and provide context for price movements.
ICT BoS/MSS Logic: Identifies Break of Structure (BoS) and Market Structure Shift (MSS) signals for both bullish and bearish conditions, based on HTF pivot points.
Dynamic Timeframe Support: Adjusts pivot detection based on user-selected HTF (default: 1D) and chart timeframe (1M, 5M, 15M, 30M, 1H, 4H, 1D), ensuring adaptability across markets.
Visual Signals: Draws dotted lines for BoS (bullish/bearish) and MSS (bullish/bearish) signals at pivot levels, with customizable colors for easy identification.
Contrarian Approach: Signals potential reversals by combining SMA context with ICT structure breaks, ideal for traders looking to capitalize on trend shifts.
Alert Conditions: Supports alerts for bullish/bearish BoS and MSS signals, enabling integration with TradingView’s alert system for automated trading.
Performance Optimization: Uses efficient pivot detection and line management to minimize resource usage while maintaining accuracy.
Technical Details
SMA Calculation:
Computes 100-period SMAs for high (smaHigh) and low (smaLow) prices.
Plots invisible SMAs (fully transparent) and fills the area between them with 50% transparent purple for visual context.
Pivot Detection:
Uses ta.pivothigh and ta.pivotlow to identify HTF swing points, with dynamic lookback periods (rlBars: 5 for daily, 2 for intraday).
Tracks pivot highs (pH, nPh) and lows (pL, nPl) using a custom piv type for price and time.
BoS/MSS Logic:
Bullish BoS: Triggered when price breaks above a pivot high in a bullish trend, drawing a line at the pivot level.
Bearish BoS: Triggered when price breaks below a pivot low in a bearish trend.
Bullish MSS: Occurs when price breaks a pivot high in a bearish trend, signaling a potential trend reversal.
Bearish MSS: Occurs when price breaks a pivot low in a bullish trend.
Lines are drawn using line.new with xloc.bar_time for precise alignment, styled as dotted with customizable colors.
HTF Integration: Fetches HTF close prices and pivot data using request.security with lookahead_on for accurate signal timing.
Line Management: Maintains an array of lines (lin), removing outdated lines when new MSS signals occur to keep the chart clean.
Pivot Reset: Clears broken pivots (e.g., when price exceeds a pivot high or falls below a pivot low) to ensure fresh signal generation.
How to Use
Add to Chart:
Copy the script into TradingView’s Pine Editor and apply it to your chart.
Configure Settings:
SMA Length: Adjust the SMA period (default: 100 bars) to suit your trading style.
Structure Timeframe: Set the HTF for pivot detection (default: 1D).
Chart Timeframe: Select the chart timeframe (1M, 5M, 15M, 30M, 1H, 4H, 1D) to adjust pivot sensitivity.
Colors: Customize bullish/bearish BoS and MSS line colors via input settings.
Interpret Signals:
Bullish BoS: White dotted line (default) at a broken pivot high in a bullish trend, indicating trend continuation.
Bearish BoS: White dotted line at a broken pivot low in a bearish trend.
Bullish MSS: White dotted line at a broken pivot high in a bearish trend, suggesting a reversal to bullish.
Bearish MSS: White dotted line at a broken pivot low in a bullish trend, suggesting a reversal to bearish.
Use the SMA shadow to gauge price position within the recent range.
Set Alerts:
Create alerts for bullish/bearish BoS and MSS signals using TradingView’s alert system.
Customize Visuals:
Adjust line colors or SMA fill transparency via TradingView’s settings for better visibility.
Example Use Cases
Swing Trading: Use MSS signals to enter trades at potential trend reversals, with the SMA envelope confirming price extremes.
Contrarian Trading: Capitalize on BoS and MSS signals to trade against prevailing trends, using the SMA shadow for context.
Automated Trading: Integrate BoS/MSS alerts with trading bots for systematic entries and exits.
Multi-Timeframe Analysis: Combine HTF signals (e.g., 1D) with lower timeframe charts (e.g., 1H) for precise entries.
Notes
Testing: Backtest the indicator on your chosen market and timeframe to validate performance.
Compatibility: Built for Pine Script v6 and tested on TradingView as of June 19, 2025.
Limitations: Signals rely on HTF pivot accuracy, which may lag in fast-moving markets. Adjust rlBars or timeframe for sensitivity.
Optional Enhancements: Consider uncommenting or adding a histogram for SMA divergence (e.g., smaHigh - smaLow) for additional insights.
Acknowledgments
This indicator combines ICT’s market structure concepts with a dynamic SMA envelope to provide a unique contrarian trading tool. Share your feedback or suggestions in the TradingView comments, and happy trading!
MTF Pivot Fib Speed Resistance FansOverview
This Pine Script indicator, titled "MTF Pivot Fib Speed Resistance Fans", is a multi-timeframe tool that automatically plots Fib Speed Resistance Fan lines based on pivot structures derived from higher timeframes. It mirrors the functionality of TradingView’s built-in “Fib Speed Resistance Fan” drawing tool, but in a dynamic, programmatic way. It uses pivot highs and lows to anchor fan projections, drawing forward-facing trend lines that align with well-known Fibonacci ratios and their extensions.
Pivot Detection Logic
The script identifies pivots by comparing the current bar’s high and low against the highest and lowest prices over a user-defined pivot period. This pivot detection occurs on a higher timeframe of your choice, giving a broader and more strategic view of price structure. The script tracks direction changes in the pivot trend and stores only the most recent few pivots to maintain clean and meaningful fan drawings.
Fan Direction Control
The user can select whether to draw fans for "Buys", "Sells", or "Both". The script only draws fan lines when a new directional move is detected based on the pivot structure and the selected bias. For example, in “Buys” mode, a rising pivot followed by another higher low will trigger upward fan projections.
Fib Speed Resistance Levels
Once two pivots are identified, the script draws multiple fan lines from the first pivot outward, at angles defined by a preset list of Fibonacci levels. These fan lines help visualize speed and strength of a price move.
The script also draws a horizontal line from the pivot for additional confluence at the base level (1.0).
Price Level Plotting
In addition to drawing fan lines, the indicator also plots their price levels on the right-hand price scale. This makes it easier for users to visually reference the projected support and resistance levels without needing to trace the lines manually across the chart.
Mapping to TradingView’s "Fib Speed Resistance Fan"
The expanded set of values used in this script is not arbitrary—they closely align with the default and extended levels available in TradingView's built-in "Fib Speed Resistance Fan" tool.
TradingView’s Fib Fan tool offers several levels by default, including traditional Fibonacci ratios like 0.382, 0.5, 0.618, and 1. However, if you right-click the tool and open its settings, you’ll find additional toggles for levels like 1.618, 2.000, 2.618, and even 4.000. These deeper levels are used to project stronger trend continuations beyond the standard retracement zones.
The inclusion of levels such as 0.25, 0.75, and 1.34 reflects configurations that are available when you manually add or customize levels in TradingView’s fan tool. While 1.34 is not a canonical Fibonacci ratio, it is often found in hybrid Gann/Fib methods and is included in some preset templates in TradingView’s drawing tool for advanced users.
By incorporating these levels directly into the Pine Script, the indicator faithfully reproduces the fan structure users would manually draw using TradingView’s graphical Fib Fan tool—but does so programmatically, dynamically, and with multi-timeframe control. This eliminates manual errors, allows for responsive updating, and adds custom visual tracking via the price scale.
These values are standardized within the context of TradingView's Fib Fan tool and not made up. This script automates what the manual drawing tool achieves, with added precision and flexibility.
Clenow MomentumClenow Momentum Method
The Clenow Momentum Method, developed by Andreas Clenow, is a systematic, quantitative trading strategy focused on capturing medium- to long-term price trends in financial markets. Popularized through Clenow’s book, Stocks on the Move: Beating the Market with Hedge Fund Momentum Strategies, the method leverages momentum—an empirically observed phenomenon where assets that have performed well in the recent past tend to continue performing well in the near future.
Theoretical Foundation
Momentum investing is grounded in behavioral finance and market inefficiencies. Investors often exhibit herding behavior, underreact to new information, or chase trends, causing prices to trend beyond fundamental values. Clenow’s method builds on academic research, such as Jegadeesh and Titman (1993), which demonstrated that stocks with high returns over 3–12 months outperform those with low returns over similar periods.
Clenow’s approach specifically uses **annualized momentum**, calculated as the rate of return over a lookback period (typically 90 days), annualized to reflect a yearly percentage. The formula is:
Momentum=(((Close N periods agoCurrent Close)^N252)−1)×100
- Current Close: The most recent closing price.
- Close N periods ago: The closing price N periods back (e.g., 90 days).
- N: Lookback period (commonly 90 days).
- 252: Approximate trading days in a year for annualization.
This metric ranks stocks by their momentum, prioritizing those with the strongest upward trends. Clenow’s method also incorporates risk management, diversification, and volatility adjustments to enhance robustness.
Methodology
The Clenow Momentum Method involves the following steps:
1. Universe Selection:
- A broad universe of liquid stocks is chosen, often from major indices (e.g., S&P 500, Nasdaq 100) or global exchanges.
- Filters should exclude illiquid stocks (e.g., low average daily volume) or those with extreme volatility.
2. Momentum Calculation:
- Stocks are ranked based on their annualized momentum over a lookback period (typically 90 days, though 60–120 days can be common tests).
- The top-ranked stocks (e.g., top 10–20%) are selected for the portfolio.
3. Volatility Adjustment (Optional):
- Clenow sometimes adjusts momentum scores by volatility (e.g., dividing by the standard deviation of returns) to favor stocks with smoother trends.
- This reduces exposure to erratic price movements.
4. Portfolio Construction:
- A diversified portfolio of 10–25 stocks is constructed, with equal or volatility-weighted allocations.
- Position sizes are often adjusted based on risk (e.g., 1% of capital per position).
5. Rebalancing:
- The portfolio is rebalanced periodically (e.g., weekly or monthly) to maintain exposure to high-momentum stocks.
- Stocks falling below a momentum threshold are replaced with higher-ranked candidates.
6. Risk Management:
- Stop-losses or trailing stops may be applied to limit downside risk.
- Diversification across sectors reduces concentration risk.
Implementation in TradingView
Key features include:
- Customizable Lookback: Users can adjust the lookback period in pinescript (e.g., 90 days) to align with Clenow’s methodology.
- Visual Cues: Background colors (green for positive, red for negative momentum) and a zero line help identify trend strength.
- Integration with Screeners: TradingView’s stock screener can filter high-momentum stocks, which can then be analyzed with the custom indicator.
Strengths
1. Simplicity: The method is straightforward, relying on a single metric (momentum) that’s easy to calculate and interpret.
2. Empirical Support: Backed by decades of academic research and real-world hedge fund performance.
3. Adaptability: Applicable to stocks, ETFs, or other asset classes, with flexible lookback periods.
4. Risk Management: Diversification and periodic rebalancing reduce idiosyncratic risk.
5. TradingView Integration: Pine Script implementation enables real-time visualization, enhancing decision-making for stocks like NVDA or SPY.
Limitations
1. Mean Reversion Risk: Momentum can reverse sharply in bear markets or during sector rotations, leading to drawdowns.
2. Transaction Costs: Frequent rebalancing increases trading costs, especially for retail traders with high commissions. This is not as prevalent with commission free trading becoming more available.
3. Overfitting Risk: Over-optimizing lookback periods or filters can reduce out-of-sample performance.
4. Market Conditions: Underperforms in low-momentum or highly volatile markets.
Practical Applications
The Clenow Momentum Method is ideal for:
Retail Traders: Use TradingView’s screener to identify high-momentum stocks, then apply the Pine Script indicator to confirm trends.
Portfolio Managers: Build diversified momentum portfolios, rebalancing monthly to capture trends.
Swing Traders: Combine with volume filters to target short-term breakouts in high-momentum stocks.
Cross-Platform Workflow: Integrate with Python scanners to rank stocks, then visualize on TradingView for trade execution.
Comparison to Other Strategies
Vs. Minervini’s VCP: Clenow’s method is purely quantitative, while Minervini’s Volatility Contraction Pattern (your April 11, 2025 query) combines momentum with chart patterns. Clenow is more systematic but less discretionary.
Vs. Mean Reversion: Momentum bets on trend continuation, unlike mean reversion strategies that target oversold conditions.
Vs. Value Investing: Momentum outperforms in bull markets but may lag value strategies in recovery phases.
Conclusion
The Clenow Momentum Method is a robust, evidence-based strategy that capitalizes on price trends while managing risk through diversification and rebalancing. Its simplicity and adaptability make it accessible to retail traders, especially when implemented on platforms like TradingView with custom Pine Script indicators. Traders must be mindful of transaction costs, mean reversion risks, and market conditions. By combining Clenow’s momentum with volume filters and alerts, you can optimize its application for swing or position trading.
GIGANEVA V6.61 PublicThis enhanced Fibonacci script for TradingView is a powerful, all-in-one tool that calculates Fibonacci Levels, Fans, Time Pivots, and Golden Pivots on both logarithmic and linear scales. Its ability to compute time pivots via fan intersections and Range interactions, combined with user-friendly features like Bool Fib Right, sets it apart. The script maximizes TradingView’s plotting capabilities, making it a unique and versatile tool for technical analysis across various markets.
1. Overview of the Script
The script appears to be a custom technical analysis tool built for TradingView, improving upon an existing script from TradingView’s Community Scripts. It calculates and plots:
Fibonacci Levels: Standard retracement levels (e.g., 0.236, 0.382, 0.5, 0.618, etc.) based on a user-defined price range.
Fibonacci Fans: Trendlines drawn from a high or low point, radiating at Fibonacci ratios to project potential support/resistance zones.
Time Pivots: Points in time where significant price action is expected, determined by the intersection of Fibonacci Fans or their interaction with key price levels.
Golden Pivots: Specific time pivots calculated when the 0.5 Fibonacci Fan (on a logarithmic or linear scale) intersects with its counterpart.
The script supports both logarithmic and linear price scales, ensuring versatility across different charting preferences. It also includes a feature to extend Fibonacci Fans to the right, regardless of whether the user selects the top or bottom of the range first.
2. Key Components Explained
a) Fibonacci Levels and Fans from Top and Bottom of the "Range"
Fibonacci Levels: These are horizontal lines plotted at standard Fibonacci retracement ratios (e.g., 0.236, 0.382, 0.5, 0.618, etc.) based on a user-defined price range (the "Range"). The Range is typically the distance between a significant high (top) and low (bottom) on the chart.
Example: If the high is $100 and the low is $50, the 0.618 retracement level would be at $80.90 ($50 + 0.618 × $50).
Fibonacci Fans: These are diagonal lines drawn from either the top or bottom of the Range, radiating at Fibonacci ratios (e.g., 0.382, 0.5, 0.618). They project potential dynamic support or resistance zones as price evolves over time.
From Top: Fans drawn downward from the high of the Range.
From Bottom: Fans drawn upward from the low of the Range.
Log and Linear Scale:
Logarithmic Scale: Adjusts price intervals to account for percentage changes, which is useful for assets with large price ranges (e.g., cryptocurrencies or stocks with exponential growth). Fibonacci calculations on a log scale ensure ratios are proportional to percentage moves.
Linear Scale: Uses absolute price differences, suitable for assets with smaller, more stable price ranges.
The script’s ability to plot on both scales makes it adaptable to different markets and user preferences.
b) Time Pivots
Time pivots are points in time where significant price action (e.g., reversals, breakouts) is anticipated. The script calculates these in two ways:
Fans Crossing Each Other:
When two Fibonacci Fans (e.g., one from the top and one from the bottom) intersect, their crossing point represents a potential time pivot. This is because the intersection indicates a convergence of dynamic support/resistance zones, increasing the likelihood of a price reaction.
Example: A 0.618 fan from the top crosses a 0.382 fan from the bottom at a specific bar on the chart, marking that bar as a time pivot.
Fans Crossing Top and Bottom of the Range:
A fan line (e.g., 0.5 fan from the bottom) may intersect the top or bottom price level of the Range at a specific time. This intersection highlights a moment where the fan’s projected support/resistance aligns with a key price level, signaling a potential pivot.
Example: The 0.618 fan from the bottom reaches the top of the Range ($100) at bar 50, marking bar 50 as a time pivot.
c) Golden Pivots
Definition: Golden pivots are a special type of time pivot calculated when the 0.5 Fibonacci Fan on one scale (logarithmic or linear) intersects with the 0.5 fan on the opposite scale (or vice versa).
Significance: The 0.5 level is the midpoint of the Fibonacci sequence and often acts as a critical balance point in price action. When fans at this level cross, it suggests a high-probability moment for a price reversal or significant move.
Example: If the 0.5 fan on a logarithmic scale (drawn from the bottom) crosses the 0.5 fan on a linear scale (drawn from the top) at bar 100, this intersection is labeled a "Golden Pivot" due to its confluence of key Fibonacci levels.
d) Bool Fib Right
This is a user-configurable setting (a boolean input in the script) that extends Fibonacci Fans to the right side of the chart.
Functionality: When enabled, the fans project forward in time, regardless of whether the user selected the top or bottom of the Range first. This ensures consistency in visualization, as the direction of the Range selection (top-to-bottom or bottom-to-top) does not affect the fan’s extension.
Use Case: Traders can use this to project future support/resistance zones without worrying about how they defined the Range, improving usability.
3. Why Is This Code Unique?
Original calculation of Log levels were taken from zekicanozkanli code. Thank you for giving me great Foundation, later modified and applied to Fib fans. The script’s uniqueness stems from its comprehensive integration of Fibonacci-based tools and its optimization for TradingView’s plotting capabilities. Here’s a detailed breakdown:
All-in-One Fibonacci Tool:
Most Fibonacci scripts on TradingView focus on either retracement levels, extensions, or fans.
This script combines:
Fibonacci Levels: Static horizontal lines for retracement and extension.
Fibonacci Fans: Dynamic trendlines for projecting support/resistance.
Time Pivots: Temporal analysis based on fan intersections and Range interactions.
Golden Pivots: Specialized pivots based on 0.5 fan confluences.
By integrating these functions, the script provides a holistic Fibonacci analysis tool, reducing the need for multiple scripts.
Log and Linear Scale Support:
Many Fibonacci tools are designed for linear scales only, which can distort projections for assets with exponential price movements. By supporting both logarithmic and linear scales, the script caters to a wider range of markets (e.g., stocks, forex, crypto) and user preferences.
Time Pivot Calculations:
Calculating time pivots based on fan intersections and Range interactions is a novel feature. Most TradingView scripts focus on price-based Fibonacci levels, not temporal analysis. This adds a predictive element, helping traders anticipate when significant price action might occur.
Golden Pivot Innovation:
The concept of "Golden Pivots" (0.5 fan intersections across scales) is a unique addition. It leverages the symmetry of the 0.5 level and the differences between log and linear scales to identify high-probability pivot points.
Maximized Plot Capabilities:
TradingView imposes limits on the number of plots (lines, labels, etc.) a script can render. This script is coded to fully utilize these limits, ensuring that all Fibonacci levels, fans, pivots, and labels are plotted without exceeding TradingView’s constraints.
This optimization likely involves efficient use of arrays, loops, and conditional plotting to manage resources while delivering a rich visual output.
User-Friendly Features:
The Bool Fib Right option simplifies fan projection, making the tool intuitive even for users who may not consistently select the Range in the same order.
The script’s flexibility in handling top/bottom Range selection enhances usability.
4. Potential Use Cases
Trend Analysis: Traders can use Fibonacci Fans to identify dynamic support/resistance zones in trending markets.
Reversal Trading: Time pivots and Golden Pivots help pinpoint moments for potential price reversals.
Range Trading: Fibonacci Levels provide key price zones for trading within a defined range.
Cross-Market Application: Log/linear scale support makes the script suitable for stocks, forex, commodities, and cryptocurrencies.
The original code was from zekicanozkanli . Thank you for giving me great Foundation.