PnL MonitorThe PnL Monitor is a customizable tool designed to help traders track the Profit and Loss (PnL) of up to 20 currency pairs or assets in real-time. This script provides a clear and organized table that displays the entry price, and PnL percentage for each pair, making it an essential tool for monitoring open positions or tracking potential trades.
Key Features:
Multi-Asset Tracking:
Monitor up to 20 currency pairs or assets simultaneously. Simply input the pair symbol and your entry price, and the script will calculate the PnL in real-time.
Dynamic Table Positioning:
Choose where the table appears on your chart with the Table Position input. Options include:
Top Left
Top Right
Bottom Left
Bottom Right
Real-Time PnL Calculation:
The script fetches the current price of each pair and calculates the PnL percentage based on your entry price. Positive PnL is highlighted in green, while negative PnL is highlighted in red.
Exchange and Pair Separation:
The script automatically separates the exchange name (if provided) from the pair symbol, making it easier to identify the source of the data.
Customizable Inputs:
Add or remove pairs as needed.
Leave the price field blank for pairs you don’t want to track.
How to Use:
Input Your Pairs:
In the script settings, input the symbol of the pair (e.g., NASDAQ:AAPL or BTCUSD) and your entry price. Leave the price field blank for pairs you don’t want to track.
Choose Table Position:
Select where you want the table to appear on your chart.
Monitor PnL:
The table will automatically update with the current price and PnL percentage for each pair.
Why Use This Script?
Efficiency: Track multiple pairs in one place without switching charts.
Clarity: Easily identify profitable and losing positions at a glance.
Flexibility: Customize the table to fit your trading style and preferences.
Ideal For:
Forex, crypto, and stock traders managing multiple positions.
Cerca negli script per "profit"
Historical Monthly Returns TrackerThe Historical Monthly Returns Tracker is a powerful Pine Script v5 indicator designed to provide a detailed performance analysis of an asset’s monthly returns over time. It calculates and displays the percentage change for each month, aggregated into a structured table. The indicator helps traders and investors identify seasonal trends, recurring patterns, and historical profitability for a selected asset.
Key Features
✅ Historical Performance Analysis – Tracks monthly percentage changes for any asset.
✅ Customizable Start Year – Users can define the beginning year for data analysis.
✅ Comprehensive Data Table – Displays a structured table with yearly returns per month.
✅ Aggregated Statistics – Shows average return, total sum, number of positive months, and win rate (WR) for each month.
✅ Clear Color Coding – Highlights positive returns in green, negative in red, and neutral in gray.
✅ Works on Daily & Monthly Timeframes – Ensures accurate calculations based on higher timeframes.
How It Works
Data Collection:
The script fetches monthly closing prices.
It calculates month-over-month percentage change.
The values are stored in a matrix for further processing.
Table Generation:
Displays a structured table where each row represents a year, and each column represents a month (Jan–Dec).
Monthly returns are color-coded for easy interpretation.
Aggregated Statistics:
AVG: The average return per month across all available years.
SUM: The total cumulative return for each month.
+ive: The number of times a month had positive performance vs. total occurrences.
WR (Win Rate): The percentage of times a month had a positive return.
Use Cases
📈 Seasonality Analysis: Identify which months historically perform better or worse.
📊 Risk Management: Plan trading strategies based on historical trends.
🔍 Backtesting Aid: Support algorithmic and discretionary traders with real data insights.
🔄 Asset Comparison: Compare different stocks, forex pairs, or cryptocurrencies for their seasonal behavior.
How to Use
Apply the Indicator to a chart in TradingView.
Ensure your timeframe is Daily or Monthly (lower timeframes are not supported).
The table will automatically populate based on available historical data.
Analyze the patterns, trends, and win rates to optimize trading decisions.
Limitations
⚠️ Requires a sufficient amount of historical data to provide accurate analysis.
⚠️ Works best on high-liquidity assets (stocks, indices, forex, crypto).
⚠️ Not a predictive tool but rather a historical performance tracker.
Final Thoughts
The Historical Monthly Returns Tracker is an excellent tool for traders seeking to leverage seasonal trends in their strategies. Whether you're a stock, forex, or crypto trader, this indicator provides clear, data-driven insights to help refine entry and exit points based on historical patterns.
🚀 Use this tool to make smarter, more informed trading decisions!
Supertrend and Fast and Slow EMA StrategyThis strategy combines Exponential Moving Averages (EMAs) and Average True Range (ATR) to create a simple, yet effective, trend-following approach. The strategy filters out fake or sideways signals by incorporating the ATR as a volatility filter, ensuring that trades are only taken during trending conditions. The key idea is to buy when the short-term trend (Fast EMA) aligns with the long-term trend (Slow EMA), and to avoid trades during low volatility periods.
How It Works:
EMA Crossover:
1). Buy Signal: When the Fast EMA (shorter-term, e.g., 20-period) crosses above the Slow EMA (longer-term, e.g., 50-period), this indicates a potential uptrend.
2). Sell Signal: When the Fast EMA crosses below the Slow EMA, this indicates a potential downtrend.
ATR Filter:
1). The ATR (Average True Range) is used to measure market volatility.
2). Trending Market: If the ATR is above a certain threshold, it indicates high volatility and a trending market. Only when ATR is above the threshold will the strategy generate buy/sell signals.
3). Sideways Market: If ATR is low (sideways or choppy market), the strategy will suppress signals to avoid entering during non-trending conditions.
When to Buy:
1). Condition 1: The Fast EMA crosses above the Slow EMA.
2). Condition 2: The ATR is above the defined threshold, indicating that the market is trending (not sideways or choppy).
When to Sell:
1). Condition 1: The Fast EMA crosses below the Slow EMA.
2). Condition 2: The ATR is above the defined threshold, confirming that the market is in a downtrend.
When Not to Enter the Trade:
1). Sideways Market: If the ATR is below the threshold, signaling low volatility and sideways or choppy market conditions, the strategy will not trigger any buy or sell signals.
2). False Crossovers: In low volatility conditions, price action tends to be noisy, which could lead to false signals. Therefore, avoiding trades during these periods reduces the risk of false breakouts.
Additional Factors to Consider Adding:
=> RSI (Relative Strength Index): Adding an RSI filter can help confirm overbought or oversold conditions to avoid buying into overextended moves or selling too low.
1). RSI Buy Filter: Only take buy signals when RSI is below 70 (avoiding overbought conditions).
2). RSI Sell Filter: Only take sell signals when RSI is above 30 (avoiding oversold conditions).
=> MACD (Moving Average Convergence Divergence): Using MACD can help validate the strength of the trend.
1). Buy when the MACD histogram is above the zero line and the Fast EMA crosses above the Slow EMA.
2). Sell when the MACD histogram is below the zero line and the Fast EMA crosses below the Slow EMA.
=> Support/Resistance Levels: Adding support and resistance levels can help you understand market structure and decide whether to enter or exit a trade.
1). Buy when price breaks above a significant resistance level (after a valid buy signal).
2). Sell when price breaks below a major support level (after a valid sell signal).
=> Volume: Consider adding a volume filter to ensure that buy/sell signals are supported by strong market participation. You could only take signals if the volume is above the moving average of volume over a certain period.
=> Trailing Stop Loss: Instead of a fixed stop loss, use a trailing stop based on a percentage or ATR to lock in profits as the trade moves in your favor.
=> Exit Signals: Besides the EMA crossover, consider adding Take Profit or Stop Loss levels, or even using a secondary indicator like RSI to signal an overbought/oversold condition and exit the trade.
Example Usage:
=> Buy Example:
1). Fast EMA (20-period) crosses above the Slow EMA (50-period).
2). The ATR is above the threshold, confirming that the market is trending.
3). Optionally, if RSI is below 70, the buy signal is further confirmed as not being overbought.
=> Sell Example:
1). Fast EMA (20-period) crosses below the Slow EMA (50-period).
2). The ATR is above the threshold, confirming that the market is trending.
3). Optionally, if RSI is above 30, the sell signal is further confirmed as not being oversold.
Conclusion:
This strategy helps to identify trending markets and filters out sideways or choppy market conditions. By using Fast and Slow EMAs combined with the ATR volatility filter, it provides a reliable approach to catching trending moves while avoiding false signals during low-volatility, sideways markets.
Dual Keltner ChannelsDual Keltner Channels (DKC) Indicator 📊
🔹 About This Indicator
This indicator is an enhanced version of the original Keltner Channel available in TradingView. The Keltner Channel was initially designed as a volatility-based envelope around a moving average, helping traders identify trends, breakouts, and potential reversal zones.
💡 Original Creator: The Keltner Channel concept is based on the work of Chester W. Keltner and was later implemented in various trading platforms, including TradingView’s built-in Keltner Channel indicator.
This script builds upon the TradingView version of the Keltner Channel, adding:
✅ Dual Keltner Bands (Inner & Outer) for better trend and volatility analysis.
✅ Customizable Moving Averages (EMA/SMA) for flexibility.
✅ Multiple Band Calculation Methods (ATR, True Range, Range) for improved accuracy.
✅ Shaded Zones Between the Bands for enhanced visual clarity.
⚡ Credit: This indicator is an enhancement of the original Keltner Channel Indicator in TradingView. All improvements and modifications are made to provide deeper market insights while maintaining the core principles of the original Keltner concept.
🔹 Overview
The Dual Keltner Channels (DKC) indicator overlays two Keltner Channels on the price chart, helping traders spot trends, breakouts, and reversals with greater precision.
Inner Keltner Band (Multiplier 1): Captures normal price movements.
Outer Keltner Band (Multiplier 2): Highlights extreme price movements and potential breakouts.
🔹 Features & Inputs
📌 Main Inputs:
Keltner Channel Length: Defines the lookback period for the moving average calculation.
Source Price: Selects the price type (close, open, high, low) to calculate the bands.
Exponential Moving Average (EMA) Option: Choose between Exponential (EMA) or Simple (SMA) as the basis for calculations.
Bands Style: Selects how the volatility is measured:
Average True Range (ATR) (default)
True Range (TR)
Range (High - Low)
ATR Length: Determines the length of ATR calculations.
Enable Multiplier 1 & 2: Toggle to display/hide inner (multiplier 1) and outer (multiplier 2) bands.
📌 Keltner Channels Calculation:
Moving Average (MA): Uses either EMA or SMA for the midline.
Volatility Band Calculation:
Upper Band 1 (Inner Band): MA + (Multiplier 1 × Volatility Measure)
Lower Band 1 (Inner Band): MA - (Multiplier 1 × Volatility Measure)
Upper Band 2 (Outer Band): MA + (Multiplier 2 × Volatility Measure)
Lower Band 2 (Outer Band): MA - (Multiplier 2 × Volatility Measure)
📌 Visuals & Plotting:
Inner Bands (Multiplier 1): Blue upper & lower lines.
Outer Bands (Multiplier 2): Darker blue upper & lower lines.
Basis Line: White moving average.
Shaded Areas:
Between Upper 1 & Upper 2 (Light Brown Area): Identifies the upper Keltner region.
Between Lower 1 & Lower 2 (Light Brown Area): Identifies the lower Keltner region.
🔹 How to Use the Dual Keltner Channels Indicator
✅ 1. Trend Identification
Price above the upper outer band (Multiplier 2): Strong uptrend – potential continuation.
Price below the lower outer band (Multiplier 2): Strong downtrend – potential continuation.
Price within the inner bands (Multiplier 1): Sideways market – possible consolidation.
✅ 2. Breakout Trading
Break above outer upper band: Indicates a bullish breakout – consider long trades.
Break below outer lower band: Indicates a bearish breakdown – consider short trades.
✅ 3. Overbought & Oversold Conditions
Price touching/exceeding outer bands (Multiplier 2): Potential reversal zones.
Reversal confirmation: Look for candlestick patterns (e.g., Doji, Engulfing) or divergence signals.
✅ 4. Pullback & Entry Zones
Price bouncing from inner bands (Multiplier 1): Good re-entry point in trend direction.
Inner band as support/resistance: Helps in setting stop-loss and profit targets.
🔹 Effective Trading Strategies Using DKC
📌 1. Trend Following Strategy (Using Moving Average & Bands)
✅ Look for price staying above/below the basis line (MA) within the outer bands.
✅ Use pullbacks to the inner bands as re-entry points for trend continuation.
✅ Confirm trend strength with momentum indicators like RSI, MACD.
📌 2. Breakout Trading Strategy
✅ Identify a tight consolidation phase within the inner Keltner bands.
✅ Wait for a strong breakout beyond the outer bands.
✅ Enter long/short trades based on breakout direction.
✅ Place stop-loss at the previous inner band to manage risk.
📌 3. Reversal Strategy (Mean Reversion)
✅ When price extends beyond the outer band (Multiplier 2), look for reversal signals (candlestick patterns, RSI divergence).
✅ Enter counter-trend trades with tight stop-loss beyond the band.
✅ Target the moving average (basis line) as take-profit.
🔹 Final Thoughts 💡
The Dual Keltner Channels (DKC) is a powerful upgrade to the standard Keltner Channel, providing:
✅ Greater clarity on trend strength
✅ More precise breakout & reversal signals
✅ Better visual insights for dynamic market conditions
📌 Best Used With: RSI, MACD, Volume Profile, Price Action Signals.
📌 Works on: Stocks, Forex, Crypto, Commodities, Indices.
Celestial Pair Spread Hello friends, after a very long time!
Today, I tried to put into code an idea that came to my mind spontaneously and suddenly.
Note :
This script is experimental and improvable.
I haven't had a chance to try it yet.
TIMEFRAME : 1D (Daily Bars)
CELESTIAL SPREAD
The spread moves in a very limited area and is consistent within itself, especially on days far from the end of the contract.
That's why there is a reassuring sky atmosphere. That's why this name was given completely improvised.
Basic logic of the script
We enter the name of the CME Futures contract we want to enter:
Ex : CL1! , ES1! , ZC1! , NQ1!
The script creates us a pair trade parity divided into secondary contracts.
Example : ES1!/ES2!
What is pair trading?
I will explain briefly here.
For users who are wondering:
www.investopedia.com
Let's get back to our topic.
Now we have created a parity that does not actually exist.
This parity is the manifestation of the relative movements of two contracts.
When the parity rises, ES1! increased,ES2! has fallen.
In the opposite case, We can say: ES1! Contract has been dropped ES2! has increased.
Pair trading is generally a trade that needs to be kept in mind from time to time.
It is a method preferred by professionals who can process very quickly.
Market risk is minimal, but since 2 contracts are purchased, more money is paid and very low percentage profits are made.
It is very expensive to do pair trading, especially with oil and its derivatives and interest security derivatives.
The contract we are considering has micros. (small-item contracts tied to the same value)
So when we switch to our broker MES1!/MES2! We will trade.
For all CME futures :
www.cmegroup.com
Anyway, let's continue:
The script created the parity showing its relationship with the next contract and plotted it as bars.
Celestial bands are just like Bollinger bands, but they consist of 3 bands based on percentage changes rather than standard deviation.
The middle band is obtained from moving averages.
The upper and lower bands are the middle band subjected to a threshold value.
The threshold value can be changed.
0.15 percent was charged for this script.
CAUTION :
As can be seen in the example below;
The most important thing is not to make any transactions when the contract switch dates are approaching.
Therefore, it is recommended to use it just below the main chart.
The blue bars in the parity are
Values that outside the upper and lower threshold values are colored blue.
For this condition
Alerts has been added.
Don't forget to add alert and edit.
MAIN PURPOSE
It is aimed to start a pair trade when such conditions come and to quickly close the trades when the parity basis reaches the value.
OTHER IMPORTANT POINTS
Other issues are broker related issues.
Difference between initial margins and maintanence margins of contracts (between 1! and 2!)
It shouldn't be too high.
The commission should not be too high.
Leverage must be high because the profit percentage is very low.
To calculate leverage you must divide your contract size by the relevant margin requirement.
Sample margin requirement table:
www.interactivebrokers.com
RISKS
It is an experimental and intellectual script,
the risk of contract price differences (maybe it will not leave a profit except for very extreme values)
I remind you of the quickness risk that comes from a two-legged trade.
Alerts definitely synchronized with an audible alert sent to a smartphone as an e-mail notification and displayed on the locked screen for quick action.
Best regards!
Candlestick Pattern Detector - Vijay PrasadOverview:
This Pine Script v6 indicator is designed to detect and label key candlestick patterns on TradingView charts. It provides real-time visual markers for major bullish and bearish reversal signals, aiding traders in decision-making.
Usefulness:
✅ Saves time by automating candlestick pattern detection.
✅ Reduces manual chart analysis errors.
✅ Works across all markets & timeframes.
✅ Enhances trading strategies with accurate signals.
Candlestick Patterns Recognises:
Bullish Engulfing – A strong bullish reversal pattern.
Bearish Engulfing – Indicates a potential downtrend.
Hammer – Suggests a market bottom or reversal.
Shooting Star – A bearish reversal signal at the top of an uptrend.
Doji – Signals market indecision and possible trend change.
Key Functions:
Automated Pattern Visible
Identifies candlestick patterns dynamically and plots them on the chart.
Visual Labels for Patterns
Labels to indicate specific candlestick formations.
Labels appear only when a valid pattern is detected, avoiding unnecessary clutter.
Buy/Sell Signal
Plots buy signals at bullish patterns and sell signals at bearish patterns.
Helps traders recognize trend reversals and entry/exit points.
Bullish Engulfing Pattern (Green Label)
What it means: A bullish engulfing pattern typically signals a potential reversal from a downtrend to an uptrend. The current candle fully engulfs the previous candle, signaling strong buying interest.
Identifying Candlestick Patterns on the Chart
How to use it:
Entry: Look for a green label (bullish engulfing) at the bottom of the chart. When it appears, consider entering a long position (buy).
Confirmation: To increase reliability, wait for confirmation by observing if price moves above the high of the bullish engulfing candle.
Exit: Exit when the trend shows signs of reversing or take profit at predefined levels (e.g., resistance or a risk-to-reward ratio).
Bearish Engulfing Pattern (Red Label)
What it means: A bearish engulfing pattern is a signal of a potential reversal from an uptrend to a downtrend. The current candle fully engulfs the previous candle, signaling strong selling pressure.
How to use it:
Entry: Look for a red label (bearish engulfing) at the top of the chart. When it appears, consider entering a short position (sell).
Confirmation: Wait for the price to move below the low of the bearish engulfing candle to confirm the bearish trend.
Exit: Close the trade when the price reaches support levels or the trend shows signs of reversing.
Doji Pattern (Blue Circle)
What it means: A Doji candle signals market indecision. It represents a balance between buyers and sellers, often marking a potential reversal or consolidation point.
How to use it:
Entry: If the Doji appears after a strong trend (bullish or bearish), wait for the next candle to break above or below the Doji's high or low. This can signal a continuation or reversal.
Confirmation: You can look for additional indicators like moving averages, RSI, or MACD for confirmation before taking any action.
Exit: Exit when the price shows clear momentum in your entry direction.
Hammer Pattern (Orange Triangle)
What it means: The hammer pattern is a bullish reversal pattern that appears after a downtrend. It suggests that sellers pushed the price down during the session, but buyers managed to push the price back up.
How to use it:
Entry: When a hammer appears, consider entering a long position (buy). The price should move above the hammer's high for confirmation.
Confirmation: Look for strong volume and a follow-up bullish candle to confirm the reversal.
Exit: Set a target based on the next resistance level, or use a trailing stop to lock in profits.
Using Candlestick Patterns with Other Indicators
To increase your chances of success, combine candlestick patterns with other technical indicators.
Here are some ideas:
RSI (Relative Strength Index): Use RSI to check whether the market is overbought or oversold. A bullish engulfing in an oversold market could indicate a stronger buy signal, and a bearish engulfing in an overbought market could indicate a stronger sell signal.
Moving Averages (e.g., 50 EMA, 200 EMA): Confirm trend direction. If the candlestick pattern aligns with the direction of the moving averages, it can give a stronger signal.
MACD (Moving Average Convergence Divergence): Use MACD to confirm momentum and potential trend changes. If a candlestick pattern aligns with a MACD crossover, it strengthens the signal.
Volume: Look for higher-than-average volume when a pattern appears. This can give you additional confirmation that the market is reacting strongly.
Practice and Refine
It's important to practice using the candlestick patterns in a demo account or backtest them to see how they perform under different market conditions. Over time, you can adjust the settings and patterns to fit your trading style and preferences.
The Ultimate Lot Size Calculator Backstory
I created this Pine Script tool to calculate lot sizes with precision. While there are many lot size calculators available on TradingView, I found that most had significant flaws. I started teaching myself Pine Script over three and a half years ago with the sole purpose of building this tool. My first version was messy and lacked accuracy, so I never published it. I wanted it to be better than any other available tool, but my limited knowledge back then held me back.
Recently, I received a request to create a similar tool, as the current options still fail to deliver the precision and reliability traders need. This inspired me to revisit my original idea. With improved skills and a better understanding of Pine Script, I redesigned the tool from scratch, making it as precise, reliable, and efficient as possible.
This tool features built-in error detection to minimize mistakes and ensure accuracy in lot size calculations. I've spent more time on this project than on any other, focusing on delivering a solution that stands out on TradingView. While I plan to add more features based on user feedback, the current version is already a powerful, dependable, and easy-to-use tool for traders who value precision and efficiency in their lot size calculations.
How to use the tool ?
At first it might seem complicated, but it is quite easy to use the tool. There are two modes: auto and manual. By default, the tool is set on manual mode. When you apply the tool on the chart, it will ask you to choose the entry price, then the stop-loss price, and at last the take-profit price. Select all of them one by one. These values can be changed later.
Settings
There are various setting given for making the tool as flexible as possible. Here is the explanation for some of most important settings. Play with them and make yourself comfortable.
General settings
Auto mode : Use this mode if you want the the risk reward to be fixed and stop loss to be based on ATR. However the stop loss can be changed to be based on user input.
Manual mode : Use this mode if you want full control over entry, stop loss and take profit.
Contract Size : The tool works perfectly for all forex pairs including gold and silver but as the contract size is different for different assets it is difficult to add every single asset into the script manually so i have provided this option. In case you want to calculate lot size for a asset other then forex, gold or silver make sure to change this. Contract size = Quantity of the asset in 1 standerd lot.
Account settings
Automatic mode settings and ATR stop settings
Manual mode settings
Table and risk-reward box settings are pretty much self-explanatory i guess.
Error handling
A lot size calculator is a complex program. There are numerous points where it may fail and produce incorrect results. To make it robust and accurate, these issues must be addressed and managed properly, which practically all existing lot size calculator scripts fail to do.
Golden tip
When the symbol is changed it will display a symbol change warning as the entry, stop loss and take profit price won't change.
There are 2 ways to get fix this. Either manually enter all three values which i hate the most or remove the script from the chart and re-apply the script on chart again.
So to re-apply the indicator in most easy way follow the following instructions:
Note : If you encounter any other error then read the instruction to fix it and if it is an unknow error pleas report it to me in comments or DM.
Boilerplate Configurable Strategy [Yosiet]This is a Boilerplate Code!
Hello! First of all, let me introduce myself a little bit. I don't come from the world of finance, but from the world of information and communication technologies (ICT) where we specialize in data processing with the aim of automating it and eliminating all human factors and actors in the processes. You could say that I am an algotrader.
That said, in my journey through trading in recent years I have understood that this world is often shown to be incomplete. All those who want to learn about trading only end up learning a small part of what it really entails, they only seek to learn how to read candlesticks. Therefore, I want to share with the entire community a fraction of what I have really understood it to be.
As a computer scientist, the most important thing is the data, it is the raw material of our work and without data you simply cannot do anything. Entropy is simple: Data in -> Data is transformed -> Data out.
The quality of the outgoing data will directly depend on the incoming data, there is no greater mystery or magic in the process. In trading it is no different, because at the end of the day it is nothing more than data. As we often say, if garbage comes in, garbage comes out.
Most people focus on the results only, on the outgoing data, because in the end we all want the same thing, to make easy money. Very few pay attention to the input data, much less to the process.
Now, I am not here to delude you, because there is no bigger lie than easy money, but I am here to give you a boilerplate code that will help you create strategies where you only have to concentrate on the quality of the incoming data.
To the Point
The code is a strategy boilerplate that applies the technique that you decide to customize for the criteria for opening a position. It already has the other factors involved in trading programmed and automated.
1. The Entry
This section of the boilerplate is the one that each individual must customize according to their needs and knowledge. The code is offered with two simple, well-known strategies to exemplify how the code can be reused for your own benefits.
For the purposes of this post on tradingview, I am going to use the simplest of the known strategies in trading for entries: SMA Crossing
// SMA Cross Settings
maFast = ta.sma(close, length)
maSlow = ta.sma(open, length)
The Strategy Properties for all cases published here:
For Stock TSLA H1 From 01/01/2025 To 02/15/2025
For Crypto XMR-USDT 30m From 01/01/2025 To 02/15/2025
For Forex EUR-USD 5m From 01/01/2025 To 02/15/2025
But the goal of this post is not to sell you a dream, else to show you that the same Entry decision works very well for some and does not for others and with this boilerplate code you only have to think of entries, not exits.
2. Schedules, Days, Sessions
As you know, there are an infinite number of markets that are susceptible to the sessions of each country and the news that they announce during those sessions, so the code already offers parameters so that you can condition the days and hours of operation, filter the best time parameters for a specific market and time frame.
3. Data Filtering
The data offered in trading are numerical series presented in vectors on a time axis where an endless number of mathematical equations can be applied to process them, with matrix calculation and non-linear regressions being the best, in my humble opinion.
4. Read Fundamental Macroeconomic Events, News
The boilerplate has integration with the tradingview SDK to detect when news will occur and offers parameters so that you can enable an exclusion time margin to not operate anything during that time window.
5. Direction and Sense
In my experience I have found the peculiarity that the same algorithm works very well for a market in a time frame, but for the same market in another time frame it is only a waste of time and money. So now you can easily decide if you only want to open LONG, SHORT or both side positions and know how effective your strategy really is.
6. Reading the money, THE PURPOSE OF EVERYTHING
The most important section in trading and the reason why many clients usually hire me as a financial programmer, is reading and controlling the money, because in the end everyone wants to win and no one wants to lose. Now they can easily parameterize how the money should flow and this is the genius of this boilerplate, because it is what will really decide if an algorithm (Indicator: A bunch of math equations) for entries will really leave you good money over time.
7. Managing the Risk, The Ego Destroyer
Many trades, little money. Most traders focus on making money and none of them know about statistics and the few who do know something about it, only focus on the winrate. Well, with this code you can unlock what really matters, the true success criteria to be able to live off of trading: Profit Factor, Sortino Ratio, Sharpe Ratio and most importantly, will you really make money?
8. Managing Emotions
Finally, the main reason why many lose money is because they are very bad at managing their emotions, because with this they will no longer need to do so because the boilerplate has already programmed criteria to chase the price in a position, cut losses and maximize profits.
In short, this is a boilerplate code that already has the data processing and data output ready, you only have to worry about the data input.
“And so the trader learned: the greatest edge was not in predicting the storm, but in building a boat that could not sink.”
DISCLAIMER
This post is intended for programmers and quantitative traders who already have a certain level of knowledge and experience. It is not intended to be financial advice or to sell you any money-making script, if you use it, you do so at your own risk.
On-chain Zscore | QuantumResearchQuantumResearch On-chain Zscore Indicator
The On-chain Zscore Indicator by QuantumResearch is a cutting-edge tool designed for traders and analysts who leverage on-chain metrics to assess Bitcoin’s market conditions. This indicator calculates a composite Z-score using three key on-chain metrics: NUPL (Net Unrealized Profit/Loss), SOPR (Spent Output Profit Ratio), and MVRV (Market Value to Realized Value). By normalizing these values through standard deviations, the indicator provides a dynamic, data-driven approach to identifying overbought and oversold conditions, improving market timing and decision-making.
1. Overview
This indicator integrates multiple on-chain metrics to:
Assess Market Cycles – Utilize Z-score normalization to detect potential tops and bottoms.
Smooth Volatility – Apply EMA and standard deviation filtering to refine signals.
Identify Buy & Sell Signals – Use adaptive thresholds to highlight market extremes.
Provide Visual Clarity – Color-coded bar signals and background fills for intuitive analysis.
2. How It Works
A. Z-score Calculation
What is a Z-score? – The Z-score measures how far a data point deviates from its historical mean in terms of standard deviations. This helps in identifying statistical extremes.
Zscore(source,mean,std)=>
zscore = (source-mean)/std
zscore
Standard Deviation Normalization – Each on-chain metric (NUPL, SOPR, MVRV) is individually standardized before being combined into a final score.
B. On-Chain Components
NUPL Z-score – Measures unrealized profits and losses relative to market cycles.
SOPR Z-score – Evaluates profit-taking behavior on spent outputs.
MVRV Z-score – Assesses whether Bitcoin is overvalued or undervalued based on market cap vs. realized cap.
C. Composite On-chain Score
The indicator computes an average Z-score of the three on-chain metrics to create a composite market assessment.
Adaptive thresholds (default: 0.73 for bullish signals, -0.44 for bearish signals) dynamically adjust based on market conditions.
3. Visual Representation
This indicator features color-coded elements and dynamic threshold visualization:
Bar Colors
Green Bars – Bullish conditions when Z-score exceeds the upper threshold.
Red Bars – Bearish conditions when Z-score drops below the lower threshold.
Gray Bars – Neutral market conditions.
Threshold Bands & Background Fill
Upper Band (Overbought) – Default threshold set at 0.73.
Middle Band – Neutral zone at 0.
Lower Band (Oversold) – Default threshold set at -0.44.
4. Customization & Parameters
This indicator is highly configurable, allowing traders to fine-tune settings based on their strategy:
On-Chain Z-score Settings
NUPL Z-score Length – Default: 126 periods
SOPR Z-score Length – Default: 111 periods
MVRV Z-score Length – Default: 111 periods
Signal Thresholds
Upper Threshold (Bullish Zone) – Default: 0.73
Lower Threshold (Bearish Zone) – Default: -0.44
Color & Visual Settings
Choose from eight customizable color modes to suit personal preferences.
5. Trading Applications
The On-chain Zscore Indicator is versatile and can be applied in various market scenarios:
Macro Trend Analysis – Identify long-term market tops and bottoms using normalized on-chain metrics.
Momentum Confirmation – Validate price action trends with SOPR & MVRV behavior.
Market Timing – Use deviation thresholds to enter at historically significant price zones.
Risk Management – Avoid overextended markets by watching for extreme Z-score readings.
6. Final Thoughts
The QuantumResearch On-chain Zscore Indicator provides a unique approach to market evaluation by combining three critical on-chain metrics into a single, normalized score.
By standardizing Bitcoin’s market behavior, this tool helps traders and investors make informed decisions based on historical statistical extremes.
Backtesting and validation are essential before using this indicator in live trading. While it enhances market analysis, it should be used alongside other tools and strategies.
Disclaimer: No indicator can guarantee future performance. Always use appropriate risk management and perform due diligence before trading.
ICT NY Kill Zone Auto Trading### **ICT NY Kill Zone Auto Trading Strategy (5-Min Chart)**
#### **Overview:**
This strategy is based on Inner Circle Trader (ICT) concepts, focusing on the **New York Kill Zone**. It is designed for trading GBP/USD exclusively on the **5-minute chart**, automatically entering and exiting trades during the US session.
#### **Key Components:**
1. **Time Filter**
- The strategy only operates during the **New York Kill Zone (9:30 AM - 11:00 AM NY Time)**.
- It ensures execution only on the **5-minute timeframe**.
2. **Fair Value Gaps (FVGs) Detection**
- The script identifies areas where price action left an imbalance, known as Fair Value Gaps (FVGs).
- These gaps indicate potential liquidity zones where price may return before continuing in the original direction.
3. **Order Blocks (OBs) Identification**
- **Bullish Order Block:** Occurs when price forms a strong bullish pattern, suggesting further upside movement.
- **Bearish Order Block:** Identified when a strong bearish formation signals potential downside continuation.
4. **Trade Execution**
- **Long Trade:** Entered when a bullish order block forms within the NY Kill Zone and aligns with an FVG.
- **Short Trade:** Entered when a bearish order block forms within the Kill Zone and aligns with an FVG.
5. **Risk Management**
- **Stop Loss:** Fixed at **30 pips** to limit downside risk.
- **Take Profit:** Set at **60 pips**, providing a **2:1 risk-reward ratio**.
6. **Visual Aids**
- The **Kill Zone is highlighted in blue** to help traders visually confirm the active session.
**Objective:**
This script aims to **capitalize on institutional price movements** within the New York session by leveraging ICT concepts such as FVGs and Order Blocks. By automating trade entries and exits, it eliminates emotions and ensures a disciplined trading approach.
EMA Crossover Backtest [BarScripts]This indicator lets you backtest an EMA crossover strategy with built-in risk management and trade tracking. It simulates long and short trades based on EMA crossovers, allowing you to fine-tune entry conditions, stop-loss placement, and reward/risk settings.
🔹 How It Works:
Long Entry: Fast EMA crosses above Slow EMA, and price closes above Fast EMA.
Short Entry: Fast EMA crosses below Slow EMA, and price closes below Fast EMA.
Stop Loss: Set based on previous bars or a fixed amount.
Take Profit: Adjustable reward/risk ratio.
Higher Timeframe Confluence: Confirms trades based on a larger timeframe.
Trade Hours Filter: Limits trades to specific time windows.
🔹 Key Features:
✅ Shows Entry & Exit Points with visual trade lines.
✅ Customizable EMA Lengths to fit any strategy.
✅ P&L Tracking & Statistics to measure performance.
✅ Position Sizing Options: Fixed position, fixed risk, or percentage of balance.
✅ Commissions Tracking (based on total trades, not contracts).
Use this tool to fine-tune your EMA crossover strategy and see how it performs over time! 🚀
💬 Let me know your feedback—suggest improvements, report issues, or request new features!
[AcerX] Leverage, TP & Optimal TP CalculatorHow It Works
Inputs:
Portfolio Allocation (%): The percentage of your portfolio you're willing to risk on the trade.
Stop Loss (%): The stop loss distance below the entry price.
Taker Fee (%) and Maker Fee (%): The fees applied on entry and exit.
Calculations:
The script calculates the required "raw" leverage to risk 1% of your portfolio.
It floors the computed leverage to an integer ("effectiveLeverage").
If the computed leverage is less than 1, it shows an error message (and suggests the maximum allocation for at least 1× leverage).
Otherwise, it calculates the TP levels for target profits of 1.2%, 1.5%, and 2%, and an "Optimal TP" that nets a 1% profit after fees.
Display:
A table is drawn on the top right corner of your chart displaying the effective leverage, the TP levels, and an error message if applicable.
Simply add this script as a new indicator in TradingView, and adjust the inputs as needed.
Happy trading!
Classic Nacked Z-Score ArbitrageThe “Classic Naked Z-Score Arbitrage” strategy employs a statistical arbitrage model based on the Z-score of the price spread between two assets. This strategy follows the premise of pair trading, where two correlated assets, typically from the same market sector, are traded against each other to profit from relative price movements (Gatev, Goetzmann, & Rouwenhorst, 2006). The approach involves calculating the Z-score of the price spread between two assets to determine market inefficiencies and capitalize on short-term mispricing.
Methodology
Price Spread Calculation:
The strategy calculates the spread between the two selected assets (Asset A and Asset B), typically from different sectors or asset classes, on a daily timeframe.
Statistical Basis – Z-Score:
The Z-score is used as a measure of how far the current price spread deviates from its historical mean, using the standard deviation for normalization.
Trading Logic:
• Long Position:
A long position is initiated when the Z-score exceeds the predefined threshold (e.g., 2.0), indicating that Asset A is undervalued relative to Asset B. This signals an arbitrage opportunity where the trader buys Asset B and sells Asset A.
• Short Position:
A short position is entered when the Z-score falls below the negative threshold, indicating that Asset A is overvalued relative to Asset B. The strategy involves selling Asset B and buying Asset A.
Theoretical Foundation
This strategy is rooted in mean reversion theory, which posits that asset prices tend to return to their long-term average after temporary deviations. This form of arbitrage is widely used in statistical arbitrage and pair trading techniques, where investors seek to exploit short-term price inefficiencies between two assets that historically maintain a stable price relationship (Avery & Sibley, 2020).
Further, the Z-score is an effective tool for identifying significant deviations from the mean, which can be seen as a signal for the potential reversion of the price spread (Braucher, 2015). By capturing these inefficiencies, traders aim to profit from convergence or divergence between correlated assets.
Practical Application
The strategy aligns with the Financial Algorithmic Trading and Market Liquidity analysis, emphasizing the importance of statistical models and efficient execution (Harris, 2024). By utilizing a simple yet effective risk-reward mechanism based on the Z-score, the strategy contributes to the growing body of research on market liquidity, asset correlation, and algorithmic trading.
The integration of transaction costs and slippage ensures that the strategy accounts for practical trading limitations, helping to refine execution in real market conditions. These factors are vital in modern quantitative finance, where liquidity and execution risk can erode profits (Harris, 2024).
References
• Gatev, E., Goetzmann, W. N., & Rouwenhorst, K. G. (2006). Pairs Trading: Performance of a Relative-Value Arbitrage Rule. The Review of Financial Studies, 19(3), 1317-1343.
• Avery, C., & Sibley, D. (2020). Statistical Arbitrage: The Evolution and Practices of Quantitative Trading. Journal of Quantitative Finance, 18(5), 501-523.
• Braucher, J. (2015). Understanding the Z-Score in Trading. Journal of Financial Markets, 12(4), 225-239.
• Harris, L. (2024). Financial Algorithmic Trading and Market Liquidity: A Comprehensive Analysis. Journal of Financial Engineering, 7(1), 18-34.
Daily COC Strategy with SHERLOCK WAVESThis indicator implements a unique trading strategy known as the "Daily COC (Candle Over Candle) Strategy" enhanced with "SHERLOCK WAVES" for pattern recognition. It's designed for traders looking to capitalize on specific candlestick formations with a negative risk-reward ratio, with the aim of achieving a high win rate (over 70%) through numerous trading opportunities, despite each trade having a higher risk relative to the reward.
Key Features:
Pattern Recognition: Identifies a setup based on three consecutive candles - a red candle followed by a shooting star, then an entry candle that does not break below the shooting star's low.
Negative Risk/Reward Trade Selection: Focuses on entries where the potential stop loss is greater than the take profit, banking on a high win rate to offset the individual trade's negative risk-reward ratio.
Visual Signals:
Green Label: Marks potential entry points at the high of the candle before the entry.
Green Dot: Indicates a winning trade closure.
Red Dot: Signals a losing trade closure.
Blue Circle: Warns when the current candle is within 2% of breaking above the previous candle's high, suggesting a potential setup is developing.
Green Circle: Plots the take profit level.
Red Circle: Plots the stop loss level.
Dynamic Statistics: A live updating label showing the number of trades, wins, losses, open trades, current account balance, and win percentage.
Customizable Parameters:
Risk % per Trade: Adjust the percentage of your account balance you're willing to risk on each trade.
Initial Account Balance: Set your starting balance for tracking performance.
Start Date for Strategy: Define when the strategy should start calculating from, allowing for backtesting.
Alerts:
An alert condition is set for when a potential trade setup is developing, helping traders prepare for entries.
Usage Tips:
This strategy is predicated on the idea that a high win rate can compensate for the negative risk-reward ratio of individual trades. It might not suit all market conditions or traders' risk profiles.
Use this strategy in conjunction with other analysis methods to validate trade setups.
Note: Always backtest thoroughly before applying to live markets. Consider this tool as part of a broader trading strategy, not a standalone solution. Monitor your win rate and adjust your risk management accordingly to ensure the strategy remains profitable over time.
This description now correctly explains the purpose behind the negative risk-reward ratio in the context of your trading strategy.
Gold Pro StrategyHere’s the strategy description in a chat format:
---
**Gold (XAU/USD) Trend-Following Strategy**
This **trend-following strategy** is designed for trading gold (XAU/USD) by combining moving averages, MACD momentum indicators, and RSI filters to capture sustained trends while managing volatility risks. The strategy uses volatility-adjusted stops to protect gains and prevent overexposure during erratic price movements. The aim is to take advantage of trending markets by confirming momentum and ensuring entries are not made at extreme levels.
---
**Key Components**
1. **Trend Identification**
- **50 vs 200 EMA Crossover**
- **Bullish Trend:** 50 EMA crosses above 200 EMA, and the price closes above the 200 EMA
- **Bearish Trend:** 50 EMA crosses below 200 EMA, and the price closes below the 200 EMA
2. **Momentum Confirmation**
- **MACD (12,26,9)**
- **Buy Signal:** MACD line crosses above the signal line
- **Sell Signal:** MACD line crosses below the signal line
- **RSI (14 Period)**
- **Bullish Zone:** RSI between 50-70 to avoid overbought conditions
- **Bearish Zone:** RSI between 30-50 to avoid oversold conditions
3. **Entry Criteria**
- **Long Entry:** Bullish trend, MACD bullish crossover, and RSI between 50-70
- **Short Entry:** Bearish trend, MACD bearish crossover, and RSI between 30-50
4. **Exit & Risk Management**
- **ATR Trailing Stops (14 Period):**
- Initial Stop: 3x ATR from entry price
- Trailing Stop: Adjusts to lock in profits as price moves favorably
- **Position Sizing:** 100% of equity per trade (high-risk strategy)
---
**Key Logic Flow**
1. **Trend Filter:** Use the 50/200 EMA relationship to define the market's direction
2. **Momentum Confirmation:** Confirm trend momentum with MACD crossovers
3. **RSI Validation:** Ensure RSI is within non-extreme ranges before entering trades
4. **Volatility-Based Risk Management:** Use ATR stops to manage market volatility
---
**Visual Cues**
- **Blue Line:** 50 EMA
- **Red Line:** 200 EMA
- **Green Triangles:** Long entry signals
- **Red Triangles:** Short entry signals
---
**Strengths**
- **Clear Trend Focus:** Avoids counter-trend trades
- **RSI Filter:** Prevents entering overbought or oversold conditions
- **ATR Stops:** Adapts to gold’s inherent volatility
- **Simple Rules:** Easy to follow with minimal inputs
---
**Weaknesses & Risks**
- **Infrequent Signals:** 50/200 EMA crossovers are rare
- **Potential Missed Opportunities:** Strict RSI criteria may miss some valid trends
- **Aggressive Position Sizing:** 100% equity allocation can lead to large drawdowns
- **No Profit Targets:** Relies on trailing stops rather than defined exit targets
---
**Performance Profile**
| Metric | Expected Range |
|----------------------|---------------------|
| Annual Trades | 4-8 |
| Win Rate | 55-65% |
| Max Drawdown | 25-35% |
| Profit Factor | 1.8-2.5 |
---
**Optimization Recommendations**
1. **Increase Trade Frequency**
Adjust the EMAs to shorter periods:
- `emaFastLen = input.int(30, "Fast EMA")`
- `emaSlowLen = input.int(150, "Slow EMA")`
2. **Relax RSI Filters**
Adjust the RSI range to:
- `rsiBullish = rsi > 45 and rsi < 75`
- `rsiBearish = rsi < 55 and rsi > 25`
3. **Add Profit Targets**
Introduce a profit target at 1.5% above entry:
```pine
strategy.exit("Long Exit", "Long",
stop=longStopPrice,
profit=close*1.015, // 1.5% target
trail_offset=trailOffset)
```
4. **Reduce Position Sizing**
Risk a smaller percentage per trade:
- `default_qty_value=25`
---
**Best Use Case**
This strategy excels in **strong trending markets** such as gold rallies during economic or geopolitical crises. However, during sideways or choppy market conditions, the strategy might require manual intervention to avoid false signals. Additionally, integrating fundamental analysis—like monitoring USD weakness or geopolitical risks—can enhance its effectiveness.
---
This strategy offers a balanced approach for trading gold, combining trend-following principles with risk management tailored to the volatility of the market.
Trend & ADX by Gideon for Indian MarketsThis indicator is designed to help traders **identify strong trends** using the **Kalman Filter** and **ADX** (Average Directional Index). It provides **Buy/Sell signals** based on trend direction and ADX strength. I wanted to create something for Indian markets since there are not much available.
In a nut-shell:
✅ **Buy when the Kalman Filter turns green, and ADX is strong.
❌ **Sell when the Kalman Filter turns red, and ADX is strong.
📌 **Ignore signals if ADX is weak (below threshold).
📊 Use on 5-minute timeframes for intraday trading.
------------------------------------------------------------------------
1. Understanding the Indicator Components**
- **Green Line:** Indicates an **uptrend**.
- **Red Line:** Indicates a **downtrend**.
- The **line color change** signals a potential **trend reversal**.
**ADX Strength Filter**
- The **ADX (orange line)** measures trend strength.
- The **blue horizontal line** marks the **ADX threshold** (default: 20).
- A **Buy/Sell signal is only valid if ADX is above the threshold**, ensuring a strong trend.
**Buy & Sell Signals**
- **Buy Signal (Green Up Arrow)**
- Appears **one candle before** the Kalman line turns green.
- ADX must be **above the threshold** (default: 20).
- Suggests entering a **long position**.
- **Sell Signal (Red Down Arrow)**
- Appears **one candle before** the Kalman line turns red.
- ADX must be **above the threshold** (default: 20).
- Suggests entering a **short position**.
2. Best Settings for 5-Minute Timeframe**
For day trading on the **5-minute chart**, the following settings work best:
- **Kalman Filter Length:** `50`
- **Process Noise (Q):** `0.1`
- **Measurement Noise (R):** `0.01`
- **ADX Length:** `14`
- **ADX Threshold:** `20`
- **(Increase to 25-30 for more reliable signals in volatile markets)**
3. How to Trade with This Indicator**
**Entry Rules**
✅ **Buy Entry**
- Wait for a **green arrow (Buy Signal).
- Kalman Line must **turn green**.
- ADX must be **above the threshold** (strong trend confirmed).
- Enter a **long position** on the next candle.
❌ **Sell Entry**
- Wait for a **red arrow (Sell Signal).
- Kalman Line must **turn red**.
- ADX must be **above the threshold** (strong trend confirmed).
- Enter a **short position** on the next candle.
**Exit & Risk Management**
📌 **Stop Loss**:
- Place stop-loss **below the previous swing low** (for buys) or **above the previous swing high** (for sells).
📌 **Take Profit:
- Use a **Risk:Reward Ratio of 1:2 or 1:3.
- Exit when the **Kalman Filter color changes** (opposite trend signal).
📌 **Avoid Weak Trends**:
- **No trades when ADX is below the threshold** (low trend strength).
4. Additional Tips
- Works best on **liquid assets** like **Bank Nifty, Nifty 50, and large-cap stocks**.
- **Avoid ranging markets** with low ADX values (<20).
- Use alongside **volume analysis and support/resistance levels** for confirmation.
- Experiment with **ADX Threshold (increase for stronger signals, decrease for more trades).**
Best of Luck traders ! 🚀