15-Metric Strong Buy System (Final Version)This Pine Script analyzes 15 key technical signals to identify strong buy opportunities.
It assigns a score out of 13 for core conditions and checks 2 optional filters (Delivery Spike and RS > Nifty).
It only shows signals on the latest bar to keep the chart clean.
🧠 Core Structure Breakdown
✅ SECTION 1: Core Technical Signals (13 total)
Each of the following conditions adds 1 point to the score:
# Signal What It Checks Why It's Used
1 RSI (Daily & 1H) Both timeframes >55 and rising Confirms strength across multiple timeframes
2 Price > EMA20 & EMA50 Above short/medium-term trend lines Confirms uptrend support
3 Price near 20-day High Within 2% of recent high Breakout proximity
4 Volume > 20 SMA Unusual trading activity Confirms strength behind move
5 MACD Bullish Line > Signal and Histogram > 0 Momentum is building
6 ADX > 20 and +DI > -DI Trend strength and direction Validates strong directional trend
7 Bullish Candle Green candle with higher close Confirms bullish price action
8 BB Breakout Close > Upper Bollinger Band Volatility breakout confirmation
9 Supertrend Proxy Close above custom supertrend Simple trend direction filter
10 Close > Prev. High Break of short-term resistance Momentum continuation
11 VWAP Filter Close above VWAP Price leadership relative to volume
12 Weekly RSI > 50 Long-term trend momentum Confirms broader trend strength
13 BB Squeeze Bollinger Band width is low Signals potential upcoming move
🎯 Total Score = 0 to 13
🎯 SECTION 2: Optional Strength Filters (Displayed as labels)
Label What It Means Why It Matters
RS > Nifty Relative strength RSI > 55 vs Nifty Indicates outperformance
Delivery Spike Volume > 1.5× avg & bullish candle Suggests institutional activity
These are not included in the score, but if triggered, the chart displays:
🏷️ "RS > NIFTY" and/or
🏷️ "DELIVERY SPIKE"
in black background + white text boxes above the latest bar.
✅ SECTION 3: Output Logic
If score ≥ 12 → Show "STRONG BUY" on latest candle
If score = 11 → Show "BUY"
Also shows score label like Score: 12/13
Optional filters are displayed as labels if true
No clutter on historical candles — only current signal is shown.
🔔 SECTION 4: Alerts
Alert Trigger What It Does
score >= 12 Fires "Strong Buy Alert"
score == 11 Fires "Buy Alert"
⚖️ Pros & Cons (Analyst View)
✅ Pros:
Covers breadth of momentum, trend, breakout, and strength
Uses multi-timeframe confirmation for reliability
Avoids repainting by using latest bar only
Optional filters help detect smart money participation
Clean, uncluttered interface
❌ Cons:
Doesn’t include fundamentals
False positives possible during sideways or news-driven moves
No exit logic or Sell trigger
Uses proxy for Delivery spike, not actual delivery % (due to TradingView data limits)
💡 When to Trust the Signal?
Score Label Confidence
13/13 ✅ STRONG BUY + optional filters 🔥 Extremely strong
12/13 ✅ STRONG BUY ✅ Very high
11/13 BUY ⚠️ Medium — confirm with chart pattern
<11 — ❌ Avoid
Göstergeler ve stratejiler
🦌 Horn Pattern - Horn + FT - Ming Joo🦌 Horn Pattern Reversal Strategy (By Ming Joo)
This strategy is based on a 3-bar reversal pattern known as the Horn Pattern (bull-bear-bull for longs, bear-bull-bear for shorts). A confirmation bar (bar ) follows the pattern to validate a breakout.
🔍 Context Filter:
To ensure high-quality trades, a simple trend filter is applied using EMA(20):
✅ Bullish Horn signals are valid only if the confirmation bar closes above EMA20
✅ Bearish Horn signals are valid only if the confirmation bar closes below EMA20
This prevents taking counter-trend reversals in weak conditions.
🎯 Entry Logic:
Long entry: Horn high + 1 tick
Short entry: Horn low – 1 tick
Target: 1R
Stop: Structural extreme (low/high of the horn)
Optionally shows 0.5R line
This structure-based reversal model is suitable for 5min–1H timeframes, and works best on volatile instruments (e.g. ES1!, NQ1!, BTCUSD, AAPL).
Quad Rotation - StochasticThis Indicator is a step up from the Triad Rotation Indicator previously made, as it has 4 Stochastic signals rather then 3.
It can be used mainly to identify potential reversal periods. If the Instrument becomes overbought, or oversold with all 4 stochastics a horizontal highlight will appear, either green or red. Green indicates the instrument is oversold, and may reverse soon, meaning you should take a buying positions, and red indicates an overbought position, where you may want to sell due to a reversal downward.
Additionally, you can set an alarm if all 4 stochastic indicators signal overbought or oversold. This will help reduce your need to watch each instrument, and reduce the likelihood of overtrading.
If you have comments regarding this indicator, if you found it helpful, or would like other improvements feel free to email me. If you are looking for other custom indicators, also feel free to email me. Email: thejak77@aol.com. This is an email rarely monitored, so please be patient, thank you!
All the best, and stay profitable!
Pionex Signal Bot (Single Position)Pionex Signal Bot (Single Position) Script - Created by Jon (Pionex)
Basic code functionality for Pionex users to get started with Signal Bot
Percent Change of Range Candles - FullTHIS IS THE FINAL VERSION
Description of the Percent Change of Range Candles - Full Indicator
This indicator displays the percentage change relative to the price range (high-low) over a specified period and combines multiple timeframes to provide a more accurate view of market trends and momentum. The idea is to not rely solely on classic closing prices but also to consider the opening price, highest, and lowest values within the selected period, offering deeper insight into price movements.
What makes this indicator better than the previous two?
Combination of multiple timeframes and parameters — the indicator calculates not only one level of percentage change but also uses additional calculations for shorter periods (e.g., 25% of the main period length). This allows it to better track subtle changes and provide signals less prone to noise.
Visual representation with colors and horizontal levels — it clearly displays key percentage change levels and whether the current trend is positive or negative, making interpretation easier without additional analysis.
Candle visualization within the indicator (plotcandle) — unlike previous indicators that might display only lines, this one shows candles within the indicator window, allowing you to follow visual patterns that often add extra value.
Better adaptation to trend changes — the indicator dynamically adjusts input parameters depending on price direction (positive or negative change), making it more flexible and suitable for different market conditions.
How the indicator works
It first calculates the percentage change of the closing price relative to the high-low range over a chosen period (default 100 candles).
Then, it calculates the average change value from the previous five periods to smooth out sudden oscillations.
Additionally, it calculates values for a shorter period (25% of the total length), which are dynamically used as "high" or "low" values depending on the current trend (positive or negative).
Horizontal lines mark important percentage change levels (100%, 70%, 0%, -70%, -100%), serving as visual guides for trend strength and direction.
Candles inside the indicator further visualize the relationship between average and current values.
Purpose and application
This indicator is designed to track trend strength and market movements through percentage analysis of price ranges. It can be used for:
Detecting the start and end of trends,
Recognizing strong reversals or confirming trend continuation,
Complementary analysis alongside other technical indicators,
Facilitating decision-making in scalping and swing trading strategies.
What to watch out for
Like any indicator based on historical data, it does not guarantee success and should be used alongside other tools to confirm signals.
The length period (length) should be adjusted according to the market type and trading timeframe — longer periods provide more stable but slower signals, while shorter ones are more sensitive to noise.
Pay attention to the colors and levels on the indicator, as crossing horizontal lines may indicate potential trend reversals or strengthening.
Candles within the indicator window can help identify formations signaling entries or exits.
Year/Quarter Open LevelsDeveloped by ADEL CEZAR and inspired by insights from ERDAL Y, this indicator is designed to give traders a clear edge by automatically plotting the Yearly Open and Quarterly Open levels — two of the most critical institutional reference points in price action.
These levels often act as magnets for liquidity, bias confirmation zones, and support/resistance pivots on higher timeframes. With customizable settings, you can display multiple past opens, fine-tune label positions, and align your strategy with high-timeframe structure — all in a lightweight, non-intrusive design.
If you follow Smart Money Concepts (SMC), ICT models, or build confluence using HTF structures and range theory, this script will integrate seamlessly into your workflow.
BTC Event Contract Signal Indicator# BTC Event Contract Signal Indicator
**Version**: V1.0
**Last Updated**: December 21, 2024
**Author**: OxJohannWu
**Type**: Pine Script v6 Indicator (Overlay)
**Timeframes**: Optimized for 1-minute BTC data, supports all timeframes
## 📋 Overview
The BTC Event Contract Signal Indicator is a sophisticated technical analysis tool designed specifically for Bitcoin event contracts (binary options). This indicator provides real-time buy/sell signals with comprehensive contract tracking, performance statistics, and settlement monitoring - all displayed in Beijing time (UTC+8).
### Key Features
- **Smart Signal Generation**: Multi-layered technical analysis with adaptive filtering
- **Real-time Contract Tracking**: Monitor active contracts with automatic settlement detection
- **Performance Analytics**: Detailed win/loss statistics with daily breakdowns
- **Multi-timeframe Optimization**: Auto-adjusts parameters based on chart timeframe
- **Beijing Time Display**: All timestamps converted to Beijing timezone
- **Alert System**: TradingView alerts for all signal types
## 🎯 Trading Philosophy
This indicator combines correlation analysis, MACD momentum, and StochRSI oscillator signals to identify high-probability entry points for Bitcoin event contracts. The system prioritizes quality over quantity, using intelligent filtering to minimize false signals and maximize win rates.
## ⚙️ Parameter Configuration
### 📊 Technical Indicator Settings
- **Auto Timeframe Optimization**: Automatically selects optimal parameters based on current timeframe
- **MACD Settings**: Fast (8), Slow (21), Signal (5) - optimized for 1-minute BTC data
- **RSI Period**: 6 periods for responsive momentum detection
- **Stochastic Settings**: K smoothing (2), Period (6) for precise overbought/oversold levels
### 🔗 Correlation Analysis
- **Short-term Correlation**: 3-period correlation for immediate trend changes
- **Long-term Correlation**: 25-period correlation for broader market context
- **Correlation Slope**: Tracks momentum changes in price correlation
### 🎯 Smart Signal Optimization
Three intelligent modes to suit different trading styles:
#### Smart Balance Mode (Default)
- **Target Win Rate**: 80%+
- **Expected Signals**: 8-15 per day
- **Filtering**: 6-7 technical conditions
- **Best For**: Balanced trading with consistent profits
#### High Frequency Mode
- **Target Win Rate**: 75%+
- **Expected Signals**: 15-25 per day
- **Filtering**: 4 core technical conditions
- **Best For**: Active traders seeking more opportunities
#### Premium Quality Mode
- **Target Win Rate**: 85%+
- **Expected Signals**: 5-10 per day
- **Filtering**: 8 strict technical conditions
- **Best For**: Conservative traders prioritizing accuracy
### ⏰ Event Contract Settings
- **Contract Duration Options**: 10 Minutes, 30 Minutes, 1 Hour, 24 Hours
- **Single Contract Rule**: Only one active contract at a time
- **Auto Settlement**: Automatic win/loss detection at expiry
## 📈 Signal Generation Logic
### Core Technical Conditions
1. **Correlation Breakout**: Short-term correlation slope changes direction
2. **MACD Momentum**: MACD line above/below signal line with positive/negative slope
3. **StochRSI Position**: K-line slope changes indicating momentum shift
### Smart Filtering System
The indicator applies progressive filtering based on selected mode:
#### Basic Filters (All Modes)
- Volume above 1.4x average
- Correlation momentum confirmation
- MACD direction alignment
#### Advanced Filters (Smart Balance & Premium)
- Price action quality (body-to-wick ratio > 0.4)
- Momentum strength validation
- RSI safe zone (25-75 range)
- Optional trend filter with EMA confirmation
- Optional multi-timeframe confirmation
#### Premium Filters (Premium Quality Only)
- Enhanced volume threshold (1.8x average)
- Stricter correlation momentum (>1.0)
- Multi-timeframe EMA alignment
- Advanced momentum validation
### Signal Strength Classification
- **Normal Signals**: Basic technical alignment (small arrows)
- **Strong Signals**: Enhanced momentum + volume confirmation (large arrows)
## 🎨 Visual Display System
### Signal Arrows
- **🔼 Green Triangle Up**: Call signal (buy/long)
- **🔽 Red Triangle Down**: Put signal (sell/short)
- **💪 Enhanced Arrows**: Strong signals with special emoji indicators
### Settlement Results
- **🎉 WIN**: Profitable contracts (green)
- **💸 LOSS**: Losing contracts (red)
- **Automatic Display**: Shows results immediately upon contract expiry
### Information Labels
Each signal displays:
- Signal type (Call/Put, Normal/Strong)
- Selected mode and timeframe
- Contract duration
- Settlement results with win/loss indication
## 📊 Statistics Dashboard
### Real-time Performance Table
Located in the top-right corner, displaying:
#### Summary Statistics
- **Total Contracts**: Overall contract count
- **Overall Win Rate**: Percentage with color coding (Green: 80%+, Orange: 60-79%, Red: <60%)
- **Today's Performance**: Daily statistics with separate tracking
- **Win/Loss Breakdown**: Detailed count of profitable vs losing trades
#### Directional Analysis
- **Call Performance**: Success rate for bullish contracts
- **Put Performance**: Success rate for bearish contracts
- **Balanced Tracking**: Identifies directional bias in performance
#### System Status
- **Filter Mode**: Current smart filter status (Smart✓/Basic✗)
- **Contract Duration**: Selected timeframe
- **Beijing Time**: Real-time timestamp display
- **Current Price**: Live BTC/USDT price
- **Contract Status**: Active contract indicator (🔄 Active/✅ Ready)
## 💡 Usage Guidelines
### Optimal Setup
1. **Recommended Timeframe**: 1-minute for maximum signal frequency
2. **Symbol**: BTCUSDT or BTCUSD perpetual futures
3. **Mode Selection**: Start with "Smart Balance" for consistent performance
4. **Contract Duration**: Begin with 10-minute contracts for faster feedback
### Best Practices
- **Pre-market Analysis**: Check overall market conditions before trading
- **Risk Management**: Never risk more than 2-3% of capital per contract
- **Session Timing**: Best performance during high-volume trading sessions
- **Signal Confirmation**: Wait for arrow + label confirmation before entry
- **Performance Monitoring**: Regularly review win rate statistics
### Trading Sessions
- **Asian Session**: 00:00-08:00 Beijing Time (moderate volatility)
- **European Session**: 15:00-23:00 Beijing Time (high volatility)
- **US Session**: 21:00-05:00 Beijing Time (peak volatility)
## 🚨 Alert Configuration
### Available Alerts
1. **BTC Call Signal**: Basic bullish signal alerts
2. **BTC Put Signal**: Basic bearish signal alerts
3. **BTC Strong Call Signal**: High-quality bullish signals
4. **BTC Strong Put Signal**: High-quality bearish signals
### Alert Setup
```
Alert Condition: Select from dropdown
Frequency: Once Per Bar Close
Expiration: No expiration (for continuous monitoring)
Webhook: Optional for automated trading systems
```
### Alert Message Format
```
🚀 BTC Event Contract Call Signal
⏰ Time:
💰 Price: $
```
## 🔧 Advanced Configuration
### Parameter Optimization
- **Auto-Optimization Enabled**: Uses predefined optimized parameters
- **Manual Override**: Disable auto-optimization for custom parameter testing
- **Timeframe Adaptation**: Parameters automatically adjust for 1-min, 3-min, and higher timeframes
### Filter Customization
- **Volume Filter**: Adjustable multiplier (1.1-2.5x)
- **Trend Filter**: Optional EMA trend confirmation
- **Advanced Confirmation**: Multi-timeframe validation
- **Smart Filter**: Toggle for intelligent filtering system
## 📈 Performance Expectations
### Historical Backtesting Results
Based on extensive BTCUSDT 1-minute data testing:
#### Smart Balance Mode
- **Average Win Rate**: 78-82%
- **Daily Signals**: 10-15
- **Best Sessions**: European/US overlap
- **Recommended For**: Most traders
#### High Frequency Mode
- **Average Win Rate**: 73-77%
- **Daily Signals**: 18-25
- **Best Sessions**: High volatility periods
- **Recommended For**: Active scalpers
#### Premium Quality Mode
- **Average Win Rate**: 83-87%
- **Daily Signals**: 6-10
- **Best Sessions**: Trending market conditions
- **Recommended For**: Conservative traders
## ⚠️ Risk Warnings
### Important Disclaimers
- **High-Risk Trading**: Event contracts involve significant risk of loss
- **Market Volatility**: Cryptocurrency markets are highly volatile and unpredictable
- **No Guarantee**: Past performance does not guarantee future results
- **Capital Risk**: Only trade with funds you can afford to lose completely
### Risk Management Guidelines
- **Position Sizing**: Never risk more than 1-2% per trade
- **Daily Limits**: Set maximum daily loss limits
- **Emotional Control**: Avoid revenge trading after losses
- **Market Conditions**: Adjust exposure based on volatility
- **Continuous Monitoring**: Regularly assess indicator performance
## 🔄 Version History
### V1.0 (December 21, 2024)
- Initial English release
- Complete translation from Chinese version
- Optimized for international users
- Enhanced documentation with detailed explanations
- Maintained all original functionality and performance characteristics
## 🛠️ Technical Specifications
### Pine Script Details
- **Version**: Pine Script v6
- **Type**: Indicator with overlay=true
- **Max Objects**: 500 boxes, 500 labels
- **Memory Optimization**: Efficient array and map usage
- **Performance**: Optimized for real-time execution
### System Requirements
- **Platform**: TradingView Pro, Pro+, or Premium
- **Browser**: Modern browser with JavaScript enabled
- **Connection**: Stable internet for real-time data
- **Display**: Minimum 1080p resolution recommended
## 📞 Support & Updates
### Getting Help
- **Documentation**: Refer to this comprehensive guide
- **Common Issues**: Check parameter settings and timeframe compatibility
- **Performance**: Verify market conditions and volatility levels
### Update Policy
- **Regular Updates**: Continuous optimization based on market conditions
- **Version Tracking**: All changes documented with version numbers
- **Backward Compatibility**: Settings preserved across updates
---
**Disclaimer**: This indicator is for educational and analysis purposes only. Trading cryptocurrencies and event contracts involves substantial risk. Always conduct your own research and consider your risk tolerance before trading. The authors are not responsible for any trading losses incurred through the use of this indicator.
DWMY Opens (for aggr. charts) by Koenigsegg🟣 DWMY Opens (for Aggregated Charts) by Koenigsegg
Revolutionary compatibility with aggregated charts – This indicator represents a significant breakthrough in displaying Daily, Weekly, Monthly, and Yearly opening levels on aggregated chart types where traditional DWMY indicators have historically failed to function properly.
Complete aggregated chart support – Unlike previous Daily Weekly Monthly Yearly Opens indicators that experienced severe limitations when pulling data from non-standard chart types, this version is specifically engineered to work flawlessly with aggregated charts, range bars, Renko charts, Point & Figure charts, and all other non-time-based chart constructions.
Persistent horizontal reference lines – The indicator draws four distinct horizontal lines representing the opening prices of the current Daily, Weekly, Monthly, and Yearly periods, extending these levels forward into future bars to provide clear reference points for key support and resistance analysis.
Advanced customization capabilities – Features comprehensive user controls including custom label naming for each timeframe, adjustable line colors with independent color selection for Daily, Weekly, Monthly, and Yearly levels, configurable line width settings, and variable label font sizes ranging from tiny to huge.
Dynamic label positioning system – Implements a sophisticated label placement mechanism with configurable tick offset positioning and fixed end-bars-ahead projection, ensuring labels remain visible and properly positioned regardless of chart zoom level or timeframe.
Intelligent period detection logic – Utilizes advanced Pine Script time change detection algorithms specifically optimized for aggregated charts, accurately identifying new Daily, Weekly, Monthly, and Yearly periods even when traditional time-based functions fail on non-standard chart types.
Performance-optimized architecture – Built with efficient persistent variable storage using the var keyword, minimizing computational overhead while maintaining real-time updates across all timeframe levels simultaneously.
Professional visual presentation – Delivers clean, uncluttered chart visualization with strategically positioned labels that clearly identify each timeframe level without interfering with price action analysis.
Universal market compatibility – Functions seamlessly across all asset classes including stocks, forex, cryptocurrencies, commodities, and indices, adapting automatically to different tick sizes and price scales through syminfo.mintick integration.
Pine Script v6 foundation – Leverages the latest Pine Script version 6 capabilities, ensuring optimal performance, stability, and compatibility with current and future TradingView platform updates.
This indicator solves a critical limitation that has long plagued traders using aggregated chart types, finally enabling reliable access to essential Daily, Weekly, Monthly, and Yearly opening levels that serve as fundamental support and resistance zones in technical analysis. The breakthrough lies in its ability to maintain accurate period detection and level plotting regardless of the underlying chart construction methodology.
🟣 How It Works
Automatic period detection – The indicator continuously monitors for time changes across four distinct timeframes using ta.change(time()) functions for Daily and Weekly periods, month transitions for Monthly levels, and year changes for Yearly opens, ensuring precise identification of new period beginnings.
Real-time level updates – When a new period is detected, the indicator captures the opening price at that exact moment and immediately establishes a horizontal line from that bar extending forward to a configurable number of bars ahead, creating persistent reference levels.
Dynamic line management – Each timeframe maintains its own dedicated line object and label, with the indicator continuously updating the endpoint coordinates and label positions as new bars form, ensuring the levels always project the specified distance into the future.
Intelligent label placement – Labels are positioned at the end of each line with automatic vertical offset based on the symbol’s minimum tick size, preventing overlap with price action while maintaining clear identification of each timeframe level.
🟣 Pro Tips for Optimal Usage
Multi-timeframe confluence – Look for areas where multiple DWMY levels converge within close proximity, as these zones typically act as stronger support or resistance levels due to increased market participant attention at these psychological price points.
Breakout confirmation strategy – When price breaks above or below a significant DWMY level with strong volume, the broken level often transforms into support (if broken upward) or resistance (if broken downward), providing excellent entry and exit reference points.
Range trading opportunities – On ranging markets, use Daily and Weekly opens as potential reversal zones, especially when price approaches these levels during low-volume periods or near session opens when institutional activity increases.
Timeframe alignment technique – For swing trading, prioritize trades that align with the direction of the break from Weekly or Monthly opens, while using Daily opens for precise entry timing and position management.
Chart type optimization – This indicator excels on Renko, Range, and Point & Figure charts where traditional time-based DWMY indicators fail, making it invaluable for traders who prefer these aggregated chart types for cleaner price action analysis.
Important Disclaimer:
This indicator is provided for educational and informational purposes only. It is not financial advice, investment advice, or a recommendation to buy or sell any financial instrument. All trading involves risk, and past performance does not guarantee future results. Please conduct your own research and consult with a qualified financial advisor before making any trading decisions. The author is not responsible for any losses incurred from using this indicator.
Fractals 1hFractals 1h, visible on 5m TF.
This indicator allows me to backtest my strategy "from zone to zone"...
VWAP + ADX Trend FilterVWAP + ADX Trend Identifier (Intraday)”
🔹 Description:
Write a short, clear summary like:
“This script combines VWAP and ADX to help identify intraday trend trades. Buy and sell signals appear when price crosses VWAP with ADX strength above a threshold, confirming directional bias.”
You can also include:
Best suited for NIFTY / BNIFTY
Ideal timeframe: 5–15 min
For educational or personal use
🔹 Visibility:
Public: Anyone can find it on TradingView. Must follow Pine Script Publishing Rules.
Invite-only: Useful if you want to share with selected people (like clients or premium users).
Private: Only you can see and use it.
📌 Important Tips for Publishing:
Breakout Strategy with EMA & VolumeA breakout strategy combined with EMA and Volume data to give you the best results.
Indicator includes:
EMA 20 and EMA 50
Volume indicator
RSI (14)
Bounce Zone📘 Bounce Zone – Indicator Description
The "Bounce Zone" indicator is a custom tool designed to highlight potential reversal zones on the chart based on volume exhaustion and price structure. It identifies sequences of candles with low volume activity and marks key price levels that could act as "bounce zones", where price is likely to react.
🔍 How It Works
Volume Analysis:
The indicator calculates a Simple Moving Average (SMA) of volume (default: 20 periods).
It looks for at least 6 consecutive candles (configurable) where the volume is below this volume SMA.
Color Consistency:
The candles must all be of the same color:
Green candles (bullish) for potential downward bounce zones.
Red candles (bearish) for potential upward bounce zones.
Zone Detection:
When a valid sequence is found:
For green candles: it draws a horizontal line at the low of the last red candle before the sequence.
For red candles: it draws a horizontal line at the high of the last green candle before the sequence.
Bounce Tracking:
Each horizontal line remains on the chart until it is touched twice by price (high or low depending on direction).
After two touches, the line is automatically removed, indicating the zone has fulfilled its purpose.
📈 Use Cases
Identify areas of price exhaustion after strong directional pushes.
Spot liquidity zones where institutions might step in.
Combine with candlestick confirmation for reversal trades.
Useful in both trending and range-bound markets for entry or exit signals.
⚙️ Parameters
min_consecutive: Minimum number of consecutive low-volume candles of the same color (default: 6).
vol_ma_len: Length of the volume moving average (default: 20).
🧠 Notes
The indicator does not repaint and is based purely on historical candle and volume structure.
Designed for manual strategy confirmation or support for algorithmic setups.
Average True Range (50%)This script is used to calculate and display the Average True Range (ATR) scaled down to 50% of its original value. ATR is a volatility indicator that measures how much the price of an asset moves within a certain period. This script allows users to choose a smoothing method to calculate the ATR, including RMA, SMA, EMA, or WMA.
📈 Pro EMA/SMA Buy Sell (Clean & Glowing) 📈 Pro EMA/SMA Buy Sell
This indicator plots a crossover-based buy/sell signal system using:
- A fast Exponential Moving Average (EMA)
- A slower Simple Moving Average (SMA)
🔹 BUY Signal: When EMA crosses above SMA
🔹 SELL Signal: When EMA crosses below SMA
Features:
✅ Clean glowing lines for EMA and SMA
✅ Transparent glowing BUY (green) and SELL (red) labels
✅ Real-time alert conditions for automated strategy triggers
Ideal for:
- Intraday and Swing Traders
- Beginners looking for trend-based signals
- Chart setups requiring minimal noise but powerful visuals
DrawZigZag🟩 OVERVIEW
This library draws zigzag lines for existing pivots. It is designed to be simple to use. If your script creates pivots and you want to join them up while handling edge cases, this library does that quickly and efficiently. If you want your pivots created for you, choose one of the many other zigzag libraries that do that.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/DrawZigZag/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 WHAT IT DOES
I looked at every zigzag library on TradingView, after finishing this one. They all seemed to fall into two groups in terms of functionality:
• Create the pivots themselves, using a combination of Williams-style pivots and sometimes price distance.
• Require an array of pivot information, often in a format that uses user-defined types.
My library takes a completely different approach.
Firstly, it only does the drawing. It doesn't calculate the pivots for you. This isn't laziness. There are so many ways to define pivots and that should be up to you. If you've followed my work on market structure you know what I think of Williams pivots.
Secondly, when you pass information about your pivots to the library function, you only need the minimum of pivot information -- whether it's a High or Low pivot, the price, and the bar index. Pass these as normal variables -- bools, ints, and floats -- on the fly as your pivots confirm. It is completely agnostic as to how you derive your pivots. If they are confirmed an arbitrary number of bars after they happen, that's fine.
So why even bother using it if all it does it draw some lines?
Turns out there is quite some logic needed in order to connect highs and lows in the right way, and to handle edge cases. This is the kind of thing one can happily outsource.
🟩 THE RULES
• Zigs and zags must alternate between Highs and Lows. We never connect a High to a High or a Low to a Low.
• If a candle has both a High and Low pivot confirmed on it, the first line is drawn to the end of the candle that is the opposite to the previous pivot. Then the next line goes vertically through the candle to the other end, and then after that continues normally.
• If we draw a line up from a Low to a High pivot, and another High pivot comes in higher, we *extend* the line up, and the same for lines down. Yes this is a form of repainting. It is in my opinion the only way to end up with a correct structure.
• We ignore lower highs on the way up and higher lows on the way down.
🟩 WHAT'S COOL ABOUT THIS LIBRARY
• It's simple and lightweight: no exported user-defined types, no helper methods, no matrices.
• It's really fast. In my profiling it runs at about ~50ms, and changing the options (e.g., trimming the array) doesn't make very much difference.
• You only need to call one function, which does all the calculations and draws all lines.
• There are two variations of this function though -- one simple function that just draws lines, and one slightly more advanced method that modifies an array containing the lines. If you don't know which one you want, use the simpler one.
🟩 GEEK STUFF
• There are no dependencies on other libraries.
• I tried to make the logic as clear as I could and comment it appropriately.
• In the `f_drawZigZags` function, the line variable is declared using the `var` keyword *inside* the function, for simplicity. For this reason, it persists between function calls *only* if the function is called from the global scope or a local if block. In general, if a function is called from inside a loop , or multiple times from different contexts, persistent variables inside that function are re-initialised on each call. In this case, this re-initialisation would mean that the function loses track of the previous line, resulting in incorrect drawings. This is why you cannot call the `f_drawZigZags` function from a loop (not that there's any reason to). The `m_drawZigZagsArray` does not use any internal `var` variables.
• The function itself takes a Boolean parameter `_showZigZag`, which turns the drawings on and off, so there is no need to call the function conditionally. In the examples, we do call the functions from an if block, purely as an illustration of how to increase performance by restricting the amount of code that needs to be run.
🟩 BRING ON THE FUNCTIONS
f_drawZigZags(_showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour)
This function creates or extends the latest zigzag line. Takes real-time information about pivots and draws lines. It does not calculate the pivots. It must be called once per script and cannot be called from a loop.
Parameters:
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
Returns: The function has no explicit returns. As a side effect, it draws or updates zigzag lines.
method m_drawZigZagsArray(_a_zigZagLines, _showZigZag, _isHighPivot, _isLowPivot, _highPivotPrice, _lowPivotPrice, _pivotIndex, _zigzagWidth, _lineStyle, _upZigColour, _downZagColour, _trimArray)
Namespace types: array
Parameters:
_a_zigZagLines (array)
_showZigZag (bool) : Whether to show the zigzag lines.
_isHighPivot (bool) : Whether the current bar confirms a high pivot. Note that pivots are usually confirmed after the bar in which they occur.
_isLowPivot (bool) : Whether the current bar confirms a low pivot.
_highPivotPrice (float) : The price of the high pivot that was confirmed this bar. It is NOT the high price of the current bar.
_lowPivotPrice (float) : The price of the low pivot that was confirmed this bar. It is NOT the low price of the current bar.
_pivotIndex (int) : The bar index of the pivot that was confirmed this bar. This is not an offset. It's the `bar_index` value of the pivot.
_zigzagWidth (int) : The width of the zigzag lines.
_lineStyle (string) : The style of the zigzag lines.
_upZigColour (color) : The colour of the up zigzag lines.
_downZagColour (color) : The colour of the down zigzag lines.
_trimArray (bool) : If true, the array of lines is kept to a maximum size of two lines (the line elements are not deleted). If false (the default), the array is kept to a maximum of 500 lines (the maximum number of line objects a single Pine script can display).
Returns: This function has no explicit returns but it modifies a global array of zigzag lines.
ICT Directional FVG Indicator (Buffered SL)This is the first indicator I have ever made, and I am very new to Pine Script. I’ve tried my best to create this as a strategy, but I’m still learning, so please be kind and constructive with your feedback!
ICT Directional FVG Indicator (Buffered SL)
This indicator is designed for traders who follow ICT (Inner Circle Trader) concepts, focusing on Fair Value Gaps (FVGs), liquidity sweeps, and session-based trading. It automatically detects bullish and bearish FVGs, highlights them on the chart, and identifies liquidity sweep events. The indicator features three customizable Kill Zones (London, New York, and Asia sessions), each with independent toggles and color-coded backgrounds for clear visual separation.
Key features:
Fair Value Gap Detection: Highlights bullish and bearish FVGs in real time.
Liquidity Sweep Alerts: Marks potential liquidity sweep events for both highs and lows.
Session Kill Zones: Toggle each Kill Zone (London, New York, Asia) independently; background color changes only in enabled zones.
Trade Signal Visualization: Plots entry, stop loss, and take profit levels based on FVG and sweep logic, with a user-defined stop loss buffer.
Customizable Display: Easily enable or disable FVGs, sweeps, trade levels, and each Kill Zone to suit your strategy.
This tool is ideal for ICT-based traders who want a clear, automated view of FVGs, sweeps, and session activity, with full control over which sessions and signals are displayed.
Color Change EMA 200 (4H)200 Color Change EMA (4H Locked)
Overview
This indicator displays a 200-period Exponential Moving Average (EMA) that is locked to the 4-hour timeframe, regardless of what chart timeframe you're currently viewing. The EMA line changes color dynamically based on price action to provide clear visual trend signals.
Key Features
• Multi-Timeframe Capability : Always shows the 4H 200 EMA on any chart timeframe
• Dynamic Color Coding :
- Green: Price is above the 200 EMA (bullish condition)
- Red: Price is below the 200 EMA (bearish condition)
• Clean Visual Design : Bold 2-pixel line width for clear visibility
• Real-time Updates : Colors change instantly as price crosses above or below the EMA
How to Use
1. Add the indicator to any timeframe chart
2. The 4H 200 EMA will appear as a smooth line
3. Watch for color changes:
- When the line turns green, it indicates price strength above the key moving average
- When the line turns red, it suggests price weakness below the moving average
4. Use for trend identification, support/resistance levels, and entry/exit timing
Best Practices
• Combine with other technical analysis tools for confirmation
• Use the color changes as alerts for potential trend shifts
• Consider the 200 EMA as a major support/resistance level
• Works well for swing trading and position sizing decisions
Settings
• Length : Default 200 periods (customizable)
• Source : Default closing price (customizable)
Perfect for traders who want to keep the important 4H 200 EMA visible across all timeframes with instant visual trend feedback.
1-Min Scalping Strategy with Trailing Stop (1 Contract)This is a 1 min scalp strategy specifically written for NQ futures with consistency in mind and stop losses with trailing stops. Happy trading. *** Not an investment advice***
AD Pro//@version=5
indicator("AD Pro", overlay=true)
// === Inputs
atrLen = input.int(14, "ATR Length")
factor = input.float(0.7, "Factor")
slMultiplier = input.float(2.0, "SL Multiplier")
// Volatility Filter Input
atrFilterStrength = input.float(1.0, "Volatility Threshold (x Avg ATR)", step=0.1, minval=0.1)
// Min % Price Change Filter
enableMinMove = input.bool(true, "Enable Min % Price Change Filter")
lookbackBars = input.int(20, "Lookback Bars")
minMovePct = input.float(0.005, "Min % Price Change", step=0.001, minval=0)
// TP Buy colors
tp1BuyColor = input.color(color.lime, "TP1 Buy Color")
tp2BuyColor = input.color(color.green, "TP2 Buy Color")
tp3BuyColor = input.color(color.teal, "TP3 Buy Color")
// TP Sell colors
tp1SellColor = input.color(color.fuchsia, "TP1 Sell Color")
tp2SellColor = input.color(color.red, "TP2 Sell Color")
tp3SellColor = input.color(color.maroon, "TP3 Sell Color")
// SL colors
slBuyColor = input.color(color.blue, "SL Buy Color")
slSellColor = input.color(color.blue, "SL Sell Color")
// === Indicator Calculations
atr = ta.atr(atrLen)
avgATR = ta.sma(atr, 50)
atrCondition = atr > avgATR * atrFilterStrength
priceChange = math.abs(close - close ) / close
priceMoveOK = priceChange > minMovePct
priceChangeCondition = not enableMinMove or priceMoveOK
volatilityOK = atrCondition and priceChangeCondition
// === UT Bot Logic
src = close
var float trailPrice = na
var bool dirLong = true
longStop = src - factor * atr
shortStop = src + factor * atr
if na(trailPrice)
trailPrice := longStop
dirLong := true
else
if dirLong
trailPrice := math.max(trailPrice, longStop)
dirLong := src > trailPrice
else
trailPrice := math.min(trailPrice, shortStop)
dirLong := src > trailPrice
rawBuy = dirLong and not dirLong
rawSell = not dirLong and dirLong
// Apply Volatility Filter
buySignal = rawBuy and volatilityOK
sellSignal = rawSell and volatilityOK
// === Entry & Label Storage
var float entryPrice = na
var bool lastSignalIsBuy = na
var label tp1Lbl = na
var label tp2Lbl = na
var label tp3Lbl = na
var label slLbl = na
var line tp1Line = na
var line tp2Line = na
var line tp3Line = na
var line slLine = na
if buySignal or sellSignal
if not na(tp1Lbl)
label.delete(tp1Lbl)
if not na(tp2Lbl)
label.delete(tp2Lbl)
if not na(tp3Lbl)
label.delete(tp3Lbl)
if not na(slLbl)
label.delete(slLbl)
if not na(tp1Line)
line.delete(tp1Line)
if not na(tp2Line)
line.delete(tp2Line)
if not na(tp3Line)
line.delete(tp3Line)
if not na(slLine)
line.delete(slLine)
entryPrice := close
lastSignalIsBuy := buySignal
tp1 = entryPrice + (buySignal ? 1 : -1) * atr
tp2 = entryPrice + (buySignal ? 2 : -2) * atr
tp3 = entryPrice + (buySignal ? 3 : -3) * atr
sl = entryPrice - (buySignal ? 1 : -1) * factor * atr * slMultiplier
tp1Lbl := label.new(bar_index, tp1, "TP1 " + str.tostring(tp1, format.mintick),
style=label.style_label_right,
color=buySignal ? tp1BuyColor : tp1SellColor,
textcolor=color.black)
tp2Lbl := label.new(bar_index, tp2, "TP2 " + str.tostring(tp2, format.mintick),
style=label.style_label_right,
color=buySignal ? tp2BuyColor : tp2SellColor,
textcolor=color.white)
tp3Lbl := label.new(bar_index, tp3, "TP3 " + str.tostring(tp3, format.mintick),
style=label.style_label_right,
color=buySignal ? tp3BuyColor : tp3SellColor,
textcolor=color.white)
slLbl := label.new(bar_index, sl, "SL " + str.tostring(sl, format.mintick),
style=label.style_label_right,
color=buySignal ? slBuyColor : slSellColor,
textcolor=color.white)
tp1Line := line.new(bar_index, tp1, bar_index + 1, tp1,
color=buySignal ? tp1BuyColor : tp1SellColor, style=line.style_dashed)
tp2Line := line.new(bar_index, tp2, bar_index + 1, tp2,
color=buySignal ? tp2BuyColor : tp2SellColor, style=line.style_dashed)
tp3Line := line.new(bar_index, tp3, bar_index + 1, tp3,
color=buySignal ? tp3BuyColor : tp3SellColor, style=line.style_dashed)
slLine := line.new(bar_index, sl, bar_index + 1, sl,
color=buySignal ? slBuyColor : slSellColor, style=line.style_dashed)
// === Plot Signals
plotshape(buySignal, title="Buy", location=location.belowbar, color=color.green, style=shape.labelup, text="BUY")
plotshape(sellSignal, title="Sell", location=location.abovebar, color=color.red, style=shape.labeldown, text="SELL")
// === Alerts
alertcondition(buySignal, title="Buy Alert", message="Buy Signal!")
alertcondition(sellSignal, title="Sell Alert", message="Sell Signal!")
P&L Entry Zone Marker (clean)This indicator is a simple visual calculator for futures traders.
It helps you track your long and short entry zones based on position size and average price.
🔹 Green line – recalculated long entry after averaging down.
🔹 Red line – short entry point.
You can manually input your initial entry, volume, averaging volume, and averaging price.
The script calculates your new average entry for long positions and plots both lines as full horizontal levels across the chart.
✳️ Useful for:
Visualizing break-even zones
Planning P&L zones for hedged positions
Quickly aligning your trades with market structure
✅ Clean version — no labels, just lines.
📉 Works on all symbols and timeframes.
ETH Day TraderThis is the new script I try creating with chatgpt. The winrate is low but the profit is higher than expected. Please help me revise and let's improve it together. BINANCE:ETHUSDT
JonnyBtc Daily Pullback Strategy (Volume + ADX)📈 JonnyBtc Daily Optimized Pullback Strategy (With Volume + ADX)
This strategy is designed for Bitcoin swing trading on the daily timeframe and uses a combination of price action, moving averages, volume, RSI, and ADX strength filtering to time high-probability entries during strong trending conditions.
🔍 Strategy Logic:
Trend Filter: Requires price to be aligned with both 50 EMA and 200 EMA.
Pullback Entry: Looks for a pullback to a fast EMA (default 21) and a crossover signal back above it.
RSI Confirmation: RSI must be above a minimum threshold for long entries (default 55), or below for short entries.
Volume Filter: Entry is confirmed only when volume is above a 20-day average.
ADX Filter: Only enters trades when ADX is above a strength threshold (default 20), filtering out sideways markets.
Trailing Stop (optional): Uses ATR-based trailing stop-loss and take-profit system, fully configurable.
⚙️ Default Settings:
Timeframe: Daily
Trade Direction: Long-only by default (can be toggled)
Trailing Stop: Enabled (can disable)
Session Filter: Off by default for daily timeframe
📊 Best Use:
Optimized for Bitcoin (BTCUSD) on the 1D chart
Can be adapted to other trending assets with proper tuning
Works best in strong trending markets — not ideal for choppy/ranging conditions
🛠️ Customizable Parameters:
EMA lengths (Fast, Mid, Long)
RSI and ADX thresholds
ATR-based TP/SL multipliers
Trailing stop toggle
Volume confirmation toggle
Time/session filter
⚠️ Disclaimer:
This script is for educational and research purposes only. Past performance does not guarantee future results. Always backtest and verify before trading with real funds.