Perfomance index Backtest The Performance indicator or a more familiar term, KPI (key performance indicator),
is an industry term that measures the performance. Generally used by organizations,
they determine whether the company is successful or not, and the degree of success.
It is used on a business’ different levels, to quantify the progress or regress of a
department, of an employee or even of a certain program or activity. For a manager
it’s extremely important to determine which KPIs are relevant for his activity, and
what is important almost always depends on which department he wants to measure the
performance for. So the indicators set for the financial team will be different than
the ones for the marketing department and so on.
Similar to the KPIs companies use to measure their performance on a monthly, quarterly
and yearly basis, the stock market makes use of a performance indicator as well, although
on the market, the performance index is calculated on a daily basis. The stock market
performance indicates the direction of the stock market as a whole, or of a specific stock
and gives traders an overall impression over the future security prices, helping them decide
the best move. A change in the indicator gives information about future trends a stock could
adopt, information about a sector or even on the whole economy. The financial sector is the
most relevant department of the economy and the indicators provide information on its overall
health, so when a stock price moves upwards, the indicators are a signal of good news. On the
other hand, if the price of a particular stock decreases, that is because bad news about its
performance are out and they generate negative signals to the market, causing the price to go
downwards. One could state that the movement of the security prices and consequently, the movement
of the indicators are an overall evaluation of a country’s economic trend.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Cerca negli script per "backtest"
Chande Forecast Oscillator Backtest The Chande Forecast Oscillator developed by Tushar Chande The Forecast
Oscillator plots the percentage difference between the closing price and
the n-period linear regression forecasted price. The oscillator is above
zero when the forecast price is greater than the closing price and less
than zero if it is below.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Fractal Chaos Bands Backtest The FCB indicator looks back in time depending on the number of time periods trader selected
to plot the indicator. The upper fractal line is made by plotting stock price highs and the
lower fractal line is made by plotting stock price lows. Essentially, the Fractal Chaos Bands
show an overall panorama of the price movement, as they filter out the insignificant fluctuations
of the stock price.
You can change long to short in the Input Settings
WARNING:
- For purpose educate only
- This script to change bars colors.
Strategy Backtest KitStrategy Backtest Kit. You have just to define your own entry / exit setups. The strategy I have coded into this is : BUY when MACD > 0 / SELL when MACD < 0. Always in position.
Follow JBI for his daily analyses!
Liquidity Sweep Detector – PDH/PDL LevelsPrevious Day High/Low Liquidity Sweep Detector (Intraday Accurate)
This indicator tracks the previous day's high and low using intraday data, rather than the daily candle, ensuring precise sweep detection across lower timeframes (15m to 4H).
It monitors for liquidity sweeps—moments when price briefly moves above the previous high or below the previous low—and visually marks these events on the chart.
Key Features
Intraday-accurate PDH/PDL tracking
Real-time sweep detection
On-chart labels marking sweep events
Toggleable table showing sweep status
Alert conditions for PDH/PDL sweep triggers
Best For
Traders who use Smart Money Concepts (SMC), liquidity-based strategies, or look for stop hunts and reversal zones tied to key prior-day levels.
Works well across FX, crypto, and indices on 15m, 1H, and 4H charts.
RSI MTF Ob+OsHello Traders,
This indicator use the same concept as my previous indicator "CCI MTF Ob+Os".
It is a simple "Relative Strength Index" ( RSI ) indicator with multi-timeframe (MTF) overbought and oversold level.
It can detect overbought and oversold level up to 5 timeframes, which help traders spot potential reversal point more easily.
There are options to select 1-5 timeframes to detect overbought and oversold.
Aqua Background is "Oversold" , looking for "Long".
Orange Background is "Overbought" , looking for "Short".
Have fun :)
CCI MTF Ob+OsHello Traders,
This is a simple Commodity Channel Index (CCI) indicator with multi-timeframe (MTF) overbought and oversold level.
It can detect overbought and oversold level up to 5 timeframes, which help traders spot potential reversal point more easily.
There are options to select 1-5 timeframes to detect overbought and oversold.
Green Background is "Oversold" , looking for "Long".
Red Background is "Overbought" , looking for "Short".
Have fun :)
Demand & Supply Zones [eyes20xx]Demand & Supply Zones
This indicator helps to identify large moves driven by institutions.
What qualifies as a zone?
If the price moves (open to close) by more than a certain % in one candle or in a bullish / bearish run of candles, the zone is marked as a Demand or Supply zone .
0.8% is good for Crypto and Forex might be better with 0.4%. Play around with the % to match your requirements.
Active zones
A zone remains active until it is hit by the price. When it becomes inactive, the zone background becomes transparent.
Zone lines
Lines are displayed if the zone is active and within a certain % of the close. 3% is a good setting for Crypto.
A maximum of two lines are displayed for each zone type.
Simple Candle Info This script shows the following simple information about the last candle:
- Candle size
- Body size included %
- Top Wick size
- Bottom Wick size
- Top Wick + Body size
- Bottom Wick + Body size
You can change:
- colors and position for labels
- add information for previous candle too
- change language
Percentage Change FunctionThis is little code snippet can be copied and pasted into your own strategies and indicators to easily calculate some interesting percentage change levels within a given lookback period.
The function will return:
The price change from the start to the end of the period
The price change from the start of the period to the highest point within the period
The price change from the start of the period to the lowest point within the period
It was originally intended to be used in conjunction with other scripts to assist with decision making. However, it doesn't look too bad as an indicator and so plots have been added.
For more information regarding the code, some commentary and free tutorials, you can visit the Bactest-Rookies (.com) website.
Correlate 3 - Correlation IndicatorThe code in contains a simple correlation indicator that can be used as an alternative to Tradingview’s built-in “Correlation Coefficient” indicator. The indicator allows users to correlate up to 3 separate instruments on the same subplot. This allows you, for example, to easily see the correlation of your instrument with stocks, bonds and FX. Alternatively, a user can also see the correlation with sector, industry peers or any other data available in Tradingview.
Features
Level Guides to easily see the key correlation coefficient levels
Multi-instrument:
Laguerre RSI by KivancOzbilgic STRATEGYBacktesting.
" Laguerre RSI is based on John EHLERS' Laguerre Filter to avoid the noise of RSI .
Change alpha coefficient to increase/decrease lag and smoothness.
Buy when Laguerre RSI crosses upwards above 20.
Sell when Laguerre RSI crosses down below 80.
While indicator runs flat above 80 level, it means that an uptrend is strong.
While indicator runs flat below 20 level, it means that a downtrend is strong. "
Developer: John EHLERS
Author: KivancOzbilgic
RSI-VWAPBacktest script based on the previous RSI-VWAP indicator:
It's the popular RSI indicator with VWAP as a source instead of close:
- RSI_VWAP = rsi(vwap(close), RSI_VWAP_length)
What is the Volume Weighted Average Price ( VWAP )?
VWAP is calculated by adding up the dollars traded for every transaction (price multiplied by the number of shares traded) and then dividing by the total shares traded.
Trades are laddered to improve the average entry price and each entry is increased, improving the entry but increasing the risk of being liquidated.
It can be easily converted to study (alerts)
Settings for BINANCE:BTCUSDT at 30m
Simple Price Momentum - How To Create A Simple Trading StrategyThis script was built using a logical approach to trading systems. All the details can be found in a step by step guide below. I hope you enjoy it. I am really glad to be part of this community. Thank you all. I hope you not only succeed on your trading career but also enjoy it.
docs.google.com
Moving Averages Cross - MTF - StrategyBacktesting Script for the following strategy
Strategy Injector Source: github.com
4H CCI Strategy 1.5Included adaptive lot size based on ATR, and also ATR based stop and take profit levels.
Risk/reward increased to 1:2 and should work in all ranging FX pairs as long as they are not trending.
Once the market starts trending it'll eat this bot alive.
Cheers,
Ivan Labrie
Time at Mode FX
JonnyBtc Daily Pullback Strategy (Volume + ADX)📈 JonnyBtc Daily Optimized Pullback Strategy (With Volume + ADX)
This strategy is designed for Bitcoin swing trading on the daily timeframe and uses a combination of price action, moving averages, volume, RSI, and ADX strength filtering to time high-probability entries during strong trending conditions.
🔍 Strategy Logic:
Trend Filter: Requires price to be aligned with both 50 EMA and 200 EMA.
Pullback Entry: Looks for a pullback to a fast EMA (default 21) and a crossover signal back above it.
RSI Confirmation: RSI must be above a minimum threshold for long entries (default 55), or below for short entries.
Volume Filter: Entry is confirmed only when volume is above a 20-day average.
ADX Filter: Only enters trades when ADX is above a strength threshold (default 20), filtering out sideways markets.
Trailing Stop (optional): Uses ATR-based trailing stop-loss and take-profit system, fully configurable.
⚙️ Default Settings:
Timeframe: Daily
Trade Direction: Long-only by default (can be toggled)
Trailing Stop: Enabled (can disable)
Session Filter: Off by default for daily timeframe
📊 Best Use:
Optimized for Bitcoin (BTCUSD) on the 1D chart
Can be adapted to other trending assets with proper tuning
Works best in strong trending markets — not ideal for choppy/ranging conditions
🛠️ Customizable Parameters:
EMA lengths (Fast, Mid, Long)
RSI and ADX thresholds
ATR-based TP/SL multipliers
Trailing stop toggle
Volume confirmation toggle
Time/session filter
⚠️ Disclaimer:
This script is for educational and research purposes only. Past performance does not guarantee future results. Always backtest and verify before trading with real funds.
Asset Rotation System [InvestorUnknown]Overview
This system creates a comprehensive trend "matrix" by analyzing the performance of six assets against both the US Dollar and each other. The objective is to identify and hold the asset that is currently outperforming all others, thereby focusing on maintaining an investment in the most "optimal" asset at any given time.
- - - Key Features - - -
1. Trend Classification:
The system evaluates the trend for each of the six assets, both individually against USD and in pairs (assetX/assetY), to determine which asset is currently outperforming others.
Utilizes five distinct trend indicators: RSI (50 crossover), CCI, SuperTrend, DMI, and Parabolic SAR.
Users can customize the trend analysis by selecting all indicators or choosing a single one via the "Trend Classification Method" input setting.
2. Backtesting:
Calculates an equity curve for each asset and for the system itself, which assumes holding only the asset deemed optimal at any time.
Customizable start date for backtesting; by default, it begins either 5000 bars ago (the maximum in TradingView) or at the inception of the youngest asset included, whichever is shorter. If the youngest asset's history exceeds 5000 bars, the system uses 5000 bars to prevent errors.
The equity curve is dynamically colored based on the asset held at each point, with this coloring also reflected on the chart via barcolor().
Performance metrics like returns, standard deviation of returns, Sharpe, Sortino, and Omega ratios, along with maximum drawdown, are computed for each asset and the system's equity curve.
3 Alerts:
Supports alerts for when a new, confirmed optimal asset is identified. However, due to TradingView limitations, the specific asset cannot be included in the alert message.
- - - Usage - - -
1. Select Assets/Tickers:
Choose which assets or tickers you want to include in the rotation system. Ensure that all selected tickers are denominated in USD to maintain consistency in analysis.
2. Configure Trend Classification:
Decide on the trend classification method from the available options (RSI, CCI, SuperTrend, DMI, or Parabolic SAR, All) and adjust the settings to your preferences. This customization allows you to tailor the system to different market conditions or your specific trading strategy.
3. Utilize Backtesting for Calibration:
Use the backtesting results, including equity curves and performance metrics, to fine-tune your chosen trend indicators.
Be cautious not to overemphasize performance maximization, as this can lead to overfitting. The goal is to achieve a robust system that performs well across various market conditions, rather than just optimizing for past data.
- - - Parameters - - -
Tickers:
Asset 1: Select the symbol for the first asset.
Asset 2: Select the symbol for the second asset.
Asset 3: Select the symbol for the third asset.
Asset 4: Select the symbol for the fourth asset.
Asset 5: Select the symbol for the fifth asset.
Asset 6: Select the symbol for the sixth asset.
General Settings:
Trend Classification Method: Choose from RSI, CCI, SuperTrend, DMI, PSAR, or "All" to determine how trends are analyzed.
Use Custom Starting Date for Backtest: Toggle to use a custom date for beginning the backtest.
Custom Starting Date: Set the custom start date for backtesting.
Plot Perf. Metrics Table: Option to display performance metrics in a table on the chart.
RSI (Relative Strength Index):
RSI Source: Choose the price data source for RSI calculation.
RSI Length: Set the period for the RSI calculation.
CCI (Commodity Channel Index):
CCI Source: Select the price data source for CCI calculation.
CCI Length: Determine the period for the CCI.
SuperTrend:
SuperTrend Factor: Adjust the sensitivity of the SuperTrend indicator.
SuperTrend Length: Set the period for the SuperTrend calculation.
DMI (Directional Movement Index):
DMI Length: Define the period for DMI calculations.
Parabolic SAR:
PSAR Start: Initial acceleration factor for the Parabolic SAR.
PSAR Increment: Increment value for the acceleration factor.
PSAR Max Value: Maximum value the acceleration factor can reach.
Notes/Recommendations:
While this system is operational, it's important to recognize that it relies on "basic" indicators, which may not be ideal for generating trading signals on their own. I strongly suggest that users delve into the code to grasp the underlying logic of the system. Consider customizing it by integrating more sophisticated and higher-quality trend-following indicators to enhance its performance and reliability.
Disclaimer:
This system's backtest results are historical and do not predict future performance. Use for educational purposes only; not investment advice.
Smart DCA Strategy (Public)INSPIRATION
While Dollar Cost Averaging (DCA) is a popular and stress-free investment approach, I noticed an opportunity for enhancement. Standard DCA involves buying consistently, regardless of market conditions, which can sometimes mean missing out on optimal investment opportunities. This led me to develop the Smart DCA Strategy – a 'set and forget' method like traditional DCA, but with an intelligent twist to boost its effectiveness.
The goal was to build something more profitable than a standard DCA strategy so it was equally important that this indicator could backtest its own results in an A/B test manner against the regular DCA strategy.
WHY IS IT SMART?
The key to this strategy is its dynamic approach: buying aggressively when the market shows signs of being oversold, and sitting on the sidelines when it's not. This approach aims to optimize entry points, enhancing the potential for better returns while maintaining the simplicity and low stress of DCA.
WHAT THIS STRATEGY IS, AND IS NOT
This is an investment style strategy. It is designed to improve upon the common standard DCA investment strategy. It is therefore NOT a day trading strategy. Feel free to experiment with various timeframes, but it was designed to be used on a daily timeframe and that's how I recommend it to be used.
You may also go months without any buy signals during bull markets, but remember that is exactly the point of the strategy - to keep your buying power on the sidelines until the markets have significantly pulled back. You need to be patient and trust in the historical backtesting you have performed.
HOW IT WORKS
The Smart DCA Strategy leverages a creative approach to using Moving Averages to identify the most opportune moments to buy. A trigger occurs when a daily candle, in its entirety including the high wick, closes below the threshold line or box plotted on the chart. The indicator is designed to facilitate both backtesting and live trading.
HOW TO USE
Settings:
The input parameters for tuning have been intentionally simplified in an effort to prevent users falling into the overfitting trap.
The main control is the Buying strictness scale setting. Setting this to a lower value will provide more buying days (less strict) while higher values mean less buying days (more strict). In my testing I've found level 9 to provide good all round results.
Validation days is a setting to prevent triggering entries until the asset has spent a given number of days (candles) in the overbought state. Increasing this makes entries stricter. I've found 0 to give the best results across most assets.
In the backtest settings you can also configure how much to buy for each day an entry triggers. Blind buy size is the amount you would buy every day in a standard DCA strategy. Smart buy size is the amount you would buy each day a Smart DCA entry is triggered.
You can also experiment with backtesting your strategy over different historical datasets by using the Start date and End date settings. The results table will not calculate for any trades outside what you've set in the date range settings.
Backtesting:
When backtesting you should use the results table on the top right to tune and optimise the results of your strategy. As with all backtests, be careful to avoid overfitting the parameters. It's better to have a setup which works well across many currencies and historical periods than a setup which is excellent on one dataset but bad on most others. This gives a much higher probability that it will be effective when you move to live trading.
The results table provides a clear visual representation as to which strategy, standard or smart, is more profitable for the given dataset. You will notice the columns are dynamically coloured red and green. Their colour changes based on which strategy is more profitable in the A/B style backtest - green wins, red loses. The key metrics to focus on are GOA (Gain on Account) and Avg Cost.
Live Trading:
After you've finished backtesting you can proceed with configuring your alerts for live trading.
But first, you need to estimate the amount you should buy on each Smart DCA entry. We can use the Total invested row in the results table to calculate this. Assuming we're looking to trade on
BTCUSD
Decide how much USD you would spend each day to buy BTC if you were using a standard DCA strategy. Lets say that is $5 per day
Enter that USD amount in the Blind buy size settings box
Check the Blind Buy column in the results table. If we set the backtest date range to the last 10 years, we would expect the amount spent on blind buys over 10 years to be $18,250 given $5 each day
Next we need to tweak the value of the Smart buy size parameter in setting to get it as close as we can to the Total Invested amount for Blind Buy
By following this approach it means we will invest roughly the same amount into our Smart DCA strategy as we would have into a standard DCA strategy over any given time period.
After you have calculated the Smart buy size, you can go ahead and set up alerts on Smart DCA buy triggers.
BOT AUTOMATION
In an effort to maintain the 'set and forget' stress-free benefits of a standard DCA strategy, I have set my personal Smart DCA Strategy up to be automated. The bot runs on AWS and I have a fully functional project for the bot on my GitHub account. Just reach out if you would like me to point you towards it. You can also hook this into any other 3rd party trade automation system of your choice using the pre-configured alerts within the indicator.
PLANNED FUTURE DEVELOPMENTS
Currently this is purely an accumulation strategy. It does not have any sell signals right now but I have ideas on how I will build upon it to incorporate an algorithm for selling. The strategy should gradually offload profits in bull markets which generates more USD which gives more buying power to rinse and repeat the same process in the next cycle only with a bigger starting capital. Watch this space!
MARKETS
Crypto:
This strategy has been specifically built to work on the crypto markets. It has been developed, backtested and tuned against crypto markets and I personally only run it on crypto markets to accumulate more of the coins I believe in for the long term. In the section below I will provide some backtest results from some of the top crypto assets.
Stocks:
I've found it is generally more profitable than a standard DCA strategy on the majority of stocks, however the results proved to be a lot more impressive on crypto. This is mainly due to the volatility and cycles found in crypto markets. The strategy makes its profits from capitalising on pullbacks in price. Good stocks on the other hand tend to move up and to the right with less significant pullbacks, therefore giving this strategy less opportunity to flourish.
Forex:
As this is an accumulation style investment strategy, I do not recommend that you use it to trade Forex.
For more info about this strategy including backtest results, please see the full description on the invite only version of this strategy named "Smart DCA Strategy"