Market Stats Panel [Daveatt]█ Introduction
I've created a script that brings TradingView's watchlist stats panel functionality directly to your charts. This isn't just another performance indicator - it's a pixel-perfect (kidding) recreation of TradingView's native stats panel.
Important Notes
You might need to adjust manually the scaling the firs time you're using this script to display nicely all the elements.
█ Core Features
Performance Metrics
The panel displays key performance metrics (1W, 1M, 3M, 6M, YTD, 1Y) in real-time, with color-coded boxes (green for positive, red for negative) for instant performance assessment.
Display Modes
Switch seamlessly between absolute prices and percentage returns, making it easy to compare assets across different price scales.
Absolute mode
Percent mode
Historical Comparison
View year-over-year performance with color-coded lines, allowing for quick historical pattern recognition and analysis.
Data Structure Innovation
Let's talk about one of the most interesting challenges I faced. PineScript has this quirky limitation where request.security() can only return 127 tuples at most. £To work around this, I implemented a dual-request system. The first request handles indices 0-63, while the second one takes care of indices 64-127.
This approach lets us maintain extensive historical data without compromising script stability.
And here's the cool part: if you need to handle even more years of historical data, you can simply extend this pattern by adding more request.security() calls.
Each additional call can fetch another batch of monthly open prices and timestamps, following the same structure I've used.
Think of it as building with LEGO blocks - you can keep adding more pieces to extend your historical reach.
Flexible Date Range
Unlike many scripts that box you into specific timeframes, I've designed this one to be completely flexible with your date selection. You can set any start year, any end year, and the script will dynamically scale everything to match. The visual presentation automatically adjusts to whatever range you choose, ensuring your data is always displayed optimally.
█ Customization Options
Visual Settings
The panel's visual elements are highly customizable. You can adjust the panel width to perfectly fit your workspace, fine-tune the line thickness to match your preferences, and enjoy the pre-defined year color scheme that makes tracking historical performance intuitive and visually appealing.
Box Dimensions
Every aspect of the performance boxes can be tailored to your needs. Adjust their height and width, fine-tune the spacing between them, and position the entire panel exactly where you want it on your chart. The goal is to make this tool feel like it's truly yours.
█ Technical Challenges Solved
Polyline Precision
Creating precise polylines was perhaps the most demanding aspect of this project.
The challenge was ensuring accurate positioning across both time and price axes, while handling percentage mode scaling with precision.
The script constantly updates the current year's data in real-time, seamlessly integrating new information as it comes in.
Axis Management
Getting the axes right was like solving a complex puzzle. The Y-axis needed to scale dynamically whether you're viewing absolute prices or percentages.
The X-axis required careful month labeling that stays clean and readable regardless of your selected timeframe.
Everything needed to align perfectly while maintaining proper spacing in all conditions.
█ Final Notes
This tool transforms complex market data into clear, actionable insights. Whether you're day trading or analyzing long-term trends, it provides the information you need to make informed decisions. And remember, while we can't predict the future, we can certainly be better prepared for it with the right tools at hand.
A word of warning though - seeing those red numbers in a beautifully formatted panel doesn't make them any less painful! 😉
---
Happy Trading! May your charts be green and your stops be far away!
Daveatt
خدمات Pine
FTMO Rules MonitorFTMO Rules Monitor: Stay on Track with Your FTMO Challenge Goals
TLDR; You can test with this template whether your strategy for one asset would pass the FTMO challenges step 1 then step 2, then with real money conditions.
Passing a prop firm challenge is ... challenging.
I believe a toolkit allowing to test in minutes whether a strategy would have passed a prop firm challenge in the past could be very powerful.
The FTMO Rules Monitor is designed to help you stay within FTMO’s strict risk management guidelines directly on your chart. Whether you’re aiming for the $10,000 or the $200,000 account challenge, this tool provides real-time tracking of your performance against FTMO’s rules to ensure you don’t accidentally breach any limits.
NOTES
The connected indicator for this post doesn't matter.
It's just a dummy double supertrends (see below)
The strategy results for this script post does not matter as I'm posting a FTMO rules template on which you can connect any indicator/strategy.
//@version=5
indicator("Supertrends", overlay=true)
// Supertrend 1 Parameters
var string ST1 = "Supertrend 1 Settings"
st1_atrPeriod = input.int(10, "ATR Period", minval=1, maxval=50, group=ST1)
st1_factor = input.float(2, "Factor", minval=0.5, maxval=10, step=0.5, group=ST1)
// Supertrend 2 Parameters
var string ST2 = "Supertrend 2 Settings"
st2_atrPeriod = input.int(14, "ATR Period", minval=1, maxval=50, group=ST2)
st2_factor = input.float(3, "Factor", minval=0.5, maxval=10, step=0.5, group=ST2)
// Calculate Supertrends
= ta.supertrend(st1_factor, st1_atrPeriod)
= ta.supertrend(st2_factor, st2_atrPeriod)
// Entry conditions
longCondition = direction1 == -1 and direction2 == -1 and direction1 == 1
shortCondition = direction1 == 1 and direction2 == 1 and direction1 == -1
// Optional: Plot Supertrends
plot(supertrend1, "Supertrend 1", color = direction1 == -1 ? color.green : color.red, linewidth=3)
plot(supertrend2, "Supertrend 2", color = direction2 == -1 ? color.lime : color.maroon, linewidth=3)
plotshape(series=longCondition, location=location.belowbar, color=color.green, style=shape.triangleup, title="Long")
plotshape(series=shortCondition, location=location.abovebar, color=color.red, style=shape.triangledown, title="Short")
signal = longCondition ? 1 : shortCondition ? -1 : na
plot(signal, "Signal", display = display.data_window)
To connect your indicator to this FTMO rules monitor template, please update it as follow
Create a signal variable to store 1 for the long/buy signal or -1 for the short/sell signal
Plot it in the display.data_window panel so that it doesn't clutter your chart
signal = longCondition ? 1 : shortCondition ? -1 : na
plot(signal, "Signal", display = display.data_window)
In the FTMO Rules Monitor template, I'm capturing this external signal with this input.source variable
entry_connector = input.source(close, "Entry Connector", group="Entry Connector")
longCondition = entry_connector == 1
shortCondition = entry_connector == -1
🔶 USAGE
This indicator displays essential FTMO Challenge rules and tracks your progress toward meeting each one. Here’s what’s monitored:
Max Daily Loss
• 10k Account: $500
• 25k Account: $1,250
• 50k Account: $2,500
• 100k Account: $5,000
• 200k Account: $10,000
Max Total Loss
• 10k Account: $1,000
• 25k Account: $2,500
• 50k Account: $5,000
• 100k Account: $10,000
• 200k Account: $20,000
Profit Target
• 10k Account: $1,000
• 25k Account: $2,500
• 50k Account: $5,000
• 100k Account: $10,000
• 200k Account: $20,000
Minimum Trading Days: 4 consecutive days for all account sizes
🔹 Key Features
1. Real-Time Compliance Check
The FTMO Rules Monitor keeps track of your daily and total losses, profit targets, and trading days. Each metric updates in real-time, giving you peace of mind that you’re within FTMO’s rules.
2. Color-Coded Visual Feedback
Each rule’s status is shown clearly with a ✓ for compliance or ✗ if the limit is breached. When a rule is broken, the indicator highlights it in red, so there’s no confusion.
3. Completion Notification
Once all FTMO requirements are met, the indicator closes all open positions and displays a celebratory message on your chart, letting you know you’ve successfully completed the challenge.
4. Easy-to-Read Table
A table on your chart provides an overview of each rule, your target, current performance, and whether you’re meeting each goal. The table adjusts its color scheme based on your chart settings for optimal visibility.
5. Dynamic Position Sizing
Integrated ATR-based position sizing helps you manage risk and avoid large drawdowns, ensuring each trade aligns with FTMO’s risk management principles.
Daveatt
M2 Money Supply vs SPY SpreadSpread between M2 Money Supply and SPY, with Bollinger bands to see when it has become overextended in either direction.
TrendGuard Scalper: SSL + Hama Candle with Consolidation ZonesThis TradingView script brings a powerful scalping strategy that combines the SSL Channel and Hama Candles indicators with a special twist—consolidation detection. Designed for traders looking for consistency in various markets like crypto, forex, and stocks, this strategy highlights clear trend signals, risk management, and helps filter out risky trades during consolidation periods.
Why Use This Strategy?
Clear Trend Detection:
With the SSL Channel, you’ll know exactly when the market is in an uptrend (green) or downtrend (red), giving you straightforward entry points.
Short-Term Trend Precision with Hama Candles:
By calculating unique EMAs for open, high, low, and close, the Hama Candles show the strength and direction of short-term trends. Combined with the Hama Line, it gives you a solid confirmation on whether the trend is strong or about to reverse, allowing for precise entries and exits.
Avoiding Choppy Markets:
Thanks to ATR-based consolidation detection, this strategy identifies low-volatility periods where the market is “choppy” and less predictable. During these times, a yellow background appears on the chart, warning you to hold off on trades, reducing the likelihood of entering losing trades.
Built-In Risk Management:
With adjustable Take Profit and Stop Loss levels based on price movements, you can set and forget your trades, with a safety net if the market turns against you. The strategy automatically closes positions if the price returns to the Hama Candle, keeping your risk low.
How It Works:
Long Position: When both the SSL and Hama indicators show a green trend, and the price is above the Hama Candles, the strategy opens a long position. Take Profit triggers at your chosen risk-to-reward ratio, while Stop Loss protects you just below the Hama Line.
Short Position: When both indicators align in red and the price is below the Hama Candles, the strategy opens a short. Similar to longs, Stop Loss is set just above the Hama Line, and Take Profit is at your defined level.
Start Trading Confidently
Test this strategy with different settings and discover how it can perform across various assets. Whether you're trading Bitcoin, forex pairs, or stocks, this system has the flexibility and robustness to help you spot profitable trends and avoid risky zones. Try it today on a 30-minute timeframe to see how it aligns with your trading goals, and let the consolidation detection guide you away from false signals.
Happy trading, and may the trends be with you! 📈
Pine Execution MapPine Script Execution Map
Overview:
This is an educational script for Pine Script developers. The script includes data structure, functions/methods, and process to capture and print Pine Script execution map of functions called while pine script execution.
Map of execution is produced for last/latest candle execution.
The script also has example code to call execution map methods and generate Pine Execution map.
Use cases:
Pine script developers can get view of how the functions are called
This can also be used while debugging the code and know which functions are called vs what developer expect code to do
One can use this while using any of the open source published script and understand how public script is organized and how functions of the script are called.
Code components:
User defined type
type EMAP
string group
string sub_group
int level
array emap = array.new()
method called internally by other methods to generate level of function being executed
method id(string tag) =>
if(str.startswith(tag, "MAIN"))
exe_level.set(0, 0)
else if(str.startswith(tag, "END"))
exe_level.set(0, exe_level.get(0) - 1)
else
exe_level.set(0, exe_level.get(0) + 1)
exe_level.get(0)
Method called from main/global scope to record execution of main scope code. There should be only one call to this method at the start of global scope.
method main(string tag) =>
this = EMAP.new()
this.group := "MAIN"
this.sub_group := tag
this.level := "MAIN".id()
emap.push(this)
Method called from main/global scope to record end of execution of main scope code. There should be only one call to this method at the end of global scope.
method end_main(string tag) =>
this = EMAP.new()
this.group := "END_MAIN"
this.sub_group := tag
this.level := 0
emap.push(this)
Method called from start of each function to record execution of function code
method call(string tag) =>
this = EMAP.new()
this.group := "SUB"
this.sub_group := tag
this.level := "SUB".id()
emap.push(this)
Method called from end of each function to record end of execution of function code
method end_call(string tag) =>
this = EMAP.new()
this.group := "END_SUB"
this.sub_group := tag
this.level := "END_SUB".id()
emap.push(this)
Pine code which generates execution map and show it as a label tooltip.
if(barstate.islast)
for rec in emap
if(not str.startswith(rec.group, "END"))
lvl_tab = str.repeat("", rec.level+1, "\t")
txt = str.format("=> {0} {1}> {2}", lvl_tab, rec.level, rec.sub_group)
debug.log(txt)
debug.lastr()
Snapshot 1:
This is the output of the script and can be viewed by hovering mouse pointer over the blue color diamond shaped label
Snapshot 2:
How to read the Pine execution map
Hinton Map█ HINTON MAP
This script displays a Hinton Map visualization of market data for user-defined tickers and timeframes. It uses color gradients to represent the magnitude and direction of price change, RSI, and a combination of both.
This is one example. You can modify and try other values as you wish, but do keep the incoming values between -1 and 1.
In the Example Usage:
Users can input up to 5 symbols and 5 timeframes. For each ticker/timeframe combination:
The box size represents the relative magnitude of the 2-bar percentage change.
The box fill color represents the direction and magnitude of the 2-bar percentage change.
The box border color and thickness represent the RSI deviation from 50.
The inner box color represents a combination of price change magnitude and RSI deviation from 50.
Hovering over each box displays a tooltip with the ticker, timeframe, percentage change, and RSI.
Inputs:
• Unit Size (bars):
The size of each Hinton unit in bars.
Type: int
Default Value: 10
• Border Width:
The base width of the inner box border.
Type: int
Default Value: 3
• Negative Hue (0-360):
The hue value for negative price changes (0-360).
Type: float
Default Value: 100
• Positive Hue (0-360):
The hue value for positive price changes (0-360).
Type: float
Default Value: 180
• Ticker 1-5:
The tickers to display on the Hinton map.
Type: string
Default Value: AAPL
• Timeframes (comma separated):
The timeframes to display on the Hinton map (comma-separated).
Type: string
Default Value: 1, 5, 60, 1D, 1W
(Fun Note: My Home town is named `Hinton`)
DYNAMIC USD MOMENTUM INDICATOR
Hello traders,
Welcome to my script, an indicator helping you to quickly see the performance of USD in constant daily comparison to other currencies.
This script requests price data from other charts but displays overbought and oversold labels on any selected chart currency pair.
See attached images to spot high probability reversal days when USD is in extremes against multiple other currencies. The output labels represent the currency traded against USD and reaching overbought and oversold zoned on a dynamic RSI scale.
Suggested pairs with higher co relation to stronger or weaker dollar:
AUD/USD, CAD/USD, EUR/USD, GBP/USD, NZD/USD
CHF/USD and JPY/USD require more in depth analysis of individual performance of JPY AND CHF
Mars Signals - SSL Trend AnalyzerIntroduction
The "Mars Signals - Precision Trend Analyzer with SSL Baseline & Price Action Zones" is a comprehensive technical analysis tool designed for traders seeking to enhance their market analysis and trading strategies. This indicator integrates multiple advanced trading concepts, including dynamic moving averages, trend detection algorithms, momentum indicators, volume analysis, higher timeframe confirmation, candlestick pattern recognition, and precise price action zones. By combining these elements, the indicator aims to provide clear and actionable buy and sell signals, helping traders to make informed decisions in various market conditions.
Core Components and Functionality
1.Dynamic Baseline Calculation
Moving Average Types: The indicator allows users to select from a variety of moving average types for the baseline calculation, including Simple Moving Average (SMA), Exponential Moving Average (EMA), Hull Moving Average (HMA), Weighted Moving Average (WMA), Double EMA (DEMA), Triple EMA (TEMA), Least Squares Moving Average (LSMA), Triangular Moving Average (TMA), Kijun (from Ichimoku Kinko Hyo), and McGinley's Dynamic.
Baseline Length: Users can customize the length of the moving average, providing flexibility to adjust the sensitivity of the baseline to market movements.
Signal Line Generation: The indicator computes a dynamic signal line based on the relationship between the close price and the moving averages of the high and low prices. This signal line adapts to market volatility and trend changes.
2.SSL Baseline Integration
SSL Baseline: In addition to the primary baseline, the indicator incorporates an SSL (Semaphore Signal Level) Baseline, which further refines trend detection by considering the highs and lows over a specified period.
Dual Confirmation: The combination of the primary baseline and the SSL baseline enhances the reliability of the trend signals by requiring agreement between both baselines before generating a signal.
3.Momentum and Trend Filters
Relative Strength Index (RSI): The indicator uses the RSI to assess the momentum of price movements, filtering out signals that occur during overbought or oversold conditions.
Moving Average Convergence Divergence (MACD): The MACD is employed to identify the direction and strength of the trend, adding another layer of confirmation to the signals.
Average Directional Index (ADX): The ADX measures the strength of the trend, ensuring that signals are generated only when the market shows significant directional movement.
4.Volume Analysis
Volume Filter: An optional volume filter compares the current volume to its moving average, allowing traders to focus on signals that occur during periods of higher market activity.
5.Higher Timeframe Confirmation
Multi-Timeframe Analysis: The indicator can incorporate data from a higher timeframe, comparing the current price to the higher timeframe's baseline and signal line. This feature helps traders align their trades with the broader market trend.
6.Candlestick Pattern Recognition
Bullish Patterns: The indicator detects bullish patterns such as Bullish Engulfing, Piercing Line, Hammer, and Doji.
Bearish Patterns: It also identifies bearish patterns like Bearish Engulfing, Dark Cloud Cover, Shooting Star, and Doji.
Pattern Prioritization: The patterns are prioritized to highlight the most significant formations, which can serve as additional confirmation for trade entries and exits.
7.Price Action Zones
Support and Resistance Levels: The indicator automatically identifies pivot highs and lows to establish dynamic support and resistance levels.
Zone Visualization: It draws shaded rectangles on the chart to represent these zones, providing a clear visual aid for potential reversal or breakout areas.
ATR-Based Zone Width: The zones' thickness is dynamically calculated using the Average True Range (ATR), adjusting to the current market volatility.
Background Coloring: The chart background changes color when the price is above the maximum resistance or below the minimum support, alerting traders to significant price movements.
Interpreting the Signals
1.Buy Signals
Conditions:
Price crosses above the signal line.
RSI is below 70 (not overbought).
MACD line is above the signal line (indicating bullish momentum).
ADX is above the user-defined threshold (default is 20), confirming a strong trend.
(Optional) Volume is above its moving average if the volume filter is enabled.
(Optional) Price is above the higher timeframe baseline and signal line if the higher timeframe filter is enabled.
(Optional) A bullish candlestick pattern is detected if the candlestick pattern filter is enabled.
Visual Indicators:
An upward-pointing label with the text "BUY" appears below the price bar.
The baseline and SSL baseline lines turn to colors indicating bullish conditions.
2.Sell Signals
Conditions:
Price crosses below the signal line.
RSI is above 30 (not oversold).
MACD line is below the signal line (indicating bearish momentum).
ADX is above the user-defined threshold, confirming a strong trend.
(Optional) Volume is above its moving average if the volume filter is enabled.
(Optional) Price is below the higher timeframe baseline and signal line if the higher timeframe filter is enabled.
(Optional) A bearish candlestick pattern is detected if the candlestick pattern filter is enabled.
Visual Indicators:
A downward-pointing label with the text "SELL" appears above the price bar.
The baseline and SSL baseline lines turn to colors indicating bearish conditions.
3.Support and Resistance Zones
Interpretation:
Resistance Zones: Represent areas where the price may face selling pressure. A break above these zones can signal a strong bullish move.
Support Zones: Represent areas where the price may find buying interest. A break below these zones can signal a strong bearish move.
Background Color:
The background turns red when the price is above the maximum resistance, indicating potential overextension.
The background turns green when the price is below the minimum support, indicating potential undervaluation.
Effective Usage Strategies
1.Customization
Adjusting Baseline and SSL Settings: Traders should experiment with different moving average types and lengths to match their trading style and the specific characteristics of the asset being analyzed.
Filtering Parameters: Modify RSI, MACD, and ADX settings to fine-tune the sensitivity of the signals.
Volume and Higher Timeframe Filters: Enable these filters to add robustness to the signals, especially in volatile markets or when trading higher timeframes.
2.Combining with Other Analysis
Fundamental Analysis: Use the indicator in conjunction with fundamental insights to validate technical signals.
Risk Management: Always apply proper risk management techniques, such as setting stop-loss and take-profit levels based on the support and resistance zones provided by the indicator.
3.Backtesting
Historical Analysis: Utilize the indicator's settings to backtest trading strategies on historical data, helping to identify the most effective configurations before applying them in live trading.
4.Monitoring Market Conditions
Volatility Awareness: Pay attention to the ATR and ADX readings to understand market volatility and trend strength, adjusting strategies accordingly.
Event Considerations: Be cautious around major economic announcements or events that may impact market behavior beyond technical indications.
Indicator Inputs and Customization Options
Baseline Type and Length: Select from multiple moving average types and specify the period length.
ADX Settings: Adjust the length, smoothing, and threshold for trend strength confirmation.
Volume Filter: Enable or disable the volume confirmation filter.
Higher Timeframe Filter: Choose to incorporate higher timeframe analysis and specify the desired timeframe.
Candlestick Patterns: Enable or disable the detection of candlestick patterns for additional signal confirmation.
SSL Baseline Type and Length: Customize the SSL baseline settings separately from the primary baseline.
Price Action Zones Settings:
Zone Thickness: Adjust the visual thickness of the support and resistance zones.
Lookback Period: Define how far back the indicator looks for pivot points.
ATR Multiplier for Zone Width: Set the multiplier for ATR to determine the dynamic width of the zones.
Maximum Number of Zones: Limit the number of support and resistance zones displayed.
Pivot Bars: Customize the number of bars to the left and right used for identifying pivot highs and lows.
Conclusion
The "Mars Signals - Precision Trend Analyzer with SSL Baseline & Price Action Zones" is a versatile and powerful tool that amalgamates essential technical analysis techniques into a single, user-friendly indicator. By providing clear visual signals and incorporating multiple layers of confirmation, it assists traders in identifying high-probability trading opportunities. Whether you are a day trader, swing trader, or long-term investor, this indicator can be tailored to suit your trading style and enhance your decision-making process.
To maximize the benefits of this indicator:
Understand Each Component: Familiarize yourself with how each part of the indicator contributes to the overall signal generation.
Customize Thoughtfully: Adjust the settings based on the asset class, market conditions, and your risk tolerance.
Practice Diligently: Use demo accounts or paper trading to practice and refine your strategy before deploying it in live markets.
Stay Informed: Continuously educate yourself on technical analysis and market dynamics to make the most informed decisions.
Disclaimer
Trading financial markets involves risk, and past performance is not indicative of future results. This indicator is a tool to aid in analysis and should not be the sole basis for any trading decision. Always conduct your own research and consider consulting with a licensed financial advisor.
Vektorkerzen HighlightThe indicator highlights candles when:
The volume is at least twice the 20-period moving average.
The range (difference between high and low prices) is at least twice the 20-period average range.
[MAD MBS] L3 Float Operations & ML-NormalizersFirst of all:
This indicator is not a standalone tool ; it relies on other script series for its inputs.
This script is an indicator designed for multi-path float operations with integrated machine learning normalizers.
It supports up to four distinct paths, each customizable with multiple sources, factors, and operations.
Users can perform various mathematical operations on price data, including addition, subtraction, multiplication, division, and percentage changes, as well as more advanced tasks like double and triple moving averages or power operations.
The script also integrates several normalization methods (e.g., Min-Max, Z-Score, Robust) to standardize data—an important step for machine learning models.
Each path supports multiple smoothing techniques (e.g., EMA, SMA, and specialized Ehlers smoothers) to further refine the output.
Designed to handle multiple data inputs simultaneously, this tool is especially useful for traders looking to analyze and normalize data from different price sources.
The combination of advanced mathematical operations, normalization techniques, and smoothing enhances data management, aiding in more effective trading decisions.
Here you can see a single path, out of the four possible:
Details to the screenshot:
First Series
Second Series
Option to override the second series with a custom constant (or when normalizing, use the length instead)
The first selection box sets the mathematical operation or activates the normalizer.
The second selection box sets the normalization method.
The third selection box sets the final smoothing technique, followed by parameters for smoothing length.
These settings are repeated identically for Paths 2–4.
At the bottom of the setup, there's a general offset option (add the 'close' price for overlay purposes).
Additionally, there's an option to display a line at zero for centered results.
Martingale with MACD+KDJ opening conditionsStrategy Overview:
This strategy is based on a Martingale trading approach, incorporating MACD and KDJ indicators. It features pyramiding, trailing stops, and dynamic profit-taking mechanisms, suitable for both long and short trades. The strategy increases position size progressively using a Multiplier, a key feature of Martingale systems.
Key Concepts:
Martingale Strategy: A trading system where positions are doubled or increased after a loss to recover previous losses with a single successful trade. In this script, the position size is incremented using a Multiplier for each addition.
Pyramiding: Allows adding to existing trades when market conditions are favorable, enhancing profitability during trends.
Settings:
Basic Inputs:
Initial Order: Defines the starting size of the position.
Default: 150.0
MACD Settings: Customize the fast, slow, and signal smoothing lengths.
Default: Fast Length: 9, Slow Length: 26, Signal Smoothing: 9
KDJ Settings: Customize the length and smoothing parameters for KDJ.
Default: Length: 14, Smooth K: 3, Smooth D: 3
Max Additions: Sets the number of additional positions (pyramiding).
Default: 5 (Min: 1, Max: 10)
Position Sizing: Percent to add to positions on favorable conditions.
Default: 1.0%
Martingale Multiplier:
Add Multiplier: This value controls the scaling of additional positions according to the Martingale principle. After each loss, a new position is added, and its size is increased by the Multiplier factor. For example, with a multiplier of 2, each new addition will be twice as large as the previous one, accelerating recovery if the price moves favorably.
Default: 1.0 (no multiplication)
Can be adjusted up to 10x to aggressively increase position size after losses.
Trade Execution:
Long Trades:
Entry Condition: A long position is opened when the MACD line crosses over the signal line, and the KDJ’s %K crosses above %D.
Additions (Martingale): After the initial long position, new positions are added if the price drops by the defined percentage, and each new addition is increased using the Multiplier. This continues up to the set Max Additions.
Short Trades:
Entry Condition: A short position is opened when the MACD line crosses under the signal line, and the KDJ’s %K crosses below %D.
Additions (Martingale): After the initial short position, new positions are added if the price rises by the defined percentage, and each new addition is increased using the Multiplier.
Exit Conditions:
Take Profit: Exits are triggered when the price reaches the take-profit threshold.
Stop Loss: If the price moves unfavorably, the position will be closed at the set stop-loss level.
Trailing Stop: Adjusts dynamically as the price moves in favor of the trade to lock in profits.
On-Chart Visuals:
Long Signals: Blue triangles below the bars indicate long entries, and green triangles mark additional long positions.
Short Signals: Red triangles above the bars indicate short entries, and orange triangles mark additional short positions.
Information Table:
The strategy displays a table with key metrics:
Open Price: The entry price of the trade.
Average Price: The average price of the current position.
Additions: The number of additional positions taken.
Next Add Price: The price level for the next position.
Take Profit: The price at which profits will be taken.
Stop Loss: The stop-loss level to minimize risk.
Usage Instructions:
Adjust the parameters to your trading style using the input settings.
The Multiplier amplifies your position size after each addition, so use it cautiously, especially in volatile markets.
Monitor the signals and table on the chart for entry/exit decisions and trade management.
RSI Crossover Strategy with Compounding (Monthly)Explanation of the Code:
Initial Setup:
The strategy initializes with a capital of 100,000.
Variables track the capital and the amount invested in the current trade.
RSI Calculation:
The RSI and its SMA are calculated on the monthly timeframe using request.security().
Entry and Exit Conditions:
Entry: A long position is initiated when the RSI is above its SMA and there’s no existing position. The quantity is based on available capital.
Exit: The position is closed when the RSI falls below its SMA. The capital is updated based on the net profit from the trade.
Capital Management:
After closing a trade, the capital is updated with the net profit plus the initial investment.
Plotting:
The RSI and its SMA are plotted for visualization on the chart.
A label displays the current capital.
Notes:
Test the strategy on different instruments and historical data to see how it performs.
Adjust parameters as needed for your specific trading preferences.
This script is a basic framework, and you might want to enhance it with risk management, stop-loss, or take-profit features as per your trading strategy.
Feel free to modify it further based on your needs!
Point and Figure Displacement IndicatorThe PnF Displacement indicator is my custom script for TradingView, designed to analyze Point and Figure (PnF) charts with displacement features.
Key components of the script include:
User Inputs:
Require FVG: A boolean input to determine if a Fair Value Gap (FVG) is required for displacement calculations.
Displacement Type: Allows users to choose between "Open to Close" and "High to Low" for column range calculations.
Displacement Length: Defines how far back to look for calculating the standard deviation of the column range.
Displacement Strength: Multiplier for the standard deviation to adjust sensitivity.
Box Size: Sets the size of each box in the PnF chart.
Number of Boxes for Minimum Displacement: Specifies how many boxes to consider for calculating the minimum displacement.
Displacement Logic:
The script calculates the column range based on the selected displacement type.
It computes a standard deviation of the candle range and determines a minimum displacement based on user-defined box size and count.
The displacement condition combines the FVG check and the column range against the calculated minimum.
Visual Representation:
The bars are colored based on displacement conditions, enhancing visual analysis on the chart.
This indicator aids traders in identifying significant price movements in PnF charts while incorporating user customization options for better analysis.
PnF Fibonacci Levels with AlertsMy Pine Script indicator, "PnF Fibonacci Levels with Alerts," overlays on a trading chart to generate alerts based on Fibonacci levels in Point and Figure (PnF) charts.
Key Features:
Inputs and Initialization:
It uses a customizable Fibonacci level (set at 0.236) and initializes variables for tracking the high and low of O and X columns.
O Column Logic:
When the current column is identified as an O column (when the close is less than the open), it calculates the Fibonacci level based on the high and low of that column, drawing a line on the chart.
Buy Alert:
If the closing price of the previous bar is above the Fibonacci level of the O column, a buy alert is triggered.
X Column Logic:
If the current column is an X column and the close is above the previous O column's low, it captures the current high and low, calculates the Fibonacci level, and draws it on the chart.
Sell Alert:
A sell alert is triggered if the closing price of the X column is at or below the specified Fibonacci level.
This indicator aids traders by highlighting critical Fibonacci levels and providing timely alerts for potential buy and sell opportunities.
PnF Bullish & Bearish Trend Line Indicator with Proximity AlertThis Pine Script indicator, "PnF Bullish and Bearish Trend line Proximity Alert," overlays on a trading chart to monitor and alert users about interactions with bullish and bearish trend lines derived from Point and Figure (PnF) charting.
Key Features:
Inputs: Users can set parameters such as box size, bullish and bearish angles (in degrees), and a proximity threshold for detecting touches.
Slope Calculation: The script calculates the slopes for bullish and bearish trendlines using the tangent of the specified angles.
Trendline Management:
It initializes and updates trend lines based on price interactions, adjusting their starting points and positions as conditions change.
Proximity Detection: The indicator checks if the current price is close enough to the trend lines and sets conditions for alerts.
Alerts: Users receive alerts when both trend lines are touched, enhancing decision-making for trading strategies.
Visual Feedback: It highlights areas where both trend lines are touched and plots the trend lines in distinct colors for clarity.
This indicator provides an effective way to track key price levels and potential trend reversals in the market.
ADX + Volume Strategy### Strategy Description: ADX and Volume-Based Trading Strategy
This strategy is designed to identify strong market trends using the **Average Directional Index (ADX)** and confirm trading signals with **Volume**. The idea behind the strategy is to enter trades only when the market shows a strong trend (as indicated by ADX) and when the price movement is supported by high trading volume. This combination helps filter out weaker signals and provides more reliable entries into positions.
### Key Indicators:
1. **ADX (Average Directional Index)**:
- **Purpose**: ADX is a technical indicator that measures the strength of a trend, regardless of its direction (up or down).
- **Usage**: The strategy uses ADX to determine whether the market is trending strongly. If ADX is above a certain threshold (default is 25), it indicates that a strong trend is present.
- **Directional Indicators**:
- **DI+ (Directional Indicator Plus)**: Indicates the strength of the upward price movement.
- **DI- (Directional Indicator Minus)**: Indicates the strength of the downward price movement.
- ADX does not indicate the direction of the trend but confirms that a trend exists. DI+ and DI- are used to determine the direction.
2. **Volume**:
- **Purpose**: Volume is a key indicator for confirming the strength of a price movement. High volume suggests that a large number of market participants are supporting the movement, making it more likely to continue.
- **Usage**: The strategy compares the current volume to the 20-period moving average of the volume. The trade signal is confirmed if the current volume is greater than the average volume by a specified **Volume Multiplier** (default multiplier is 1.5). This ensures that the trade is supported by strong market participation.
### Strategy Logic:
#### **Entry Conditions:**
1. **Long Position** (Buy):
- **ADX** is above the threshold (default is 25), indicating a strong trend.
- **DI+ > DI-**, signaling that the market is trending upward.
- The **current volume** is greater than the 20-period average volume multiplied by the **Volume Multiplier** (e.g., 1.5), indicating that the upward price movement is backed by sufficient market activity.
2. **Short Position** (Sell):
- **ADX** is above the threshold (default is 25), indicating a strong trend.
- **DI- > DI+**, signaling that the market is trending downward.
- The **current volume** is greater than the 20-period average volume multiplied by the **Volume Multiplier** (e.g., 1.5), indicating that the downward price movement is backed by strong selling activity.
#### **Exit Conditions**:
- Positions are closed when the opposite signal appears:
- **For long positions**: Close when the short conditions are met (ADX still above the threshold, DI- > DI+, and the volume condition holds).
- **For short positions**: Close when the long conditions are met (ADX still above the threshold, DI+ > DI-, and the volume condition holds).
### Parameters:
- **ADX Period**: The period used to calculate ADX (default is 14). This controls how sensitive the ADX is to price movements.
- **ADX Threshold**: The minimum ADX value required for the strategy to consider the market trend as strong (default is 25). Higher values focus on stronger trends.
- **Volume Multiplier**: This parameter adjusts how much higher the current volume needs to be compared to the 20-period moving average for the signal to be valid. A value of 1.5 means the current volume must be 50% higher than the average volume.
### Example Trade Flow:
1. **Long Trade Example**:
- ADX > 25, confirming a strong trend.
- DI+ > DI-, confirming that the trend direction is upward.
- The current volume is 50% higher than the 20-period average volume (multiplied by 1.5).
- **Action**: Enter a long position.
2. **Short Trade Example**:
- ADX > 25, confirming a strong trend.
- DI- > DI+, confirming that the trend direction is downward.
- The current volume is 50% higher than the 20-period average volume.
- **Action**: Enter a short position.
### Strengths of the Strategy:
- **Trend Filtering**: The strategy ensures that trades are only taken when the market is trending strongly (confirmed by ADX) and that the price movement is supported by high volume, reducing the likelihood of false signals.
- **Volume Confirmation**: Using volume as confirmation provides an additional layer of reliability, as volume spikes often accompany sustained price moves.
- **Dual Signal Confirmation**: Both trend strength (ADX) and volume conditions must be met for a trade, making the strategy more robust.
### Weaknesses of the Strategy:
- **Limited Effectiveness in Range-Bound Markets**: Since the strategy relies on strong trends, it may underperform in sideways or non-trending markets where ADX stays below the threshold.
- **Lagging Nature of ADX**: ADX is a lagging indicator, which means that it may confirm the trend after it has already begun, potentially leading to late entries.
- **Volume Requirement**: In low-volume markets, the volume multiplier condition may not be met often, leading to fewer trade opportunities.
### Customization:
- **Adjust the ADX Threshold**: You can raise the threshold if you want to focus only on very strong trends, or lower it to capture moderate trends.
- **Adjust the Volume Multiplier**: You can change the multiplier to be more or less strict. A higher multiplier (e.g., 2.0) will require a stronger volume spike to confirm the signal, while a lower multiplier (e.g., 1.2) will allow more trades with weaker volume confirmation.
### Summary:
This ADX and Volume strategy is ideal for traders who want to follow strong trends while ensuring that the trend is supported by high trading volume. By combining a trend strength filter (ADX) and volume confirmation, the strategy aims to increase the probability of entering profitable trades while reducing the number of false signals. However, it may underperform in range-bound markets or in markets with low volume.
WSITEEE Imbalance/FVG (FAIR VALUE GAP)Imbalance/FVG (Fair Value Gap) refers to a price imbalance, representing a range on the chart where little liquidity was provided.
Imbalance implies a strong impulsive movement of a candle, which the price almost always returns to cover.
The best analogy would be to imagine painting a wall with a roller. If you move the roller from top to bottom, what remains on the wall? That’s right, gaps that need to be filled. How do you fill them? Exactly, by moving the roller from bottom to top. The same principle applies to imbalance.
How do you correctly mark an Imbalance?
The first thing we need to find on the chart is three candles, one of which should be impulsive. Next, using the “Fibonacci Retracement” tool, we stretch it from the wick of the first candle to the wick of the last candle.
Imbalance can be used both for determining context and as an entry model. On a higher timeframe, it acts as a point of interest (POI), within which you can look for factors to build a position.
This Pine Script is designed for Smart Money traders who work with Fair Value Gaps (FVG). FVGs are three-candle patterns where the third candle does not fully overlap the first, leaving a gap on the second candle. The script helps to automatically detect these gaps and highlight them on the chart with different colors based on their status and type.
It allows for the visualization of imbalances on the chart, highlighting key zones that can serve as important levels for decision-making. With flexible color and label settings, the script can be tailored to individual needs, enhancing data visualization on the chart.
bar_index inspectorThis is a tool for developers who are working with index based plots and find themselves adding the bar_index to their indicators on a regular basis during development and debugging.
What it does:
shows the bar_index in the status line and data window.
plots optional labels (bar index + time) into the chart every 10 bars
Crossover CounterExplanation:
Crossover Detection: We detect the crossover of the 20-period and 50-period moving averages using ta.crossover().
Tracking Price Movement: After the crossover, we start tracking the price to check if it moves up or down by 2%. If an up movement occurs before a down movement, we increment the positive counter. If a down movement occurs first, we increment the negative counter.
Reset Condition: Once either a 2% up or down move is detected, we stop tracking until the next crossover.
Table Display: A table shows the counts of positive and negative events.
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.
Shifted Symbol Overlay with OffsetThe Shifted Symbol Overlay Indicator is a custom TradingView indicator designed to overlay the price data of one stock or asset over another, allowing for direct visual comparison. This is particularly useful for comparing the performance of two assets over different time periods. The indicator enables you to shift the data from one asset either forward or backward in time, making it easier to compare historical data from one stock with more recent data from another. The indicator supports shifting both to the right (future periods) and to the left (earlier periods), helping traders and analysts explore correlations or divergences between two financial instruments.
The indicator also includes a normalization option that adjusts the scale of the two assets, so you can compare them even if they have vastly different price levels. This is useful when you're interested in relative performance rather than the absolute price values.
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.