Enhanced BTC Order Block IndicatorThe script you provided is an "Enhanced BTC Order Block Indicator" written in Pine Script v5 for TradingView. It is designed to identify and visually mark Order Blocks (OBs) on a Bitcoin (BTC) price chart, specifically tailored for a high-frequency scalping strategy on the 5-minute (M5) timeframe. Order Blocks are key price zones where institutional traders are likely to have placed significant buy or sell orders, making them high-probability areas for reversals or continuations. The script incorporates customizable filters, visual indicators, and alert functionality to assist traders in executing the strategy outlined earlier.
Key Features and Functionality
Purpose:
The indicator detects bullish Order Blocks (buy zones) and bearish Order Blocks (sell zones) based on a predefined percentage price movement (default 0.5–1%) and volume confirmation.
It marks these zones on the chart with colored boxes and provides alerts when an OB is detected.
User-Configurable Inputs:
Price Move Range: minMovePercent (default 0.5%) and maxMovePercent (default 1.0%) define the acceptable price movement range for identifying OBs.
Volume Threshold: volumeThreshold (default 1.5x average volume) ensures OB detection is backed by significant trading activity.
Lookback Period: lookback (default 10 candles) determines how many previous candles are analyzed to find the last candle before a strong move.
Wick/Body Option: useWick (default false) allows users to choose whether the OB zone is based on the candle’s wick or body.
Colors: bullishOBColor (default green) and bearishOBColor (default red) set the visual appearance of OB boxes.
Box Extension: boxExtension (default 100 bars) controls how far the OB box extends to the right on the chart.
RSI Filter: useRSI (default true) enables an RSI filter, with rsiLength (default 14), rsiBullishThreshold (default 50), and rsiBearishThreshold (default 50) for trend confirmation.
M15 Support/Resistance: useSR (default true) and srLookback (default 20) integrate M15 timeframe swing highs and lows for additional OB validation.
Core Logic:
Bullish OB Detection: Identifies a strong upward move (0.5–1%) with volume above the threshold. It then looks back to the last bearish candle before the move to define the OB zone. RSI > 50 and proximity to M15 support/resistance (optional) enhance confirmation.
Bearish OB Detection: Identifies a strong downward move (0.5–1%) with volume confirmation, tracing back to the last bullish candle. RSI < 50 and M15 resistance proximity (optional) add validation.
The OB zone is drawn as a rectangle from the high to low of the identified candle, extended rightward.
Visual Output:
Boxes: Uses box.new to draw OB zones, with left set to the previous bar (bar_index ), right extended by boxExtension, top and bottom defined by the OB’s high and low prices. Each box includes a text label ("Bullish OB" or "Bearish OB") and is semi-transparent.
Colors distinguish between bullish (green) and bearish (red) OBs.
Alerts:
Global alertcondition definitions trigger notifications for "Bullish OB Detected" and "Bearish OB Detected" when the respective conditions are met, displaying the current close price in the message.
Helper Functions:
f_priceChangePercent: Calculates the percentage price change between open and close prices.
isNearSR: Checks if the price is within 0.2% of M15 swing highs or lows for support/resistance confluence.
How It Works
The script runs on each candle, evaluating the current price action against the user-defined criteria.
When a bullish or bearish move is detected (meeting the percentage, volume, RSI, and S/R conditions), it identifies the preceding candle to define the OB zone.
The OB is then visualized on the chart, and an alert is triggered if configured in TradingView.
Use Case
This indicator is tailored for your BTC scalping strategy, where trades last 1–15 minutes targeting 0.3–0.5% gains. It helps traders spot institutional order zones on the M5 chart, confirmed by secondary M1 analysis, and integrates with your use of EMAs, RSI, and volume. The customizable settings allow adaptation to varying market conditions or personal preferences.
Limitations
The M15 S/R detection is simplified (using swing highs/lows), which may not always align perfectly with manual support/resistance levels.
Alerts depend on TradingView’s alert system and require manual setup.
Performance may vary with high volatility or low-volume periods, necessitating parameter adjustments.
Cari skrip untuk "tradingview+金龙指数"
AllCandlestickPatternsLibraryAll Candlestick Patterns Library
The Candlestick Patterns Library is a Pine Script (version 6) library extracted from the All Candlestick Patterns indicator. It provides a comprehensive set of functions to calculate candlestick properties, detect market trends, and identify various candlestick patterns (bullish, bearish, and neutral). The library is designed for reusability, enabling TradingView users to incorporate pattern detection into their own scripts, such as indicators or strategies.
The library is organized into three main sections:
Trend Detection: Functions to determine market trends (uptrend or downtrend) based on user-defined rules.
Candlestick Property Calculations: A function to compute core properties of a candlestick, such as body size, shadow lengths, and doji characteristics.
Candlestick Pattern Detection: Functions to detect specific candlestick patterns, each returning a tuple with detection status, pattern name, type, and description.
Library Structure
1. Trend Detection
This section includes the detectTrend function, which identifies whether the market is in an uptrend or downtrend based on user-specified rules, such as the relationship between the closing price and Simple Moving Averages (SMAs).
Function: detectTrend
Parameters:
downTrend (bool): Initial downtrend condition.
upTrend (bool): Initial uptrend condition.
trendRule (string): The rule for trend detection ("SMA50" or "SMA50, SMA200").
p_close (float): Current closing price.
sma50 (float): Simple Moving Average over 50 periods.
sma200 (float): Simple Moving Average over 200 periods.
Returns: A tuple indicating the detected trend.
Logic:
If trendRule is "SMA50", a downtrend is detected when p_close < sma50, and an uptrend when p_close > sma50.
If trendRule is "SMA50, SMA200", a downtrend is detected when p_close < sma50 and sma50 < sma200, and an uptrend when p_close > sma50 and sma50 > sma200.
2. Candlestick Property Calculations
This section includes the calculateCandleProperties function, which computes essential properties of a candlestick based on OHLC (Open, High, Low, Close) data and configuration parameters.
Function: calculateCandleProperties
Parameters:
p_open (float): Candlestick open price.
p_close (float): Candlestick close price.
p_high (float): Candlestick high price.
p_low (float): Candlestick low price.
bodyAvg (float): Average body size (e.g., from EMA of body sizes).
shadowPercent (float): Minimum shadow size as a percentage of body size.
shadowEqualsPercent (float): Tolerance for equal shadows in doji detection.
dojiBodyPercent (float): Maximum body size as a percentage of range for doji detection.
Returns: A tuple containing 17 properties:
C_BodyHi (float): Higher of open or close price.
C_BodyLo (float): Lower of open or close price.
C_Body (float): Body size (difference between C_BodyHi and C_BodyLo).
C_SmallBody (bool): True if body size is below bodyAvg.
C_LongBody (bool): True if body size is above bodyAvg.
C_UpShadow (float): Upper shadow length (p_high - C_BodyHi).
C_DnShadow (float): Lower shadow length (C_BodyLo - p_low).
C_HasUpShadow (bool): True if upper shadow exceeds shadowPercent of body.
C_HasDnShadow (bool): True if lower shadow exceeds shadowPercent of body.
C_WhiteBody (bool): True if candle is bullish (p_open < p_close).
C_BlackBody (bool): True if candle is bearish (p_open > p_close).
C_Range (float): Candlestick range (p_high - p_low).
C_IsInsideBar (bool): True if current candle body is inside the previous candle's body.
C_BodyMiddle (float): Midpoint of the candle body.
C_ShadowEquals (bool): True if upper and lower shadows are equal within shadowEqualsPercent.
C_IsDojiBody (bool): True if body size is small relative to range (C_Body <= C_Range * dojiBodyPercent / 100).
C_Doji (bool): True if the candle is a doji (C_IsDojiBody and C_ShadowEquals).
Purpose: These properties are used by pattern detection functions to evaluate candlestick formations.
3. Candlestick Pattern Detection
This section contains functions to detect specific candlestick patterns, each returning a tuple . The patterns are categorized as bullish, bearish, or neutral, and include detailed descriptions for use in tooltips or alerts.
Supported Patterns
The library supports the following candlestick patterns, grouped by type:
Bullish Patterns:
Rising Window: A two-candle continuation pattern in an uptrend with a price gap between the first candle's high and the second candle's low.
Rising Three Methods: A five-candle continuation pattern with a long green candle, three short red candles, and another long green candle.
Tweezer Bottom: A two-candle reversal pattern in a downtrend with nearly identical lows.
Upside Tasuki Gap: A three-candle continuation pattern in an uptrend with a gap between the first two green candles and a red candle closing partially into the gap.
Doji Star (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a doji gapping down.
Morning Doji Star: A three-candle reversal pattern with a long red candle, a doji gapping down, and a long green candle.
Piercing: A two-candle reversal pattern in a downtrend with a red candle followed by a green candle closing above the midpoint of the first.
Hammer: A single-candle reversal pattern in a downtrend with a small body and a long lower shadow.
Inverted Hammer: A single-candle reversal pattern in a downtrend with a small body and a long upper shadow.
Morning Star: A three-candle reversal pattern with a long red candle, a short candle gapping down, and a long green candle.
Marubozu White: A single-candle pattern with a long green body and minimal shadows.
Dragonfly Doji: A single-candle reversal pattern in a downtrend with a doji where open and close are at the high.
Harami Cross (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a doji inside its body.
Harami (Bullish): A two-candle reversal pattern in a downtrend with a long red candle followed by a small green candle inside its body.
Long Lower Shadow: A single-candle pattern with a long lower shadow indicating buyer strength.
Three White Soldiers: A three-candle reversal pattern with three long green candles in a downtrend.
Engulfing (Bullish): A two-candle reversal pattern in a downtrend with a small red candle followed by a larger green candle engulfing it.
Abandoned Baby (Bullish): A three-candle reversal pattern with a long red candle, a doji gapping down, and a green candle gapping up.
Tri-Star (Bullish): A three-candle reversal pattern with three doji candles in a downtrend, with gaps between them.
Kicking (Bullish): A two-candle reversal pattern with a bearish marubozu followed by a bullish marubozu gapping up.
Bearish Patterns:
On Neck: A two-candle continuation pattern in a downtrend with a long red candle followed by a short green candle closing near the first candle's low.
Falling Window: A two-candle continuation pattern in a downtrend with a price gap between the first candle's low and the second candle's high.
Falling Three Methods: A five-candle continuation pattern with a long red candle, three short green candles, and another long red candle.
Tweezer Top: A two-candle reversal pattern in an uptrend with nearly identical highs.
Dark Cloud Cover: A two-candle reversal pattern in an uptrend with a green candle followed by a red candle opening above the high and closing below the midpoint.
Downside Tasuki Gap: A three-candle continuation pattern in a downtrend with a gap between the first two red candles and a green candle closing partially into the gap.
Evening Doji Star: A three-candle reversal pattern with a long green candle, a doji gapping up, and a long red candle.
Doji Star (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a doji gapping up.
Hanging Man: A single-candle reversal pattern in an uptrend with a small body and a long lower shadow.
Shooting Star: A single-candle reversal pattern in an uptrend with a small body and a long upper shadow.
Evening Star: A three-candle reversal pattern with a long green candle, a short candle gapping up, and a long red candle.
Marubozu Black: A single-candle pattern with a long red body and minimal shadows.
Gravestone Doji: A single-candle reversal pattern in an uptrend with a doji where open and close are at the low.
Harami Cross (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a doji inside its body.
Harami (Bearish): A two-candle reversal pattern in an uptrend with a long green candle followed by a small red candle inside its body.
Long Upper Shadow: A single-candle pattern with a long upper shadow indicating seller strength.
Three Black Crows: A three-candle reversal pattern with three long red candles in an uptrend.
Engulfing (Bearish): A two-candle reversal pattern in an uptrend with a small green candle followed by a larger red candle engulfing it.
Abandoned Baby (Bearish): A three-candle reversal pattern with a long green candle, a doji gapping up, and a red candle gapping down.
Tri-Star (Bearish): A three-candle reversal pattern with three doji candles in an uptrend, with gaps between them.
Kicking (Bearish): A two-candle reversal pattern with a bullish marubozu followed by a bearish marubozu gapping down.
Neutral Patterns:
Doji: A single-candle pattern with a very small body, indicating indecision.
Spinning Top White: A single-candle pattern with a small green body and long upper and lower shadows, indicating indecision.
Spinning Top Black: A single-candle pattern with a small red body and long upper and lower shadows, indicating indecision.
Pattern Detection Functions
Each pattern detection function evaluates specific conditions based on candlestick properties (from calculateCandleProperties) and trend conditions (from detectTrend). The functions return:
detected (bool): True if the pattern is detected.
name (string): The name of the pattern (e.g., "On Neck").
type (string): The pattern type ("Bullish", "Bearish", or "Neutral").
description (string): A detailed description of the pattern for use in tooltips or alerts.
For example, the detectOnNeckBearish function checks for a bearish On Neck pattern by verifying a downtrend, a long red candle followed by a short green candle, and specific price relationships.
Usage Example
To use the library in a TradingView indicator, you can import it and call its functions as shown below:
//@version=6
indicator("Candlestick Pattern Detector", overlay=true)
import CandlestickPatternsLibrary as cp
// Calculate SMA for trend detection
sma50 = ta.sma(close, 50)
sma200 = ta.sma(close, 200)
= cp.detectTrend(true, true, "SMA50", close, sma50, sma200)
// Calculate candlestick properties
bodyAvg = ta.ema(math.max(close, open) - math.min(close, open), 14)
= cp.calculateCandleProperties(open, close, high, low, bodyAvg, 5.0, 100.0, 5.0)
// Detect a pattern (e.g., On Neck Bearish)
= cp.detectOnNeckBearish(downTrend, blackBody, longBody, whiteBody, open, close, low, bodyAvg, smallBody, candleRange)
if onNeckDetected
label.new(bar_index, low, onNeckName, style=label.style_label_up, color=color.red, textcolor=color.white, tooltip=onNeckDesc)
// Detect another pattern (e.g., Piercing Bullish)
= cp.detectPiercingBullish(downTrend, blackBody, longBody, whiteBody, open, low, close, bodyMiddle)
if piercingDetected
label.new(bar_index, low, piercingName, style=label.style_label_up, color=color.blue, textcolor=color.white, tooltip=piercingDesc)
Steps in the Example
Import the Library: Use import CandlestickPatternsLibrary as cp to access the library's functions.
Calculate Trend: Use detectTrend to determine the market trend based on SMA50 or SMA50/SMA200 rules.
Calculate Candlestick Properties: Use calculateCandleProperties to compute properties like body size, shadow lengths, and doji status.
Detect Patterns: Call specific pattern detection functions (e.g., detectOnNeckBearish, detectPiercingBullish) and use the returned values to display labels or alerts.
Visualize Patterns: Use label.new to display detected patterns on the chart with their names, types, and descriptions.
Key Features
Modularity: The library is designed as a standalone module, making it easy to integrate into other Pine Script projects.
Comprehensive Pattern Coverage: Supports over 40 candlestick patterns, covering bullish, bearish, and neutral formations.
Detailed Documentation: Each function includes comments with @param and @returns annotations for clarity.
Reusability: Can be used in indicators, strategies, or alerts by importing the library and calling its functions.
Extracted from All Candlestick Patterns: The library is derived from the All Candlestick Patterns indicator, ensuring it inherits a well-tested foundation for pattern detection.
Notes for Developers
Pine Script Version: The library uses Pine Script version 6, as specified by //@version=6.
Parameter Naming: Parameters use prefixes like p_ (e.g., p_open, p_close) to avoid conflicts with built-in variables.
Error Handling: The library has been fixed to address issues like undeclared identifiers (C_SmallBody, C_Range), unused arguments (factor), and improper comment formatting.
Testing: Developers should test the library in TradingView to ensure patterns are detected correctly under various market conditions.
Customization: Users can adjust parameters like bodyAvg, shadowPercent, shadowEqualsPercent, and dojiBodyPercent in calculateCandleProperties to fine-tune pattern detection sensitivity.
Conclusion
The Candlestick Patterns Library, extracted from the All Candlestick Patterns indicator, is a powerful tool for traders and developers looking to implement candlestick pattern detection in TradingView. Its modular design, comprehensive pattern support, and detailed documentation make it an ideal choice for building custom indicators or strategies. By leveraging the library's functions, users can analyze market trends, compute candlestick properties, and detect a wide range of patterns to inform their trading decisions.
Puts vs Longs vs Price Oscillator SwiftEdgeWhat is this Indicator?
The "Low-Latency Puts vs Longs vs Price Oscillator" is a custom technical indicator built for TradingView to help traders visualize buying and selling activity in a market without access to order book data. It displays three lines in an oscillator below the price chart:
Green Line (Longs): Represents the strength of buying activity (bullish pressure).
Red Line (Puts): Represents the strength of selling activity (bearish pressure).
Yellow Line (Price): Shows the asset’s price in a scaled format for direct comparison.
The indicator uses price movements, volume, and momentum to estimate when buyers or sellers are active, providing a quick snapshot of market dynamics. It’s optimized for fast response to price changes (low latency), making it useful for both short-term and longer-term trading strategies.
How Does it Work?
Since TradingView doesn’t provide direct access to order book data (which shows real-time buy and sell orders), this indicator approximates buying and selling pressure using commonly available data: price, volume, and a momentum measure called Rate of Change (ROC). Here’s how it combines these elements:
Price Movement: The indicator checks if the price is rising or falling compared to the previous candlestick. A rising price suggests buying (longs), while a falling price suggests selling (puts).
Volume: Volume acts as a "weight" to measure the strength of these price moves. Higher volume during a price increase boosts the green line, while higher volume during a price decrease boosts the red line. This mimics how large orders in an order book would influence the market.
Rate of Change (ROC): ROC measures how fast the price is changing over a set period (e.g., 5 candlesticks). It adds a momentum filter—strong upward momentum reinforces buying signals, while strong downward momentum reinforces selling signals.
These components are calculated for each candlestick and summed over a short lookback period (e.g., 5 candlesticks) to create the green and red lines. The yellow line is simply the asset’s closing price scaled down to fit the oscillator’s range, allowing you to compare buying/selling strength directly with price action.
Why Combine These Elements?
The combination of price, volume, and ROC is intentional and synergistic:
Price alone isn’t enough—it tells you what happened but not how strong the move was.
Volume adds context by showing the intensity behind price changes, much like how order book volume indicates real buying or selling interest.
ROC ensures the indicator captures momentum, filtering out weak or random price moves and focusing on significant trends, similar to how aggressive order execution might appear in an order book.
Together, they create a balanced picture of market activity that’s more reliable than any single factor alone. The goal is to simulate the insights you’d get from an order book—where you’d see buy/sell imbalances—using data available in TradingView.
How to Use It
Setup:
Add the indicator to your chart via TradingView’s Pine Editor by copying and pasting the script.
Adjust the inputs to suit your trading style:
Lookback Period: Number of candlesticks (default 5) to sum buying/selling activity. Shorter = more responsive; longer = smoother.
Price Scale Factor: Scales the yellow price line (default 0.001). Increase for high-priced assets (e.g., 0.01 for indices like DAX) or decrease for low-priced ones (e.g., 0.0001 for crypto).
ROC Period: Candlesticks for momentum calculation (default 5). Shorter = faster response.
ROC Weight: How much momentum affects the signal (default 0.5). Higher = stronger momentum influence.
Volume Threshold: Minimum volume multiplier (default 1.5) to boost signals during high activity.
Reading the Oscillator:
Green Line Above Yellow: Strong buying pressure—price is rising with volume and momentum support. Consider this a bullish signal.
Red Line Above Yellow: Strong selling pressure—price is falling with volume and momentum support. Consider this a bearish signal.
Green/Red Crossovers: When the green line crosses above the red, it suggests buyers are taking control. When the red crosses above the green, sellers may be dominating.
Yellow Line Context: Compare green/red lines to the yellow price line to see if buying/selling strength aligns with price trends.
Trading Examples:
Bullish Setup: Green line spikes above yellow after a price breakout with high volume (e.g., DAX opening jump). Enter a long position if confirmed by other indicators.
Bearish Setup: Red line rises above yellow during a price drop with increasing volume. Look for a short opportunity.
Reversal Warning: If the green line stays high while price (yellow) flattens or drops, it could signal overbought conditions—be cautious.
What Makes It Unique?
Unlike traditional oscillators like RSI or MACD, which focus solely on price momentum or trends, this indicator blends price, volume, and momentum into a three-line system that mimics order book dynamics. Its low-latency design (short lookback and no heavy smoothing) makes it react quickly to market shifts, ideal for volatile markets like DAX or forex. The visual separation of buying (green) and selling (red) against price (yellow) offers a clear, intuitive way to spot imbalances without needing complex data.
Tips and Customization
Volatile Markets: Use a shorter lookback (e.g., 3) and ROC period (e.g., 3) for faster signals.
Stable Markets: Increase lookback (e.g., 10) for smoother, less noisy lines.
Scaling: If the green/red lines dwarf the yellow, adjust Price Scale Factor up (e.g., 0.01) to balance them.
Experiment: Test on your asset (stocks, crypto, indices) and tweak inputs to match its behavior.
2013-2025 Moon Phases & Mercury RetrogradesIndicator Description: 2013-2025 Moon Phases & Mercury Retrogrades
This Pine Script (version 5) indicator overlays key astrological events on a TradingView chart, specifically tracking full moons, new moons, and Mercury retrograde periods from 2013 to 2025. It is designed to help traders and astrology enthusiasts visualize these celestial events alongside price action, potentially identifying correlations or patterns.
Features:
New Moons:
Visualization: Plotted as small white circles above the price bars.
Data: Includes 156 specific new moon dates from January 11, 2013, to December 20, 2025.
Purpose: Marks the start of the lunar cycle, often associated with new beginnings or shifts in energy.
Full Moons:
Visualization: Plotted as small orange circles above the price bars.
Data: Includes 157 specific full moon dates from January 27, 2013, to December 15, 2025.
Purpose: Highlights the peak of the lunar cycle, often linked to heightened emotions or market volatility in astrological analysis.
Mercury Retrogrades:
Visualization: Displayed as a light red background highlight across the chart.
Data: Covers 39 Mercury retrograde periods, with precise start and end timestamps from February 23, 2013, to November 29, 2025.
Purpose: Indicates periods traditionally associated with communication issues, delays, or reversals, which some traders monitor for potential market impacts.
Technical Details:
Overlay: The indicator is set to overlay=true, meaning it displays directly on the price chart rather than in a separate pane.
Date Matching: Uses a helper function is_date(y, m, d) to check if the current chart date matches any of the predefined event dates, leveraging TradingView's year, month, and dayofmonth variables.
Visualization Methods:
plotshape: Used for new moons (white circles) and full moons (orange circles), positioned above bars for clear visibility.
bgcolor: Used for Mercury retrograde periods, applying a semi-transparent red highlight (transparency level 85) to the background during active retrograde periods.
Time Range: Spans from January 2013 to December 2025, providing a comprehensive 13-year view of these astrological events.
Usage:
Add the script to your TradingView chart to see new moons, full moons, and Mercury retrograde periods overlaid on your chosen symbol and timeframe.
The white and orange circles appear on specific dates, while the red background highlights extend across the duration of each Mercury retrograde period.
Useful for traders incorporating astrology into their analysis or anyone interested in tracking these celestial events alongside financial data.
Notes:
The script assumes accurate date data as provided; users should verify dates against astronomical sources if precision is critical.
The transparency of the Mercury retrograde background can be adjusted by modifying the value in color.new(color.red, 85) (0 = fully opaque, 100 = fully transparent).
Best viewed on daily or higher timeframes for clarity, though it works on any timeframe supported by TradingView.
This indicator provides a visual tool to explore the potential influence of lunar phases and Mercury retrograde periods on market behavior, blending astrology with technical analysis in a clear, customizable format.
Supply & Demand Zones + Order Block (Pro Fusion) SuroLevel up your trading edge with this all-in-one Supply and Demand Zones + Order Block TradingView indicator, built for precision traders who focus on price action and smart money concepts.
🔍 Key Features:
Automatic detection of Supply & Demand Zones based on refined swing highs and lows
Dynamic Order Block recognition with customizable thresholds
Highlights Breakout signals with volume confirmation and trend filters
Built-in EMA 50 trend detection
Take Profit (TP1, TP2, TP3) projection levels
Clean visual labels for Demand, Supply, and OB zones
Uses smart box plotting with long extended zones for better zone visibility
🔥 Ideal for:
Traders who follow Smart Money Concepts (SMC)
Supply & Demand strategy practitioners
Breakout & Retest pattern traders
Scalpers, swing, and intraday traders using Order Flow logic
📈 Works on all markets: Forex, Crypto, Stocks, Indices
📊 Recommended timeframes: M15, H1, H4, Daily
✅ Enhance your trading strategy using this powerful zone-based script — bringing structure, clarity, and automation to your chart.
#SupplyAndDemand #OrderBlock #TradingViewScript #SmartMoney #BreakoutStrategy #TPProjection #ForexIndicator #SMC
Buy/Sell Signals (MACD + RSI) 1HThis is a Pine Script indicator for TradingView that plots Buy/Sell signals based on the combination of MACD and RSI indicators on a 1-hour chart.
Description of the Code:
Indicator Setup:
The script is set to overlay the Buy/Sell signals directly on the price chart (using overlay=true).
The indicator is named "Buy/Sell Signals (MACD + RSI) 1H".
MACD Settings:
The MACD (Moving Average Convergence Divergence) uses standard settings of:
Fast Length: 12
Slow Length: 26
Signal Line Smoothing: 9
The MACD line and the Signal line are calculated using the ta.macd() function.
RSI Settings:
The RSI (Relative Strength Index) is calculated with a 14-period setting using the ta.rsi() function.
Buy/Sell Conditions:
Buy Signal:
Triggered when the MACD line crosses above the Signal line (Golden Cross).
RSI value is below 50.
Sell Signal:
Triggered when the MACD line crosses below the Signal line (Dead Cross).
RSI value is above 50.
Signal Visualization:
Buy Signals:
Green "BUY" labels are plotted below the price bars where the Buy conditions are met.
Sell Signals:
Red "SELL" labels are plotted above the price bars where the Sell conditions are met.
Chart Timeframe:
While the code itself doesn't enforce a specific timeframe, the name indicates that this indicator is intended to be used on a 1-hour chart.
To use it effectively, apply the script on a 1-hour chart in TradingView.
How It Works:
This indicator combines MACD and RSI to generate Buy/Sell signals:
The MACD identifies potential trend changes or momentum shifts (via crossovers).
The RSI ensures that Buy/Sell signals align with broader momentum (e.g., Buy when RSI < 50 to avoid overbought conditions).
When the defined conditions for Buy or Sell are met, visual signals (labels) are plotted on the chart.
How to Use:
Copy the code into the Pine Script editor in TradingView.
Save and apply the script to your 1-hour chart.
Look for:
"BUY" signals (green): Indicating potential upward trends or buying opportunities.
"SELL" signals (red): Indicating potential downward trends or selling opportunities.
This script is simple and focuses purely on providing actionable Buy/Sell signals based on two powerful indicators, making it ideal for traders who prefer a clean chart without clutter. Let me know if you need further customization!
Uptrick: Arbitrage OpportunityINTRODUCTION
This script, titled Uptrick: Arbitrage Monitor, is a Pine Script™ indicator that aims to help traders quickly visualize potential arbitrage scenarios across multiple cryptocurrency exchanges. Arbitrage, in general, involves taking advantage of price differences for the same asset across different trading platforms. By comparing market prices of the same symbol on two user-selected exchanges, as well as scanning a broader list of exchanges, this script attempts to signal areas where you might want to buy on one exchange and sell on another. It includes various graphical tools, calculations, and an optional Automated Detection signal feature, allowing users to incorporate more advanced data scanning into their trading decisions. Keep in mind that transaction fees must also be considered in real-world scenarios. These fees can negate potential profits and, in some cases, result in a net loss.
PURPOSE
The primary purpose of this indicator is to show potential percentage differences between the same cryptocurrency trading pairs on two different exchanges. This difference is displayed numerically, visually as a line chart, and it is also tested against user-defined thresholds. With the threshold in place, buy and sell signals can be generated. The script allows you to quickly gauge how significant a spread is between two exchanges and whether that spread surpasses a specified threshold. This is particularly useful for arbitrage trading, where an asset is bought at a lower price on one exchange and sold at a higher price on another, capitalizing on price discrepancies. By identifying these opportunities, traders can potentially secure profits across different markets.
WHY IT WAS MADE
This script was developed to help traders who frequently look for arbitrage opportunities in the fast-paced cryptocurrency market. Cryptocurrencies sometimes experience quick price divergences across different exchanges. By having an automated approach that compares and displays prices, traders can spend less time manually tracking price discrepancies and more time focusing on actual trading strategies. The script was also made with user customization in mind, allowing you to toggle an optional Automated-based approach and choose different moving average methods to smooth out the displayed price difference.
WHAT ARBITRAGE IS
Arbitrage is the practice of buying an asset on one market (or exchange) at a lower price and simultaneously selling it on another market where the price is higher, thus profiting from the price difference. In cryptocurrency markets, these price differentials can occur across multiple exchanges due to varying liquidity, trading volume, geographic factors, or market inefficiencies. Though sometimes small, these differences can be exploited for profit when approached methodically.
EXPLANATION OF INPUTS
The script includes a variety of user inputs that help tailor the indicator to your specific needs:
1. Compared Symbol 1: This is the primary symbol you want to track (for example, BTCUSDT). Make sure it's written in all capital and make sure that it's price from that exchange is available on Tradingview.
2. Compare Exchange 1: The first exchange on which the script will request pricing data for the chosen symbol.
3. Compared to Exchange: The second exchange, used for the comparison.
4. Opportunity Threshold (%): A percentage threshold that, when exceeded by the price difference, can trigger buy or sell signals.
5. Plot Style?: Allows you to choose between plotting the raw difference line or a moving average of that difference.
6. MA Type: Select among SMA, EMA, WMA, RMA, or HMA for your moving average calculation.
7. MA Length: The lookback period for the selected moving average.
8. Plot Buy/Sell Signals?: Enables or disables the plotting of arrows signaling potential buy or sell zones based on threshold crossovers.
9. Automated Detection?: Toggles an additional multi-exchange data scan feature that calculates the highest and lowest prices for the specified symbol across a predefined list of exchanges.
CALCULATIONS
At its core, the script calculates price1 and price2 using the request.security function to fetch close prices from two selected exchanges. The difference is measured as (price1 - price2) / price2 * 100. This results in a percentage that indicates how much higher or lower price1 is relative to price2. Additionally, the script calculates a slope for this difference, which helps color the line depending on whether it is trending up or down. If you choose the moving average option, the script will replace the raw difference data with one of several moving average calculations (SMA, EMA, WMA, RMA, or HMA).
The script also includes an iterative scan of up to 15 different exchanges for Automated detection, collecting the highest and lowest price across all those exchanges. If the Automated option is enabled, it compiles a potential recommendation: buy at the cheapest exchange price and sell at the most expensive one. The difference across all exchanges (allExDiffPercent) is calculated using (highestPriceAll - lowestPriceAll) / lowestPriceAll * 100.
WHAT AUTOMATED DETECTION SIGNAL DOES
If enabled, the Automated detection feature scans all 15 supported exchanges for the specified symbol. It then identifies the exchange with the highest price and the exchange with the lowest price. The script displays a recommended action: buy on the lowest-exchange price and sell on the highest-exchange price. While called “Automated,” it is essentially a multi-exchange data query that automates a portion of research by consolidating different price points. It does not replace thorough analysis or guaranteed execution; it simply provides an overview of potential extremes.
WHAT ALL-EX-DIFF IS
The variable allExDiffPercent is used to show the overall difference between the highest price and the lowest price found among the 15 pre-chosen exchanges. This figure can be useful for anyone wanting a big-picture view of how large the arbitrage spread might be across the broader market.
SIGNALS AND HOW THEY ARE GENERATED
The script provides two main modes of signal generation:
1. Raw Difference Mode: If the user chooses “Use Normal Line,” the script compares the percentage difference of the two selected exchanges (price1 and price2) to the user-defined threshold. When the difference crosses under the positive threshold, a sell signal is displayed (red arrow). Conversely, when the difference crosses above the negative threshold, a buy signal is displayed (green arrow).
2. Moving Average Mode: If the user selects “Use Moving Average,” the script instead references the moving average values (maValue). The signals fire under similar conditions but use the average line to gauge whether the threshold has been crossed.
HOW TO USE THE INDICATOR
1. Add the script to your chart in TradingView.
2. In the script’s settings panel, configure the symbol you wish to compare (for example, BTCUSDT), choose the two exchanges you want to evaluate, and set your desired threshold.
3. Optionally, pick a moving average type and length if you prefer a smoother representation of the difference.
4. Enable or disable buy/sell signals according to your preference.
5. If you’d like to see potential extremes among a broader list of exchanges, enable Automated Detection. Keep in mind that this feature runs additional security requests, so it might slow down performance on weaker devices or if you already have many scripts running.
EXCHANGES TO USE
The script currently supports up to 15 exchanges: BYBIT, BINANCE, MEXC, BLOFIN, BITGET, OKX, KUCOIN, COINBASE, COINEX, PHEMEX, POLONIEX, GATEIO, BITSTAMP, and KRAKEN. You can choose any two of these for direct comparison, and if you enable the Automated detection, it will attempt to query them all to find extremes in real time.
VISUALS
The exchanges and current prices & differences are all plotted in the table while the colored line represents the difference in the price. The two thresholds colored red are where signals are generated. A cross below the upper threshold is a sell signal and a cross above the lower threshold is a buy signal. In the line at the bottom, purple is a negative slope and aqua is a positive slope.
LIMITATIONS AND POTENTIAL PROBLEMS
If you enable too many visual elements such as signals, additional lines, and the Automated-based scanning table, you may find that your chart becomes cluttered, or text might overlap. One workaround is to remove and reapply the indicator to refresh its display. You may also want to reduce the number of displayed table rows by disabling some features if your chart becomes too crowded. Sometimes there might be an error that the price of an asset is not available on an exchange, to fix this, go and select another exchange to compare it to, or if it happens in Automated detection, choose a different asset, ideally more widely spread.
UNIQUENESS
This indicator stands out due to its multifaceted approach: it doesn’t just look at two exchanges but optionally scans up to 15 exchanges in real time, presenting users with a much broader view of the market. The dual-mode system (raw difference vs. moving average) allows for both immediate, unfiltered signals and smoother, noise-reduced signals depending on user preference. By default, it introduces dynamic visual cues through color changes when the slope of the difference transitions upward or downward. The optional Automated detection, while not a deep learning system, adds a functional intelligence layer by collating extreme price points from multiple exchanges in one place, thereby streamlining the manual research process. This combination of features gives the script a unique edge in the TradingView ecosystem, catering equally to novices wanting a straightforward approach and to advanced users looking for an aggregated multi-exchange analysis.
CONCLUSION
Uptrick: Arbitrage Monitor is a versatile and customizable Pine Script™ indicator that highlights price differences for a specified symbol between two user-selected exchanges. Through signals, threshold-based alerts, and optional Automated detection across multiple exchanges, it aims to support traders in identifying potential arbitrage opportunities quickly and efficiently. This script makes no guarantees of profitability but can serve as a valuable tool to add to your trading toolkit. Always use caution when implementing arbitrage strategies, and be mindful of market risks, exchange fees, and latency.
ADDITIONAL DISCLOSURES
This script is provided for educational and informational purposes only. It does not constitute financial advice or a guarantee of performance. Users are encouraged to conduct thorough research and consider the inherent risks of arbitrage trading. Market conditions can change rapidly, and orders may fail to execute at desired prices, especially when large price discrepancies attract competition from other traders.
Qualitative and Quantitative Candlestick Score [CHE] Qualitative and Quantitative Candlestick Score
Overview
The Qualitative and Quantitative Candlestick Score is a powerful indicator for TradingView that combines both qualitative and quantitative analyses of candlestick patterns. This indicator provides traders with a comprehensive assessment of market conditions to make informed trading decisions.
Key Features
- Quantitative Analysis: Calculates a quantitative score based on the price movement of each candle.
- Qualitative Analysis: Evaluates candles based on body size, wick size, trend, and trading volume.
- Cumulative Scores: Displays cumulative green (bullish) and red (bearish) scores over a defined period.
- Trend Analysis: Identifies trend direction, strength, and provides trading recommendations (Long/Short).
- Customizable Settings: Adjust parameters for time periods, thresholds, and volume analysis.
Settings and Customizations
1. Time Period Settings:
- Period: Number of periods to calculate moving averages and cumulative scores (Default: 14).
2. Qualitative Evaluation:
- Body Size Threshold (%): Minimum size of the candle body to be considered significant (Default: 0.5%).
- Wick Size Threshold (%): Maximum size of the wicks to be considered minimal (Default: 0.3%).
3. Volume Settings:
- Include Volume in Evaluation: Whether to include trading volume in the qualitative score (Default: Enabled).
- Volume MA Period: Number of periods to calculate the moving average of volume (Default: 14).
4. Trend Settings:
- Moving Average Length: Number of periods for the Simple Moving Average used to determine the trend (Default: 50).
Calculations and Visualizations
- Quantitative Score: Difference between the closing and opening price, normalized to the opening price.
- Qualitative Score: Evaluation based on body size, wick size, trend, and volume.
- Cumulative Scores: Average of green and red scores over the defined period.
- Score Difference: Difference between cumulative green and red scores to determine trend direction.
- Trend Analysis Table: Displays trend direction, trend strength, and trading recommendation in an easy-to-read table.
Plotting and Display
- Cumulative Scores: Displays cumulative green and red scores in green and red colors.
- Score Difference: Blue line chart to visualize the difference between green and red scores.
- Zero Line: Horizontal gray line as a reference point.
- Trend Analysis Table: Table in the top right of the chart showing current trend direction, strength, and trading recommendation.
Use Cases
- Trend Identification: Use the score difference and trend analysis table to quickly assess the current market sentiment.
- Trading Recommendations: Based on the table, decide whether a long or short entry is appropriate.
- Volume Analysis: Including volume helps to better understand the strength of a trend.
Benefits
- Comprehensive Analysis: Combines quantitative and qualitative methods for a deeper market analysis.
- User-Friendly: Easy parameter adjustments allow for personalized use.
- Visually Appealing: Clear charts and tables facilitate data interpretation.
- Flexible: Adaptable to various trading strategies and timeframes.
Installation and Usage
1. Installation:
- Copy the provided Pine Script code.
- Go to TradingView and open the Pine Script Editor.
- Paste the code and save the script.
- Add the indicator to your chart.
2. Customization:
- Adjust the parameters according to your trading preferences.
- Monitor the cumulative scores and the trend analysis table for trading decisions.
Conclusion
The Qualitative and Quantitative Candlestick Score offers a comprehensive analysis of market conditions by combining quantitative and qualitative evaluation methods. With its user-friendly settings and clear visualizations, this indicator is a valuable tool for traders seeking informed and precise trading decisions.
Best regards and happy trading
Chervolino
Developed by: Chervolino
Version: 1.0
License: Free to use and customize on TradingView.
For any questions or feedback, feel free to contact me through the TradingView community.
Note: This indicator is a tool to assist with trading decisions and does not replace professional financial advice. Use it responsibly and thoroughly test it before incorporating it into your trading strategies.
Kaiser Window MAKaiser Window Moving Average Indicator
The Kaiser Window Moving Average is a technical indicator that implements the Kaiser window function in the context of a moving average. This indicator serves as an example of applying the Kaiser window and the modified Bessel function of the first kind in technical analysis, providing an open-source implementation of these functions in the TradingView Pine Script ecosystem.
Key Components
Kaiser Window Implementation
This indicator incorporates the Kaiser window, a parameterized window function with certain frequency response characteristics. By making this implementation available in Pine Script, it allows for exploration and experimentation with the Kaiser window in the context of financial time series analysis.
Modified Bessel Function of the First Kind
The indicator includes an implementation of the modified Bessel function of the first kind, which is integral to the Kaiser window calculation. This mathematical function is now accessible within TradingView, potentially useful for other custom indicators or studies.
Customizable Alpha Parameter
The indicator features an adjustable alpha parameter, which directly influences the shape of the Kaiser window. This parameter allows for experimentation with the indicator's behavior:
Lower alpha values: The indicator's behavior approaches that of a Simple Moving Average (SMA)
Moderate alpha values: The behavior becomes more similar to a Weighted Moving Average (WMA)
Higher alpha values: Increases the weight of more recent data points
In signal processing terms, the alpha parameter affects the trade-off between main-lobe width and side lobe level in the frequency domain.
Centered and Non-Centered Modes
The indicator offers two operational modes:
Non-Centered (Real-time) Mode: Uses half of the Kaiser window, starting from the peak. This mode operates similarly to traditional moving averages, suitable for real-time analysis.
Centered Mode: Utilizes the full Kaiser window, resulting in a phase-correct filter. This mode introduces a delay equal to half the window size, with the plot automatically offset to align with the correct time points.
Visualization Options
The indicator includes several visualization features to aid in analysis:
Gradient Coloring: Offers three gradient options:
• Three-color gradient: Includes a neutral color
• Two-color gradient: Traditional up/down color scheme
• Solid color: For a uniform appearance
Glow Effect: An optional visual enhancement for the moving average line.
Background Fill: An option to fill the area between the moving average and the price.
Use Cases
The Kaiser Window Moving Average can be applied similarly to other moving averages. Its primary value lies in providing an example implementation of the Kaiser window and modified Bessel function in TradingView. It serves as a starting point for traders and analysts interested in exploring these mathematical concepts in the context of technical analysis.
Conclusion
The Kaiser Window Moving Average indicator demonstrates the application of the Kaiser window function in a moving average calculation. By providing open-source implementations of the Kaiser window and the modified Bessel function of the first kind, this indicator contributes to the expansion of available mathematical tools in the TradingView Pine Script environment, potentially facilitating further experimentation and development in technical analysis.
COT | MERCORThis Pine Script is designed for use on the TradingView platform to visualize various Commitment of Traders (COT) data for trading analysis. The COT reports provide a breakdown of each Tuesday’s open interest in the futures markets, which is valuable for understanding market sentiment. This script specifically focuses on displaying the positions of commercial and noncommercial traders (large speculators), both in long and short positions, as well as their net positions. Here’s a breakdown of the script’s components and how to use it:
Script Components
Indicator Declaration: The script begins by declaring a custom indicator using indicator() function, naming it "COT | MERCOR", and setting a short title and precision.
Library Import: It imports a library TradingView/LibraryCOT/2 as cot, which is likely a mock representation for the purpose of this description, assuming a library that provides COT data functions.
User Inputs:
shortNegative: A boolean input that allows users to choose whether short positions are displayed as negative numbers.
invertColors: A boolean input for users to decide if they want to invert the default colors of the plot lines.
lineWidth: An integer input that lets users adjust the width of the plotted lines.
COT Data Requests: The script requests COT data for both commercial and noncommercial traders' long and short positions using cot.COTTickerid() function. This includes constructing identifiers for these data points based on the user's input and predefined criteria (like "Commercial Positions" or "Noncommercial Positions", and direction "Long" or "Short").
Data Plotting: The script plots the retrieved data points on the chart, using different colors and line styles to distinguish between commercial and noncommercial positions, as well as between long, short, and net positions. It includes options to adjust the appearance based on user inputs (like inverting colors or changing line width).
Zero Line: A horizontal line (hline) is plotted at zero to provide a baseline for comparison.
How to Use
Adding the Script to Your Chart:
On TradingView, open the Pine Editor.
Paste this script into the Pine Editor.
Save and add the script to your chart.
Customizing the Display:
You can toggle whether short positions are displayed as negative numbers through the "Show Shorts as Negative Numbers?" checkbox.
Use the "Invert Colors?" checkbox to swap the colors used for plotting the positions.
Adjust the "Line Width" option to change the thickness of the plotted lines according to your preference.
Analyzing the Data:
The plotted lines represent the long, short, and net positions of commercial and noncommercial traders.
Commercial positions are typically considered the positions of entities involved in the production, processing, or merchandising of a commodity, whereas noncommercial positions represent large speculators, such as hedge funds.
The net positions (long minus short) provide insight into the overall bullish or bearish sentiment among these trader categories.
By examining these positions, traders can gain insights into potential market moves based on the behaviors of key market participants.
This script is a powerful tool for traders who want to incorporate COT report data into their market analysis on TradingView. By visualizing the trading positions of significant market players, it aids in making informed trading decisions.
Bond Yield SpreadThe Bond Yield Spread Script is developed for forex traders, offering an automated tool to calculate the bond yield spread between two countries associated with the forex pair displayed on the chart.
Functionality:
The script starts by identifying the base and quote currencies of the current forex pair and aligns them with their corresponding national bond symbols based on user-selected maturity, with options ranging from 01Y to 30Y. It calculates the yield spread by subtracting the bond yield associated with the quote country from that of the base country, following the formula:
Yield Spread = Yield(Base Country) − Yield(Quote Country)
which is then displayed as a plot line on the chart.
This script relies solely on TradingView's internal yield symbols, with the following calculation:
"currency" => "first two letters" + maturity
And maturity, in this case, is the value that is configured in the indicator settings, for example:
"EUR" => "EU" + "02Y" will result in EU02Y -> which will be used in the formula, depending on the quote or base currency.
Application in Trading:
This indicator is invaluable for traders employing carry trading strategies or assessing currency strength based on traded interest rates as an indicator. A higher yield spread typically indicates a stronger currency, because the return obtained for holding the currency is higher.
Originality and Practicality:
This script is self-developed, aiming to fill the gap in automatic bond yield comparisons within the TradingView environment. It is particularly beneficial for traders focusing on macroeconomic factors affecting forex markets. Unlike other scripts, it integrates various bond maturities into one tool, enhancing its utility and application range.
Conclusion:
Designed for traders incorporating macroeconomics in their strategy, this script will be useful to calculate the bond yield differences automatically without having to enter a new formula for every new currency pair.
Compliance and Limitations:
The script complies with TradingView scripting standards, ensuring no lookahead bias and maintaining real-time data integrity. However, its utility depends on the comprehensive availability of bond yield data within TradingView. As not all countries issue bonds for each listed maturity, this may limit the script’s application for certain currency pairs or specific maturities.
How to force strategies fire exit alerts not reversalsPineScript has gone a long way, from very simple and little-capable scripting language to a robust coding platform with reliable execution endpoints. However, this one small intuitivity glitch is still there and is likely to stay, because it is traditionally justified and quite intuitive for significant group of traders. I'm sharing this workaround in response to frequent inquiries about it.
What's the glitch? When setting alerts on strategies to be synchronized with TradingView's Strategy Tester events, using simple alert messages such as "buy" or "sell" based on entry direction seems straightforward by inserting {{strategy.order.action}} into the Create Alert's "Message" field. Because "buy" or "sell" are exactly the strings produced by {{strategy.order.action}} placeholder. However, complications arise when attempting to EXIT positions without reversing, whether triggered by price levels like Stop Loss or Take Profit, or logical conditions to close trades. Those bricks fall apart, because on such events {{strategy.order.action}} sends the same "sell" for exiting buy positions and "buy" for exiting sell positions, instead of something more differentiating like "closebuy" or "closesell". As a result reversal trades are opened, instead of simply closing the open ones.
This convention harkens back to traditional stock market practices, where traders either bought shares to enter positions or sold them to exit. However, modern trading encompasses diverse instruments like CFDs, indices, and Forex, alongside advanced features such as Stop Loss, reshaping the landscape. Despite these advancements, the traditional nomenclature persists.
And is poised to stay on TradingView as well, so we need a workaround to get a simple strategy going. Luckily it is here and is called alert_message . It is a parameter, which needs to be added into each strategy.entry() / strategy.exit() / strategy.close() function call - each call, which causes Strategy Tester to produce entry or exit orders. As in this example script:
line 12: strategy.entry(... alert_message ="buy")
line 14: strategy.entry(... alert_message ="sell")
line 19: strategy.exit(... alert_message ="closebuy")
line 20: strategy.exit(... alert_message ="closesell")
line 24: strategy.close(... alert_message ="closebuy")
line 26: strategy.close(... alert_message ="closesell")
These alert messages are compatible with the Alerts Syntax of TradingConnector - a tool facilitating auto-execution of TradingView alerts in MetaTrader 4 or 5. Yes, simple alert messages like "buy" / "sell" / "closebuy" / "closesell" suffice to carry the execution of simple strategy, without complex JSON files with multiple ids and such. Other parameters can be added (actually plenty), but they are only option and that's not a part of this story :)
Last thing left to do is to replace "Message" in Create Alert popup with {{strategy.order.alert_message}} . This placeholder transmits the string defined in the PineScript alert_message= parameter, as outlined in this publication. With this workaround, executing closing alerts becomes seamless within PineScript strategies on TradingView.
Disclaimer: this content is purely educational, especially please don't pay attention to backtest results on any timeframe/ticker.
Backtest any Indicator v5Happy Trade,
here you get the opportunity to backtest any of your indicators like a strategy without converting them into a strategy. You can choose to go long or go short and detailed time filters. Further more you can set the take profit and stop loss, initial capital, quantity per trade and set the exchange fees. You get an overall result table and even a detailed, scroll-able table with all trades. In the Image 1 you see the provided info tables about all Trades and the Result Summary. Further more every trade is marked by a background color, Labels and Levels. An opening Label with the trade direction and trade number. A closing Label again with the trade number, the trades profit in % and the total amount of $ after all past trades. A green line for the take profit level and a red line for the stop loss.
Image 1
Example
For this description we choose the Stochastic RSI indicator from TradingView as it is. In Image 2 is shown the performance of it with decent settings.
Timeframe=45, BTCUSD, 2023-08-01 - 2023-10-20
Stoch RSI: k=30, d=40, RSI-length=140, stoch-length=140
Backtest any Indicator: input signal=Stoch RSI, goLong, take profit=9.1%, stop loss=2.5%, start capital=1000$, qty=5%, fee=0.1%, no Session Filter
Image 2
Usage
1) You need to know the name of the boolean (or integer) variable of your indicator which hold the buy condition. Lets say that this boolean variable is called BUY. If this BUY variable is not plotted on the chart you simply add the following code line at the end of your pine script.
For boolean (true/false) BUY variables use this:
plot(BUY ? 1:0,'Your buy condition hold in that variable BUY',display = display.data_window)
And in case your script's BUY variable is an integer or float then use instate the following code line:
plot(BUY ,'Your buy condition hold in that variable BUY',display = display.data_window)
2) Probably the name of this BUY variable in your indicator is not BUY. Simply replace in the code line above the BUY with the name of your script's trade condition variable.
3) Save your changed Indicator script.
4) Then add this 'Backtest any Indicator' script to the chart ...
5) and go to the settings of it. Choose under "Settings -> Buy Signal" your Indicator. So in the example above choose .
The form is usually: ' : BUY'. Then you see something like Image 2
6) Decide which trade direction the BUY signal should trigger. A go Long or a go Short by set the hook or not.
Now you have a backtest of your Indicator without converting it into a strategy. You may change the setting of your Indicator to the best results and setup the following strategy settings like Time- and Session Filter, Stop Loss, Take Profit etc. More of it below in the section Settings Menu.
Appereance
In the Image 2 you see on the right side the List of Trades . To scroll down you go into the settings again and decrease the scroll value. So you can see all trades that have happened before. In case there is an open trade you will find it at the last position of the list.
Every Long trade is green back grounded while Short trades are red.
Every trade begins with a label that show goLong or goShort and its number. And ends with another label again with its number, Profit in % and the resulting total amount of cash.
If activated you further see the Take Profit as a green line and the Stop Loss as a orange line. In the settings you can set their percentage above or below the entry price.
You also see the Result Summary below. Here you find the usual stats of a strategy of all closed trades. The profit after total amount of fees , amount of trades, Profit Factor and the total amount of fees .
Settings Menu
In the settings menu you will find the following high-lighted sections. Most of the settings have a question mark on their right side. Move over it with the cursor to read specific explanation.
Input Signal of your Indicator: Under Buy you set the trade signal of your Indicator. And under Target you set the value when a trade should happen. In the Example with the Stochastic RSI above we used 20. Below you can set the trade direction, let it be go short when hooked or go long when unhooked.
Trade Settings & List of Trades: Take Profit set the target price of any trade. Stop Loss set the price to step out when a trade goes the wrong direction. Check mark the List of Trades to see any single trade with their stats. In case that there are more trades as fits in the list you can scroll down the list by decrease the value Scroll .
Time Filter: You can set a Start Time or deactivate it by leave it unhooked. The same with End Time .
Session Filter: here you can choose to activate it on weekly base. Which days of the week should be trading and those without. And also on daily base from which time on and until trade are possible. Outside of all times and sessions there will be no new trades if activated.
Invest Settings: here you can choose the amount of cash to start with. The Quantity percentage define for every trade how much of the cash should be invested and the Fee percentage which have to be payed every trade. Open position and closing position.
Other Announcements
This Backtest script don't use the strategy functions of TradingView. It is programmed as an indicator. All trades get executed at candle closing. This script use the functionality "Indicator-on-Indicator" from TradingView.
Conclusion
So now it is your turn, take your promising indicators and connect it to that Backtest script. With it you get a fast impression of how successful your indicator will trade. You don't have to relay on coders who maybe add cheating code lines. Further more you can check with the Time Filter under which market condition you indicator perform the best or not so well. Also with the Session Filter you can sort out repeating good market conditions for your indicator. Even you can check with the GoShort XOR GoLong check mark the trade signals of you indicator in opposite trade direction with one click. And compare your indicators under the same conditions and get the results just after 2 clicks. Thanks to the in-build fee setting you get an impression how much a 0.1% fee cost you in total.
Cheers
IBIT Premium to CoinbaseThe BTC ETF premium indicator for TradingView is a specialized tool designed to measure and visualize the premium or discount of the iShares Bitcoin Trust (IBIT), an investment vehicle that holds Bitcoin, relative to the actual price of Bitcoin on the Coinbase exchange. This indicator can be particularly insightful for traders interested in the BTC securities market and those analyzing the demand for Bitcoin as reflected by institutional investment products.
#### Description:
The BTC ETF premium indicator in TradingView leverages an advanced Pine Script algorithm to calculate the premium (or discount) percentage of IBIT compared to the spot price of Bitcoin (BTC/USD) on Coinbase. The premium is a critical insight that reflects market sentiment and potentially arbitrage opportunities between the trust's share price and the underlying cryptocurrency asset.
Here's how the indicator works:
1. **Calculation Methodology:**
- **Implied Bitcoin Price of IBIT:** We determine the implied price of Bitcoin within IBIT by dividing the IBIT closing price by the known ratio of Bitcoin per share.
- **IBIT Premium to Coinbase:** The percentage premium is then calculated as:
$$\text{IBIT Premium} = \frac{(\text{Implied Bitcoin Price of IBIT } - \text{Actual Bitcoin Price on Coinbase})}{\text{Actual Bitcoin Price on Coinbase}} \times 100$$
- This calculation is performed using the closing prices on a per-minute basis to ensure timely and accurate analysis.
2. **Visualization:** The indicator plots the premium as a step line chart, making it easy to visualize changes over time. A dynamic label accompanies the plot, displaying the implied Bitcoin price, the actual percentage premium or discount, and whether the premium is trending up or down compared to the previous day's value.
3. **Usage Scenario:** Traders can use this indicator to monitor the live premium 24/7 and analyze how it behaves during different market conditions, including when the equity market, where IBIT is traded, is closed.
#### Additional Features:
- **Color-Coding:** The premium is color-coded in green when positive (premium) and in red when negative (discount), aiding quick visual assessment.
- **Zero-Line Reference:** A horizontal line is drawn at zero to easily identify when IBIT is trading at par with the spot price of Bitcoin.
- **Real-Time Label Updates:** The label updates in real time with the latest premium/discount information and includes an arrow to signify the trend direction.
#### Access and Usage:
The indicator can be favorited or added to your TradingView charts. You are also welcome to use the source code as a foundation for further customization to suit your trading strategies.
#### Notes:
Please consider that the IBIT has specific trading hours, and the indicator can show live changes even when its market is closed, which might lead to discrepancies from official static data. For best performance, use this indicator alongside the IBIT candlestick chart on TradingView.
GBTC Premium to CoinbaseThe BTC ETF premium indicator for TradingView is a specialized tool designed to measure and visualize the premium or discount of the Grayscale Bitcoin Trust (GBTC), an investment vehicle that holds Bitcoin, relative to the actual price of Bitcoin on the Coinbase exchange. This indicator can be particularly insightful for traders interested in the BTC securities market and those analyzing the demand for Bitcoin as reflected by institutional investment products.
#### Description:
The BTC ETF premium indicator in TradingView leverages an advanced Pine Script algorithm to calculate the premium (or discount) percentage of GBTC compared to the spot price of Bitcoin (BTC/USD) on Coinbase. The premium is a critical insight that reflects market sentiment and potentially arbitrage opportunities between the trust's share price and the underlying cryptocurrency asset.
Here's how the indicator works:
1. **Calculation Methodology:**
- **Implied Bitcoin Price of GBTC:** We determine the implied price of Bitcoin within GBTC by dividing the GBTC closing price by the known ratio of Bitcoin per share.
- **GBTC Premium to Coinbase:** The percentage premium is then calculated as:
$$\text{GBTC Premium} = \frac{(\text{Implied Bitcoin Price of GBTC} - \text{Actual Bitcoin Price on Coinbase})}{\text{Actual Bitcoin Price on Coinbase}} \times 100$$
- This calculation is performed using the closing prices on a per-minute basis to ensure timely and accurate analysis.
2. **Visualization:** The indicator plots the premium as a step line chart, making it easy to visualize changes over time. A dynamic label accompanies the plot, displaying the implied Bitcoin price, the actual percentage premium or discount, and whether the premium is trending up or down compared to the previous day's value.
3. **Usage Scenario:** Traders can use this indicator to monitor the live premium 24/7 and analyze how it behaves during different market conditions, including when the equity market, where GBTC is traded, is closed.
#### Additional Features:
- **Color-Coding:** The premium is color-coded in green when positive (premium) and in red when negative (discount), aiding quick visual assessment.
- **Zero-Line Reference:** A horizontal line is drawn at zero to easily identify when GBTC is trading at par with the spot price of Bitcoin.
- **Real-Time Label Updates:** The label updates in real time with the latest premium/discount information and includes an arrow to signify the trend direction.
#### Access and Usage:
The indicator can be favorited or added to your TradingView charts. You are also welcome to use the source code as a foundation for further customization to suit your trading strategies.
#### Notes:
Please consider that the GBTC has specific trading hours, and the indicator can show live changes even when its market is closed, which might lead to discrepancies from official static data. For best performance, use this indicator alongside the GBTC candlestick chart on TradingView.
Ticker Correlation Matrix Table and Heatmap [SS]Hello everyone,
I am in the process of releasing some of my own utility indicators/things I use to reference and perform analyses.
I do a lot of quantitative/math based analyses, including correlation assessments that I traditionally would need to export data from Tradingview and perform in SPSS, Excel or R. I have been slowly building a repertoire of Excel/R functionality right on pinescript so I do not need to constantly export data and can perform the assessments right on Tradingview.
This is an example of such an indicator.
About the Indicator:
It is a correlation table/matrix indicator. It will allow up to 10 ticker inputs, which can be stocks, economic data, anything available on Tradingview, and it will perform a correlation assessment in a matrix / heatmap style.
The indicator will show the various correlations among all of the selected ticker inputs and will colour them based on correlation strength and type.
Strong negative correlations will appear bright red.
Strong positive correlations will appear bright green.
Complete absence of correlation (i.e. 0) will show bright orange.
The rest will show a darker shade to indicate less strength/correlation.
Calculation Functions
In addition to outputting a correlation matrix, the indicator is also able to express the relationship between tickers in a linear expression using the y = mx + b formula.
If we look at table, we can see that MSFT and AAPL have a significantly strong correlation of 0.82.
If we wanted to express this relationship mathmatically, we can ask the indicator to represent the linear relationship in our y = mx + b format. We simply toggle to our menu and select the Convert From MSFT (Ticker 2) and convert to APPL (Ticker 3):
When we select this, a new table will populate below and give you the expression as well as the amount of error associated with it:
In this case, we can see that the equation is y = 0.553x + 0.626 with a range of around 10 points in either direction.
This means that, to convert MSFT to AAPL, we would multiply the MSFT price by 0.553 and then add 0.626. So if we try it, MSFT closed at 328.41. So we substitute:
AAPL price = 0.553(328.41) + 0.626
AAPL price = 181.61 + 0.626
AAPL Price = 182.24 +/- 10
AAPL actually closed at 184.12. So pretty good. If we try another, let's do SPY to XLF:
So we substitute, SPY closed at 449.16.
XLF Price = 449.16(0.077) + 0.084
XLF price = 34.59 + 0.084
XLF price = 34.67
XLF actually closed at 34.49.
This is handy if you want to see how one stock price may affect another. If you are long on one stock and short on another, you can use this to determine what the likely outcome may be for the alternative stock. However, I recommend only performing this on tickers that have a relationship of 0.7 or higher, or a relationship of -0.7 or lower.
I always had to use SPSS to do this, so being able to do this right in Pinescript for me is a huge convenience!
Some other uses:
As I tend to post educational stuff on Tradingview and I frequently use correlation matrices, I have formatted the indicator to be more aesthetically pleasing for these purposes. Thus, you can unselect extra ticker slots that you do not need. IF I only need to display 3 tickers, I can unselect tickers 4 - 10. The end result is a cleaner table:
Essential Functions:
The assessment length is defaulted to 75 candles on the daily timeframe. Be sure to have the daily timeframe opened when you are viewing the indicator.
You can increase or decrease the assessment length as you desire.
You can also specify the source. The source is defaulted to close, but if you want to see the direct correlation of ticker's highs and/or lows, you can modify the source input in the settings menu to look at this.
Just remember to have the chart opened to whatever timeframe you are looking at.
And that's the indicator! Hopefully you find it helpful. Its more of an academic indicator, but it is performing a function that I personally use frequently in analyses, so I hope you may also benefit from it as well!
Thanks for checking it out! Safe trades everyone!
[DisDev] D-I-Y Gridbot🟩 This script is a “do-it-yourself” Grid Bot Simulator, used for visualizing support and resistance levels. Prices are divided into grids, or trade zones, that will trigger signals each time a new zone is entered. During ranging markets, each transaction is followed by a “take profit.” As the market starts to trend, transactions are stacked (compare to DCA ), until the market consolidates. No signals are triggered above the upper gridline or below the lower gridline. Unlike the previous version, all grids may be adjusted in real-time by dragging the gridlines up and down to the desired support and resistance levels.
When adding the indicator to a new chart, you must choose six grid levels by clicking on the desired support or resistance price. You can change all of these levels at any time directly on the chart.
⚡ OVERVIEW ⚡
The D-I-Y Gridbot is an interactive tool designed for visualizing support and resistance levels. As a continuation of the original Gridbot Simulator , which has received significant recognition on TradingView, earning over 4000 boosts and an Editor's Pick status. This tool serves not only as an evolved version of its predecessor, but also as an open-source template for developing future gridbots. It aims to foster discussions and facilitate innovations around grid-trading strategies.
One of the new features of this gridbot is the real-time adjustability of all gridlines. Users can move these lines up and down to set their desired support and resistance levels in response to changing market conditions. Additionally, the D-I-Y Gridbot is compatible with multiple timeframes and can be used on most TradingView charts.
Drag gridlines up or down to desired price level.
Key Features 🔑
All gridlines are adjustable in real-time, directly on the chart
Signals can be filtered by a customizable moving average or by VWAP
Customizable support and resistance levels
Potentially increases profitability in ranging markets
Benefits 💸
Customizable Support and Resistance Levels : The D-I-Y Gridbot allows users to set their preferred support and resistance levels, which can be changed at any time directly on the chart. This provides users with the ability to customize their trading parameters based on their strategy and risk tolerance.
Various Trading Strategies : The D-I-Y Gridbot supports various trading strategies, including Mean Reversion, Ranging Markets, and Dollar-cost averaging (DCA). This allows users to capitalize on price reversals, execute buy and sell orders at predetermined levels, and buy more of an asset as the price falls, respectively.
Multi-Timeframe and Versatility : The D-I-Y Gridbot is compatible with multiple timeframes and can be used on any TradingView chart.
Experimental and Educational : The D-I-Y Gridbot is considered a proof-of-concept tool that is both experimental and educational. This can provide traders with a deeper understanding of grid trading strategies and the ability to experiment with different trading parameters and strategies.
⚙️ CONFIGURATION & SETTINGS ⚙️
Inputs 🔧
Trigger : Candle location to trigger the signal. "Wick" will use either high or low, depending on the signal direction. "Close" will use the close price. “MA” will use the selected moving average or VWAP.
Confirmation : Market direction to confirm the candle trigger. "Reverse" will confirm the signal when the price crosses back over the trigger. "Breakout" will confirm when the price breaks out of the trigger.
Number of Support/Resistance zones : 1 = Only Top Grid is Support/Only Bottom Grid is Resistance. 2 = Top two grids are Resistance/Bottom two grids are Support. 3 = Top three grids are Resistance/Bottom three grids are Support
MA Type : Exponential Moving Average (EMA), Hull Moving Average (HMA), Simple Moving Average (SMA), Triple Exponential Moving Average (TEMA), Volume Weighted Moving Average (VWMA), Volume Weighted Average Price (VWAP)
MA Filter : Use Moving Average as a reversion filter for signals. When enabled, no buys when above MA, no sells when below. Use in conjunction with S/R zones to reduce false signals.
Allow Repeat Signals . When enabled, signals will reset when nearest gridline is triggered. When disabled, only one signal will be triggered per gridline.
Line/Fill colors
Gridlines . Adjusts gridline prices manually.
Left : Trigger = Wick. Confirm = Breakout. Buys are signaled when LOW breaks below gridline. Sells are triggered when HIGH breaks above gridline.
Right : Trigger = Close. Confirm = Breakout. Buys are signaled when the candle CLOSES below the gridline. Sells are triggered when the candle CLOSES above the gridline.
Left : Confirm=Breakout. Signals on breaking through the next gridline.
Right : Confirm=Reverse. Signals only when crossing back from the gridline.
S/R Zones=1. Upper gridline is Resistance / Lower is Support. Middle 4 are neutral.
S/R Zones = 3. Upper three gridlines are Resistance / Lower three are Support
Notes:
If gridlines are dragged out of order on a live chart, they will auto-sort into the correct order.
Price levels may be entered in settings, or adjusted in real-time directly on the chart.
When changing symbols, remember to adjust the gridlines to accommodate the new symbol.
Alerts 🔔
Users can set alerts based on their chosen parameters for triggers, confirmations, number of support/resistance zones, and smoothing type, enabling precise control over alert conditions.
💡 USAGE & STRATEGY 💡
Trading Strategies 📈
Mean Reversion: The script can be used to capitalize on price reversals back to the mean.
Ranging Markets: The script excels in ranging markets, executing buy and sell orders at predetermined levels.
Dollar-cost averaging (DCA): The script can be used to execute DCA orders, buying more of an asset as the price falls, and lowering the average cost per unit.
Timeframes and Symbols ⌚
Multi-Timeframe: The indicator is compatible with multiple timeframes.
Versatile: Can be used on any crypto trading pair on TradingView.
🤖 DETAILS & METHODOLOGY 🤖
Algorithm and Calculation 🛡️
Grids are set and adjusted when loading the indicator on the chart and may be customized anytime afterward by clicking and dragging the gridlines on the chart.
Gridlines are updated, sorted, and stored in a float array.
Signals are calculated based on candle trigger, market direction, and previous price level.
📚 ADDITIONAL RESOURCES 📚
Chart Examples 📊
S/R Zones = 3: Three Support and Three Resistance. Filter = 50-period Triple Exponential Moving Average (TEMA)
S/R Zones = 1: One Support, One Resistance, and Four Neutral Zones. Support Zones: Buys only. Resistance Zones: Sells only. Neutral Zones: Grid-dependent
When MA filter is enabled, Buys are only triggered below Moving Average, and Sells are only triggered above.
Trigger = Wick. Confirmation = Breakout. Buys are signaled when Low breaks above the next grid level. Sells are signaled when High breaks below the next grid level.
🚀 CONCLUSION 🚀
The D-I-Y Gridbot is a proof-of-concept, emphasizing its experimental and educational nature. In future versions, we will aim to incorporate concepts such as auto-adjusting grids and angled grids for trending markets. The script is designed to evolve through user feedback and suggestions, shaping its future iterations.
Credit: This is a continuation of the Gridbot series by xxattaxx-DisDev . Explicit permission was granted by user xxattaxx-disdev to re-use all Gridbot code and all materials without restrictions.
⚠️ DISCLAIMER ⚠️
This indicator is a proof-of-concept and is considered experimental and educational. When gridlines are drawn in hindsight, signals appear to be predictive and valid. Future results may always vary when the trend direction changes. Comments and suggestions are encouraged.
This indicator is provided as a tool for traders and should not be used as the sole basis for making trading decisions. Always conduct your own research and consider your risk tolerance before entering any trades.
Tick based chart [DotH]Version 1.0 - 2nd January 2023
Hi All,
This is my first published indicator, although I have written several hundreds for private use.
Description
Tick based chart
I got intrigued while reading about tick based charts on this page (please note this link/website owner is not affiliated with me) , so I decided to see if it would be possible to recreate this type of chart in TradingView, and here's the results.
This is an implementation for displaying a tick based chart in Trading View. There are benefits to using ticks based candles, as each candle represents the same number of "price moves" rather than an unknown number of moves.
Tick based charts are charts with candles that are rendered in the same way as traditional candles. However, instead of rendering a new candle at a specific time period,tick based candles are rendered after a set number of ticks have occured. For example, in a 50 tick chart, each candle that you see represents exactly 50 ticks, i.e. 50 price changes/moves. Having a view of what happens on the tick level, may help some traders evaluate what is happening within very large candles, or even detect a change in trend, volatility or some other metric which otherwise may not be visible using a standard chart.
Please note that this indicator DOES NOT match/synchronize timewise with the main chart in TradingView. You must view it independently. If you need to see what times are represented in the tick chart, you can look at the custom time labels and X-Axis grid lines in it to get an idea what parts of the tick based chart correspond to the main chart.
Limitations/known issues:
Currently the indicator has been restricted to 100 candles. This is for limiting the line and box usage to a max of 300 objects.
On timeframes above 1 minute, the seconds values will always be 0. In order to be able to see seconds values in the chart scale you need to be on a second level chart, which requires a premium TradingView subscription.
Changing the parameters in the settings will cause the chart to empty and start redrawing from its first candle again. This is because the tick chart is being drawn from realtime data, unlike the standard TradingView charts.
TODOs & Bugs:
Add some moving average indicators (SMA, EMA as a minimum)
Add a corresponding tick based volume chart
Create RSI, MACD, BB variations of this indicator
If you have any ideas/suggestions or bug reports, please feel free to let me know, however keep in mind that I do not have too much spare time to add things, so updates are going to be sporadic.
ABOUT CODE REUSE:
The code is free to use/change. However, if you plan to use this code to make a derivative indicator or strategy, it would be nice to know, so let me know if you feel like it!
Volume Weighted Hull Moving Average Bollinger Bands (VWHBB)Title: "Volume Weighted Hull Moving Average Bollinger Bands Indicator for TradingView"
Abstract: This script presents a TradingView indicator that displays Bollinger Bands based on the volume weighted Hull Moving Average (VEHMA) of a financial asset. The VEHMA is a technical analysis tool that combines the reduced lag of the Hull Moving Average (HMA) with volume weighting to provide a more sensitive indicator of market trends and dynamics. The Bollinger Bands are a volatility indicator that plot upper and lower bands around a moving average, which can help traders identify potential trend changes and overbought or oversold conditions. The script allows the user to customize the VEHMA length and Bollinger Band deviation parameters.
Introduction: Bollinger Bands are a popular technical analysis tool used to identify potential trend changes and overbought or oversold conditions in the market. They are constructed by plotting upper and lower bands around a moving average, with the width of the bands determined by the volatility of the asset. The VEHMA is a variant of the Hull Moving Average (HMA) that combines the reduced lag of the HMA with volume weighting to provide a more sensitive indicator of market trends and dynamics.
Methodology: The VEHMA is calculated using a weighted average of two exponential moving averages (EMAs), with the weighting based on the volume of the asset and the length of the moving average. The Bollinger Bands are calculated by plotting the VEHMA plus and minus a standard deviation of the asset's price over a specified period. The standard deviation is a measure of the volatility of the asset and helps to adjust the width of the bands based on market conditions.
Implementation: The script is implemented in TradingView's PineScript language and can be easily added to any chart on the platform. The user can customize the VEHMA length and Bollinger Band deviation parameters to suit their trading strategy. The VEHMA, Bollinger Bands, and fill colors are plotted on the chart to provide a visual representation of the indicator.
Conclusion: The VEHMA Bollinger Bands indicator is a useful tool for traders looking to identify potential trend changes and overbought or oversold conditions in the market. This script provides a convenient and customizable implementation of the indicator for use in TradingView.
Price Weighted Volume MA (PWVMA)Title: "Price Weighted Volume Moving Average Indicator for TradingView"
Abstract: This script presents a TradingView indicator that displays the price weighted volume moving average (PWVMA) of a financial asset. The PWVMA is a technical analysis tool that helps traders visualize the relationship between price and volume over a specified period of time. The script offers two PWVMA calculation methods: the standard volume moving average (VMA) and the exponentially smoothed volume moving average (EVMA). The user can choose between these methods and customize the length and reset (session weighting) parameters of the moving average. The PWVMA is plotted on the chart alongside the volume data for easy comparison and analysis.
Introduction: In financial markets, volume is an important factor that can provide insights into the strength of a trend or the intensity of buying or selling pressure. The PWVMA is a variant of the volume moving average (VMA) that takes into account the price of the asset in the calculation. This makes the PWVMA more sensitive to price changes and helps traders understand the underlying dynamics of the market.
Methodology: The PWVMA is calculated by dividing the sum of the product of volume and price over a specified period by the sum of the price over the same period. In the VMA method, this calculation is performed using a simple moving average. In the EVMA method, the calculation uses an exponentially smoothed moving average, which gives greater weight to more recent data points.
Implementation: The script is implemented in TradingView's PineScript language and can be easily added to any chart on the platform. The user can choose between the VMA and EVMA methods and adjust the length and reset (session weighting) parameters as needed. The PWVMA is plotted on the chart alongside the volume data, allowing traders to compare and analyze the relationship between the two.
Conclusion: The PWVMA is a useful technical analysis tool that helps traders understand the relationship between price and volume in the market. This script provides a convenient and customizable implementation of the PWVMA for use in TradingView.
(I love using openai to write my descriptions)
All-in-one CPR indicator Introduction and Acknowledgement:
The script is basically a mashup script and provides a combined functionality of various indicators. I'll explain the usefulness and the optimal usage of the script after giving the credits where it is due. A CPR indicator for visually identifying the trend along with the strength of the trend is NOT available in the public library of TradingView. Hence, the need of this indicator.
The credit of creating the original indicators remain unknown to me but I would like to acknowledge the authors whose formulae and codes I have used for creating this mashup indicator.
- Frank Ochoa
- Guruprasad Meduri
- Rafael Zioni
- Stoked Stocks
- Pine team for default indicators
The prime focus of the script is identifying and simplifying the 2 main aspects of a trend:
1. Direction / Underlying trend
2. Strength of the trend
Flaws in traditional CPR:
Some may see this as a flaw, some may not. So take my opinion with a grain of salt. In general, the traditional CPR indicator is used to plot just support and resistance levels, and the trend identification is purely discretionary. In addition to this, there is no way to assess the strength of the move without using a dedicated volumed based indicator. This causes amateur traders to take counter trades to the market direction.
What is the need of this hybrid indicator?
A CPR indicator that also aids in visually identifying the trend and the strength of the trend with respect to the price action in NOT available in the public library of TradingView. The traditional CPR can be used to assess the rough direction of the market but if it combined with the Hull ribbon, the probability of identifying the trend increases manifold. Hence, I decided to create this mashup indicator.
In addition to the basic CPR pivots, the script provides the functionality of the following indicators:
1. HMA based trend ribbons with auto buy/sell signals
2. Volatility based bands - Bollinger bands, Keltner channel, Donchian channel, envelope.
3. Coloured volume candles to determine the strength of the trend
4. CPR with daily, weekly, and monthly levels
5. Previous day high/low
6. Tomorrow CPR
7. 3 Simple moving averages
8. Volume Weighted Average Price (VWAP)
Correct usage of the indicator:
The optimal usage of the indicators consists of mainly 2 parts:
1. Identification of the trend using the combination of CPR and Hull ribbon
2. Determining the strength of the trend
How to identify the trend?
In general, when the price is above CPR it is considered a bullish trend. Also, when the price is above the Hull ribbon, it is considered bullish. Reverse is true for a bearish trend. Combining the traditional CPR logic with the Hull trend ribbon, we can conclude that:
1. Bullish trend = Price above CPR and above the Hull ribbon
2. Bearish trend = Price below CPR and below the Hull ribbon
If the Hull ribbon is showing a zig-zag move, the trend will be sideways. Also, the time frame of the Hull ribbon can be defined as per the need of the user.
Exhibit: Identification of a bullish trend
Exhibit: Identification of a bullish trend with a contra move (pullback)
Exhibit: Identification of a bearish trend
Exhibit: Identification of a bearish trend with a contra move (pullback)
How to determine the strength of the trend?
1. Strong trend = The dark coloured candles represent volume more than 150% of the look back period. For instance
2. Moderate trend = The bright coloured candles represent volume between 50-150%.
3. Neutral trend = The Grey coloured candles represent a weak trend where the volume is less than 50%.
Exhibit: Identification of a strong bearish trend along with the trend direction
Exhibit: Identification of a strong bullish trend using only coloured candles
All the other indicators including the SMA, VWAP, Bollinger bands, Keltner channels, etc. can be used as per the taste of the trader.
Thanks for reading! I hope you find this indicator useful.
Happy learning. Cheers!
Rajat Kumar Singh (@johntradingwick)
Community Manager (India), TradingView
UpVol/TVol NYSE Lowry Upside DaysTakes Tradingviews Upside Volume for NYSE and divides it by Total Volume on NYSE.
Tradingview's data source generally has different volume figures than say the Wall Street Journal. Therefore, this indicator is an estimate.
10% upside volume shows extreme panic and is consistent with market sell offs.
90% upside days, following a decline, are often occur within a week or so of significant market bottoms.
Recommend using columns as the plot type.
Based on research of LowryResearch Corp.
[DS]Bitcoin BTC ETH and others cryptos==DESCRIPTION - English version
The purpose of this script is to show information on graph that can help your decision to buy and sell cryptos.
The script is indicated for Position Trade (Long Term - Holder) and Swing Trade (Medium term).
Position Trade it is recommended to use the Weekly (W) and Daily (D) charts, Swing trade to use the 4H and 2H charts.
It is not advisable to use this indicator with graphic time frame less than 2 hours because the noise levels of information are very high.
An alert function has been inserted in the indicator and to activate this function you will need configure it in the Tradingview.
This alert will indicate the likely points of entry and exit of the asset.
**DESCRIÇÃO - Versão em Português
A proposta deste script é mostrar no gráfico informações que possam auxiliar a sua decisão de compra e venda de cryptos.
Este script é indicado para negociação Position Trade (Longo Prazo - Holders) e Swing Trade (Médio prazo).
Para Position Trade (Holders) é indicado utilizar os gráficos Semanal (W) e Diário (D), para Swing trade utilizar os gráficos 4H e 2H.
Não é aconselhável utilizar este indicador com tempos gráficos menores que 2hs pois os níveis de ruídos nas informação são muito altos.
Foi inserido no indicador uma função de alerta e para ativar esta função, você precisará configurá-la no seu Tradingview.
Este alerta irá indicar os provaveis pontos de entrada e saída do ativo.
====================================================================================================
** English Version
====================================================================================================
█ SETUP applied to Indicator
The setup is based on the average 8, 21 and 56 of the weekly chart (taught on youtube channel: Augusto Backes)
Price above the average 8 on the weekly, indicates that the market is UP trend, below the average 8 on the weekly that the market is DOWN trend
RSI greater than 60% the market is UP trend
RSI greater than 40% and lower 60% the market is in ACCUMULATION
RSI less than 40% the market DOWN trend
The weekly average 8 is represented in GREEN (Upward Trend) and RED (Downward Trend).
The weekly average 21 is represented in LIGHT ORANGE
The weekly average 56 is represented in LIGHT PURPLE
The crossing of weekly averages 8 and 21 is represented with a GREEN (HIGH trend) and RED (LOW trend) cross - this signal is disabled on the graph but you can enable it by clicking on the graph setup
█ FUNCTION USE
(1) Average 8, 21 and 56 on Weekly - show the average 8, 21, 56 weekly on graphic (Average 8 in color red and green, 21 - light orange, 56 light purple)
(2) Crossing of averages 8 and 21 Weekly - is not active but you can activate
(3) Calculation of RSI
(4) barcolor() - mark the candles with the green color (High market) and red color (Dow market)
(5) alertcondition() - you can active this alert on Tadingview
█ BUY AND SELL POINTS - likely points
The indication of the BUY position is shown by a green arrow pointing upwards and the sell position by a red arrow pointing downwards. Buy and sell indications are obtained from the divergence in the market trend.
█ THANK TO
PineCoders for everything they do, all the tools and help they provide, and their involvement in making a better community. All PineCoders, Pine Pros and Pine Wizards, people who share their work and knowledge because of it and helping others, I am so happy and so grateful.
█ NOTE
This indicator is not a buy and sell recommendation, it indicates the most likely buy and sell points. Every purchase and sale decision is your responsibility
*****************************************************************************************************
** Versão em Português
*****************************************************************************************************
█ SETUP aplicado no Indicador
O setup está baseado na média 8, 21, e 56 do gráfico semanal
Preço acima da média 8 no semanal indica que o mercado esta em tendência de ALTA, abaixo da média 8 no semanal que o mercado está em tendência de BAIXA
RSI maior que 60% o mercado está em ALTA
RSI maior que 40% e menor 60% o mercado está em ACUMULAÇÃO
RSI menor que 40% o mercado está em BAIXA
A média 8 semanal está representadas nas cores VERDE (Tendência de Alta) e VERMELHA (Tendência de Baixa).
A média 21 semanal está representada na cor laranja claro
A média 56 semanal está representada na cor roxa claro
O cruzamento das médias 8 e 21 semanal esta representado com uma cruz VERDE (Tendência de ALTA) e VERMELHA (Tendência de BAIXA) - este sinal esta desativado no gráfico mas você pode ativá-lo clicando no setup do gráfico
█ FUNÇÕES UTILIZADAS
(1) Média 8, 21 e 56 no Semanal - mostra a média 8, 21, e 56 no gráfico
(2) Cruzamento das médias 8 e 21 Semanal - não está ativo mas você pode ativá-lo
(3) Cálculo do RSI
(4) barcolor() - marca a vela (Candle) com a cor verde (Mercado em Alta) e a cor vermelha (Mercado em Baixa)
(5) alertcondition () - você pode ativar o alerta no Tradingview
█ PONTOS DE COMPRA E VENDA - prováveis pontos
A indicação da posição de COMPRA é apresentada por uma seta na cor verde apontada para cima e a posição de VENDA por uma seta na cor vermelha apontada para baixo. As indicações de compra e venda são obtidas a partir da divergência na tendência do mercado.
█ OBRIGADO PARA
PineCoders por tudo o que fazem, todas as ferramentas e ajuda que fornecem, e seu envolvimento em fazer uma comunidade melhor. Todos os PineCoders, Pine Pros e Pine Wizards, pessoas que compartilham seu trabalho e conhecimento por causa dele e ajudando os outros, estou muito feliz e muito grato.
█ NOTA
Este indicador não é uma recomendação de compra e venda ele indica os pontos mais prováveis de compra e venda. Toda decisão de compra e venda é de sua responsabilidade