Crypto Heatmap [Pinescriptlabs]🌟 Crypto Heatmap is a visual tool that enables quick and efficient visualization of price behavior and percentage changes of various cryptocurrencies.
📊 It generates a heatmap to show variations in daily closing prices, helping traders quickly identify assets with the most movement.
📈 Percentage Change Calculation: It calculates the difference between the current price and the previous day's price, updating with each ticker.
✨ It uses a dynamic approach that adjusts colors based on market movements, making it easier to detect trading opportunities.
👀 You will notice for a moment that some cells disappear; this is because the table updates with each ticker to show real-time changes.
Español:
🌟 Crypto Heatmap es una herramienta visual que permite una rápida y eficiente visualización del comportamiento de precios y cambios porcentuales de varias criptomonedas.
📊 Genera un mapa de calor para mostrar las variaciones en los precios de cierre diario, ayudando a los traders a identificar rápidamente los activos con mayor movimiento.
📈 Cálculo del cambio porcentual: Calcula la diferencia entre el precio actual y el del día anterior, actualizándose en cada ticker.
✨ Utiliza un enfoque dinámico que ajusta los colores según los movimientos del mercado, facilitando la detección de oportunidades de trading.
Aquí tienes la traducción al español:
👀 **Observarás por un momento que algunas celdas desaparecen; esto es porque la tabla se actualiza en cada ticker para mostrar el cambio en tiempo real.**
Statistics
2024 - Seasonality - Open to CloseScript Description:
This Pine Script is designed to visualise **seasonality** in the financial markets by calculating the **open-to-close percentage change** for each month of a selected asset. It creates a **heatmap** table to display the monthly performance over multiple years. The script provides detailed statistical summaries, including:
- **Average monthly percentage changes**
- **Standard deviation** of the changes
- **Percentage of months with positive returns**
The script also allows users to adjust colour intensities for positive and negative values, specify which year to start from, and skip specific months. Key metrics such as averages, standard deviations, and percentages of positive months can be toggled on or off based on user preferences. The result is a clear, visual representation of how an asset typically performs month by month, aiding in seasonality analysis.
Candle Data AnalyzerCandle Data Analyzer
Overview
The Candle Data Analyzer is a powerful TradingView script designed to provide traders with insights into price action patterns within specific time sessions. By analyzing historical candle data, this indicator offers predictive suggestions for future price movements, helping traders make more informed decisions.
Key Features
**Custom Session Analysis**: Analyze price action within user-defined time sessions.
**Bias Selection**: Choose between Bullish, Bearish, or Neutral bias for predictions.
**Daily/Weekly Toggle**: Option to use daily or weekly results for broader context.
**Visual Predictions**: Display predicted high, low, and open levels for the next session.
**Detailed Statistics**: View average time and price movements for highs and lows.
**Interactive Table**: Optional table display showing current and historical data.
How It Works
1. The script collects and analyzes candle data from user-defined sessions.
2. It calculates average time and price movements for highs and lows.
3. Based on the selected bias, it predicts the next session's open, high, and low levels.
4. These predictions are visually represented on the chart using colored lines.
5. A detailed statistics table can be displayed for in-depth analysis.
Usage Guide
Setup
1. Add the indicator to your chart.
2. Configure the session time in the format "HHMM-HHMM" (e.g., "0300-0500" for 3:00 AM to 5:00 AM).
3. Select your bias: Bullish, Bearish, or Neutral.
4. Choose whether to use daily results or not.
5. Decide if you want to display the detailed statistics table.
Interpreting the Results
**Blue Line**: Open level for the next session.
**Green Line**: Predicted high level for the next session.
**Red Line**: Predicted low level for the next session.
**Vertical Lines**: Estimated times for the high (green) and low (red) to occur.
Using the Statistics Table
If enabled, the table provides:
- Previous session's OHLC data with timestamps.
- Average price movements (as percentages) from open to high and open to low.
- Average time for highs and lows to occur (in minutes).
- Count of analyzed candles matching the selected bias.
Trading Applications
**Session Trading**: Use predictions to plan entries and exits for session-based trading strategies.
**Risk Management**: Set stop-loss and take-profit levels based on predicted price ranges.
**Trend Analysis**: Compare current price action to predicted levels to gauge trend strength.
**Time-Based Strategies**: Utilize timing predictions for high-probability trade entries.
Best Practices
- Combine this indicator with other technical analysis tools for confirmation.
- Regularly adjust the session times and bias to adapt to changing market conditions.
- Use the statistics table to gain deeper insights into historical price patterns.
- Remember that predictions are based on averages and should not be considered guaranteed outcomes.
Conclusion
The Candle Data Analyzer offers a unique approach to understanding and predicting price action within specific time frames. By leveraging historical data and user-defined parameters, it provides traders with valuable insights to enhance their trading strategies and decision-making processes.
Future Developments
- Weekly and Daily Projections
- User defined line styles
Every $5 (3 Up, 3 Down) GOLD onlyDescription :
This indicator plots customizable horizontal lines spaced every $5 on the XAUUSD chart, with exactly 3 lines above and 3 lines below the nearest $5 level from the current price.
Key Features :
Line Spacing: The lines are plotted at $5 intervals starting from the nearest whole $5 price below the current price (e.g., $1900, $1905, etc.).
Customizable Line Color : Users can select the color of the lines via the indicator settings, making it adaptable to different chart themes and styles.
Customizable Line Style : The indicator allows you to choose from the following line styles:
Solid : Continuous line.
Dashed: Dashed line for a more discrete visual.
Dotted: Dotted line for minimalistic visibility.
Visibility Control : The indicator limits the number of lines to 3 above and 3 below the current price, keeping the chart clean and uncluttered while providing key levels of interest.
Use Cases :
Support and Resistance Identification: Easily spot key psychological levels in $5 increments, useful for identifying potential support or resistance zones in XAUUSD trading.
Price Action Monitoring : Traders can visually track how XAUUSD interacts with specific price levels spaced by $5 increments.
Customization Options :
Color Selection: Modify the line color to match your chart theme or highlight important levels.
Line Style: Select between solid, dashed, or dotted lines to customize the look of your chart.
This indicator is ideal for XAUUSD traders looking for clear, customizable visual levels on their charts to aid in decision-making, whether you're tracking price action or setting targets for entry and exit.
DTT Volatility Grid [Pro+] (NINE/ANARR)Introduction:
This tool is designed to automate the Digital Time Theory (DTT) framework created by Ivan and Anarr, and leverage the DTT Volatility Grid to navigate the advanced realm of Time-based statistical trading.
Description:
Built upon the proprietary Digital Time Theory (DTT), this script equips traders with an edge in analyzing Time and price-based market behaviour. It is designed for intraday traders of all asset classes, and breaks down the entire Daily range into Time Models and Inner Time Intervals. This tool is powered by data-driven insights, helping traders anticipate expansions, understand Time distortions, and assess market volatility at specific Times of the trading day.
Key Features:
Time-Based Models and Volatility Awareness: The indicator automatically populates the chart with DTT's Time Models. These Time Models, represented by specific Time Intervals, are engineered to highlight volatility injections within key sessions, offering traders clear insights into market dynamics and potential shifts.
Average Model Range Probability (AMRP): Know the average volatility expected for specific Time Models and use AMRP Levels (and Standard Deviation) to gauge the probability of a range break or failure, based on historical price action and Time data.
Root Candles and Liquidity Draws: Visualize Root Candles as draws on liquidity, showcasing premium and discount areas, and the starting point of a Time based price movement. Understand how the opening price and equilibrium of each Root Candle can serve as a framework for your trade executions. Distribution or accumulation above or below Root Candles can also be observed and utilized.
Extended Visualization: Observe prior Model Ranges into the current Time Model, including the High, Low, and Equilibrium from the previous Time Models, helping traders visualize potential support or resistance areas.
Lookback Periods and Model Count: Use customizable lookback periods to adjust the number of past models, providing further insight into market behaviour over a chosen historical range. This can help to keep charts clean and organized with one model displayed or multiple for backtesting purposes.
Detailed Data Table: The real-Time data table allows traders to view the AMRP and range data for selected models, providing an easy reference for model behaviour and volatility dynamics. The table can depict all Time Model average ranges for reference and study, providing insights to whether the previous models have exceeded their historical range volatility, or not.
Customization Options: Customize Time Intervals with various styles (solid, dashed, dotted) and choose different colors for each model or interval. You can also select which historical models to display, alongside customizable labels.
How Traders Can Use DTT Volatility Grid Effectively:
Understand Premium and Discount Areas: By tracking Time-based ranges and using DTT's Root Candles and Previous Model Equilibrium, traders can quickly assess whether price is trading in premium or discount territory during intraday sessions.
Expecting Volatility and Time-Sensitive Trades: Knowing when a move is nearing exhaustion or when Time-based distortions are likely to cause an expansion allows traders to stay ahead of sudden market shifts. The Inner Intervals and Root Candles in combination, highlight the volatility ranges across various Timeframes, giving traders insights into which Times of the day are likely to experience heightened market activity as per DTT.
Avoiding Low Volatility Periods: The AMRP system helps traders identify times of the day where price action is likely to slow down or become choppy, encouraging traders to step aside or reduce risk during these times. If the AMRP was extended above the average of the previous Time model and the current model depicts an average range probability of low volatility, then traders can sit out in anticipation for a model with higher volatility.
Usage Guidance:
Add DTT Volatility Grid (NINE/ANARR) to your TradingView chart.
Customize your preferred time intervals, model history, and visual settings for your session.
Use the data table to track average model ranges and probabilities, ensuring you align your trades with key levels.
Incorporate DTT Volatility Grid (NINE/ANARR) into your existing strategies to fine-tune your entries and exits based on data-driven insights into volatility and price behaviour.
These tools are available ONLY on the TradingView platform.
Terms and Conditions
Our charting tools are products provided for informational and educational purposes only and do not constitute financial, investment, or trading advice. Our charting tools are not designed to predict market movements or provide specific recommendations. Users should be aware that past performance is not indicative of future results and should not be relied upon for making financial decisions. By using our charting tools, the purchaser agrees that the seller and the creator are not responsible for any decisions made based on the information provided by these charting tools. The purchaser assumes full responsibility and liability for any actions taken and the consequences thereof, including any loss of money or investments that may occur as a result of using these products. Hence, by purchasing these charting tools, the customer accepts and acknowledges that the seller and the creator are not liable nor responsible for any unwanted outcome that arises from the development, the sale, or the use of these products. Finally, the purchaser indemnifies the seller from any and all liability. If the purchaser was invited through the Friends and Family Program, they acknowledge that the provided discount code only applies to the first initial purchase of the Toodegrees Premium Suite subscription. The purchaser is therefore responsible for cancelling – or requesting to cancel – their subscription in the event that they do not wish to continue using the product at full retail price. If the purchaser no longer wishes to use the products, they must unsubscribe from the membership service, if applicable. We hold no reimbursement, refund, or chargeback policy. Once these Terms and Conditions are accepted by the Customer, before purchase, no reimbursements, refunds or chargebacks will be provided under any circumstances.
By continuing to use these charting tools, the user acknowledges and agrees to the Terms and Conditions outlined in this legal disclaimer.
Forex - Lot size calculatorThis indicator is specifically designed for Forex traders who need a convenient lot size calculator directly on their charts. It allows users to input their account balance, risk percentage, and stop-loss distance in pips to easily determine the appropriate lot size for a given trade, ensuring effective risk management.
Key Features:
Lot Size Calculation: Automatically calculates the lot size based on user-defined inputs: account balance, risk percentage, and stop-loss distance.
Error Handling: The indicator only works with Forex pairs. If applied to non-Forex assets, a clear and prominent red error message will appear in the bottom-right corner of the chart, reminding the user that this script is intended exclusively for Forex trading.
Simple Visualization: The calculated lot size is displayed in an easy-to-read table directly on the chart.
How to Use:
Add the indicator to a Forex chart.
Enter your account balance, risk percentage, and stop-loss pips in the input fields.
The indicator will display the calculated lot size for the chosen Forex pair.
Important Notes:
This script is intended only for Forex assets. If used on other instruments (e.g., stocks, crypto, indices), an error message will be shown.
Always validate lot sizes with your broker, as there can be slight variations depending on broker specifications and leverage settings.
Triangular Arbitrage [Starbots]Triangular arbitrage in crypto refers to a trading strategy that exploits price discrepancies between three different cryptocurrencies or currency pairs on the same exchange.
The idea is to make a series of trades that ultimately result in a profit without the risk typically involved in trading. It works by taking advantage of the inefficiencies in the pricing of cryptocurrency pairs.
Here’s how it works:
Identify the Discrepancy: A trader finds a pricing mismatch between three cryptocurrencies. For example, they identify that the exchange rates between BTC/ETH, ETH/USDT, and BTC/USDT pairs are not aligned in a way that satisfies arbitrage-free conditions.
Three Trades:
Trade 1: Start with one cryptocurrency, say USDT (Tether).
Trade 2: Use USDT to buy ETH.
Trade 3: Use ETH to buy BTC.
Final Trade: Finally, convert the BTC back into USDT.
Profit: If the exchange rates between these pairs are out of sync, the trader can end up with more USDT (or the initial cryptocurrency) than they started with. This is because the temporary price inefficiency allowed them to buy low and sell high across different pairs.
Example:
Initial position: You have 10,000 USDT.
Step 1: You buy ETH with USDT (at a rate of 1 ETH = 2000 USDT), getting 5 ETH.
Step 2: You buy BTC with ETH (at a rate of 1 BTC = 2.5 ETH), getting 2 BTC.
Step 3: You sell BTC back for USDT (at a rate of 1 BTC = 5200 USDT), getting 10,400 USDT.
This results in a profit of 400 USDT after completing the cycle, assuming no fees or slippage.
Key Points:
Risk-Free (In Theory): In theory, triangular arbitrage is risk-free because you’re taking advantage of price discrepancies and not market trends.
High Speed Required: Since the inefficiencies in the crypto market are usually very short-lived, this strategy often requires bots or automated systems to execute trades quickly.
Fees and Slippage: In reality, exchange fees, trading volume, and slippage (the difference between the expected price and the actual execution price) can eat into profits and should be carefully considered.
Triangular arbitrage opportunities arise in crypto markets due to the high volatility and fragmentation across different trading pairs and exchanges.
________________________________________________________________
Recommended Binance pairs: DOGE/BTC, TRX/BTC, LINK/BTC, RUNE/BTC, FET/BTC, WIF/BTC,.. Make sure they have big daily volume when you swap them.
You typically have 30 seconds to 2 minutes to complete all three orders, but the main challenge is slippage, especially if the trading volume is low.
<>How to use indicator?
For example, open the DOGE/BTC chart on Binance and set the timeframe to 30 seconds or 1 minute.
In the first input, enter DOGE/USDT, the symbol that's on the left of your slash (DOGE/BTC), and in the second, enter BTC/USDT, the symbol that's on the right of your slash (DOGE/BTC).
Next, select the investment and commissions option.
Indicator will automatically calculate the discrepancies between these three different cryptocurrency pairs and show you when it's profitable to trade it on the chart.
Follow the indicator's suggested orders and capitalize on the price discrepancies between the three cryptocurrencies on the same exchange. This is how Triangular Arbitrage work.
Indicator Test with Conditions TableOverview: The "Indicator Test with Conditions Table" is a customizable trading strategy developed using Pine Script™ for the TradingView platform. It allows users to define complex entry conditions for both long and short positions based on various technical indicators and price levels.
Key Features:
Customizable Input Conditions:
Users can configure up to three input conditions for both long and short entries, each with its own logical operator (AND/OR) for combining conditions.
Input conditions can be based on:
Price Sources: Users can select any price data (e.g., close, open, high, low) for each condition.
Comparison Operators: Users can choose from a variety of operators, including:
Greater than (>)
Greater than or equal to (>=)
Less than (<)
Less than or equal to (<=)
Equal to (=)
Not equal to (!=)
Crossover (crossover)
Crossunder (crossunder)
Logical Operators:
The strategy provides options for combining conditions using logical operators (AND/OR) for greater flexibility in defining entry criteria.
Dynamic Condition Evaluation:
The strategy evaluates the defined conditions dynamically, checking whether they are enabled before proceeding with the comparison.
Users can toggle conditions on and off using boolean inputs, allowing for quick adjustments without modifying the code.
Visual Feedback:
A table is displayed on the chart, providing real-time status updates on the conditions and whether they are enabled. This enhances user experience by allowing easy monitoring of the strategy's logic.
Order Execution:
The strategy enters long or short positions based on the combined conditions' evaluations, automatically executing trades when the criteria are met.
How to Use:
Set Up Input Conditions:
Navigate to the strategy’s input settings to configure your desired price sources, operators, and logical combinations for long and short conditions.
Monitor Conditions:
Observe the condition table displayed at the bottom right of the chart to see which conditions are enabled and their current evaluations.
Adjust Strategy Parameters:
Modify the conditions, logical operators, and input sources as needed to optimize the strategy for different market scenarios or trading styles.
Execution:
Once the conditions are met, the strategy will automatically enter trades based on the defined logic.
Conclusion: The "Indicator Test with Conditions Table" strategy is a robust tool for traders looking to implement customized trading logic based on various market conditions. Its flexibility and real-time monitoring capabilities make it suitable for both novice and experienced traders.
GBP Index vs CAD Index Currency OscillatorGBP vs CAD Currency Oscillator
This custom oscillator compares the relative strength of GBP (British Pound) and CAD (Canadian Dollar) against a basket of other currencies to determine potential overbought and oversold conditions. The indicator is designed to help traders evaluate momentum shifts and identify possible trend reversals between these two currencies, not just the GBPCAD pair.
How it Works:
Currency Index Calculation:
The oscillator calculates the average percentage change in 7 key GBP pairs (GBPUSD, EURGBP, GBPJPY, GBPAUD, GBPNZD, GBPCAD, and GBPCHF).
Similarly, it calculates the average percentage change for 7 key CAD pairs (USDCAD, EURCAD, CADJPY, AUDCAD, NZDCAD, GBPCAD, and CADCHF).
Stochastic Oscillator:
The indicator calculates a 0-100 oscillator for both the GBP and CAD currency indices based on the highest high and lowest low over a user-defined lookback period (default is 14 anlthough 60 works great on 1m chart).
The oscillator is smoothed using a simple moving average (default smoothing period is 3) to reduce noise and improve visual clarity.
Overbought/Oversold Conditions:
Overbought: When both the GBP and CAD oscillators exceed 80, the background turns red, indicating potential overbought conditions.
Oversold: When both oscillators fall below 20, the background turns green, signaling possible oversold conditions.
Crossovers:
When the GBP oscillator crosses above the CAD oscillator, a green dot appears at the bottom of the chart, signaling potential GBP strength.
When the GBP oscillator crosses below the CAD oscillator, a red dot appears, signaling potential CAD strength.
How to Use:
Overbought/Oversold Conditions: Use the red and green background highlights to spot potential overbought or oversold market conditions, helping you identify possible turning points.
Customization Options:
Lookback Period: You can adjust the lookback period for the stochastic calculation, allowing for sensitivity tuning (default: 14).
Smoothing Period: Control the degree of smoothing applied to the oscillators (default: 3).
This oscillator is ideal for traders focused on trading GBP and CAD pairs, offering a comparative analysis that can assist in better decision-making based on relative currency strength.
analytics_tablesLibrary "analytics_tables"
📝 Description
This library provides the implementation of several performance-related statistics and metrics, presented in the form of tables.
The metrics shown in the afforementioned tables where developed during the past years of my in-depth analalysis of various strategies in an atempt to reason about the performance of each strategy.
The visualization and some statistics where inspired by the existing implementations of the "Seasonality" script, and the performance matrix implementations of @QuantNomad and @ZenAndTheArtOfTrading scripts.
While this library is meant to be used by my strategy framework "Template Trailing Strategy (Backtester)" script, I wrapped it in a library hoping this can be usefull for other community strategy scripts that will be released in the future.
🤔 How to Guide
To use the functionality this library provides in your script you have to import it first!
Copy the import statement of the latest release by pressing the copy button below and then paste it into your script. Give a short name to this library so you can refer to it later on. The import statement should look like this:
import jason5480/analytics_tables/1 as ant
There are three types of tables provided by this library in the initial release. The stats table the metrics table and the seasonality table.
Each one shows different kinds of performance statistics.
The table UDT shall be initialized once using the `init()` method.
They can be updated using the `update()` method where the updated data UDT object shall be passed.
The data UDT can also initialized and get updated on demend depending on the use case
A code example for the StatsTable is the following:
var ant.StatsData statsData = ant.StatsData.new()
statsData.update(SideStats.new(), SideStats.new(), 0)
if (barstate.islastconfirmedhistory or (barstate.isrealtime and barstate.isconfirmed))
var statsTable = ant.StatsTable.new().init(ant.getTablePos('TOP', 'RIGHT'))
statsTable.update(statsData)
A code example for the MetricsTable is the following:
var ant.StatsData statsData = ant.StatsData.new()
statsData.update(ant.SideStats.new(), ant.SideStats.new(), 0)
if (barstate.islastconfirmedhistory or (barstate.isrealtime and barstate.isconfirmed))
var metricsTable = ant.MetricsTable.new().init(ant.getTablePos('BOTTOM', 'RIGHT'))
metricsTable.update(statsData, 10)
A code example for the SeasonalityTable is the following:
var ant.SeasonalData seasonalData = ant.SeasonalData.new().init(Seasonality.monthOfYear)
seasonalData.update()
if (barstate.islastconfirmedhistory or (barstate.isrealtime and barstate.isconfirmed))
var seasonalTable = ant.SeasonalTable.new().init(seasonalData, ant.getTablePos('BOTTOM', 'LEFT'))
seasonalTable.update(seasonalData)
🏋️♂️ Please refer to the "EXAMPLE" regions of the script for more advanced and up to date code examples!
Special thanks to @Mrcrbw for the proposal to develop this library and @DCNeu for the constructive feedback 🏆.
getTablePos(ypos, xpos)
Get table position compatible string
Parameters:
ypos (simple string) : The position on y axise
xpos (simple string) : The position on x axise
Returns: The position to be passed to the table
method init(this, pos, height, width, positiveTxtColor, negativeTxtColor, neutralTxtColor, positiveBgColor, negativeBgColor, neutralBgColor)
Initialize the stats table object with the given colors in the given position
Namespace types: StatsTable
Parameters:
this (StatsTable) : The stats table object
pos (simple string) : The table position string
height (simple float) : The height of the table as a percentage of the charts height. By default, 0 auto-adjusts the height based on the text inside the cells
width (simple float) : The width of the table as a percentage of the charts height. By default, 0 auto-adjusts the width based on the text inside the cells
positiveTxtColor (simple color) : The text color when positive
negativeTxtColor (simple color) : The text color when negative
neutralTxtColor (simple color) : The text color when neutral
positiveBgColor (simple color) : The background color with transparency when positive
negativeBgColor (simple color) : The background color with transparency when negative
neutralBgColor (simple color) : The background color with transparency when neutral
method init(this, pos, height, width, neutralBgColor)
Initialize the metrics table object with the given colors in the given position
Namespace types: MetricsTable
Parameters:
this (MetricsTable) : The metrics table object
pos (simple string) : The table position string
height (simple float) : The height of the table as a percentage of the charts height. By default, 0 auto-adjusts the height based on the text inside the cells
width (simple float) : The width of the table as a percentage of the charts width. By default, 0 auto-adjusts the width based on the text inside the cells
neutralBgColor (simple color) : The background color with transparency when neutral
method init(this, seas)
Initialize the seasonal data
Namespace types: SeasonalData
Parameters:
this (SeasonalData) : The seasonal data object
seas (simple Seasonality) : The seasonality of the matrix data
method init(this, data, pos, maxNumOfYears, height, width, extended, neutralTxtColor, neutralBgColor)
Initialize the seasonal table object with the given colors in the given position
Namespace types: SeasonalTable
Parameters:
this (SeasonalTable) : The seasonal table object
data (SeasonalData) : The seasonality data of the table
pos (simple string) : The table position string
maxNumOfYears (simple int) : The maximum number of years that fit into the table
height (simple float) : The height of the table as a percentage of the charts height. By default, 0 auto-adjusts the height based on the text inside the cells
width (simple float) : The width of the table as a percentage of the charts width. By default, 0 auto-adjusts the width based on the text inside the cells
extended (simple bool) : The seasonal table with extended columns for performance
neutralTxtColor (simple color) : The text color when neutral
neutralBgColor (simple color) : The background color with transparency when neutral
method update(this, wins, losses, numOfInconclusiveExits)
Update the strategy info data of the strategy
Namespace types: StatsData
Parameters:
this (StatsData) : The strategy statistics object
wins (SideStats)
losses (SideStats)
numOfInconclusiveExits (int) : The number of inconclusive trades
method update(this, stats, positiveTxtColor, negativeTxtColor, negativeBgColor, neutralBgColor)
Update the stats table object with the given data
Namespace types: StatsTable
Parameters:
this (StatsTable) : The stats table object
stats (StatsData) : The stats data to update the table
positiveTxtColor (simple color) : The text color when positive
negativeTxtColor (simple color) : The text color when negative
negativeBgColor (simple color) : The background color with transparency when negative
neutralBgColor (simple color) : The background color with transparency when neutral
method update(this, stats, buyAndHoldPerc, positiveTxtColor, negativeTxtColor, positiveBgColor, negativeBgColor)
Update the metrics table object with the given data
Namespace types: MetricsTable
Parameters:
this (MetricsTable) : The metrics table object
stats (StatsData) : The stats data to update the table
buyAndHoldPerc (float) : The buy and hold percetage
positiveTxtColor (simple color) : The text color when positive
negativeTxtColor (simple color) : The text color when negative
positiveBgColor (simple color) : The background color with transparency when positive
negativeBgColor (simple color) : The background color with transparency when negative
method update(this)
Update the seasonal data based on the season and eon timeframe
Namespace types: SeasonalData
Parameters:
this (SeasonalData) : The seasonal data object
method update(this, data, positiveTxtColor, negativeTxtColor, neutralTxtColor, positiveBgColor, negativeBgColor, neutralBgColor, timeBgColor)
Update the seasonal table object with the given data
Namespace types: SeasonalTable
Parameters:
this (SeasonalTable) : The seasonal table object
data (SeasonalData) : The seasonal cell data to update the table
positiveTxtColor (simple color) : The text color when positive
negativeTxtColor (simple color) : The text color when negative
neutralTxtColor (simple color) : The text color when neutral
positiveBgColor (simple color) : The background color with transparency when positive
negativeBgColor (simple color) : The background color with transparency when negative
neutralBgColor (simple color) : The background color with transparency when neutral
timeBgColor (simple color) : The background color of the time gradient
SideStats
Object that represents the strategy statistics data of one side win or lose
Fields:
numOf (series int)
sumFreeProfit (series float)
freeProfitStDev (series float)
sumProfit (series float)
profitStDev (series float)
sumGain (series float)
gainStDev (series float)
avgQuantityPerc (series float)
avgCapitalRiskPerc (series float)
avgTPExecutedCount (series float)
avgRiskRewardRatio (series float)
maxStreak (series int)
StatsTable
Object that represents the stats table
Fields:
table (series table) : The actual table
rows (series int) : The number of rows of the table
columns (series int) : The number of columns of the table
StatsData
Object that represents the statistics data of the strategy
Fields:
wins (SideStats)
losses (SideStats)
numOfInconclusiveExits (series int)
avgFreeProfitStr (series string)
freeProfitStDevStr (series string)
lossFreeProfitStDevStr (series string)
avgProfitStr (series string)
profitStDevStr (series string)
lossProfitStDevStr (series string)
avgQuantityStr (series string)
MetricsTable
Object that represents the metrics table
Fields:
table (series table) : The actual table
rows (series int) : The number of rows of the table
columns (series int) : The number of columns of the table
SeasonalData
Object that represents the seasonal table dynamic data
Fields:
seasonality (series Seasonality)
eonToMatrixRow (map)
numOfEons (series int)
mostRecentMatrixRow (series int)
balances (matrix)
returnPercs (matrix)
maxDDs (matrix)
eonReturnPercs (array)
eonCAGRs (array)
eonMaxDDs (array)
SeasonalTable
Object that represents the seasonal table
Fields:
table (series table) : The actual table
headRows (series int) : The number of head rows of the table
headColumns (series int) : The number of head columns of the table
eonRows (series int) : The number of eon rows of the table
seasonColumns (series int) : The number of season columns of the table
statsRows (series int)
statsColumns (series int) : The number of stats columns of the table
rows (series int) : The number of rows of the table
columns (series int) : The number of columns of the table
extended (series bool) : Whether the table has additional performance statistics
Double BBW OverlayDouble BBW Overlay Indicator
Overview
The Double BBW (Bollinger Band Width) Overlay indicator is a custom script for TradingView that combines two BBW indicators with adjustable settings. It allows traders to compare the volatility of two different periods of Bollinger Bands on the same chart. By default, the first BBW is calculated with a 10-period center line, and the second BBW with a 20-period center line, but these values can be customized.
How It Works
Bollinger Bands consist of an upper band, a lower band, and a middle band (typically a moving average). The Bollinger Band Width (BBW) measures the distance between the upper and lower bands relative to the center line. The width of these bands indicates market volatility:
Narrow Bands: Low volatility, usually preceding a breakout.
Wide Bands: High volatility, often following a strong price movement.
This indicator plots two BBW values on a non-overlay chart, making it easy to visualize and compare different market conditions over different periods.
Indicator Components
BBW 1 (default period: 10)
Calculates the BBW using a center line based on a 10-period moving average.
The width is plotted in blue by default.
BBW 2 (default period: 20)
Calculates the BBW using a center line based on a 20-period moving average.
The width is plotted in red by default.
Zero Line
A gray horizontal line at the value of 0 for reference, helping to understand the scale of BBW values.
Input Parameters
Center Line Period for BBW 1 (length1)
Default: 10
This controls the length of the moving average for the first BBW calculation. It defines how many periods are used to calculate the middle Bollinger Band for BBW 1.
Center Line Period for BBW 2 (length2)
Default: 20
This controls the length of the moving average for the second BBW calculation. It defines how many periods are used to calculate the middle Bollinger Band for BBW 2.
Standard Deviation Multiplier (mult)
Default: 2.0
This controls how far the upper and lower Bollinger Bands are from the center line. The multiplier affects how sensitive the Bollinger Bands are to price changes, with higher values producing wider bands.
How to Use
Adding the Indicator: Once the script is added to your TradingView account, simply apply the indicator to any chart. It will be displayed as a separate pane below the price chart, showing two BBW lines corresponding to the two different periods.
Customizing Periods: Use the settings panel to adjust the center line periods for BBW 1 and BBW 2 to match your desired trading strategy. For instance, you can analyze short-term versus long-term volatility by adjusting the periods.
Volatility Analysis:
When both BBW lines are narrow, it indicates low volatility across both short-term and long-term periods, which could suggest that a breakout is imminent.
If both BBW lines widen simultaneously, it shows that volatility is increasing in both timeframes, possibly indicating a strong trend.
Use Cases
Breakout Strategy: When the BBW lines contract significantly, it may signal that a low-volatility period is about to end, which is often followed by a price breakout in either direction.
Trend Strength: Comparing short-term and long-term BBW values can help determine if recent price movements are supported by broader market volatility or if they are isolated to the short term.
Chart Display
BBW 1: Blue line, representing the Bollinger Band Width calculated with a center line period of 10 (or your customized value).
BBW 2: Red line, representing the Bollinger Band Width calculated with a center line period of 20 (or your customized value).
Zero Line: A gray line at 0 is provided for reference, although BBW values are always positive.
Advantages of Using Double BBW
Comprehensive View of Volatility: By overlaying two BBW indicators with different timeframes, you can gain insights into both short-term and long-term market volatility trends.
Customizable: You can easily adjust the moving average periods and the standard deviation multiplier to match your preferred trading strategy or the characteristics of the asset you are trading.
Easy Visualization: The separate plots of BBW values make it easier to see shifts in market volatility, allowing you to spot potential trading opportunities.
Entry Weight Indicator(Dual Labels)이 지표는 트레이더가 동적으로 진입 비중을 결정할 수 있도록 도와주는 도구입니다. 이전 캔들의 종가를 기준으로 두 가지 다른 진입 비중을 계산하여 표시합니다.
주요 특징:
1. 두 가지 진입 비중 계산:
- 저점 기준 (EW Long): 이전 캔들 종가와 룩백 기간 내 최저가 사이의 거리를 기준으로 계산
- 고점 기준 (EW Short): 이전 캔들 종가와 룩백 기간 내 최고가 사이의 거리를 기준으로 계산
2. 시각적 표시:
- 초록색 라벨 (EW Long): 캔들 위에 표시
- 빨간색 라벨 (EW Short): 캔들 아래에 표시
- 룩백 기간 내 최고가와 최저가를 녹색과 빨간색 선으로 표시
3. 사용자 정의 파라미터:
- 원하는 손실 비율 (Desired Loss Percentage)
- 레버리지 (Leverage)
- 룩백 기간 (Lookback Period)
4. 추가 정보 표시:
- 차트 우측 상단에 이전 종가, 최고가, 최저가, 손실 비율 등의 정보를 표시
사용 방법:
1. 원하는 손실 비율, 레버리지, 룩백 기간을 설정합니다.
2. 차트에 표시되는 라벨을 통해 각 캔들에 대한 두 가지 진입 비중을 확인합니다.
3. EW Long (초록색)은 Long 진입 시 비중을, EW Short (빨간색)는 Short 진입 시 비중을 나타냅니다.
주의: 이 지표는 투자 시 직접적인 성과를 가져다주는 지표가 아니며, 실제 거래 결정 시에는 다른 분석 도구와 함께 사용하는 것이 좋습니다.
This indicator is a tool that helps traders dynamically determine their entry weight. It calculates and displays two different entry weights based on the closing price of the previous candle.
Key features:
1. Calculation of two entry weights:
- Low-based (EW Long): Calculated based on the distance between the previous candle's close and the lowest price within the lookback period
- High-based (EW Short): Calculated based on the distance between the previous candle's close and the highest price within the lookback period
2. Visual display:
- Green label (EW Long): Displayed above the candle
- Red label (EW Short): Displayed below the candle
- Highest and lowest prices within the lookback period are shown as green and red lines
3. User-defined parameters:
- Desired Loss Percentage
- Leverage
- Lookback Period
4. Additional information display:
- Information such as previous close, highest price, lowest price, and loss percentage is displayed in the upper right corner of the chart
How to use:
1. Set the desired loss percentage, leverage, and lookback period.
2. Check the two entry weights for each candle through the labels displayed on the chart.
3. EW Long (green) represents the entry weight for long positions, while EW Short (red) represents the entry weight for short positions.
Caution: This indicator does not directly lead to investment performance. When making actual trading decisions, it is advisable to use it in conjunction with other analytical tools.
Monthly Breakout StrategyThis Monthly High/Low Breakout Strategy is designed to take long or short positions based on breakouts from the high or low of the previous month. Users can select whether they want to go long at a breakout above the previous month’s high, short at a breakdown below the previous month’s low, or use the reverse logic. Additionally, it includes a month filter, allowing trades to be executed only during user-specified months.
Breakout strategies, particularly those based on monthly highs and lows, aim to capitalize on price momentum. These systems rely on the assumption that once a significant price level is breached (such as the previous month's high or low), the market is likely to continue moving in the same direction due to increased volatility and trend-following behaviors by traders. Studies have demonstrated the potential effectiveness of breakout strategies in financial markets.
Scientific Evidence Supporting Breakout Strategies:
Momentum in Financial Markets:
Research on momentum-based strategies, which include breakout trading, shows that securities breaking key levels of support or resistance tend to continue their price movement in the direction of the breakout. Jegadeesh and Titman (1993) found that stocks with strong performance over a given period tend to continue performing well in subsequent periods, a principle also applied to breakout strategies.
Behavioral Finance:
The psychological factor of herd behavior is one of the driving forces behind breakout strategies. When prices break out of a key level (such as a monthly high), it triggers increased buying or selling pressure as traders join the trend. Barberis, Shleifer, and Vishny (1998) explained how cognitive biases, such as overconfidence and sentiment, can amplify price trends, which breakout strategies attempt to exploit.
Market Efficiency:
While markets are generally efficient, periods of inefficiency can occur, particularly around the breakouts of significant price levels. These inefficiencies often result in temporary price trends, which breakout strategies can exploit before the market corrects itself (Fama, 1970).
Risk Considerations:
Despite the potential for profit, the Monthly Breakout Strategy comes with several risks:
False Breakouts:
One of the most common risks in breakout strategies is the occurrence of false breakouts. These happen when the price temporarily moves above (or below) a key level but quickly reverses direction, causing losses for traders who entered positions too early. This is particularly risky in low-volatility environments.
Market Volatility:
Monthly breakout strategies rely on momentum, which may not be consistent across different market conditions. During periods of low volatility, price breakouts might lack the follow-through required for the strategy to succeed, leading to poor performance.
Whipsaw Risk:
The strategy is vulnerable to whipsaw markets, where prices oscillate around key levels without establishing a clear direction. This can result in frequent entry and exit signals that lead to losses, especially if trading costs are not managed properly.
Overfitting to Past Data:
If the month-selection filter is overly optimized based on historical data, the strategy may suffer from overfitting—performing well in backtests but poorly in real-time trading. This happens when strategies are tailored to past market conditions that may not repeat.
Conclusion:
While monthly breakout strategies can be effective in markets with strong momentum, they are subject to several risks, including false breakouts, volatility dependency, and whipsaw behavior. It is crucial to backtest this strategy thoroughly and ensure it aligns with your risk tolerance before implementing it in live trading.
References:
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
Barberis, N., Shleifer, A., & Vishny, R. (1998). A Model of Investor Sentiment. Journal of Financial Economics, 49(3), 307-343.
Fama, E. F. (1970). Efficient Capital Markets: A Review of Theory and Empirical Work. Journal of Finance, 25(2), 383-417.
EV Calculator [CHE]EV Calculator with Adjustable Boxes and Custom Colors for TradingView
Introduction:
As a trader, one of the key metrics you need to evaluate is the Expected Value (EV) of your trading strategy. Understanding EV helps you gauge whether your trades will be profitable in the long run. This TradingView script allows you to visualize your EV alongside customizable win rates and risk-to-reward ratios. With adjustable visual components, you can quickly determine whether your trading strategy has a positive or negative EV, and make informed decisions.
Features of the Script:
1. Customizable Inputs:
- Win Rate: Set your win probability (0.0 to 1.0), which represents how often your strategy is successful.
- Risk and Reward: Define how much you're risking and the potential reward for each trade.
2. Visual Representation:
- The script creates colored boxes representing different EV scenarios:
- Green Box: Indicates a good EV (>2), suggesting a highly profitable strategy.
- Yellow Box: Represents a neutral EV (between 0 and 2), where the strategy could work but is not optimal.
- Red Box: Shows a negative EV (<0), signaling that the strategy may lead to losses.
3. Adjustable Box Size:
- You can modify the width and height of the boxes to fit your chart display preferences, giving you better visual clarity based on your screen or chart style.
4. Dynamic Labels:
- Each bar in the chart includes dynamic labels showing:
- Win Rate: Displays the percentage chance of success.
- EV Value: Shows the calculated expected value based on the win rate and risk-reward ratio.
- Guide: Explains what each colored box means so that you can easily interpret the chart.
5. Scalability and Flexibility:
- The script only keeps a maximum of 20 recent entries, ensuring that your chart stays clean and organized.
- Both the number of labels and boxes adjust automatically to match your preferred settings, enhancing usability.
How the EV Calculation Works:
The formula for EV is based on a standard risk-to-reward model:
EV = (Win\ Rate \times Reward) - (Loss\ Probability \times Risk)
For example:
- If your win rate is 60% and your risk-to-reward ratio is 1:3, the script will calculate whether this strategy is expected to yield positive returns or result in long-term losses.
Example Use Case:
Let's say you are trading with a 60% win rate, risking 1 unit to gain 3 units. The script calculates that your EV is positive and represents this with a Green Box, showing you that your strategy has a high likelihood of being profitable. If your strategy slips and the win rate drops, the EV calculation will adjust, and you may see Yellow or Red Boxes, signaling a need for adjustment.
Final Thoughts:
This script is designed for traders who want to take their analysis beyond the basics. By providing real-time visualization of your EV, you can better assess whether your strategy is sound and make adjustments as needed.
How to Use:
- Adjust the input parameters for Win Rate, Risk, and Reward to match your trading strategy.
- Observe the colored boxes and labels to quickly understand if your current strategy is in a healthy EV zone.
- Use this visual feedback to refine your approach and stay on track towards profitability.
This tool simplifies the complex calculations behind EV and turns it into an intuitive and powerful decision-making aid for traders.
Now you're ready to integrate the EV Calculator with Adjustable Boxes and Custom Colors into your trading routine and start optimizing your strategies for long-term success!
Happy Trading and best regards Chervolino
High/Low Breakout Statistical Analysis StrategyThis Pine Script strategy is designed to assist in the statistical analysis of breakout systems on a monthly, weekly, or daily timeframe. It allows the user to select whether to open a long or short position when the price breaks above or below the respective high or low for the chosen timeframe. The user can also define the holding period for each position in terms of bars.
Core Functionality:
Breakout Logic:
The strategy triggers trades based on price crossing over (for long positions) or crossing under (for short positions) the high or low of the selected period (daily, weekly, or monthly).
Timeframe Selection:
A dropdown menu enables the user to switch between the desired timeframe (monthly, weekly, or daily).
Trade Direction:
Another dropdown allows the user to select the type of trade (long or short) depending on whether the breakout occurs at the high or low of the timeframe.
Holding Period:
Once a trade is opened, it is automatically closed after a user-defined number of bars, making it useful for analyzing how breakout signals perform over short-term periods.
This strategy is intended exclusively for research and statistical purposes rather than real-time trading, helping users to assess the behavior of breakouts over different timeframes.
Relevance of Breakout Systems:
Breakout trading systems, where trades are executed when the price moves beyond a significant price level such as the high or low of a given period, have been extensively studied in financial literature for their potential predictive power.
Momentum and Trend Following:
Breakout strategies are a form of momentum-based trading, exploiting the tendency of prices to continue moving in the direction of a strong initial movement after breaching a critical support or resistance level. According to academic research, momentum strategies, including breakouts, can produce returns above average market returns when applied consistently. For example, Jegadeesh and Titman (1993) demonstrated that stocks that performed well in the past 3-12 months continued to outperform in the subsequent months, suggesting that price continuation patterns, like breakouts, hold value .
Market Efficiency Hypothesis:
While the Efficient Market Hypothesis (EMH) posits that markets are generally efficient, and it is difficult to outperform the market through technical strategies, some studies show that in less liquid markets or during specific times of market stress, breakout systems can capitalize on temporary inefficiencies. Taylor (2005) and other researchers have found instances where breakout systems can outperform the market under certain conditions.
Volatility and Breakouts:
Breakouts are often linked to periods of increased volatility, which can generate trading opportunities. Coval and Shumway (2001) found that periods of heightened volatility can make breakouts more significant, increasing the likelihood that price trends will follow the breakout direction. This correlation between volatility and breakout reliability makes it essential to study breakouts across different timeframes to assess their potential profitability .
In summary, this breakout strategy offers an empirical way to study price behavior around key support and resistance levels. It is useful for researchers and traders aiming to statistically evaluate the effectiveness and consistency of breakout signals across different timeframes, contributing to broader research on momentum and market behavior.
References:
Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. Journal of Finance, 48(1), 65-91.
Fama, E. F., & French, K. R. (1996). Multifactor Explanations of Asset Pricing Anomalies. Journal of Finance, 51(1), 55-84.
Taylor, S. J. (2005). Asset Price Dynamics, Volatility, and Prediction. Princeton University Press.
Coval, J. D., & Shumway, T. (2001). Expected Option Returns. Journal of Finance, 56(3), 983-1009.
Bias FinderCan we look at what happened yesterday in the market to predict what happens today?
Not really, but we can use simple historical statistics to help form a bias for todays market direction.
This indicator attempts to do just that. It is broken into 3 parts, none of which are related to each other, but taken together can help a trader improve the quality of their daily bias.
The first table simply groups all the daily win and loss streaks together and looks at the change of the next day after each streak.
The second table groups each day of the week then returns what percentage of those days were up, down and flat.
The bottom graphic compares the range of the last session with the current ATR.
The code then groups each session into either being larger or smaller than the current ATR.
Once that is determined, the close is classified into which quartile of the range it closed in. This means there are 8 different groups of closes. Once a close has been grouped, it is compared with all the other closes of the same group to return the historical change of the next day. So for example, a day might have a range inside the current ATR and have closed in the 3rd quartile of the range. From this we can determine the historical percentage of days that were up days after such a close.
The only important thing here is to decide if you want to use a close to close change IE an up day is when the close is higher than the previous close, or an open to close where, as the name suggests, the close is higher than the open for an up day.
The start date and start month can be used to eliminate any bad data and it is advisable to check the start of your dataset to make sure any data included in the statistics is stable and legitimate.
Hope you find this useful!
Stock Info By IT Wala
Purpose of the Indicator
The "Stock Info by IT Wala" indicator was created to display essential stock-related information directly on the chart in a clear and concise manner. This is helpful for traders who want to quickly access details about a stock without having to look them up separately. It is useful for all types of market participants, whether trading stocks, indices, or other financial instruments, and provides an overview of the stock’s attributes such as its country, exchange, industry, and more.
Key Features
Displays a table containing key stock data, such as the stock’s name, country of origin, exchange, industry, sector, and type.
Shows additional details such as stock description, currency, and time zone, all sourced directly from syminfo.
Overlay feature allows the table to appear on the chart itself, making the information easily accessible while analyzing price action.
The table is customizable for style, with a navy blue background, white text, and border customization to match different charting themes.
Inputs (User Parameters)
This indicator doesn't offer customizable user inputs since it automatically pulls stock information from TradingView’s syminfo system. It ensures simplicity in use, allowing traders to focus on the provided data.
Output (How to Read the Indicator)
The output of the "Stock Info by IT Wala" indicator is a table that appears on the chart, showing:
Stock: The stock’s root symbol, such as AAPL for Apple or TSLA for Tesla.
Country: The country where the stock is listed or operates primarily.
Exchange: The prefix of the stock's exchange (e.g., NASDAQ, NYSE).
Industry: The industry to which the stock belongs, such as Technology, Healthcare, or Finance.
Sector: The broader sector, like Consumer Goods or Energy.
Type: Indicates whether the asset is a stock, index, or another type of financial asset.
Description: A brief description of the company or asset.
Currency: The currency in which the stock is traded (e.g., USD, EUR).
Timezone: The timezone of the exchange where the stock is listed.
Best Practices for Usage
Timeframes: This indicator works well across all timeframes, as it only displays stock-related data and is not affected by time-based analysis.
Asset Classes: It’s best suited for use with stocks but can also be applied to other types of assets (such as indices or commodities) where syminfo data is available.
Usage: Use this indicator to quickly review stock information while analyzing price action or planning trades. It is particularly helpful for traders who want quick access to contextual information without switching between different tools.
Limitations and Disclaimers:
The information is sourced directly from TradingView's syminfo and is limited to the data provided by TradingView. If any information is missing or incorrect, it will reflect in the table.
The indicator is purely informational and does not provide any buy or sell signals. Traders should not rely solely on this indicator for decision-making.
Limitations: This indicator does not work for every asset class. For example, it may not display detailed information for cryptocurrencies or certain less common instruments.
Alerts:
This indicator does not include any alert functionality since it is meant to display static stock data, not trigger trading signals.
Customization Options:
Table Styling: While users can't adjust the data displayed, the indicator automatically applies a styled table with a navy blue background and white borders to ensure readability. Users can modify this part of the code if needed for better chart integration.
Backtesting and Performance:
Backtesting is not applicable here as the indicator provides static information about the stock rather than dynamic data or signals. Performance is based on the data retrieval capabilities of TradingView's syminfo feature.
Conclusion:
The "Stock Info by IT Wala" indicator provides traders with instant access to crucial stock-related data, allowing them to review key details about the asset they are analyzing without leaving the chart. By offering details such as stock name, exchange, sector, and more, it makes fundamental information conveniently accessible, enhancing the charting experience.
Disclaimer:
This indicator is for informational purposes only and does not provide trading advice or recommendations. The stock data is sourced from TradingView’s systems and should be cross-verified if used for making trading decisions. Always conduct your own research and consult financial experts before executing any trades.
Importance of Clarity and Transparency:
When publishing a script, especially one like this that provides essential stock information, it's important to clearly explain its purpose, limitations, and intended usage. A transparent description ensures users understand what the indicator does and how to use it effectively in their analysis, preventing confusion or misuse. Clear communication builds trust with your audience and encourages responsible use of the tool.
High Yield Spread Strategy with SMA FilterThis Pine Script strategy is designed for statistical analysis and research purposes only, not for live trading or financial decision-making. The script evaluates the relationship between financial volatility (measured by either the VIX or the High Yield Spread) and market positioning strategies (long or short) based on user-defined conditions. Specifically, it allows users to test the assumption that elevated levels of VIX or the High Yield Spread may justify short positions in the market—a widely held belief in financial circles—but this script demonstrates that shorting is not always the optimal choice, even under these conditions.
Key Components:
1. High Yield Spread and VIX:
• High Yield Spread is the difference between the yields of corporate high-yield (or “junk”) bonds and U.S. Treasury securities. A rising spread often reflects increased market risk perception.
• VIX (Volatility Index) is often referred to as the market’s “fear gauge.” Higher VIX levels usually indicate heightened market uncertainty or expected volatility.
2. Strategy Logic:
• The script allows users to specify a threshold for the VIX or High Yield Spread, and it automatically evaluates if the spread exceeds this level, which traditionally would suggest an environment for higher market risk and thus potentially favoring short trades.
• However, the strategy provides flexibility to enter long or short positions, even in a high-risk environment, emphasizing that a high VIX or High Yield Spread does not always warrant shorting.
3. SMA Filter:
• A Simple Moving Average (SMA) filter can be applied to the price data, where positions are only entered if the price is above or below the SMA (depending on the trade direction). This adds a technical component to the strategy, incorporating price trends into decision-making.
4. Hold Duration:
• The script also allows users to define how long to hold a position after entering, enabling an analysis of different timeframes.
Theoretical Background:
The traditional belief that high VIX or High Yield Spreads favor short positions is not universally supported by research. While a spike in the VIX or credit spreads is often associated with increased market risk, research suggests that excessive volatility does not always lead to negative returns. In fact, high volatility can sometimes signal an approaching market rebound.
For example:
• Studies have shown that long-term investments during periods of heightened volatility can yield favorable returns due to mean reversion. Whaley (2000) notes that VIX spikes are often followed by market recoveries as volatility tends to revert to its mean over time .
• Research by Blitz and Vliet (2007) highlights that low-volatility stocks have historically outperformed high-volatility stocks, suggesting that volatility may not always predict negative returns .
• Furthermore, credit spreads can widen in response to broader market stress, but these may overshoot the actual credit risk, presenting opportunities for long positions when spreads are high and risk premiums are mispriced .
Educational Purpose:
The goal of this script is to challenge assumptions about shorting during volatile periods, showing that long positions can be equally, if not more, effective during market stress. By incorporating an SMA filter and customizable logic for entering trades, users can test different hypotheses regarding the effectiveness of both long and short positions under varying market conditions.
Note: This strategy is not intended for live trading and should be used solely for educational and statistical exploration. Misinterpreting financial indicators can lead to incorrect investment decisions, and it is crucial to conduct comprehensive research before trading.
References:
1. Whaley, R. E. (2000). “The Investor Fear Gauge”. The Journal of Portfolio Management, 26(3), 12-17.
2. Blitz, D., & van Vliet, P. (2007). “The Volatility Effect: Lower Risk Without Lower Return”. Journal of Portfolio Management, 34(1), 102-113.
3. Bhamra, H. S., & Kuehn, L. A. (2010). “The Determinants of Credit Spreads: An Empirical Analysis”. Journal of Finance, 65(3), 1041-1072.
This explanation highlights the academic and research-backed foundation of the strategy and the nuances of volatility, while cautioning against the assumption that high VIX or High Yield Spread always calls for shorting.
Simplified Gap Strategy with SMA FilterThe Simplified Gap Strategy leverages price gaps as a trading signal, focusing on their significance in market behavior. Gaps occur when the opening price of a security differs significantly from the previous closing price, often signaling potential continuation or reversal patterns.
Key Features:
Gap Threshold:
This strategy requires a minimum percentage gap (defined by the user) to qualify for trading signals.
Directional Trading:
Users can select from various gap types, including "Long Up Gap" and "Short Down Gap," allowing for tailored trading approaches.
SMA Filter:
An optional Simple Moving Average (SMA) filter helps refine trade entries based on trend direction, increasing the probability of successful trades.
Hold Duration:
Positions can be held for a user-defined duration, providing flexibility in trade management.
Statistical Significance of Gaps:
Research has shown that gaps can provide insights into future price movements. According to studies such as those by Hutton and Jiang (2008), price gaps are often followed by momentum in the direction of the gap, indicating that they can serve as reliable indicators for traders. The "Gap Theory" suggests that gaps are filled approximately 90% of the time, emphasizing their relevance in market dynamics (Nikkinen, Sahlström, & Kinnunen, 2006).
Important Note:
This strategy is designed solely for statistical analysis and should not be construed as financial advice. Users are encouraged to conduct their own research and analysis before applying this strategy in live trading scenarios.
By understanding the underlying mechanisms of price gaps and their statistical significance, traders can enhance their decision-making processes and potentially improve trading outcomes.
References:
Hutton, A. W., & Jiang, W. (2008). "Price Gaps: A Guide to Trading Gaps."
Nikkinen, J., Sahlström, P., & Kinnunen, J. (2006). "The Gaps in Financial Markets: An Empirical Study."
This description provides an overview of the strategy while emphasizing its analytical purpose and backing it with relevant academic insights.
Streak-Based Trading StrategyThe strategy outlined in the provided script is a streak-based trading strategy that focuses on analyzing winning and losing streaks. It’s important to emphasize that this strategy is not intended for actual trading but rather for statistical analysis of streak series.
How the Strategy Works
1. Parameter Definition:
• Trade Direction: Users can choose between “Long” (buy) and “Short” (sell).
• Streak Threshold: Defines how many consecutive wins or losses are needed to trigger a trade.
• Hold Duration: Specifies how many periods the position will be held.
• Doji Threshold: Determines the sensitivity for Doji candles, which indicate market uncertainty.
2. Streak Calculation:
• The script identifies Doji candles and counts winning and losing streaks based on the closing price compared to the previous closing price.
• Streak counting occurs only when no position is currently held.
3. Trade Conditions:
• If the loss streak reaches the defined threshold and the trade direction is “Long,” a buy position is opened.
• If the win streak is met and the trade direction is “Short,” a sell position is opened.
• The position is held for the specified duration.
4. Visualization:
• Winning and losing streaks are plotted as histograms to facilitate analysis.
Scientific Basis
The concept of analyzing streaks in financial markets is well-documented in behavioral economics and finance. Studies have shown that markets often exhibit momentum and trend-following behavior, meaning the likelihood of consecutive winning or losing periods can be higher than what random statistics would suggest (see, for example, “The Behavior of Stock-Market Prices” by Eugene Fama).
Additionally, empirical research indicates that investors often make decisions based on psychological factors influenced by streaks. This can lead to irrational behavior, as they may focus on past wins or losses (see “Behavioral Finance: Psychology, Decision-Making, and Markets” by R. M. F. F. Thaler).
Overall, this strategy serves as a tool for statistical analysis of streak series, providing deeper insights into market behavior and trends rather than being directly used for trading decisions.
Heatmap Volume ProfileThe Volume Profile with Support/Resistance indicator is a powerful tool designed to help traders visually identify support and resistance zones based on volume analysis at specific price levels. Unlike traditional volume indicators that focus on time-based volume, this indicator analyzes the volume traded at various price levels, offering a clearer view of where the strongest buying and selling forces are concentrated.
Key Features:
Volume Heatmap: The indicator displays a colored heatmap that varies based on the volume traded at different price levels. "Hot zones" (red) indicate areas with high volume, while "cold zones" (blue) represent areas with low volume.
Automatic Detection of Support and Resistance Levels: In addition to the heatmap, the indicator automatically detects price levels where the volume reaches a significant threshold. These levels are marked with white lines on the chart, highlighting potential support and resistance zones.
Adjustable Granularity: The number of price bands can be adjusted, allowing for finer or broader volume analysis. This helps customize the analysis based on the volatility of the asset and the chosen time frame.
Configurable Analysis Period: The number of historical bars used for volume analysis can be defined by the user, enabling the analysis of short-term or long-term volume trends.
Customizable Support/Resistance Threshold: A parameter allows you to define the threshold at which a volume level is considered significant enough to be marked as support or resistance.
Indicator Parameters:
Number of Price Bands (Granularity):
This parameter controls how finely the price is divided into bands. The higher the number of bands, the more precise the volume analysis. The default is set to 50 bands.
Color Transparency:
This parameter adjusts the transparency of the heatmap colors, making it easier to read when overlaid on the price chart.
Number of Bars for Analysis:
Defines the historical period used for volume analysis. The default is 200 bars, but it can be adjusted based on your time frame and the asset being analyzed.
Volume Threshold for Support/Resistance:
This setting allows you to define the intensity of volume (between 0.1 and 1.0) necessary for a price level to be marked as support or resistance. This parameter ensures that only the most relevant levels are displayed.
Practical Use:
Identify Support and Resistance Zones: Traders can use the levels marked by this indicator to identify areas where significant volumes have been traded, signaling potential support or resistance. These zones are often where the market may reverse direction or confirm a trend.
Detect Congestion Zones: The heatmap allows traders to easily spot volume congestion zones, where prices tend to stall due to the high concentration of trading at those levels.
Improve Decision-Making: By combining price-level volume analysis, traders can better understand where the market’s key forces are located, allowing for more informed entry and exit strategies.
Example of Use:
Support: If a support line is detected at a price level with high volume, it may represent an area where buyers are heavily concentrated, making it more difficult for the price to break below that level.
Resistance: Conversely, a resistance line indicates a zone where sellers have a significant presence, suggesting that the price may struggle to move above that level without strong momentum.
Target Audience:
This indicator is ideal for:
Day traders looking to spot short-term reversal points based on volume concentration.
Swing traders identifying key zones to place limit orders or stops.
Long-term traders who want to analyze volume clusters over an extended period to determine critical levels to watch.
Conclusion:
The Volume Profile with Support/Resistance indicator is an essential tool for any trader looking to understand how volume behaves at each price level. With its intuitive visualizations and automatically marked levels, this indicator makes it easy to spot important support and resistance zones, helping traders optimize their strategies and anticipate market movements more effectively.
RSI (Kernel Optimized) | Flux Charts💎 GENERAL OVERVIEW
Introducing our new KDE Optimized RSI Indicator! This indicator adds a new aspect to the well-known RSI indicator, with the help of the KDE (Kernel Density Estimation) algorithm, estimates the probability of a candlestick will be a pivot or not. For more information about the process, please check the "HOW DOES IT WORK ?" section.
Features of the new KDE Optimized RSI Indicator :
A New Approach To Pivot Detection
Customizable KDE Algorithm
Realtime RSI & KDE Dashboard
Alerts For Possible Pivots
Customizable Visuals
❓ HOW TO INTERPRET THE KDE %
The KDE % is a critical metric that reflects how closely the current RSI aligns with the KDE (Kernel Density Estimation) array. In simple terms, it represents the likelihood that the current candlestick is forming a pivot point based on historical data patterns. a low percentage suggests a lower probability of the current candlestick being a pivot point. In these cases, price action is less likely to reverse, and existing trends may continue. At moderate levels, the possibility of a pivot increases, indicating potential trend shifts or consolidations.Traders should start monitoring closely for confirmation signals. An even higher KDE % suggests a strong likelihood that the current candlestick could form a pivot point, which could lead to a reversal or significant price movement. These points often align with overbought or oversold conditions in traditional RSI analysis, making them key moments for potential trade entry or exit.
📌 HOW DOES IT WORK ?
The RSI (Relative Strength Index) is a widely used oscillator among traders. It outputs a value between 0 - 100 and gives a glimpse about the current momentum of the price action. This indicator then calculates the RSI for each candlesticks, and saves them into an array if the candlestick is a pivot. The low & high pivot RSIs' are inserted into two different arrays. Then the a KDE array is calculated for both of the low & high pivot RSI arrays. Explaining the KDE might be too much for this write-up, but for a brief explanation, here are the steps :
1. Define the necessary options for the KDE function. These are : Bandwidth & Nº Steps, Array Range (Array Max - Array Min)
2. After that, create a density range array. The array has (steps * 2 - 1) elements and they are calculated by (arrMin + i * stepCount), i being the index.
3. Then, define a kernel function. This indicator has 3 different kernel distribution modes : Uniform, Gaussian and Sigmoid
4. Then, define a temporary value for the current element of KDE array.
5. For each element E in the pivot RSI array, add "kernel(densityRange.get(i) - E, 1.0 / bandwidth)" to the temporary value.
6. Add 1.0 / arrSize * to the KDE array.
Then the prefix sum array of the KDE array is calculated. For each candlestick, the index closest to it's RSI value in the KDE array is found using binary search. Then for the low pivot KDE calculation, the sum of KDE values from found index to max index is calculated. For the high pivot KDE, the sum of 0 to found index is used. Then if high or low KDE value is greater than the activation threshold determined in the settings, a bearish or bullish arrow is plotted after bar confirmation respectively. The arrows are drawn as long as the KDE value of current candlestick is greater than the threshold. When the KDE value is out of the threshold, a less transparent arrow is drawn, indicating a possible pivot point.
🚩 UNIQUENESS
This indicator combines RSI & KDE Algorithm to get a foresight of possible pivot points. Pivot points are important entry, confirmation and exit points for traders. But to their nature, they can be only detected after more candlesticks are rendered after them. The purpose of this indicator is to alert the traders of possible pivot points using KDE algorithm right away when they are confirmed. The indicator also has a dashboard for realtime view of the current RSI & Bullish or Bearish KDE value. You can fully customize the KDE algorithm and set up alerts for pivot detection.
⚙️ SETTINGS
1. RSI Settings
RSI Length -> The amount of bars taken into account for RSI calculation.
Source -> The source value for RSI calculation.
2. Pivots
Pivot Lengths -> Pivot lengths for both high & low pivots. For example, if this value is set to 21; 21 bars before AND 21 bars after a candlestick must be higher for a candlestick to be a low pivot.
3. KDE
Activation Threshold -> This setting determines the amount of arrows shown. Higher options will result in more arrows being rendered.
Kernel -> The kernel function as explained in the upper section.
Bandwidth -> The bandwidth variable as explained in the upper section. The smoothness of the KDE function is tied to this setting.
Nº Bins -> The Nº Steps variable as explained in the upper section. It determines the precision of the KDE algorithm.