Strategy Development Environment [BerlinCode42]Happy Trade,
Intro
What is New
Algebraic/Boolean Equation
Instruction Set for The Algebraic/Boolean Equation
Example
Usage
Settings Menu
Declaration for Tradingview House Rules on Script Publishing
Disclaimer
Conclusion
1. Intro
This is a rich equipped fork of my previous "Backtest any Indicator v5". And serves as the fitting backtester and trade strategy creation tool for my upcoming ANN Indicators (artificial neural network).
As the previous version this script has no trade signal generating code. The trade signals comes in by the five user settable input slots where the user plug-in external indicators. The final trade siganls go long etc are defined by a algebraic/boolean equation typed in as text in 4 terminals as shown in Image 0 . With this algebraic/boolean equations input the user can setup any trade logic as complex and fast and easy as never seen before here on TradingView.
Image 0
2. What is new
Input algebraic/boolean equations in text-form for go long, go short, exit long & exit short
Five input slots for external indicator signals
Equation tester
User settable signal delay for enter and exit trades
User selectable alternating trades filter
User settable exit long = enter short
Intrabar or trade only on bar closing
Time filter with duration input
User settable UTC Adjustment
Long and short trades possible
Two Take Profits with quantity setting
Trailing Stop
Webhook connection
3. Algebraic/Boolean Equation
This is where the magic happens. Unlike other backtesters that rely on drop-down menus to define trade signal equations—thus limiting the number of input signals and the complexity of logic—this script uses a string interpreter to solve equations. With this, you can develop your trade logic equations and add signals or conditions simply by writing them down in algebraic/boolean form.
The instruction set for this interpreter includes not only external input signals but also several internal values. These include BarTime, BarIndex, Open, High, Low, Close, True Range, Minimal Tick, Volume, and a signal that indicates whether there is an open trade (long, short, or none). You can also reference the values of past bars for all these inputs and, of course, use constant values in your equations. There is a sad limitation: Only one past bar value per equation is practicable. If you use more, errors can occur. It seems to be caused by the pipe line architecture of the parallel computing. In any attempt to solve this issue an older function call result was hand over.
The implemented functions cover a wide range of algebraic and boolean operations. A boolean "true" is represented by all values greater than zero, while "false" is represented by zero or values less than zero.
4. Instruction set for the Algebraic/Boolean Equation
There are functions that accept either two input values or one input value. The general form is (XandY) or (notX), where X and Y can be any input slot, predefined value, constant, or another sub-equation. Functions are always written in lowercase, while input slots and predefined values use uppercase letters.
Each sub-equation must be enclosed in parentheses, e.g., (A+B). Without proper use of parentheses, the interpreter cannot determine which function to calculate first. Negative constants must be expressed by subtracting from zero (e.g., (0-3.14)), so careful attention is required.
Here are some examples that demonstrate both incorrect and correct notations:
incorrect correct
(A+B*C) (A+(B*C))
(A+B+D+E) (A+(B+(D+E)))
(-20>A) ((0-20)>A)
(A*-B) (A*(0-B))
(AnotB) (Aand(notB))
ABS(a-b) (abs(A-B))
The correct usage ensures the interpreter calculates in the intended order.
And here comes the complete Instruction Set:
Addition: (A+B)
Subtraction: (A-B)
Multiplication: (A*B)
Division: (A/B)
Absolut value: (absA)
Power of: (A^B)
Natural Logarithm: (logA)
Lowest value of Low of last x bars: (lotx)
Highest value of High of last x bars: (hotx)
Modulo, Remainder of a Division: (A%B)
Round: (rndA)
round to ceil: (ceiA)
Round to floor: (floA)
Round to next minimal tick: (mitA)
EMA of A of last 3 bars: (e03A)
EMA of A of last 7 bars: (e07A)
EMA of A of last 10 bars: (e10A)
EMA of A of last 20 bars: (e20A)
EMA of A of last 50 bars: (e50A)
Smaller then: (AB)
Equal to: (A==B)
Unequal to: (A!=B)
And: (AandB)
Or: (AorB)
Exclusive Or: (AxorB)
Not: (notA)
Past bar value: (A ) ,whereby x can be 1,2,3,...,barIndex-1
Bar time: (T)
Bar index: (I)
Opening Price of Bar: (O)
Highest Price of Bar: (H)
Lowest Price of Bar: (L)
Closing Price of Bar: (C)
Min tick value for the current symbol: (K)
Trade Volume: (V)
True Range: (R)
Is Money invested: (M) ,Long position: M=1,
Short position: M=-1,
No position: M=0
Reminder: if you wanna replace A or B above don't forget the parentheses. So if you have (logA) and wanna replace A with D+F so the correct replacement would be (log(D+F)).
In the following there are some examples of popular bar patterns and useful filters:
Doji: ((abs(O-C))<(10*K))and((H-L)>(100*K))
green Hammer: (((H-C)<(5000*K))and(((O-L)/2)>(abs(O-C)))
Up trend: (C>(e10H))
Down trend: (C<(e10L))
cool down 7 bars: (( any buy condition )and((e07(absM))==0))
possible Pivot High: (H==(hot30))and((CC))
possible Pivot Low: (L==(lot30))and((C>H )or(O0)), goShort ((A>0)and((A )<0)), Enter Signal delay=0, Exit Signal delay=0, Alternate Trades=true
take profit 1 =0.4% (30%), take profit 2 =0.7%, trailing stop loss=0.2%, intrabar, start capital=1000$, qty=5%, fee=0.05%, no Session Filter
Image 1
6. Usage
First you need to attach some signals from external Indicators. In the example above we use the Stochastic RSI indicator from TradingView. Load the Stochastic RSI indicator to the chart. Then you go to the settings menu of this script, choose in the drop-down menu of Input A the signal .
In case you wanna use a signal which is not in the drop-down menu of Input A do the following:
1) You need to know the name of the boolean (or integer) variable of your indicator which hold the desired signal. Lets say that this boolean variable is called BUY. If this BUY variable is not plotted on the chart you simply add the following code line at the end of your pine script.
For boolean (true/false) BUY variables use this:
plot(BUY ? 1:0,'Your buy condition hold in that variable BUY',display = display.data_window)
And in case your script's BUY variable is an integer or float then use instate the following code line:
plot(BUY ,'Your buy condition hold in that variable BUY',display = display.data_window)
2) Probably the name of this BUY variable in your indicator is not BUY. Simply replace in the code line above the BUY with the name of your script's trade condition variable.
3) Do the same procedure for your SELL variable. Then save your changed Indicator script.
4) Then add the changed Indicator script from step before and this backtester script to the chart ...
5) and go to the settings of it. Choose under "Settings -> Input A " your Indicator. So in the example above choose .
The form is usually: ' : BUY'. Then you see something like Image 1
6) Decide about each trade logic for Go Long and Go Short . In this Example we use for GoLong if "Stoch RSI: K" is smaller then 20. The "Stoch RSI: K" we already loaded it in input A. So we set under Go Long (A<20) and set Enter Signal Delay to 0.
Now we setup Go Short if "Stoch RSI: K" is bigger then 80. So we set under Go Short A>80. Enter Signal Delay is already set.
7) For the Exit conditions you can choose (trailing) Stop loss or Take Profit or Exit by Indicator Signal. What ever comes first triggers the exit. If you like to use an EMA Indicator for the Exit by Indicator just load it in a free input slot B, D, E, F or use the inbuild EMA. For this example we use the inbuild EMA of the last 7 values of close. It is called by the following equation: (e07C). So to exit a long trade when the close price crossunder this EMA you have to type in Exit Long ((e07C)>C). For exit a short trade enter in Exit Short ((e07C)<C).
You can choose detailed time- and session filters. You can setup two take profit levels with quantity and stop loss, trailing, initial capital, quantity per trade and set the exchange fees. You get an overall result table and even a detailed, scroll-able table with all trades.
Image 2
In the Image 2 you see the provided info tables about all Trades and the Result Summary. Further more every trade is marked by a background color, labels and levels. An opening Label with the trade direction and trade number. A closing Label again with the trade number, the trade profit in %, the trade gain in $ and the total amount of $ after all past trades. A green line for each take profit levels and an orange line for the (trail) stop loss. This summary table down left gives you an insign about how good or not so good the trade strategy is and with the trade list you can find those trade which should be avoided. Found those bad trades on the chart by the time or trade number. By seeing a big number of bad trades you may find a pattern and can formulate conditions to avoid those bad trades. Those new conditions you can easily add to the equations for enter or exit trades.
Now you have a backtest with the oppotunity to develope and envolve your trading strategy more and more. And for any iteration from general to detailed you can do it with this backtester. You can add more and more filter signals or may change the setting of your Indicator to the best results and setup the following strategy settings like Time- and Session Filter, Stop Loss, Take Profit etc. With it you find a profitable strategy and it's settings.
7. Settings Menu
In the settings menu you will find the following high-lighted sections. Most of the settings have a attention mark on their right side. Move over it with the cursor to read specific explanation.
Input Signals: This are five input slots A, B, D, E & F which you can load up with your preferred Indicators.
Algebraic Equation for the Trade Signals: Here you setup the definitions for Go Long , Go Short , Ex Long & Ex Short . As shown in Image 3 you can combine the input slots A, B, D, E, F with predefined Variables O, H, L, C, T, I, V, K, M, R or any constant value with the in-build function in the instruction set.
Image 3
Additionally, you have the option to delay entry and exit signals. This feature is particularly useful when trade signals exhibit noise and require smoothing.
You can also enable the script to perform alternating trading . In this mode, trades alternate sequentially—after a long trade, a short trade follows, and then another long trade, and so on.
Image 4
As shown in Image 4 , you can configure the script so that an "exit by signal" also acts as the next entry in the opposite trade direction. To enable this, check the option Exit = Enter Next and set the exit condition as the opposite of the entry condition. With this setting, only one occurrence of the signal is needed to trigger both the exit and the new entry, making the transition seamless.
Equation Tester: Each equation is assigned a checkmark and a color. Activate one like in Image 5 and the chart will highlight bars with a colored background where the corresponding equation result is greater than zero (interpreted as true). At the last bar, a label is displayed showing each equation’s result value. This feature allows you to build your equations and test sub-equations to ensure their results are correct.
Image 5
Backtest Results: Check mark the List of Trades to see any single trade with their stats. If there are more trades than can fit in the list, you can scroll down by decreasing the Scroll value.
Timezone Adjustment: In case you wanna use an Chart-UTC that differs from the time scale you can activate Timezone Adjustment . Then you have to setup your location UTC correctly! The Exchange UTC will be set in most cases automatically. Known Exchanges include Amsterdam, Chicago, New_York, Los_Angeles, Calcutta, Colombo, Moscow, St_Petersburg, Tokyo, Shanghai, Hongkong, Berlin, London, Paris, Madrid. Only if you have other exchanges you need to setup it by hand.
Time Filter: You can set a Start time or deactivate it by leave it unhooked. The same with End Time and Duration Days . Duration Days can also count from End time in case you deactivate Start time.
Session Filter: Here, you can choose to activate trading on a weekly basis, specifying which days of the week trading is allowed and which are excluded. Additionally, you can configure trading on a daily basis, setting the start and end times for when trades are permitted. If activated, no new trades will be initiated outside the defined times and sessions.
Long & Short: Here you can enable Longs or Shorts or both trades.
TP & SL Settings: Take Profit 1&2 set the target prices of any trade in relation to the entry price. The TP1 exit a part of the position defined by the quantity value. Stop Loss set the price to step out when a trade goes the wrong direction. You can activate also a trailing SL.
Additionally, you can specify whether trades should be executed intrabar or at the bar's closing.
Hedging: The Hedging is basic as shown in the following Image 6 and serves as a catch if price moves fast in the wrong direction.
Image 6
You can activate a hedging mechanism, which opens a trade in the opposite direction if the price moves x% against the entry price. If both the Stop Loss and Hedging are triggered within the same bar, the hedging action will always take precedence.
Invest Settings: Here, you can set the initial amount of cash to start with. The Quantity Percentage determines how much of the available cash is allocated to each trade, while the Fee Percentage specifies the trading fee applied to both opening and closing positions.
Webhooks: Here, you configure the License ID and the Comment. This is particularly useful if you plan to use multiple instances of the script, ensuring the webhooks target the correct positions. The Take Profit and Stop Loss values are displayed as prices.
8. Declaration for Tradingview House Rules on Script Publishing
This Backtester also serves as Strategy Development Tool by offering the user a fast and easy opportunity to test, enhance and manipulate the definitions for enter and exit trades. The unique feature "algebraic/boolean equation input" provides users with a significant edge over other backtest scripts. Unlike any other backtesting tool available with few drop-down menus for enter the equation, this script allows users to define an extensive range of trade equation definitions without setup of numerous specific parameters. This is reached by four terminals where the user type in the equation as text. Those equations in text-form are send intern to a context-depending touring machine that interprets the string. So with this tool, users can implement their trading ideas—even those involving complex definitions for trade entries and exits based on huge number of variables and indicators—without hiring a developer.
This script is closed-source and invite-only to support and compensate for over a year of development work. Unlike traditional backtest scripts, this one does not rely on TradingView's strategy functions. Instead, it is designed as an indicator, utilizing TradingView's "Indicator-on-Indicator" functionality.
9. Disclaimer
Trading is risky, and traders do lose money, eventually all. This script is for informational and educational purposes only. All content should be considered hypothetical, selected post-factum to demonstrate the upcoming ANN scripts and is not to be construed as financial advice. Decisions to buy, sell, hold, or trade in securities, commodities, and other investments involve risk and are best made based on the advice of qualified financial professionals. Past performance does not guarantee future results. Using this script on your own risk. This script may have bugs and I declare don't be responsible for any losses.
10. Conclusion
Now it’s your turn! Connect your promising Artificial Neural Networks (ANN) and standard indicators to this feature-rich Backtest/Strategy script. This tool allows you to quickly evaluate how well your indicators perform in trading scenarios and easily compare different trading logics defined by algebraic/boolean equations. You can refine your trading strategy step by step without needing a coder. Let it incorporate numerous variables and indicators—simply write the algebraic/boolean equations for trade entries and exits directly into the script’s settings.
Additionally, you can utilize the Time Filter to identify the market conditions where your setups perform best—or where they fall short. The Session Filter helps you isolate recurring favorable conditions to optimize your strategy further. Once you find a promising configuration, you can set up alerts to send webhooks directly. Configure all parameters, test and validate them in paper trading, and if results align with your expectations, deploy the script as your trading bit.
Cheers
שירותי Pine
Fibonacci Retracement Strategy for CryptoThe Enhanced Fibonacci Retracement Strategy is designed to help traders capitalize on key Fibonacci levels for both long and short trades. This script automatically identifies significant swing highs and lows within a customizable lookback period and dynamically plots Fibonacci retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%) as support and resistance levels.
Key Features:
Automatic Fibonacci Levels:
The script identifies the highest high and lowest low over a user-defined lookback period to calculate Fibonacci retracement levels.
Dual-Directional Trading:
Long Trades: Triggered when the price crosses above the 61.8% retracement level, anticipating a reversal.
Short Trades: Triggered when the price crosses below the 38.2% retracement level, capturing potential downward movement.
Compact Line Option:
Users can toggle "Compact Fibonacci Lines" to reduce visual clutter on the chart, making the lines shorter and easier to interpret.
Dynamic Alerts:
Alerts are embedded directly into the strategy logic for entry and exit points.
Long Entry: Triggered when the price bounces above the 61.8% level.
Long Exit: Triggered when the price reaches the 23.6% level.
Short Entry: Triggered when the price crosses below the 38.2% level.
Short Exit: Triggered when the price reaches the 78.6% level.
Clear Visualization:
Fibonacci levels are plotted with distinct colors and dashed lines (optional compact view),
providing traders with clear and actionable levels to make decisions.
Inputs:
Lookback Period: Number of candles to calculate swing highs and lows.
Plot Fibonacci Levels: Toggle to enable/disable plotting levels.
Compact Fibonacci Lines: Reduce the length of Fibonacci lines for a cleaner chart.
How It Works:
The strategy identifies a high-low range within the lookback period.
Fibonacci levels are calculated based on the range and plotted on the chart.
Long Trade Example:
Enter when the price crosses above the 61.8% level.
Exit when the price reaches the 23.6% level.
Short Trade Example:
Enter when the price crosses below the 38.2% level.
Exit when the price reaches the 78.6% level.
Best Use Cases:
Trending Markets: Use retracements to time entries in the direction of the trend.
Range-Bound Markets: Identify and trade reversals near key Fibonacci levels.
Important Notes:
This strategy is not financial advice and should be backtested thoroughly before live trading.
Risk management is crucial! Consider using stop-loss orders for protection.
Customize inputs to suit your preferred timeframe and trading style.
MAG 7 - Weighted Multi-Symbol Momentum + ExtrasOverview
This indicator aggregates the percentage change of multiple symbols into a single “weighted momentum” value. You can set individual weights to emphasize or de-emphasize particular stocks. The script plots two key items:
The default tickers in the script are:
AAPL (Apple)
AMZN (Amazon)
NVDA (NVIDIA)
MSFT (Microsoft)
GOOGL (Alphabet/Google)
TSLA (Tesla)
META (Meta Platforms/Facebook)
Raw Weighted Momentum (Histogram):
Each bar represents the combined (weighted) percentage change across your chosen symbols for that bar.
Bars are colored green if the momentum is above zero, or red if below zero.
Smoothed Momentum (Yellow Line):
An Exponential Moving Average (EMA) of the raw momentum for a smoother trend view.
Helps visualize when short-term momentum is accelerating or decelerating relative to its average.
Features
Symbol Inputs: Up to seven user-defined tickers, with weights for each symbol.
Smoothing Period: Set a custom lookback length to calculate the EMA (or switch to SMA in the code if you prefer).
Table Display: A built-in table in the top-right corner lists each symbol’s real-time percentage change, plus the total weighted momentum.
Alerts:
Configure alerts for when the weighted momentum crosses above or below user-defined thresholds.
Helps you catch major shifts in sentiment across multiple symbols.
How To Use
Select Symbols & Weights: In the indicator’s settings, specify the tickers you want to monitor and their corresponding weights. Weights default to 1 (equal weighting).
Watch the Bars vs. Zero:
Bars above zero mean a positive weighted momentum (the basket is collectively moving up).
Bars below zero mean negative weighted momentum (the basket is collectively under pressure).
Check the Yellow Line: The EMA of momentum.
If the bars consistently stay above the line, short-term momentum is stronger than its recent average.
If the bars dip below the line, momentum is weakening relative to its average.
Review the Table: Quick snapshot of each symbol’s daily percentage change plus the total basket momentum, all color-coded red or green.
Caution & Tips
This indicator measures rate of change, not absolute price levels. A rising momentum can still be part of a larger downtrend.
Always combine momentum readings with other technical and/or fundamental signals for confirmation.
For better reliability, experiment with different smoothing lengths to suit your trading style (shorter for scalping, longer for swing or positional approaches).
Data TransformerIt is a data transformer. Is something TradingView lacks right now.
It is simple, it lets you transform the symbol of the chart into this options:
% change
change
QoQ change
QoQ change %
YoY change
YoY change %
Drawdawn %
Drawdawn
Cumulative
MERRY CHRISTMAS HAPPY 2025 Year [TradingFinder]🎅🎄✨ Merry Christmas and Happy New Year 2025! 🎉✨
As we bid farewell to 2024 and welcome the fresh opportunities of 2025, we want to send our warmest wishes to all the amazing TradingView users, Pine Script developers, and loyal followers of TradingFinder.
Your enthusiasm and support have made this community stronger and more inspiring every day. May this holiday season bring you happiness, success, and prosperity both in life and in trading.
We also wish for all of you to make great profits and achieve your financial goals in the new year. Let's make 2025 a year filled with innovation, growth, and great achievements together.
Thank you for being part of this journey! 🎅🌟📈
AlphaEdge Crypto Tracker [CHE]AlphaEdge Crypto Tracker
Efficiently Identify Top Performers and Underperformers Among 40 Crypto Assets at a Glance
In the fast-paced world of cryptocurrency trading, staying ahead requires the ability to quickly assess the performance of multiple assets simultaneously. AlphaEdge Crypto Tracker is an advanced Pine Script™ indicator designed for TradingView that empowers traders to effortlessly monitor and evaluate 40 different crypto assets in real-time.
This tool is my Christmas gift to all traders. I wish you all a Merry Christmas and successful trades in the coming year!
Why It’s Important to Identify Winners and Losers Among 40 Assets at a Glance:
1. Time Efficiency: Managing a diverse portfolio can be overwhelming. With AlphaEdge Crypto Tracker, traders can swiftly identify which assets are performing exceptionally well (winners) and which are underperforming (losers) without the need to analyze each asset individually.
2. Informed Decision-Making: By having a clear overview of top gainers and losers, traders can make strategic decisions such as reallocating investments, taking profits, or cutting losses, thereby optimizing their trading strategies.
3. Risk Management: Quickly spotting underperforming assets helps in mitigating potential losses and adjusting positions to maintain a balanced and profitable portfolio.
4. Opportunity Identification: Recognizing top-performing assets allows traders to capitalize on emerging trends and maximize their returns by focusing on the most promising opportunities.
Key Features of AlphaEdge Crypto Tracker :
- Comprehensive Asset Tracking: Monitors 40 crypto assets simultaneously, providing a broad view of the market landscape.
- Max Gain and Adjusted Max Loss Calculations: Utilizes a 14-bar (configurable) period to calculate the highest gains and the adjusted maximum losses for each asset, offering insights into potential profitability and risk.
- Dynamic Ranking: Automatically sorts and ranks assets based on their performance, highlighting the top 10 gainers and top 10 losers for easy comparison.
- Customizable Display:
- Table Settings: Adjust the size, position, and colors of the performance table to fit your chart layout.
- Interactive Tooltips: Hover over asset names to view detailed tooltips, enhancing usability and information accessibility.
- Visual Alerts: Changes in asset performance are visually indicated through background color updates, allowing for immediate recognition of significant shifts.
- User-Friendly Interface: Intuitive table layout with clear headers and organized data presentation, making it easy for traders of all levels to interpret the information.
How It Works:
1. Data Calculation: For each of the 40 tracked assets, AlphaEdge Crypto Tracker calculates the maximum gain and adjusted maximum loss over the defined trading period.
2. Sorting and Ranking: The assets are sorted based on their maximum gains and adjusted maximum losses, automatically updating to reflect the latest market movements.
3. Real-Time Display: The top 10 gainers and losers are displayed in a neatly organized table directly on your TradingView chart, providing immediate visual insights.
4. Customization: Users can tailor the tracking period, select specific assets to monitor, and adjust the table’s appearance to match their trading style and preferences.
Conclusion:
AlphaEdge Crypto Tracker is an essential tool for cryptocurrency traders seeking to enhance their market analysis and decision-making processes. By providing a comprehensive and customizable overview of multiple assets, it enables traders to efficiently identify profitable opportunities and manage risks effectively. Whether you’re a seasoned trader or just starting, AlphaEdge Crypto Tracker equips you with the insights needed to navigate the dynamic crypto market with confidence.
Get Started Today:
Integrate AlphaEdge Crypto Tracker into your TradingView setup and take control of your crypto trading strategy with unparalleled clarity and precision.
Disclaimer:
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.
License Information:
This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0. You can view the full license (mozilla.org).
© chervolino
Fair Value Gap DetectorHow this indicator works:
It detects two types of FVGs:
Bullish FVG: Occurs when the low of the current candle is higher than the high of the candle from 2 bars ago (creates an upward gap)
Bearish FVG: Occurs when the high of the current candle is lower than the low of the candle from 2 bars ago (creates a downward gap)
Features:
Allows users to toggle both bullish and bearish FVG detection independently
Customizable colors for both bullish (default green) and bearish (default red) FVGs
Visualizes FVGs using:
Boxes that highlight the gap area (with 80% transparency)
Labels that mark each FVG ("Bull FVG" or "Bear FVG")
Visual representation:
Bullish FVGs are marked with green boxes and downward-pointing labels
Bearish FVGs are marked with red boxes and upward-pointing labels
This indicator can be useful for :
Identifying potential areas where price might return to
Finding potential support and resistance zones
Understanding market structure and momentum shifts
Winter Is Coming (Snowflake)While attempting to draw a star using Pine Script, I ended up creating another nonsense indicator 🙂
How to Draw a Dynamic Snowflake? 🤦♂️
This indicator provides a customizable snowflake pattern that can be displayed on either a linear or logarithmic chart. Users can change the number of vertices and notches to make the pattern dynamic and versatile. (For added fun, the skull emojis that appear on each tick can be replaced with other symbols, like 🍺—because, hey, it’s Christmas!)
What Can You Learn?
Curious users analyzing this script can uncover practical answers to these questions:
How can line and label drawings be constructed using array functions?
How can trigonometric and logarithmic calculations be implemented effectively?
Details:
The snowflake is composed of symmetrical branches radiating from a central point. Each branch includes adjustable notches along its length, allowing users to control both their count and spacing. At the center of the snowflake, an n-point star is drawn (parameter: gon). This star's outer and inner vertices are aligned with the notches, ensuring perfect harmony with the snowflake’s overall geometry. The star is evenly spaced, with each of its points separated by 360/n degrees, resulting in a visually balanced and symmetrical design.
Best Wishes
I hope 2025 will be the year when we can create more peace, more freedom and more time to drink beer for the whole planet! Happy New Year everyone!
PineTree-Colors-V6Merry Christmas!!!
This is PineScript Version Tree in COLORS....as a Pine Tree (Christmas Tree) !!! This is how it all started from Version1 (V1) to Version 6 (V6) and on and on....
Enjoy :)
Weekly and daily separators - MKThis indicator is designed to provide easier usability and greater customization for traders. The update brings enhanced stability and reliability in detecting day, week, and month changes across various timeframes, ensuring consistent and accurate visuals on your charts.
Key Features:
Time Zone Customization: Select the time zone to determine when session changes are marked.
Adjustable Line Coverage: Lines can now be customized to only partially cover the top and bottom of the chart, offering a cleaner look.
Optional Labels: Enable labels to display the starting month, calendar week, or day. Day formats include:
Weekday name
Date in formats: dd.MM or MM.dd
Visual Enhancements:
Default line widths and colors now use an orange hue for better visibility.
Added a monthly separator line for better long-term trend tracking.
Higher time frame color options for clarity.
Independent customization of line styles and widths.
Additional Improvements:
Ability to hide daily lines on daily charts and higher timeframes. Similarly, weekly lines can be hidden on weekly charts and higher.
Secondary line width for weekly separators on daily and higher timeframes, ensuring cleaner chart aesthetics.
Updated color selection and default values for better readability.
Santa's Secrets | FractalystSanta’s Secrets is a visually engaging trading tool that infuses holiday cheer into your charts. Inspired by the enchanting, mysterious vibes of the holiday season, this indicator overlays price charts with dynamic, multi-colored glitches that sync with market data, delivering a festive and whimsical visual experience.
The indicator brings a magical touch to your charts, featuring characters from classic holiday themes (e.g., Santa, reindeer, snowflakes, gift boxes) to create a fun and festive “glitch effect.” Users can select a theme for their matrix characters, adding a holiday twist to their trading visuals. As the market data moves, these themed characters are randomly picked and displayed on the chart in a colorful cascade.
Underlying Calculations and Logic
1.Character Management:
The indicator uses arrays to manage different sets of holiday-themed characters, such as Santa’s sleigh, snowflakes, and reindeer. These arrays allow dynamic selection and update of characters as the market moves, mimicking a festive glitch effect.
2. Current and Previous States:
Arrays track the current and previous states of characters, ensuring smooth transitions between visual updates. This dual-state management enables the effects to look like a magical, continuous movement, just like Santa’s sleigh cruising through the winter night.
3. Transparency Control:
Transparency levels are controlled through arrays, adjusting opacity to create subtle fading effects or more intense visual appearances. The result is a festive glow that can fade or intensify depending on the market’s volatility.
4. Rain Effect Simulation:
To create the “snowfall” or “glitching lights” effect, the indicator manages arrays that simulate falling characters, like snowflakes or candy canes, continuously updating their position and visibility. As new characters enter the top of the screen, older ones disappear from the bottom, with fading transparency to simulate a seamless flow.
5. Operational Flow:
• Initialization: Arrays initialize the characters and transparency controls, readying the script for smooth and continuous updates during trading.
• Updates: During each cycle, new characters are selected and the old ones shift, with updates in both content and appearance ensuring the matrix effect is visually appealing.
• Rendering: The arrays control how the characters are rendered, ensuring the magical holiday effect stays lively and eye-catching without interrupting the trading flow.
How to Use Santa’s Secrets Indicator
1. Apply the Indicator to Your Charts:
Add the Santa’s Secrets indicator to your chart, activating the holiday-themed visual effect on your selected trading instrument or time frame.
2. Select Your Holiday Theme:
In the settings, choose the holiday theme or character set. Whether it’s Santa’s sleigh, reindeer, snowflakes, or gift boxes, pick the one that brings the most festive cheer to your charts.
3. Choose Your Visual Effect (Snowfall or Glitch Burst):
Select between the “Snowfall” effect, where characters gently drift down the chart like snowflakes, or the “Glitch Burst” effect, where characters explode outward in a burst of holiday cheer, representing bursts of market volatility.
4. Adjust the Color for Holiday Vibes:
Customize the color of the characters to match your chart’s aesthetic or reflect different market conditions. Choose from red for a downtrend, green for an uptrend, or opt for a gradient of colors to capture a true holiday spirit.
5. Fit the Matrix to Your Display:
Adjust the width and height of the matrix display to make sure it fits perfectly with your chart layout. Ensure it doesn’t obscure your view while still providing the holiday-themed magic.
What Makes Santa’s Secrets Indicator Unique?
Holiday Theme Selection:
Santa’s Secrets allows traders to choose from a variety of holiday-themed characters. Whether you prefer the traditional Santa’s sleigh, snowflakes, reindeer, or gift boxes, you can bring the festive spirit into your trading. This personalized touch adds a fun, holiday twist to your charts and keeps you engaged during the festive season.
Dynamic Effects:
Choose between two exciting visual modes – Snowfall Mode or Glitch Burst Mode. The Snowfall Mode brings a gentle, peaceful effect with characters cascading down the chart like snowflakes, while Glitch Burst Mode creates a more intense effect, radiating characters outward in an explosive, holiday-themed display.
Customizable Holiday Colors:
Traders can fully customize the color of the matrix characters to match their trading environment. Whether you want a traditional red and green for a Christmas mood or a blue and white snow effect, Santa’s Secrets allows you to create the perfect holiday atmosphere while you trade.
Universal Display Compatibility:
No matter what screen or device you’re using – whether it’s a large monitor, laptop, or mobile – Santa’s Secrets is fully adjustable to fit your screen size. The holiday effect remains visually striking without compromising the integrity of your chart data.
Wishing you a happy year filled with success, growth, and profitable trades.🎅🎁
Let's kick off the new year strong with Santa's Secrets! 🚀🎄
Vertical Lines OverlayVertical Lines Overlay with Custom Time Inputs
This script allows users to draw vertical lines on their charts at specific times of the day, providing a customizable tool for marking key events, session changes, or any other time-based analysis.
Features:
Customizable Time Inputs: Set up to 6 distinct times (hours and minutes) to draw vertical lines.
Line Style Options: Choose between solid, dotted, or dashed line styles for each line.
Line Width Control: Adjust the thickness of each line individually.
Color Selection: Assign unique colors to each vertical line for better visibility and organization.
Dynamic Time Offsets: Adjust line positions with predefined time offsets, ensuring compatibility across different trading instruments and time zones.
Automatic Line Drawing: Lines are plotted automatically at the specified times if the conditions are met.
How to Use:
Open the settings panel by clicking the gear icon.
Enable or disable each line by toggling the respective checkboxes.
Set the desired time for each line using the hour and minute inputs.
Customize line styles, widths, and colors for each line.
Optionally, apply a time offset based on your trading instrument or preference.
Divine Christmas Tree [Daveatt]🎄 Divine Christmas Tree - Because Even Your Charts Deserve Holiday FOMO! 🎅
Ever felt like your trading charts were missing that special holiday spirit? Tired of staring at boring candlesticks while everyone else is decorating their houses? Well, hold onto your eggnog because this indicator is about to turn your TradingView into a festive party! 🎉
Introducing the Divine Christmas Tree - the only technical indicator that makes your losses look festive! This isn't your grandmother's Christmas tree... it's a high-tech, market-aware celebration that would make Wall Street jealous.
🌟 What's Inside This Gift Box:
- A tree that changes color based on price action (because even Christmas trees need to respect the 200 SMA!)
- Ornaments that dance around like your portfolio after a Fed announcement
- A Santa who's definitely not checking if your trades were naughty or nice
- Presents under the tree (sorry, they don't contain trading tips)
- Random ornament placement that's more unpredictable than crypto prices
The best part? The ornaments refresh constantly, giving you something fun to watch while you're waiting for that breakout that'll never come! 😅
WARNING: This indicator may cause:
- Uncontrollable holiday cheer
- Sudden urges to buy Santa Coin
- Confusion among serious traders
- Desperate attempts to explain to your spouse why you're watching a Christmas tree on your trading screen
Perfect for:
- Traders who need emotional support during December
- Anyone who wants to pretend they're working while actually watching Christmas decorations
- People who believe Santa Claus is the ultimate swing trader
Remember: Just because your portfolio is in red doesn't mean your Christmas tree has to be! 🎄
Not financial advice, but definitely festive advice! 🎅
BB Context PanelThe BB Context Panel indicator is designed to provide a customizable and informative overlay on your chart. It offers key contextual details to enhance your trading experience by combining essential market data, user-defined messages, and time-based insights in an easily accessible panel. Whether you use it for quick reference, sharing screenshots, or maintaining focus with motivational reminders, this tool adapts to your unique trading needs.
Key Features
1. Futures Contract Tracking:
• Automatically displays the current or nearest futures contract (e.g., MNQH5), including support for continuous contracts.
• Adjusts dynamically based on the quarterly roll schedule (March, June, September, December).
2. Time and Date Display:
• Choose to display either:
• Bar Time: Reflects the timestamp of the most recent bar.
• Current Time: Updates in real time based on your selected timezone.
• Formats the timestamp as hh:mm Day mm-dd-yy for easy readability.
3. Custom User Messages:
• Add personalized messages, motivational reminders, or trading affirmations (e.g., “Patience | Discipline | Confidence”).
• Supports multiline messages for greater customization.
4. Customizable Placement:
• Select from multiple placement options (e.g., Top Right, Bottom Left, etc.) to integrate seamlessly with your chart layout.
5. Time Zone Support:
• Supports a wide range of global time zones, ensuring accurate time synchronization based on your location or trading session preferences.
6. Clean and Minimalist Design:
• Aesthetic panel with customizable text and background colors for better integration with your chart theme.
• Bolded key information like contract symbols and timeframes for quick recognition.
How to Use
1. Enable the Context Panel:
• Select a location for the panel using the Show Chart Context Panel? setting (e.g., Top Right).
2. Choose Time Display:
• Decide whether to show Bar Time, Current Time, or disable the time display entirely (None).
3. Add Custom Messages:
• Use the Panel Message input to add motivational reminders, strategy notes, or any text you’d like to see during your trading sessions.
4. Set Your Time Zone:
• Configure the time zone using the Select Timezone dropdown to ensure time data aligns with your trading hours.
Example Use Cases
1. Screenshot-Friendly Context:
• Capture annotated screenshots with clear context, including contract symbol, timeframe, timestamp, and reminders.
2. Quick Market Overview:
• Use the panel to stay informed about the current futures contract and trading session details without cluttering your chart.
3. Trading Psychology Support:
• Display affirmations like “Patience | Discipline | Confidence” to help maintain focus and emotional discipline while trading.
Future Interest Indexed by AssetEste script em Pine Script calcula e exibe o índice dos juros futuros (DI1) em relação ao preço de um ativo, utilizando o preço de fechamento do ativo e a taxa de juros futuros (DI1). O cálculo é realizado dividindo a taxa de juros pelos preços do ativo, resultando no índice indice_juros. Para evitar a divisão por zero, o script verifica se o preço do ativo é válido e não nulo. O índice calculado é então plotado em um painel inferior no gráfico, representado por uma linha azul, permitindo aos usuários observar a relação entre a taxa de juros futuros e o preço do ativo de forma clara e intuitiva.
This Pine Script script calculates and displays the future interest rate (DI1) in relation to the price of an asset, using the asset's closing price and the future interest rate (DI1). The calculation is carried out by dividing the interest rate by the asset prices, resulting in the index_interest index. To avoid division by zero, the script checks that the asset's price is valid and not null. The calculated index is then plotted in a lower panel on the chart, represented by a blue line, allowing users to observe the relationship between the future interest rate and the asset price clearly and intuitively.
Asset Indexed by Future Interest
Este script em Pine Script calcula e exibe o índice de um ativo em relação à taxa de juros futuros (DI1) em um painel inferior. Ele obtém o preço de fechamento do ativo e a taxa de juros futuros DI1!, e em seguida, calcula o índice do ativo dividindo o preço do ativo pela taxa de juros futuros. Para evitar a divisão por zero, o script realiza uma validação para garantir que o valor da taxa de juros não seja nulo ou zero. O índice calculado é então plotado no painel inferior, em uma linha verde, permitindo que os usuários visualizem a relação entre o preço do ativo e os juros futuros de curto prazo. Esse índice pode ser útil para analisar como a taxa de juros influencia o comportamento do ativo.
This script in Pine Script calculates and displays the ratio of an asset to the future interest rate (DI1) in a lower panel. It obtains the asset's closing price and the future interest rate DI1!, and then calculates the asset index by dividing the asset price by the future interest rate. To avoid division by zero, the script performs validation to ensure that the interest rate value is not null or zero. The calculated index is then plotted in the bottom panel, in a green line, allowing users to visualize the relationship between the asset's price and short-term future interest. This index can be useful for analyzing how the interest rate influences the asset's behavior.
12 Month Difference - YoY ComparisonEste script foi desenvolvido para calcular e exibir a variação percentual do preço de um ativo nos últimos 12 meses, de forma simples e visual. Ele utiliza dados históricos de preços e apresenta o resultado diretamente no gráfico, permitindo ao usuário acompanhar a relação entre o valor atual e o valor de 12 meses atrás.
O cálculo é baseado em um período de 12 meses, que equivale a 252 dias úteis no mercado financeiro. O script primeiro identifica o preço atual do ativo e o compara com o preço registrado há exatamente 252 dias úteis. A diferença entre esses dois valores é transformada em uma variação percentual, o que facilita a análise de desempenho do ativo ao longo do período.
Além disso, o script define uma cor para destacar o resultado:
Verde, se a variação percentual for positiva (indicando crescimento).
Vermelho, se a variação for negativa (indicando queda).
O valor calculado é exibido de forma prática no canto inferior direito do gráfico, como uma tabela flutuante. Essa tabela contém o texto "Relação 12M" e o valor percentual correspondente, permitindo uma leitura rápida.
Embora o resultado seja calculado para todos os momentos no gráfico, ele é mostrado apenas como uma tabela no último ponto confirmado da série histórica, ou seja, no momento mais recente com dados disponíveis. Além disso, o script inclui o valor da relação na legenda do gráfico, mas ele está oculto visualmente para evitar sobrecarregar o layout.
Esse indicador é útil para analisar rapidamente o desempenho de um ativo ao longo de um ano, ajudando investidores e analistas a entenderem tendências e mudanças no mercado.
This script was developed to calculate and display the percentage change in the price of an asset over the last 12 months, in a simple and visual way. It uses historical price data and displays the result directly on the chart, allowing the user to monitor the relationship between the current value and the value from 12 months ago.
The calculation is based on a 12-month period, which is equivalent to 252 business days in the financial market. The script first identifies the current price of the asset and compares it with the price recorded exactly 252 business days ago. The difference between these two values is transformed into a percentage change, which makes it easier to analyze the asset's performance over the period.
In addition, the script defines a color to highlight the result:
Green, if the percentage change is positive (indicating growth).
Red, if the change is negative (indicating a decline).
The calculated value is displayed conveniently in the bottom right corner of the chart, as a floating table. This table contains the text "12M Ratio" and the corresponding percentage value, allowing for quick reading.
Although the result is calculated for all points in time on the chart, it is only displayed as a table at the last confirmed point in the historical series, i.e. the most recent point in time with available data. In addition, the script includes the ratio value in the chart legend, but it is visually hidden to avoid cluttering the layout.
This indicator is useful for quickly analyzing the performance of an asset over a year, helping investors and analysts understand trends and changes in the market.
First day candle high and low of monthThis script is designed to mark the high and low levels of the first candle of each month on the chart. These levels are often considered significant support and resistance zones, as they can represent key liquidity points in the market.
The idea behind this tool is based on the observation that the low of the first monthly candle can act as a critical support level, especially during a bullish market trend. If the price breaks below this low in a bull market, it may indicate a potential manipulation or stop-loss hunting rather than a genuine shift in trend. Similarly, the high of the first monthly candle may serve as a key resistance level, particularly in consolidating or range-bound markets.
By dynamically plotting these levels, the script provides traders with valuable insights into potential liquidity zones and significant market reactions. It allows for customizable line colors and lengths, making it adaptable to various trading styles and preferences.
This tool is particularly useful for traders who wish to align their strategies with institutional market behaviors, as it highlights areas where liquidity is likely to be targeted. Use it as part of your broader analysis to identify potential trade setups, manage risk effectively, and understand market dynamics more comprehensively.
Watermark with dynamic variables [BM]█ OVERVIEW
This indicator allows users to add highly customizable watermark messages to their charts. Perfect for branding, annotation, or displaying dynamic chart information, this script offers advanced customization options including dynamic variables, text formatting, and flexible positioning.
█ CONCEPTS
Watermarks are overlay messages on charts. This script introduces placeholders — special keywords wrapped in % signs — that dynamically replace themselves with chart-related data. These watermarks can enhance charts with context, timestamps, or branding.
█ FEATURES
Dynamic Variables : Replace placeholders with real-time data such as bar index, timestamps, and more.
Advanced Customization : Modify text size, color, background, and alignment.
Multiple Messages : Add up to four independent messages per group, with two groups supported (A and B).
Positioning Options : Place watermarks anywhere on the chart using predefined locations.
Timezone Support : Display timestamps in a preferred timezone with customizable formats.
█ INPUTS
The script offers comprehensive input options for customization. Each Watermark (A and B) contains identical inputs for configuration.
Watermark settings are divided into two levels:
Watermark-Level Settings
These settings apply to the entire watermark group (A/B):
Show Watermark: Toggle the visibility of the watermark group on the chart.
Position: Choose where the watermark group is displayed on the chart.
Reverse Line Order: Enable to reverse the order of the lines displayed in Watermark A.
Message-Level Settings
Each watermark contains up to four configurable messages. These messages can be independently customized with the following options:
Message Content: Enter the custom text to be displayed. You can include placeholders for dynamic data.
Text Size: Select from predefined sizes (Tiny, Small, Normal, Large, Huge) or specify a custom size.
Text Alignment and Colors:
- Adjust the alignment of the text (Left, Center, Right).
- Set text and background colors for better visibility.
Format Time: Enable time formatting for this watermark message and configure the format and timezone. The settings for each message include message content, text size, alignment, and more. Please refer to Formatting dates and times for more details on valid formatting tokens.
█ PLACEHOLDERS
Placeholders are special keywords surrounded by % signs, which the script dynamically replaces with specific chart-related data. These placeholders allow users to insert dynamic content, such as bar information or timestamps, into watermark messages.
Below is the complete list of currently available placeholders:
bar_index , barstate.isconfirmed , barstate.isfirst , barstate.ishistory , barstate.islast , barstate.islastconfirmedhistory , barstate.isnew , barstate.isrealtime , chart.is_heikinashi , chart.is_kagi , chart.is_linebreak , chart.is_pnf , chart.is_range , chart.is_renko , chart.is_standard , chart.left_visible_bar_time , chart.right_visible_bar_time , close , dayofmonth , dayofweek , dividends.future_amount , dividends.future_ex_date , dividends.future_pay_date , earnings.future_eps , earnings.future_period_end_time , earnings.future_revenue , earnings.future_time , high , hl2 , hlc3 , hlcc4 , hour , last_bar_index , last_bar_time , low , minute , month , ohlc4 , open , second , session.isfirstbar , session.isfirstbar_regular , session.islastbar , session.islastbar_regular , session.ismarket , session.ispostmarket , session.ispremarket , syminfo.basecurrency , syminfo.country , syminfo.currency , syminfo.description , syminfo.employees , syminfo.expiration_date , syminfo.industry , syminfo.main_tickerid , syminfo.mincontract , syminfo.minmove , syminfo.mintick , syminfo.pointvalue , syminfo.prefix , syminfo.pricescale , syminfo.recommendations_buy , syminfo.recommendations_buy_strong , syminfo.recommendations_date , syminfo.recommendations_hold , syminfo.recommendations_sell , syminfo.recommendations_sell_strong , syminfo.recommendations_total , syminfo.root , syminfo.sector , syminfo.session , syminfo.shareholders , syminfo.shares_outstanding_float , syminfo.shares_outstanding_total , syminfo.target_price_average , syminfo.target_price_date , syminfo.target_price_estimates , syminfo.target_price_high , syminfo.target_price_low , syminfo.target_price_median , syminfo.ticker , syminfo.tickerid , syminfo.timezone , syminfo.type , syminfo.volumetype , ta.accdist , ta.iii , ta.nvi , ta.obv , ta.pvi , ta.pvt , ta.tr , ta.vwap , ta.wad , ta.wvad , time , time_close , time_tradingday , timeframe.isdaily , timeframe.isdwm , timeframe.isintraday , timeframe.isminutes , timeframe.ismonthly , timeframe.isseconds , timeframe.isticks , timeframe.isweekly , timeframe.main_period , timeframe.multiplier , timeframe.period , timenow , volume , weekofyear , year
█ HOW TO USE
1 — Add the Script:
Apply "Watermark with dynamic variables " to your chart from the TradingView platform.
2 — Configure Inputs:
Open the script settings by clicking the gear icon next to the script's name.
Customize visibility, message content, and appearance for Watermark A and Watermark B.
3 — Utilize Placeholders:
Add placeholders like %bar_index% or %timenow% in the "Watermark - Message" fields to display dynamic data.
Empty lines in the message box are reflected on the chart, allowing you to shift text up or down.
Using in the message box translates to a new line on the chart.
4 — Preview Changes:
Adjust settings and view updates in real-time on your chart.
█ EXAMPLES
Branding
DodgyDD's charts
Debugging
█ LIMITATIONS
Only supports variables defined within the script.
Limited to four messages per watermark.
Visual alignment may vary across different chart resolutions or zoom levels.
Placeholder parsing relies on correct input formatting.
█ NOTES
This script is designed for users seeking enhanced chart annotation capabilities. It provides tools for dynamic, customizable watermarks but is not a replacement for chart objects like text labels or drawings. Please ensure placeholders are properly formatted for correct parsing.
Additionally, this script can be a valuable tool for Pine Script developers during debugging . By utilizing dynamic placeholders, developers can display real-time values of variables and chart data directly on their charts, enabling easier troubleshooting and code validation.
Up and Downwhat is "Up and Down"?
It is an indicator designed to show you in detail on the chart and warn you when there is an increase or decrease in the market at a level that you consider important.
what it does?
When the price difference between a top and bottom is greater than the level you selected (the default input is 10 percent), it indicates this along with the percentage value on the chart. Then, it indicates the start and end points with lines so that you can see the change from where to where. It shows the price's current percentage distance from the last bottom or top in the upper right corner.
it also colors the candles so you can better understand how fast the price is moving. The greener the candles, the stronger the rise, and conversely, the greater the decline, the redder the candles. Of course, if you set an alarm, it will tell you in which trading pair, in which time period, at what percentage and in which direction there is a movement.
how it does it?
It uses a moving average with a short length to find bottoms and tops. It then measures the distance from the last peak to the bottom and expresses it as a percentage. It uses momentum using the moving average as a source to paint the candles. To compress this momentum between the values 255 and 0, I used a formula that I also used in my limited fisher transform work (because the inputs in the color.rgb function take values between 0 and 255). It was a bit challenging to use the lines correctly, but with the "ta.valuewhen" function and a little experimenting, they were I made sure they were drawn correctly.
how to use it?
It is quite simple to use. First, select the minimum interval you want to receive alarms. If you make this value too high, you will not receive any alarms; if you make it too low, you will receive too many alarms. Choose the range that will benefit you most for the trading pair you are using. Then all you have to do is set an alarm. When you set an alarm, leave the note section blank and the indicator will send you the necessary information.
R-based Strategy Template [Daveatt]Have you ever wondered how to properly track your trading performance based on risk rather than just profits?
This template solves that problem by implementing R-multiple tracking directly in TradingView's strategy tester.
This script is a tool that you must update with your own trading entry logic.
Quick notes
Before we dive in, I want to be clear: this is a template focused on R-multiple calculation and visualization.
I'm using a basic RSI strategy with dummy values just to demonstrate how the R tracking works. The actual trading signals aren't important here - you should replace them with your own strategy logic.
R multiple logic
Let's talk about what R-multiple means in practice.
Think of R as your initial risk per trade.
For instance, if you have a $10,000 account and you're risking 1% per trade, your 1R would be $100.
A trade that makes twice your risk would be +2R ($200), while hitting your stop loss would be -1R (-$100).
This way of measuring makes it much easier to evaluate your strategy's performance regardless of account size.
Whenever the SL is hit, we lose -1R
Proof showing the strategy tester whenever the SL is hit: i.imgur.com
The magic happens in how we calculate position sizes.
The script automatically determines the right position size to risk exactly your specified percentage on each trade.
This is done through a simple but powerful calculation:
risk_amount = (strategy.equity * (risk_per_trade_percent / 100))
sl_distance = math.abs(entry_price - sl_price)
position_size = risk_amount / (sl_distance * syminfo.pointvalue)
Limitations with lower timeframe gaps
This ensures that if your stop loss gets hit, you'll lose exactly the amount you intended to risk. No more, no less.
Well, could be more or less actually ... let's assume you're trading futures on a 15-minute chart but in the 1-minute chart there is a gap ... then your 15 minute SL won't get filled and you'll likely to not lose exactly -1R
This is annoying but it can't be fixed - and that's how trading works anyway.
Features
The template gives you flexibility in how you set your stop losses. You can use fixed points, ATR-based stops, percentage-based stops, or even tick-based stops.
Regardless of which method you choose, the position sizing will automatically adjust to maintain your desired risk per trade.
To help you track performance, I've added a comprehensive statistics table in the top right corner of your chart.
It shows you everything you need to know about your strategy's performance in terms of R-multiples: how many R you've won or lost, your win rate, average R per trade, and even your longest winning and losing streaks.
Happy trading!
And remember, measuring your performance in R-multiples is one of the most classical ways to evaluate and improve your trading strategies.
Daveatt
Extended Support and Resistance LevelsIndicator: Extended Support and Resistance Levels
This Pine Script indicator dynamically calculates support and resistance levels based on recent price action and projects these levels into the future.
Support is determined by the lowest low over a user-defined period, while Resistance is defined by the highest high over the same period.
The indicator draws lines at the calculated support and resistance levels and extends them into the future, allowing traders to visualize potential future levels where price might react.
The extension of these lines helps in identifying areas where price may respect support or resistance in the upcoming bars.
The user can adjust the period for support/resistance calculation and the number of bars for projection, providing flexibility to adapt to different timeframes and market conditions.
This tool is ideal for traders looking to anticipate future key price levels based on historical price data, helping with decision-making on potential entry or exit points.
FIR Low Pass Filter Suite (FIR)The FIR Low Pass Filter Suite is an advanced signal processing indicator that applies finite impulse response (FIR) filtering techniques to price data. At its core, the indicator uses windowed-sinc filtering, which provides optimal frequency response characteristics for separating trend from noise in financial data.
The indicator offers multiple window functions including Kaiser, Kaiser-Bessel Derived (KBD), Hann, Hamming, Blackman, Triangular, and Lanczos. Each window type provides different trade-offs between main-lobe width and side-lobe attenuation, allowing users to fine-tune the frequency response characteristics of the filter. The Kaiser and KBD windows provide additional control through an alpha parameter that adjusts the shape of the window function.
A key feature is the ability to operate in either linear or logarithmic space. Logarithmic filtering can be particularly appropriate for financial data due to the multiplicative nature of price movements. The indicator includes an envelope system that can adaptively calculate bands around the filtered price using either arithmetic or geometric deviation, with separate controls for upper and lower bands to account for the asymmetric nature of market movements.
The implementation handles edge effects through proper initialization and offers both centered and forward-only filtering modes. Centered mode provides zero phase distortion but introduces lag, while forward-only mode operates causally with no lag but introduces some phase distortion. All calculations are performed using vectorized operations for efficiency, with carefully designed state management to handle the filter's warm-up period.
Visual feedback is provided through customizable color gradients that can reflect the current trend direction, with optional glow effects and background fills to enhance visibility. The indicator maintains high numerical precision throughout its calculations while providing smooth, artifact-free output suitable for both analysis and visualization.