Session HL + Candles + AMD (Nephew_Sam_)Session HL + Candles + AMD (Nephew_Sam_)
This indicator marks out intraday sessions summarized into single candles, with an additional option to mark out the HL of each session. Perfect for understanding AMD within a glance (accumulation-manipulation-distribution)
Features:
Session High/Low lines with customizable colors and labels
Optional session candles displayed on the right side of the chart
Timezone support for global traders
Customizable bull/bear candle colors
Works on timeframes up to 1 hour
Perfect for:
Identifying session liquidity levels
Tracking session ranges and breakouts
Multi-timeframe session analysis
ICT methodology traders
Settings:
Choose your timezone for accurate session detection
Toggle session candles and HL lines independently
Customize colors, line styles, and labels
Set maximum timeframe (up to 1 hour)
Cerca negli script per "chart"
Expansion Triangle [TradingFinder] MegaPhone Broadening🔵 Introduction
The Expanding Triangle, also known as the Broadening Formation, is one of the key technical analysis patterns that clearly reflects growing market volatility, increasing indecision among participants, and the potential for sharp price explosions.
This pattern is typically defined by a sequence of higher highs and lower lows, forming within two diverging trendlines. Unlike traditional triangles that converge to a breakout point, the expanding triangle pattern becomes wider over time, leaving no precise apex for a breakout to occur.
From a price action perspective, the pattern represents a prolonged tug-of-war between buyers and sellers, where neither side has taken control yet. Each aggressive swing opens the door to new opportunities whether it's a trend reversal, range trading, or a momentum breakout. This dual nature makes the pattern highly versatile across market conditions, from exhausted trend ends to volatile consolidation zones.
The custom-built indicator for this pattern uses a combination of smart algorithms and detailed analysis of swing dynamics to automatically detect expanding triangles and highlight low-risk entry points.
Traders can use this tool to capitalize on high-probability setups from shorting near the upper edge of the structure with confirmation, to trading bearish breakouts during trend continuations, or entering long positions near the lower boundary during bullish reversals. The chart examples included in this article demonstrate these three highly practical trading scenarios in live market conditions.
A major advantage of this indicator lies in its structural filtering engine, which analyzes the behavior of each price leg in the triangle. With four adjustable filter levels from Very Aggressive, which highlights all potential patterns, to Very Defensive, which only triggers when price actually touches the triangle's trendlines the indicator ensures that only structurally sound and verified setups appear on the chart, reducing noise and false signals significantly.
Long Setup :
Short Setup :
🔵 How to Use
The pattern typically forms in conditions of heightened uncertainty and volatility, where price swings generate a series of higher highs and lower lows. The expanding triangle consists of three key legs bounded by diverging trendlines. The indicator intelligently analyzes each leg's direction and angle to determine whether a valid pattern is forming.
At the core of the indicator’s logic is its leg filtering system, which controls the quality of the pattern and filters out weak or noisy setups. Four structural filter modes are available to suit different trading styles and risk preferences. In Very Aggressive mode, filters are disabled, and the indicator detects any pattern purely based on the sequence of swing points.
This mode is ideal for traders who want to see everything and apply their own discretion.
In Aggressive mode, the indicator checks whether each new leg extends no more than twice the length of the previous one. If a leg overshoots excessively, the structure is invalidated.
In Defensive mode, the filter enforces a minimum movement requirement each leg must move at least 2% of the previous one. This prevents the formation of shallow, weak patterns that visually resemble triangles but lack substance.
The strictest setting, Very Defensive, combines all previous filters and additionally requires the price to physically touch the triangle’s trendlines before issuing a signal. This ensures that setups only appear when real market interaction with key structural levels has occurred, not based on assumptions or geometry alone. This mode is ideal for traders seeking maximum precision and minimal risk.
🟣 Bullish Setup
A bullish setup within the Expanding Triangle pattern occurs when price revisits the lower support boundary after a series of broad swings typically near the third leg of the formation. This area often represents a shift in momentum, where sellers begin to lose strength and buyers prepare to take control.
Ideally, the setup is accompanied by a bullish reversal candle (e.g. doji, pin bar, or engulfing) near the lower trendline. If the Very Defensive filter is active, the indicator will only issue a signal if price makes a confirmed touch on the trendline and reacts from that level. This significantly improves signal accuracy and filters out premature entries.
After confirmation, traders may choose to enter a long position on the bullish candle or shortly afterward. A logical stop-loss is placed just below the recent swing low within the pattern. The target can be set at or near the upper trendline, or projected using the full height of the triangle added to the breakout point. On higher timeframes, this reversal often marks the beginning of a strong uptrend.
🟣 Bearish Setup
A bearish setup forms when price climbs toward the upper resistance trendline, usually as the third leg completes. This is where buyers often begin to show exhaustion, and sellers step in with strength providing an ideal low-risk entry point for short positions.
As with the bullish setup, if the Candle Confirmation filter is enabled, the indicator will only show a signal when a bearish reversal candle forms at the point of contact. If Defensive or Very Defensive filters are also active, the setup must meet strict criteria of proportionate leg movement and an actual trendline touch to qualify.
Once confirmed, traders can enter on the reversal candle, placing a stop-loss slightly above the recent high. The target can be set at the lower trendline or calculated based on the triangle's full height, projected downward. This setup is particularly useful at the end of weak bullish trends or in volatile market tops.
🔵 Settings
🟣 Logic Settings
Pivot Period : Defines how many bars are analyzed to identify swing highs and lows. Higher values detect larger, slower structures, while lower values respond to faster patterns. The default value of 13 offers a balanced sensitivity.
Pattern Filter :
Very Aggressive : Detects all patterns based on point sequence with no structural checks.
Aggressive : Ensures each leg is no more than 2x the size of the previous one.
Defensive : Requires each leg to be at least 2% the size of the previous leg.
Very Defensive : The strictest level; only confirms patterns when price touches trendlines.
Candle Confirmation : When enabled, the indicator requires a valid confirmation candle (doji, pin bar, engulfing) at the interaction point with the trendline before issuing a signal. This reduces false entries and improves entry precision.
🟣 Alert Settings
Alert : Enables alerts for SSS.
Message Frequency : Determines the frequency of alerts. Options include 'All' (every function call), 'Once Per Bar' (first call within the bar), and 'Once Per Bar Close' (final script execution of the real-time bar). Default is 'Once per Bar'.
Show Alert Time by Time Zone : Configures the time zone for alert messages. Default is 'UTC'.
🔵 Conclusion
The Expanding Triangle pattern, with its wide structure and volatility-driven nature, represents chaos but also opportunity. For traders who can read its behavior, it provides some of the most powerful setups for reversals, breakouts, and range-based trades. While the pattern may seem messy at first glance, it is built on clear logic and when properly detected, it offers high-probability opportunities.
This indicator doesn’t just draw expanding triangles it intelligently evaluates their structural quality, validates price interaction through candle confirmation, and allows the trader to fine-tune the detection logic through adjustable filter levels. Whether you’re a reversal trader looking for a turning point, or a breakout trader hunting momentum, this tool adapts to your strategy.
In volatile or uncertain markets, where fakeouts and sudden shifts are common, this indicator can become a cornerstone of your trading system helping you turn volatility into structured, high-quality opportunities.
Essa's Sessions IndicatorOverview
This powerful tool is designed to visually map out the key trading sessions: Asia, London, and New York directly on your chart. By highlighting these periods and plotting their respective highs and lows, it helps you identify critical price levels, gauge market sentiment, and pinpoint potential breakout opportunities with ease.
What It Does
Visualizes Key Trading Sessions: Automatically draws colored backgrounds for the Asia, London, and New York sessions to show you exactly when the most important market activity is happening.
Plots Session Highs & Lows: Displays precise horizontal lines for the highest and lowest prices reached during each session, acting as key support and resistance levels.
Dual Timezone Mode: Easily switch between London (GMT/BST) and New York (EST/EDT) timezones with a single click. The indicator automatically adjusts all session times for you, ensuring accuracy no matter where you are.
Interactive & Informative Labels: Hover over any session high or low label to see a detailed tooltip containing:
The exact price level.
The session's price range (calculated in pips or points).
The total daily price range for broader context.
A simple volatility gauge (from "Low Vol 😴" to "High Vol 🔥").
Customizable Alerts: Enable breakout alerts to receive instant notifications the moment the price closes above a session high or below a session low.
Simple, powerful, and highly informative, this indicator is an essential tool for traders looking to build strategies around session-based price action.
Alt Szn Oracle - Institutional GradeThe Alt Szn Oracle is a macro-level indicator built to help traders front-run altseason by tracking liquidity, dominance rotation, sentiment, and capital flows—all in one signal. It’s designed for those who don’t just chase pumps, but want to understand when the tide is turning and why. This tool doesn't predict specific coin breakouts—it tells you when the market as a whole is gearing up to rotate into higher beta assets like altcoins, including memes and microcaps.
The index consolidates ten macro inputs into a normalized, smoothed score from 0–100. These include Bitcoin and Ethereum dominance, ETH/BTC, altcoin market cap (Total3), relative volume flows, and stablecoin supply (USDT, USDC, DAI)—which act as proxies for risk-on appetite and dry powder entering the system. It also incorporates manually updated sentiment metrics from Google Trends and the Fear & Greed Index, giving it a behavioral edge that most indicators lack.
The logic is simple but powerful: when BTC dominance is falling, ETH/BTC is rising, altcoin volume increases relative to BTC/ETH, and stablecoins start moving—you're likely in the early innings of rotation. The index is also filtered through a volatility threshold and smoothed with an EMA to eliminate chop and fakeouts.
Use this indicator on macro charts like TOTAL3, TOTAL2, or ETHBTC to gauge market health, or overlay it on specific coins like PEPE, DOGE, or SOL to confirm if the tide is in your favor. Interpreting the score is straightforward: readings above 80 suggest euphoria and signal it’s time to de-risk, 60–80 indicates expansion and confirms altseason is underway, 40–60 is neutral, and 20–40 is a capitulation zone where smart money accumulates.
What sets this apart is that it doesn’t just track price—it reflects the flow of capital, the positioning of liquidity, and the sentiment of the crowd. Most altseason indicators are lagging, overfitted, or too simplistic. This one is modular, forward-looking, and grounded in real capital rotation theory.
If you're a trader who wants to time the cycle, not guess it, this is your tool. Refine it, fork it, or expand it to your niche—DeFi, NFTs, meme coins, or L1s. It’s a framework for reading the macro winds, not a signal service. Use it with discipline, and you’ll catch the wave while others drown in noise.
Futures Support & Resistance LevelsMulti-Timeframe Support & Resistance Levels for Futures Trading
Description:
This indicator automatically identifies and displays key support and resistance levels using multiple technical analysis methods. Designed specifically for futures traders (ES, NQ, etc.), it provides a clean, organized view of important price levels.
Key Features:
Multiple Detection Methods: Combines pivot points, daily ranges, and psychological levels
Smart Ranking System: Levels are numbered by strength (1 = strongest)
Clean Visualization: Extended lines across the chart with clear price labels
Confluence Detection: Highlights areas where multiple levels converge
Customizable Display: Adjust colors, line styles, and label sizes
Level Types Identified:
Daily High/Low (current session)
Previous Daily High/Low
Pivot-based Support/Resistance
Psychological Round Numbers
Confluence Zones (multiple levels clustering)
Technical Approach:
The indicator uses a strength-scoring algorithm to rank levels by importance. Daily levels receive the highest weighting (2.0), followed by previous daily levels (1.5), pivot points (1.0), and psychological levels (0.5). This helps traders focus on the most significant levels.
Visual Elements:
Solid lines = Strong levels
Dashed lines = Medium levels
Dotted lines = Weak levels
Optional technical condition markers for educational analysis
Best Used For:
Identifying key intraday levels for futures trading
Finding high-probability reversal zones
Setting logical stop-loss and take-profit levels
Recognizing confluence areas for stronger setups
Note:
This is a technical analysis tool for educational purposes. No indicator can predict future price movements. Always use proper risk management and combine with other forms of analysis.
Jumping watermark# Jumping watermark
## Function description
- Dynamic watermark: Mainly used to add dynamic watermarks to prevent theft and transfer when recording videos.
- Static watermark: Sharing opinions can easily include information such as trading pairs, cycles, current time, and individual signatures.
### Static watermark:
Display the watermark related to the current trading pair in the center of the chart.
- Configuration items:
- You can choose to configure the display content: current trading pair code and name, cycle, date, time, and individual signature content
### Dynamic watermark
Display the configured watermark content in a dynamic random position.
- Configuration items:
- Turn on or off the display of watermark jumping
- Modify the display text content and style by yourself
----- 中文简介-----
# 跳动水印
## 功能描述
- 动态水印: 主要可用于视频录制时添加动态水印防盗、防搬运。
- 静态水印:观点分享是可方便的带上交易对、周期、当前时间、个签等信息。
### 静态水印:
在图表中心位置显示当前交易对相关信息水印。
- 配置项:
- 可选择配置显示内容:当前交易对代码及名称、周期、日期、时间、个签内容
### 动态水印
动态随机位置显示配置水印内容。
- 配置项:
- 开启或关闭显示水印跳动
- 自行修改配置显示文字内容和样式
Candles by Day, Time, Month + StatsThis Pine Script allows you to filter and display candles based on:
📅 Specific days of the week
🕒 Custom intraday time ranges (e.g., 9:15 to 10:30)
📆 Selected months
📊 Shows stats for each filtered block:
🔼 Range (High – Low)
📏 Average candle body size
⚙️ Key Features:
✅ Filter by day, time, and month
🎛 Toggle to show/hide the stats label
🟩 Candles are drawn only for selected conditions
📍 Stats label is positioned above session high (adjustable)
⚠️ Important Setup Instructions:
✅ 1. Use it on a blank chart
To avoid overlaying with default candles:
Open the chart of your preferred symbol
Click on the chart type (top toolbar: "Candles", "Bars", etc.)
Select "Blank" from the dropdown (this will hide all native candles)
Apply this indicator
This ensures only the filtered candles from the script are visible.
Adjust for your local timezone
This script uses a hardcoded timezone: "Asia/Kolkata"
If you are in a different timezone, change it to your own (e.g. "America/New_York", "Europe/London", etc.) in all instances of:
time(timeframe.period, "Asia/Kolkata")
timestamp("Asia/Kolkata", ...)
Use Cases:
Opening range behavior on specific weekdays/months
Detecting market anomalies during exact windows
Building visual logs of preferred trade hours
Enhanced Ichimoku Cloud Strategy V1 [Quant Trading]Overview
This strategy combines the powerful Ichimoku Kinko Hyo system with a 171-period Exponential Moving Average (EMA) filter to create a robust trend-following approach. The strategy is designed for traders seeking to capitalize on strong momentum moves while using the Ichimoku cloud structure to identify optimal entry and exit points.
This is a patient, low-frequency trading system that prioritizes quality over quantity. In backtesting on Solana, the strategy achieved impressive results with approximately 3600% profit over just 29 trades, demonstrating its effectiveness at capturing major trend movements rather than attempting to profit from every market fluctuation. The extended parameters and strict entry criteria are specifically optimized for Solana's price action characteristics, making it well-suited for traders who prefer fewer, higher-conviction positions over high-frequency trading approaches.
What Makes This Strategy Original
This implementation enhances the traditional Ichimoku system by:
Custom Ichimoku Parameters: Uses non-standard periods (Conversion: 7, Base: 211, Lagging Span 2: 120, Displacement: 41) optimized for different market conditions
EMA Confirmation Filter: Incorporates a 171-period EMA as an additional trend confirmation layer
State Memory System: Implements a sophisticated memory system to track buy/sell states and prevent false signals
Dual Trade Modes: Offers both traditional Ichimoku signals ("Ichi") and cloud-based signals ("Cloud")
Breakout Confirmation: Requires price to break above the 25-period high for long entries
How It Works
Core Components
Ichimoku Elements:
-Conversion Line (Tenkan-sen): 7-period Donchian midpoint
-Base Line (Kijun-sen): 211-period Donchian midpoint
-Span A (Senkou Span A): Average of Conversion and Base lines, plotted 41 periods ahead
-Span B (Senkou Span B): 120-period Donchian midpoint, plotted 41 periods ahead
-Lagging Span (Chikou Span): Current close plotted 41 periods back
EMA Filter: 171-period EMA acts as a long-term trend filter
Entry Logic (Ichi Mode - Default)
A long position is triggered when ALL conditions are met:
Cloud Bullish: Span A > Span B (41 periods ago)
Breakout Confirmation: Current close > 25-period high
Ichimoku Bullish: Conversion Line > Base Line
Trend Alignment: Current close > 171-period EMA
State Memory: No previous buy signal is still active
Exit Logic
Positions are closed when:
Ichimoku Bearish: Conversion Line < Base Line
Alternative Cloud Mode
When "Cloud" mode is selected, the strategy uses:
Entry: Span A crosses above Span B with additional cloud and EMA confirmations
Exit: Span A crosses below Span B with cloud and EMA confirmations
Default Settings Explained
Strategy Properties
Initial Capital: $1,000 (realistic for average traders)
Position Size: 100% of equity (appropriate for backtesting single-asset strategies)
Commission: 0.1% (realistic for most brokers)
Slippage: 3 ticks (accounts for realistic execution costs)
Date Range: January 1, 2018 to December 31, 2069
Key Parameters
Conversion Periods: 7 (faster than traditional 9, more responsive to price changes)
Base Periods: 211 (much longer than traditional 26, provides stronger trend confirmation)
Lagging Span 2 Periods: 120 (custom period for stronger support/resistance levels)
Displacement: 41 (projects cloud further into future than standard 26)
EMA Period: 171 (long-term trend filter, approximately 8.5 months of daily data)
How to Use This Strategy
Best Market Conditions
Trending Markets: Works best in clearly trending markets where the cloud provides strong directional bias
Medium to Long-term Timeframes: Optimized for daily charts and higher timeframes
Volatile Assets: The breakout confirmation helps filter out weak signals in choppy markets
Risk Management
The strategy uses 100% equity allocation, suitable for backtesting single strategies
Consider reducing position size when implementing with real capital
Monitor the 25-period high breakout requirement as it may delay entries in fast-moving markets
Visual Elements
Green/Red Cloud: Shows bullish/bearish cloud conditions
Yellow Line: Conversion Line (Tenkan-sen)
Blue Line: Base Line (Kijun-sen)
Orange Line: 171-period EMA trend filter
Gray Line: Lagging Span (Chikou Span)
Important Considerations
Limitations
Lagging Nature: Like all Ichimoku strategies, signals may lag significant price moves
Whipsaw Risk: Extended periods of consolidation may generate false signals
Parameter Sensitivity: Custom parameters may not work equally well across all market conditions
Backtesting Notes
Results are based on historical data and past performance does not guarantee future results
The strategy includes realistic slippage and commission costs
Default settings are optimized for backtesting and may need adjustment for live trading
Risk Disclaimer
This strategy is for educational purposes only and should not be considered financial advice. Always conduct your own analysis and risk management before implementing any trading strategy. The unique parameter combinations used may not be suitable for all market conditions or trading styles.
Customization Options
Trade Mode: Switch between "Ichi" and "Cloud" signal generation
Short Trading: Option to enable short positions (disabled by default)
Date Range: Customize backtesting period
All Ichimoku Parameters: Fully customizable for different market conditions
This enhanced Ichimoku implementation provides a structured approach to trend following while maintaining the flexibility to adapt to different trading styles and market conditions.
log.info() - 5 Exampleslog.info() is one of the most powerful tools in Pine Script that no one knows about. Whenever you code, you want to be able to debug, or find out why something isn’t working. The log.info() command will help you do that. Without it, creating more complex Pine Scripts becomes exponentially more difficult.
The first thing to note is that log.info() only displays strings. So, if you have a variable that is not a string, you must turn it into a string in order for log.info() to work. The way you do that is with the str.tostring() command. And remember, it's all lower case! You can throw in any numeric value (float, int, timestamp) into str.string() and it should work.
Next, in order to make your output intelligible, you may want to identify whatever value you are logging. For example, if an RSI value is 50, you don’t want a bunch of lines that just say “50”. You may want it to say “RSI = 50”.
To do that, you’ll have to use the concatenation operator. For example, if you have a variable called “rsi”, and its value is 50, then you would use the “+” concatenation symbol.
EXAMPLE 1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
log.info(“RSI= ” + str.tostring(rsi))
Example Output =>
RSI= 50
Here, we use double quotes to create a string that contains the name of the variable, in this case “RSI = “, then we concatenate it with a stringified version of the variable, rsi.
Now that you know how to write a log, where do you view them? There isn’t a lot of documentation on it, and the link is not conveniently located.
Open up the “Pine Editor” tab at the bottom of any chart view, and you’ll see a “3 dot” button at the top right of the pane. Click that, and right above the “Help” menu item you’ll see “Pine logs”. Clicking that will open that to open a pane on the right of your browser - replacing whatever was in the right pane area before. This is where your log output will show up.
But, because you’re dealing with time series data, using the log.info() command without some type of condition will give you a fast moving stream of numbers that will be difficult to interpret. So, you may only want the output to show up once per bar, or only under specific conditions.
To have the output show up only after all computations have completed, you’ll need to use the barState.islast command. Remember, barState is camelCase, but islast is not!
EXAMPLE 2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
if barState.islast
log.info("RSI=" + str.tostring(rsi))
plot(rsi)
However, this can be less than ideal, because you may want the value of the rsi variable on a particular bar, at a particular time, or under a specific chart condition. Let’s hit these one at a time.
In each of these cases, the built-in bar_index variable will come in handy. When debugging, I typically like to assign a variable “bix” to represent bar_index, and include it in the output.
So, if I want to see the rsi value when RSI crosses above 0.5, then I would have something like
EXAMPLE 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,0.5)
if rsiCrossedOver
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
bix=19964 - RSI=51.8449459867
bix=19972 - RSI=50.0975830828
bix=19983 - RSI=53.3529808079
bix=19985 - RSI=53.1595745146
bix=19999 - RSI=66.6466337654
bix=20001 - RSI=52.2191767466
Here, we see that the output only appears when the condition is met.
A useful thing to know is that if you want to limit the number of decimal places, then you would use the command str.tostring(rsi,”#.##”), which tells the interpreter that the format of the number should only be 2 decimal places. Or you could round the rsi variable with a command like rsi2 = math.round(rsi*100)/100 . In either case you’re output would look like:
bix=19964 - RSI=51.84
bix=19972 - RSI=50.1
bix=19983 - RSI=53.35
bix=19985 - RSI=53.16
bix=19999 - RSI=66.65
bix=20001 - RSI=52.22
This would decrease the amount of memory that’s being used to display your variable’s values, which can become a limitation for the log.info() command. It only allows 4096 characters per line, so when you get to trying to output arrays (which is another cool feature), you’ll have to keep that in mind.
Another thing to note is that log output is always preceded by a timestamp, but for the sake of brevity, I’m not including those in the output examples.
If you wanted to only output a value after the chart was fully loaded, that’s when barState.islast command comes in. Under this condition, only one line of output is created per tick update — AFTER the chart has finished loading. For example, if you only want to see what the the current bar_index and rsi values are, without filling up your log window with everything that happens before, then you could use the following code:
EXAMPLE 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
if barstate.islast
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
Example Output =>
bix=20203 - RSI=53.1103309071
This value would keep updating after every new bar tick.
The log.info() command is a huge help in creating new scripts, however, it does have its limitations. As mentioned earlier, only 4096 characters are allowed per line. So, although you can use log.info() to output arrays, you have to be aware of how many characters that array will use.
The following code DOES NOT WORK! And, the only way you can find out why will be the red exclamation point next to the name of the indicator. That, and nothing will show up on the chart, or in the logs.
// CODE DOESN’T WORK
//@version=6
indicator("MW - log.info()")
var array rsi_arr = array.new()
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50)
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
// No code errors, but will not compile because too much is being written to the logs.
However, after putting some time restrictions in with the i_startTime and i_endTime user input variables, and creating a dateFilter variable to use in the conditions, I can limit the size of the final array. So, the following code does work.
EXAMPLE 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// CODE DOES WORK
//@version=6
indicator("MW - log.info()")
i_startTime = input.time(title="Start", defval=timestamp("01 Jan 2025 13:30 +0000"))
i_endTime = input.time(title="End", defval=timestamp("1 Jan 2099 19:30 +0000"))
var array rsi_arr = array.new()
dateFilter = time >= i_startTime and time <= i_endTime
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50) and dateFilter // <== The dateFilter condition keeps the array from getting too big
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
rsi_arr:
bix=20210 - RSI=56.9030578034
Of course, if you restrict the decimal places by using the rounding the rsi value with something like rsiRounded = math.round(rsi * 100) / 100 , then you can further reduce the size of your array. In this case the output may look something like:
Example Output =>
rsi_arr:
bix=20210 - RSI=55.6947486019
This will give your code a little breathing room.
In a nutshell, I was coding for over a year trying to debug by pushing output to labels, tables, and using libraries that cluttered up my code. Once I was able to debug with log.info() it was a game changer. I was able to start building much more advanced scripts. Hopefully, this will help you on your journey as well.
Live Breakout Zones (No Repaint)The Live Breakout Zones indicator is a non-repainting, real-time breakout detection tool designed to help traders identify critical price breakouts as they happen — without lag and without repainting past signals.
This indicator scans recent price action to determine the highest high and lowest low over a user-defined lookback period. When price closes above the recent high or below the recent low, it immediately plots a breakout zone on the chart and provides a visual confirmation through labels and optional alerts.
🔍 Key Features:
✅ No Repainting – Signals are locked in as soon as a breakout happens; no future bar confirmation is needed.
⏱️ Minimal Lag – Reacts on breakout of recent range highs/lows without waiting for pivots or candle confirmation.
📦 Breakout Zones – Automatically draws colored rectangles showing the breakout level and zone width for clearer analysis.
🔔 Real-Time Alerts – Alerts for both bullish and bearish breakouts help you stay informed without watching the screen.
⚙️ Customizable – Adjustable lookback length, zone width, and color settings to match your strategy or chart style.
📈 Use Cases:
Identify key breakout moments for entry or retest zones.
Confirm breakout-based strategies in trending or consolidating markets.
Use zones for setting risk-reward areas, SL/TP levels, or re-entry planning.
⚙️ Settings:
Lookback Range (High/Low): Defines how many previous bars are checked for breakout levels.
Zone Width: Number of bars to extend the breakout box forward.
Bullish/Bearish Zone Color: Choose custom colors for breakout visualization.
🧠 Trading Tip:
Combine this tool with volume spikes, tail candles, or support/resistance for more reliable breakout setups.
Morning Structure – Live 30 Min Range📝 Description:
This indicator captures the morning price structure by tracking the high and low during the first 30 minutes after market open (default: 9:30 AM to 10:00 AM, New York time).
🔧 How it works:
At market open, it begins tracking the highest high and lowest low
The high and low lines are dynamic and update in real-time during the first 30 minutes
Once the 30-minute range completes, the lines freeze at their final values
Lines extend horizontally across the rest of the session to mark the "Morning Range"
✅ Key Features:
Tracks live price action during the morning session
Freezes the structure after 30 minutes (or user-defined)
Automatically resets each new trading day
Built-in timezone setting (America/New_York) to align with standard U.S. market hours
Clean visual lines that scroll naturally with the chart
⚙️ Use Cases:
Identify morning breakout zones
Define support and resistance early in the session
Combine with breakout, fade, or range-trading strategies
⚠️ Note:
This version does not include alerts or labels, by design (clean and focused).
Those can be added easily for custom strategies.
Price-EMA Z-Score Backgroundhe “Price‑to‑EMA Z‑Score Background” indicator is designed to give you a clear, visual sense of when price has moved unusually far away from its smoothed trend, and to highlight those moments as potential overextension or mean‑reversion opportunities. Under the hood, it first computes a standard exponential moving average (EMA) of your chosen lookback length, then measures the raw difference between the current close and that EMA on every bar. To make that raw deviation comparable across different markets and timeframes, it converts the series of differences into a z‑score—subtracting the rolling mean of the deviations and dividing by their rolling standard deviation over a second lookback window.
Once you’ve normalized price‑to‑EMA distance into z‑score units, you can set two simple trigger levels: one upper threshold and one lower threshold. Whenever the z‑score climbs above the upper threshold, the chart background glows green, signaling that price is extended far above its EMA (and might be ripe for a pullback). Whenever the z‑score falls below the lower threshold, the background turns red, calling out an equally extreme move below the EMA (and a possible oversold bounce). Between those bands, no shading appears, letting you know price is trading within its “normal” range around the trend.
By adjusting the EMA period, the z‑score lookback, and the two trigger levels, you can dial in early warning signals (e.g. ±1 σ) or wait for very stretched moves (±2 σ or more). Used in concert with your favorite momentum or pattern tools—or even as a standalone visual cue—this simple background‑shading approach makes it easy to spot when a market is running too hot or too cold relative to its own recent average.
Yield Curve Regime Shading with LegendTakes two symbols (e.g. two futures contracts, two FX pairs, etc.) as inputs.
Calculates the “regime” as the sign of the change in their difference over an n‑period lookback.
Lets you choose whether you want to color the bars themselves or shade the background.
How it works
Inputs
symbolA, symbolB: the two tickers you’re comparing.
n: lookback in bars to measure the change in the spread.
mode: pick between “Shading” or “Candle Color”.
Data fetching
We use request.security() to pull each series at the chart’s timeframe.
Regime calculation
spread = priceA – priceB
spreadPrev = ta.valuewhen(not na(spread), spread , 0) (i.e. the spread n bars ago)
If spread > spreadPrev → bullish regime
If spread < spreadPrev → bearish regime
Plotting
Shading: apply bgcolor() in green/red.
Candle Color: use barcolor() to override the bar color.
Sell to Buy / Buy to SellSell to Buy / Buy to Sell — Momentum Shift Detector
The Sell to Buy / Buy to Sell indicator detects simple but powerful two-bar momentum shift patterns directly on your chart, offering early insights into potential reversals or strong breakout continuation.
🔎 How it works:
Sell to Buy (StB):
Previous candle (bar -1) is bearish
Current candle (bar 0) is bullish
The bullish candle closes above the high of the previous bearish candle
Confirmed only after bar close
Buy to Sell (BtS):
Previous candle (bar -1) is bullish
Current candle (bar 0) is bearish
The bearish candle closes below the low of the previous bullish candle
Confirmed only after bar close
🎯 Key Features:
✅ Pure price action logic — no indicators, no oscillators
✅ Immediate visual markers:
Green "StB" label for bullish momentum shifts
Red "BtS" label for bearish momentum shifts
✅ Full alert system to notify you in real-time when either pattern occurs
⚙ Who is this for?
Scalpers looking for short-term momentum shifts
Swing traders identifying potential reversals or breakout confirmations
Price action traders who want clean and objective setup detection
The Sell to Buy / Buy to Sell indicator is designed to give you clear and simple signals whenever the market shows decisive strength after a short-term opposite move — potentially marking the start of a new impulse.
80% Rule Indicator (ETH Session + SVP Prior Session)I created this script to show the 80% opportunity on chart if setting lines up.
"80% rule: Open outside the vah or Val. Spend 30 mins outside there then break back inside spend 15 mins below or above depending which way u broke. Then come back and retest the vah/val and take it to the poc as a first target with the final target being the other Val/vah "
📌 Script Summary
The "80% Rule Indicator (ETH Session + SVP Prior Session)" overlays your chart with prior session value area levels (VAH, VAL, and POC) calculated from extended-hours 30-minute data. It tracks when the price reenters the value area and confirms 80% Rule setups during your chosen trading session. You can optionally trigger alerts, show/hide market sessions, and fine-tune line appearance for a clean, modular workflow.
⚙️ Options & Settings Breakdown
- Use 24-Hour Session (All Markets)
When checked, the indicator ignores time zones and tracks signals during a full 24-hour period (0000-0000), helpful if you're outside U.S. trading hours or want consistent behavior globally.
- Market Session
Dropdown to select one of three key market zones:
- New York (09:30–16:00 ET)
- London (08:00–16:30 local)
- Tokyo (09:00–15:00 local)
Used to gate entry signals during relevant hours unless you choose the 24-hour option.
- Show PD VAH/VAL/POC Lines
Toggle to show or hide prior day’s levels (based on the 30-min extended session). Turning this off removes both the lines and their white text labels.
- Extend Lines Right
When enabled, the VAH/VAL/POC lines extend into the current day’s session. If disabled, they appear only at their anchor point.
- Highlight Selected Session
Adds a soft blue background to help visualize the active session you selected.
- Enable Alert Conditions
Allows TradingView alerts to be created for long/short 80% Rule entries.
- Enable Audible Alerts
Plays an in-chart sound with a popup message (“80% Rule LONG” or “SHORT”) when signals trigger. Requires the chart to be active and sounds enabled in TradingView.
Modified Fractal Open/CloseModified Fractal (Open/Close Based) - Indicator
The Modified Fractal (Open/Close Based) indicator offers a new way to detect fractal patterns on your chart by analyzing the open and close prices instead of the traditional high and low values.
🧮 How it works:
The indicator evaluates a group of 5 consecutive candles.
The central candle (2 bars ago) is analyzed.
For a Bullish Fractal:
The open or close of the central candle must be lower than the open and close of the other 4 surrounding candles.
For a Bearish Fractal:
The open or close of the central candle must be higher than the open and close of the other 4 surrounding candles.
Once a valid pattern is detected, a visual symbol (triangle) is plotted directly on the chart and an alert can be triggered.
✅ Key Features:
Non-repainting signals (evaluated after candle close)
Fully mechanical detection logic
Easy-to-use visual signals
Alert conditions ready to be integrated into TradingView’s alert system
Suitable for multiple timeframes (can be used from M1 to Daily and beyond)
🎯 Use case:
This modified fractal approach can help traders:
Spot potential swing points
Identify possible reversals
Confirm price exhaustion zones
Support breakout or mean reversion strategies
⚠ Note:
This indicator does not provide trade signals by itself. It is recommended to be combined with additional tools, price action analysis, or risk management rules.
Multifractal Forecast [ScorsoneEnterprises]Multifractal Forecast Indicator
The Multifractal Forecast is an indicator designed to model and forecast asset price movements using a multifractal framework. It uses concepts from fractal geometry and stochastic processes, specifically the Multifractal Model of Asset Returns (MMAR) and fractional Brownian motion (fBm), to generate price forecasts based on historical price data. The indicator visualizes potential future price paths as colored lines, providing traders with a probabilistic view of price trends over a specified trading time scale. Below is a detailed breakdown of the indicator’s functionality, inputs, calculations, and visualization.
Overview
Purpose: The indicator forecasts future price movements by simulating multiple price paths based on a multifractal model, which accounts for the complex, non-linear behavior of financial markets.
Key Concepts:
Multifractal Model of Asset Returns (MMAR): Models price movements as a multifractal process, capturing varying degrees of volatility and self-similarity across different time scales.
Fractional Brownian Motion (fBm): A generalization of Brownian motion that incorporates long-range dependence and self-similarity, controlled by the Hurst exponent.
Binomial Cascade: Used to model trading time, introducing heterogeneity in time scales to reflect market activity bursts.
Hurst Exponent: Measures the degree of long-term memory in the price series (persistence, randomness, or mean-reversion).
Rescaled Range (R/S) Analysis: Estimates the Hurst exponent to quantify the fractal nature of the price series.
Inputs
The indicator allows users to customize its behavior through several input parameters, each influencing the multifractal model and forecast generation:
Maximum Lag (max_lag):
Type: Integer
Default: 50
Minimum: 5
Purpose: Determines the maximum lag used in the rescaled range (R/S) analysis to calculate the Hurst exponent. A higher lag increases the sample size for Hurst estimation but may smooth out short-term dynamics.
2 to the n values in the Multifractal Model (n):
Type: Integer
Default: 4
Purpose: Defines the resolution of the multifractal model by setting the size of arrays used in calculations (N = 2^n). For example, n=4 results in N=16 data points. Larger n increases computational complexity and detail but may exceed Pine Script’s array size limits (capped at 100,000).
Multiplier for Binomial Cascade (m):
Type: Float
Default: 0.8
Purpose: Controls the asymmetry in the binomial cascade, which models trading time. The multiplier m (and its complement 2.0 - m) determines how mass is distributed across time scales. Values closer to 1 create more balanced cascades, while values further from 1 introduce more variability.
Length Scale for fBm (L):
Type: Float
Default: 100,000.0
Purpose: Scales the fractional Brownian motion output, affecting the amplitude of simulated price paths. Larger values increase the magnitude of forecasted price movements.
Cumulative Sum (cum):
Type: Integer (0 or 1)
Default: 1
Purpose: Toggles whether the fBm output is cumulatively summed (1=On, 0=Off). When enabled, the fBm series is accumulated to simulate a price path with memory, resembling a random walk with long-range dependence.
Trading Time Scale (T):
Type: Integer
Default: 5
Purpose: Defines the forecast horizon in bars (20 bars into the future). It also scales the binomial cascade’s output to align with the desired trading time frame.
Number of Simulations (num_simulations):
Type: Integer
Default: 5
Minimum: 1
Purpose: Specifies how many forecast paths are simulated and plotted. More simulations provide a broader range of possible price outcomes but increase computational load.
Core Calculations
The indicator combines several mathematical and statistical techniques to generate price forecasts. Below is a step-by-step explanation of its calculations:
Log Returns (lgr):
The indicator calculates log returns as math.log(close / close ) when both the current and previous close prices are positive. This measures the relative price change in a logarithmic scale, which is standard for financial time series analysis to stabilize variance.
Hurst Exponent Estimation (get_hurst_exponent):
Purpose: Estimates the Hurst exponent (H) to quantify the degree of long-term memory in the price series.
Method: Uses rescaled range (R/S) analysis:
For each lag from 2 to max_lag, the function calc_rescaled_range computes the rescaled range:
Calculate the mean of the log returns over the lag period.
Compute the cumulative deviation from the mean.
Find the range (max - min) of the cumulative deviation.
Divide the range by the standard deviation of the log returns to get the rescaled range.
The log of the rescaled range (log(R/S)) is regressed against the log of the lag (log(lag)) using the polyfit_slope function.
The slope of this regression is the Hurst exponent (H).
Interpretation:
H = 0.5: Random walk (no memory, like standard Brownian motion).
H > 0.5: Persistent behavior (trends tend to continue).
H < 0.5: Mean-reverting behavior (price tends to revert to the mean).
Fractional Brownian Motion (get_fbm):
Purpose: Generates a fractional Brownian motion series to model price movements with long-range dependence.
Inputs: n (array size 2^n), H (Hurst exponent), L (length scale), cum (cumulative sum toggle).
Method:
Computes covariance for fBm using the formula: 0.5 * (|i+1|^(2H) - 2 * |i|^(2H) + |i-1|^(2H)).
Uses Hosking’s method (referenced from Columbia University’s implementation) to generate fBm:
Initializes arrays for covariance (cov), intermediate calculations (phi, psi), and output.
Iteratively computes the fBm series by incorporating a random term scaled by the variance (v) and covariance structure.
Applies scaling based on L / N^H to adjust the amplitude.
Optionally applies cumulative summation if cum = 1 to produce a path with memory.
Output: An array of 2^n values representing the fBm series.
Binomial Cascade (get_binomial_cascade):
Purpose: Models trading time (theta) to account for non-uniform market activity (e.g., bursts of volatility).
Inputs: n (array size 2^n), m (multiplier), T (trading time scale).
Method:
Initializes an array of size 2^n with values of 1.0.
Iteratively applies a binomial cascade:
For each block (from 0 to n-1), splits the array into segments.
Randomly assigns a multiplier (m or 2.0 - m) to each segment, redistributing mass.
Normalizes the array by dividing by its sum and scales by T.
Checks for array size limits to prevent Pine Script errors.
Output: An array (theta) representing the trading time, which warps the fBm to reflect market activity.
Interpolation (interpolate_fbm):
Purpose: Maps the fBm series to the trading time scale to produce a forecast.
Method:
Computes the cumulative sum of theta and normalizes it to .
Interpolates the fBm series linearly based on the normalized trading time.
Ensures the output aligns with the trading time scale (T).
Output: An array of interpolated fBm values representing log returns over the forecast horizon.
Price Path Generation:
For each simulation (up to num_simulations):
Generates an fBm series using get_fbm.
Interpolates it with the trading time (theta) using interpolate_fbm.
Converts log returns to price levels:
Starts with the current close price.
For each step i in the forecast horizon (T), computes the price as prev_price * exp(log_return).
Output: An array of price levels for each simulation.
Visualization:
Trigger: Updates every T bars when the bar state is confirmed (barstate.isconfirmed).
Process:
Clears previous lines from line_array.
For each simulation, plots a line from the current bar’s close price to the forecasted price at bar_index + T.
Colors the line using a gradient (color.from_gradient) based on the final forecasted price relative to the minimum and maximum forecasted prices across all simulations (red for lower prices, teal for higher prices).
Output: Multiple colored lines on the chart, each representing a possible price path over the next T bars.
How It Works on the Chart
Initialization: On each bar, the indicator calculates the Hurst exponent (H) using historical log returns and prepares the trading time (theta) using the binomial cascade.
Forecast Generation: Every T bars, it generates num_simulations price paths:
Each path starts at the current close price.
Uses fBm to model log returns, warped by the trading time.
Converts log returns to price levels.
Plotting: Draws lines from the current bar to the forecasted price T bars ahead, with colors indicating relative price levels.
Dynamic Updates: The forecast updates every T bars, replacing old lines with new ones based on the latest price data and calculations.
Key Features
Multifractal Modeling: Captures complex market dynamics by combining fBm (long-range dependence) with a binomial cascade (non-uniform time).
Customizable Parameters: Allows users to adjust the forecast horizon, model resolution, scaling, and number of simulations.
Probabilistic Forecast: Multiple simulations provide a range of possible price outcomes, helping traders assess uncertainty.
Visual Clarity: Gradient-colored lines make it easy to distinguish bullish (teal) and bearish (red) forecasts.
Potential Use Cases
Trend Analysis: Identify potential price trends or reversals based on the direction and spread of forecast lines.
Risk Assessment: Evaluate the range of possible price outcomes to gauge market uncertainty.
Volatility Analysis: The Hurst exponent and binomial cascade provide insights into market persistence and volatility clustering.
Limitations
Computational Intensity: Large values of n or num_simulations may slow down execution or hit Pine Script’s array size limits.
Randomness: The binomial cascade and fBm rely on random terms (math.random), which may lead to variability between runs.
Assumptions: The model assumes log-normal price movements and fractal behavior, which may not always hold in extreme market conditions.
Adjusting Inputs:
Set max_lag based on the desired depth of historical analysis.
Adjust n for model resolution (start with 4–6 to avoid performance issues).
Tune m to control trading time variability (0.5–1.5 is typical).
Set L to scale the forecast amplitude (experiment with values like 10,000–1,000,000).
Choose T based on your trading horizon (20 for short-term, 50 for longer-term for example).
Select num_simulations for the number of forecast paths (5–10 is reasonable for visualization).
Interpret Output:
Teal lines suggest bullish scenarios, red lines suggest bearish scenarios.
A wide spread of lines indicates high uncertainty; convergence suggests a stronger trend.
Monitor Updates: Forecasts update every T bars, so check the chart periodically for new projections.
Chart Examples
This is a daily AMEX:SPY chart with default settings. We see the simulations being done every T bars and they provide a range for us to analyze with a few simulations still in the range.
On this intraday PEPPERSTONE:COCOA chart I modified the Length Scale for fBm, L, parameter to be 1000 from 100000. Adjusting the parameter as you switch between timeframes can give you more contextual simulations.
On BITSTAMP:ETHUSD I modified the L to be 1000000 to have a more contextual set of simulations with crypto's volatile nature.
With L at 100000 we see the range for NASDAQ:TLT is correctly simulated. The recent pop stays within the bounds of the highest simulation. Note this is a cherry picked example to show the power and potential of these simulations.
Technical Notes
Error Handling: The script includes checks for array size limits and division by zero (math.abs(denominator) > 1e-10, v := math.max(v, 1e-10)).
External Reference: The fBm implementation is based on Hosking’s method (www.columbia.edu), ensuring a robust algorithm.
Conclusion
The Multifractal Forecast is a powerful tool for traders seeking to model complex market dynamics using a multifractal framework. By combining fBm, binomial cascades, and Hurst exponent analysis, it generates probabilistic price forecasts that account for long-range dependence and non-uniform market activity. Its customizable inputs and clear visualizations make it suitable for both technical analysis and strategy development, though users should be mindful of its computational demands and parameter sensitivity. For optimal use, experiment with input settings and validate forecasts against other technical indicators or market conditions.
Algorithmic Candle Finder {Darkoexe}Algorithmic Candle Finder Indicator
Algorithmic candles are candles whose size and direction are significantly influenced by institutions or large players using market algorithms. These entities can move large amounts of capital in or out of the market, creating price moves that are often difficult for retail traders to predict or react to.
This can make short-term retail trading risky and inconsistent, especially when unaware of such institutional activity. The goal of this indicator is to help identify such candles, allowing traders to avoid trading during times of potential algorithmic influence.
Detection Criteria:
A candle is marked as algorithmic if either of the following conditions are met:
Size-Based Detection: If the current candle’s size exceeds the Average True Range (ATR) of the previous candle multiplied by the ATR factor input.
Volume-Based Detection: If the current candle’s volume exceeds the average volume of recent candles (e.g., last N candles) multiplied by the volume factor input.
When a candle is deemed algorithmic, a label saying "Algo!!!!!" will appear on the chart above the candle where the condition occurred.
Usage:
Use this indicator to study which times of day algorithmic candles frequently appear. This can help you adjust your strategy to avoid trading during these unpredictable moments.
Analogy:
Think of the market like the game Agar.io: small players (retail traders) collect small pellets to grow, while larger players (institutions) devour smaller ones. The small players must avoid the big ones to survive. Likewise, in trading, retail traders should aim to avoid high-impact algorithmic activity that could “consume” their trades.
Lucy – 3-Bar Reversal with EMA50 Trend Filter📛 Lucy – 3-Bar Reversal with EMA50 Trend Filter
Purpose:
To detect and highlight bullish and bearish 3-bar reversal patterns on the chart, but only when they align with the dominant trend, defined by the EMA 50.
✅ How It Works
🟢 Bullish 3-Bar Reversal (Buy Setup):
Bar 1 is bearish (close < open)
Bar 2 makes a lower low than Bar 1
Bar 3 is bullish (close > open) and closes above Bar 2’s high
Price must be above EMA 50 (trend filter)
✅ Result: Shows a green triangle below the bar
🔴 Bearish 3-Bar Reversal (Sell Setup):
Bar 1 is bullish (close > open)
Bar 2 makes a higher high than Bar 1
Bar 3 is bearish (close < open) and closes below Bar 2’s low
Price must be below EMA 50
✅ Result: Shows a red triangle above the bar
📊 What It Plots:
🔼 Green triangle below bullish signal bar
🔽 Red triangle above bearish signal bar
🟠 Orange line = EMA50 (trend filter)
🔔 Built-in Alerts:
You’ll get an alert if:
A bullish reversal pattern forms above EMA50
A bearish reversal pattern forms below EMA50
🧠 Use Cases:
Great for trend-following traders who want clean, price-action entries
Works well on intraday (15m/1h) or swing (4h/daily) timeframes
Can be used for manual entries, or converted to strategy for automation
Line Strategy v6Line Indicator for TradingView
This Pine Script indicator identifies the largest candles on both 5-minute and 1-hour timeframes within the last 240 five-minute bars. It provides visual markers and detailed information to help traders spot significant price movements.
Key Features
Dual Timeframe Analysis:
Identifies largest candle on 5-minute timeframe
Identifies largest candle on 1-hour timeframe (aggregated from 12 five-minute candles)
Visual Markers:
Blue label marks the highest-range 5-minute candle
Purple background highlights the highest-range hourly candle period
Information Table:
Shows price ranges for both timeframes
Displays precise timestamps for identified candles
Color-coded for quick reference
Progress Indicator:
Shows how many bars have been collected (out of 240 required)
How It Works
Data Collection:
Stores high, low, timestamp, and bar index of the last 240 five-minute candles
Automatically updates with each new bar
5-Minute Analysis:
Scans all 5-minute candles to find the one with the largest price range (high - low)
Marks this candle with a blue label showing its range
Hourly Analysis:
Groups 12 five-minute candles to form each hourly candle
Finds the hourly candle with the largest price range
Highlights the entire hour period with a purple background
Information Display:
Creates a table in the top-right corner showing:
Range values for both timeframes
Timestamps of identified candles
Time period of the largest hourly candle
Usage Instructions
Apply the indicator to any 5-minute chart
Wait for the indicator to collect 240 bars (about 20 trading hours)
Results will appear automatically:
Blue label on the largest 5-minute candle
Purple background on the largest hourly candle period
Information table with detailed metrics
Customization Options
You can easily adjust these aspects by modifying the code:
Colors of markers and table cells
Transparency levels of background highlights
Precision of range values displayed
Position of the information table
The indicator is optimized for performance and works in both historical and real-time modes.
GEEKSDOBYTE IFVG w/ Buy/Sell Signals1. Inputs & Configuration
Swing Lookback (swingLen)
Controls how many bars on each side are checked to mark a swing high or swing low (default = 5).
Booleans to Toggle Plotting
showSwings – Show small triangle markers at swing highs/lows
showFVG – Show Fair Value Gap zones
showSignals – Show “BUY”/“SELL” labels when price inverts an FVG
showDDLine – Show a yellow “DD” line at the close of the inversion bar
showCE – Show an orange dashed “CE” line at the midpoint of the gap area
2. Swing High / Low Detection
isSwingHigh = ta.pivothigh(high, swingLen, swingLen)
Marks a bar as a swing high if its high is higher than the highs of the previous swingLen bars and the next swingLen bars.
isSwingLow = ta.pivotlow(low, swingLen, swingLen)
Marks a bar as a swing low if its low is lower than the lows of the previous and next swingLen bars.
Plotting
If showSwings is true, small red downward triangles appear above swing highs, and green upward triangles below swing lows.
3. Fair Value Gap (3‐Bar) Identification
A Fair Value Gap (FVG) is defined here using a simple three‐bar logic (sometimes called an “inefficiency” in price):
Bullish FVG (bullFVG)
Checks if, two bars ago, the low of that bar (low ) is strictly greater than the current bar’s high (high).
In other words:
bullFVG = low > high
Bearish FVG (bearFVG)
Checks if, two bars ago, the high of that bar (high ) is strictly less than the current bar’s low (low).
In other words:
bearFVG = high < low
When either condition is true, it identifies a three‐bar “gap” or unfilled imbalance in the market.
4. Drawing FVG Zones
If showFVG is enabled, each time a bullish or bearish FVG is detected:
Bullish FVG Zone
Draws a semi‐transparent green box from the bar two bars ago (where the gap began) at low up to the current bar’s high.
Bearish FVG Zone
Draws a semi‐transparent red box from the bar two bars ago at high down to the current bar’s low.
These colored boxes visually highlight the “fair value imbalance” area on the chart.
5. Inversion (Fill) Detection & Entry Signals
An inversion is defined as the price “closing through” that previously drawn FVG:
Bullish Inversion (bullInversion)
Occurs when a bullish FVG was identified on bar-2 (bullFVG), and on the current bar the close is greater than that old bar-2 low:
bullInversion = bullFVG and close > low
Bearish Inversion (bearInversion)
Occurs when a bearish FVG was identified on bar-2 (bearFVG), and on the current bar the close is lower than that old bar-2 high:
bearInversion = bearFVG and close < high
When an inversion is true, the indicator optionally draws two lines and a label (depending on input toggles):
Draw “DD” Line (yellow, solid)
Plots a horizontal yellow line from the current bar’s close price extending five bars forward (bar_index + 5). This is often referred to as a “Demand/Daily Demand” line, marking where price inverted the gap.
Draw “CE” Line (orange, dashed)
Calculates the midpoint (ce) of the original FVG zone.
For a bullish inversion:
ce = (low + high) / 2
For a bearish inversion:
ce = (high + low) / 2
Plots a horizontal dashed orange line at that midpoint for five bars forward.
Plot Label (“BUY” / “SELL”)
If showSignals is true, a green “BUY” label is placed at the low of the current bar when a bullish inversion occurs.
Likewise, a red “SELL” label at the high of the current bar when a bearish inversion happens.
6. Putting It All Together
Swing Markers (Optional):
Visually confirm recent swing highs and swing lows with small triangles.
FVG Zones (Optional):
Highlight areas where price left a 3-bar gap (bullish in green, bearish in red).
Inversion Confirmation:
Wait for price to close beyond the old FVG boundary.
Once that happens, draw the yellow “DD” line at the close, the orange dashed “CE” line at the zone’s midpoint, and place a “BUY” or “SELL” label exactly on that bar.
User Controls:
All of the above elements can be individually toggled on/off (showSwings, showFVG, showSignals, showDDLine, showCE).
In Practice
A bullish FVG forms whenever a strong drop leaves a gap in liquidity (three bars ago low > current high).
When price later “fills” that gap by closing above the old low, the script signals a potential long entry (BUY), draws a demand line at the closing price, and marks the midpoint of that gap.
Conversely, a bearish FVG marks a potential short zone (three bars ago high < current low). When price closes below that gap’s high, it signals a SELL, with similar lines drawn.
By combining these elements, the indicator helps users visually identify inefficiencies (FVGs), confirm when price inverts/fills them, and place straightforward buy/sell labels alongside reference lines for trade management.
OpenAI Signal Generator - Enhanced Accuracy# AI-Powered Trading Signal Generator Guide
## Overview
This is an advanced trading signal generator that combines multiple technical indicators using AI-enhanced logic to generate high-accuracy trading signals. The indicator uses a sophisticated combination of RSI, MACD, Bollinger Bands, EMAs, ADX, and volume analysis to provide reliable buy/sell signals with comprehensive market analysis.
## Key Features
### 1. Multi-Indicator Analysis
- **RSI (Relative Strength Index)**
- Length: 14 periods (default)
- Overbought: 70 (default)
- Oversold: 30 (default)
- Used for identifying overbought/oversold conditions
- **MACD (Moving Average Convergence Divergence)**
- Fast Length: 12 (default)
- Slow Length: 26 (default)
- Signal Length: 9 (default)
- Identifies trend direction and momentum
- **Bollinger Bands**
- Length: 20 periods (default)
- Multiplier: 2.0 (default)
- Measures volatility and potential reversal points
- **EMAs (Exponential Moving Averages)**
- Fast EMA: 9 periods (default)
- Slow EMA: 21 periods (default)
- Used for trend confirmation
- **ADX (Average Directional Index)**
- Length: 14 periods (default)
- Threshold: 25 (default)
- Measures trend strength
- **Volume Analysis**
- MA Length: 20 periods (default)
- Threshold: 1.5x average (default)
- Confirms signal strength
### 2. Advanced Features
- **Customizable Signal Frequency**
- Daily
- Weekly
- 4-Hour
- Hourly
- On Every Close
- **Enhanced Filtering**
- EMA crossover confirmation
- ADX trend strength filter
- Volume confirmation
- ATR-based volatility filter
- **Comprehensive Alert System**
- JSON-formatted alerts
- Detailed technical analysis
- Multiple timeframe analysis
- Customizable alert frequency
## How to Use
### 1. Initial Setup
1. Open TradingView and create a new chart
2. Select your preferred trading pair
3. Choose an appropriate timeframe
4. Apply the indicator to your chart
### 2. Configuration
#### Basic Settings
- **Signal Frequency**: Choose how often signals are generated
- Daily: Signals at the start of each day
- Weekly: Signals at the start of each week
- 4-Hour: Signals every 4 hours
- Hourly: Signals every hour
- On Every Close: Signals on every candle close
- **Enable Signals**: Toggle signal generation on/off
- **Include Volume**: Toggle volume analysis on/off
#### Technical Parameters
##### RSI Settings
- Adjust `rsi_length` (default: 14)
- Modify `rsi_overbought` (default: 70)
- Modify `rsi_oversold` (default: 30)
##### EMA Settings
- Fast EMA Length (default: 9)
- Slow EMA Length (default: 21)
##### MACD Settings
- Fast Length (default: 12)
- Slow Length (default: 26)
- Signal Length (default: 9)
##### Bollinger Bands
- Length (default: 20)
- Multiplier (default: 2.0)
##### Enhanced Filters
- ADX Length (default: 14)
- ADX Threshold (default: 25)
- Volume MA Length (default: 20)
- Volume Threshold (default: 1.5)
- ATR Length (default: 14)
- ATR Multiplier (default: 1.5)
### 3. Signal Interpretation
#### Buy Signal Requirements
1. RSI crosses above oversold level (30)
2. Price below lower Bollinger Band
3. MACD histogram increasing
4. Fast EMA above Slow EMA
5. ADX above threshold (25)
6. Volume above threshold (if enabled)
7. Market volatility check (if enabled)
#### Sell Signal Requirements
1. RSI crosses below overbought level (70)
2. Price above upper Bollinger Band
3. MACD histogram decreasing
4. Fast EMA below Slow EMA
5. ADX above threshold (25)
6. Volume above threshold (if enabled)
7. Market volatility check (if enabled)
### 4. Visual Indicators
#### Chart Elements
- **Moving Averages**
- SMA (Blue line)
- Fast EMA (Yellow line)
- Slow EMA (Purple line)
- **Bollinger Bands**
- Upper Band (Green line)
- Middle Band (Orange line)
- Lower Band (Green line)
- **Signal Markers**
- Buy Signals: Green triangles below bars
- Sell Signals: Red triangles above bars
- **Background Colors**
- Light green: Buy signal period
- Light red: Sell signal period
### 5. Alert System
#### Alert Types
1. **Signal Alerts**
- Generated when buy/sell conditions are met
- Includes comprehensive technical analysis
- JSON-formatted for easy integration
2. **Frequency-Based Alerts**
- Daily/Weekly/4-Hour/Hourly/Every Close
- Includes current market conditions
- Technical indicator values
#### Alert Message Format
```json
{
"symbol": "TICKER",
"side": "BUY/SELL/NONE",
"rsi": "value",
"macd": "value",
"signal": "value",
"adx": "value",
"bb_upper": "value",
"bb_middle": "value",
"bb_lower": "value",
"ema_fast": "value",
"ema_slow": "value",
"volume": "value",
"vol_ma": "value",
"atr": "value",
"leverage": 10,
"stop_loss_percent": 2,
"take_profit_percent": 5
}
```
## Best Practices
### 1. Signal Confirmation
- Wait for multiple confirmations
- Consider market conditions
- Check volume confirmation
- Verify trend strength with ADX
### 2. Risk Management
- Use appropriate position sizing
- Implement stop losses (default 2%)
- Set take profit levels (default 5%)
- Monitor market volatility
### 3. Optimization
- Adjust parameters based on:
- Trading pair volatility
- Market conditions
- Timeframe
- Trading style
### 4. Common Mistakes to Avoid
1. Trading without volume confirmation
2. Ignoring ADX trend strength
3. Trading against the trend
4. Not considering market volatility
5. Overtrading on weak signals
## Performance Monitoring
Regularly review:
1. Signal accuracy
2. Win rate
3. Average profit per trade
4. False signal frequency
5. Performance in different market conditions
## Disclaimer
This indicator is for educational purposes only. Past performance is not indicative of future results. Always use proper risk management and trade responsibly. Trading involves significant risk of loss and is not suitable for all investors.
Codigo Trading 1.0📌Codigo Trading 1.0
This indicator strategically combines SuperTrend, multiple Exponential Moving Averages (EMAs), the Relative Strength Index (RSI), and the Average True Range (ATR) to offer clear entry and exit signals, as well as an in-depth view of market trends. Ideal for traders looking to optimize their operations with an all-in-one tool.
🔩How the Indicator Works:
This indicator relies on the interaction and confirmation of several key components to generate signals:
SuperTrend: Determines the primary trend direction. An uptrend SuperTrend signal (green line) indicates an upward trend, while a downtrend (red line) signals a downward trend. It also serves as a guide for setting Stop Loss and Take Profit levels.
EMAs: Includes EMAs of 10, 20, 55, 100, 200, and 325 periods. The relationship between the EMA 10 and EMA 20 is fundamental for confirming the strength and direction of movements. An EMA 10 above the EMA 20 suggests an uptrend, and vice versa. Longer EMAs act as dynamic support and resistance levels, offering a broader view of the market structure.
RSI: Used to identify overbought (RSI > 70/80) and oversold (RSI < 30/20) conditions, generating "Take Profit" alerts for potential trade closures.
ATR: Monitors market volatility to help you manage exits. ATR exit signals are triggered when volatility changes direction, indicating a possible exhaustion of the movement.
🗒️Entry and Exit Signals:
I designed specific alerts based on all the indicators I use in conjunction:
Long Entries: When SuperTrend is bullish and EMA 10 crosses above EMA 20.
Short Entries: When SuperTrend is bearish and EMA 10 crosses below EMA 20.
RSI Exits (Take Profit): Indicated by "TP" labels on the chart, when the RSI reaches extreme levels (overbought for longs, oversold for shorts).
EMA 20 Exits: When the price closes below EMA 20 (for longs) or above EMA 20 (for shorts).
ATR Exits: When the ATR changes direction, signaling a possible decrease in momentum.
📌Key Benefits:
Clarity in Trend: Quickly identifies market direction with SuperTrend and EMA alignment.
Strategic Entry and Exit Signals: Receive timely alerts to optimize your entry and exit points.
Assisted Trade Management: RSI and ATR help you consider when to take profits or exit a position.
Intuitive Visualization: Arrows, labels, and colored lines make analysis easy to interpret.
Disclaimer:
Trading in financial markets carries significant risks. This indicator is an analysis tool and should not be considered financial advice. Always conduct your own research and trade at your own risk.