PSP Indicator [Elbaz]Precision Swing Point or PSP is a unique technical analysis tool designed to compare the price action of three tickers that are in sync.
It highlights moments when the price structure diverges between the markets, identifying ideal entry points for trades - We would like to enter a trade when we found PSP and one of the tickers took the wick while others didn't.
This strategy provides an edge by focusing on periods of desynchronization between the indices, where one index may be showing strength while another is lagging. The idea is to find the moments where the candle colors (bullish or bearish) differ across the markets, then wait for one of the tickers to "take" the wick of the PSP while other didn't and enter a trade.
Once a divergence is detected, the indicator plots an arrow on the chart, signaling a potential trade entry. To minimize risk, a good place to put stop loss will at the end of the wick of the PSP — the high or low wick of the candle where the divergence occurs.
The PSP Indicator allows for several custom inputs:
- Tickers: Customize the tickers to compare. The default values are S&P 500 E-mini, NASDAQ E-mini, and Dow Jones E-mini, if you trade Crypto you might want to use BTC, ETH, TOTAL3.
- Lookback Period: The lookback input defines how far back the indicator should evaluate to calculate the price structure point.
- Highlight Bar Times: Users can specify particular times during the trading day to highlight, such as the market open or significant news events. This helps traders focus on key trading windows.
Chỉ báo và chiến lược
First 15-Min Candle Detector [With Breakout Alerts]Indicator: First 15-Minute Candle Detector
Purpose
This indicator helps traders by identifying and marking the high, low, and mid-point of the first 15-minute candle of the market session. It also provides visual aids and alerts for price breakouts above or below these levels, making it ideal for intraday trading strategies.
This script is suitable for traders focusing on early session momentum or reversal strategies.
Key Features
Market Start Customization: Configure the market start time (hour and minute) to align with your trading session or exchange timezone.
Visual Aids:
Horizontal lines to mark the High , Low , and Mid-point of the first 15-minute candle.
Background highlighting to identify the first 15-minute candle.
Configurable colors and line widths for clear visuals.
Breakout Alerts:
Real-time alerts for breakouts above the high or below the low of the first 15-minute candle.
Customizable alert messages.
Alerts configured using alertcondition .
Dynamic Adjustments:
Adapts dynamically to timeframes of 15 minutes or lower.
Resets and recalculates at the start of each new session.
Inputs and Configurations
Market Settings:
Market Start Hour: Default is 9.
Market Start Minute: Default is 30.
Visual Settings:
Enable/disable background highlighting.
Set colors for the background, high line, low line, and mid-line.
Adjust line width (1 to 5).
Toggle the visibility of the mid-line.
Alert Settings:
Enable breakout alerts.
Set custom alert messages for high and low breakouts.
How It Works
// First 15-Minute Candle Detection
The indicator monitors the first 15-minute candle after the market opens based on the configured start time. It records the high , low , and calculates the mid-point of this candle.
// Visual Markings
Horizontal lines are drawn at the high, low, and mid-point of the first 15-minute candle, extending to the right for the rest of the session.
// Breakout Detection
The indicator checks for price breakouts above the high or below the low of the first 15-minute candle and triggers alerts if enabled.
// Dynamic Reset
The indicator resets values and deletes previous session lines at the start of each new session.
Conditions and Alerts
Breakout Conditions:
High Breakout: The closing price exceeds the high of the first 15-minute candle.
Low Breakout: The closing price falls below the low of the first 15-minute candle.
Alert Triggers: Configurable alerts notify you of breakouts in real-time.
Use Cases
Intraday Traders: Ideal for early-session momentum or reversal strategies.
Breakout Traders: Helps identify entry points when price breaks key levels.
Visual Clarity: Simplifies tracking important session levels.
Limitations
Works only on 15-minute or lower timeframes.
Requires accurate market start time configuration.
Buying and Selling PressureThis indicator estimates and visualizes the buying and selling pressure within each bar by distributing the volume based on where the closing price falls within the bar's range. It calculates cumulative buying and selling volumes over the last 10 bars and plots these values, allowing traders to assess market sentiment and potential shifts in momentum.
This indicator provides valuable insights into market dynamics by estimating buying and selling pressures over a set period. By visualizing these pressures, you can enhance your understanding of market sentiment and improve decision-making processes. It's most effective when used alongside other forms of analysis, such as price action, support and resistance levels, and additional technical indicators.
Note: Always thoroughly test any new indicator or trading strategy before applying it to live trading. Understanding how it behaves under different market conditions ensures it aligns with your trading objectives and risk management practices.
Price Time Filtering Bar CountThis script is designed to identify and visualize market trends by analyzing price action over a specified aggregation period. Detailed breakdown of its functionality:
Trend Identification
Uptrend Detection:
An uptrend is signaled when the closing price of the previous bar is higher than the high price from two bars ago.
Downtrend Detection:
A downtrend is indicated when the closing price of the previous bar is lower than the low price from two bars ago.
Trend Continuation:
If neither condition is met, the current trend continues from the previous bar.
Trend Counting
Counter Initialization:
A counter (count) keeps track of the number of consecutive bars in the current trend.
Counter Reset:
When a new trend is detected (change from uptrend to downtrend or vice versa), the counter resets to 1.
Counter Increment:
If the trend continues, the counter increments by 1 for each new bar in the same trend.
Visualization
BarCount Plot:
The BarCount variable represents the current count of trend bars.
Positive Values: Indicate the number of bars in an uptrend.
Negative Values: Indicate the number of bars in a downtrend.
Zero or na: Represents no clear trend or initialization phase.
Histogram Style:
The BarCount is plotted as a histogram, providing a visual representation of trend strength and duration.
Color Coding
Uptrend Color:
Bars and histogram columns are colored teal (or the color assigned to UptrendColor) when in an uptrend.
Downtrend Color:
Bars and histogram columns are colored orange (or the color assigned to DowntrendColor) when in a downtrend.
Customizable Coloring:
The paintBars input allows users to enable or disable the coloring of price bars according to the current trend.
Aggregation Period
User Input:
The aggregationPeriod input lets users specify a timeframe for the indicator's calculations.
If left empty, the indicator uses the chart's current timeframe.
Data Fetching:
The indicator retrieves close, high, and low prices based on the specified aggregation period using the request.security function.
How It Works Together
Data Retrieval:
The indicator fetches the necessary price data (secAggClose, secAggHigh, secAggLow) based on the chosen timeframe.
Trend Calculation:
It compares the previous closing price to the high and low prices from two bars ago to determine the current trend.
Trend Counting:
The counter tracks how many consecutive bars the market has been in the current trend.
Visualization and Coloring:
The BarCount is plotted as a histogram, with colors indicating the trend direction.
Optionally, the price bars on the chart are colored to match the trend for easier visualization.
Practical Use Cases
Trend Strength Assessment:
Traders can gauge the strength of a trend by observing the magnitude of the BarCount. A higher absolute value indicates a stronger, more prolonged trend.
Trend Reversals:
A reset in the counter (switch from positive to negative or vice versa) can signal a potential trend reversal, providing entry or exit points.
Momentum Trading:
By visualizing the duration of trends, momentum traders can identify optimal times to join a prevailing trend or anticipate its exhaustion.
Customization Options
Enable/Disable Bar Coloring:
Users can toggle the paintBars option to switch between a clean price chart and one that highlights trends with color.
Aggregation Period Adjustment:
Adjusting the aggregationPeriod allows analysis over different timeframes without changing the chart's main settings, offering flexibility in strategy development.
Conclusion
This indicator serves as a powerful tool for trend analysis by:
Quantifying Trend Duration: Helps understand how long a trend has persisted.
Visual Trend Representation: Offers immediate visual cues through histogram bars and color-coded price bars.
Flexible Configuration: Provides options to customize the timeframe and visual aspects to suit individual trading styles.
By integrating this indicator into your trading strategy, you can enhance your ability to identify trend patterns, assess their strength, and make more informed trading decisions based on trend dynamics.
alertsLibrary "alerts"
The library provides options to run alert() calls in loop without worrying about limitations of frequency options.
When an alert statement is called within a loop,
it will fire just once per bar irrespective of how many iterations allowed when fequency is set to alert.freq_once_per_bar or alert.freq_once_per_bar_close
it will fire continuously till it breaks when frequency is set to alert.freq_all
The function helps overcome this issue by using varip key array which resets on every bar
method alert(message, key)
Enhanced alert which can be used in loops
Namespace types: series string, simple string, input string, const string
Parameters:
message (string) : Alert message to be fired
key (string) : Key to be checked to avoid repetitive alerts
Returns: array containing id of already fired alerts
method updateAlertTemplate(this, template)
Updates alert template with given keys and values
Namespace types: map
Parameters:
this (map) : map containing key value pair
template (string) : Alert message template
Returns: updated alert message
Buy vs Sell VolumeHow It Works:
BuyVol: Estimates buying volume by calculating the proportion of volume attributed to the upward price movement within each bar.
SellVol: Estimates selling volume by calculating the proportion of volume attributed to the downward price movement within each bar.
Customization:
length: You can adjust the length input parameter to change the period over which the average is calculated.
Visualization:
The buy trendline is plotted in Green and represents the average net buying vs. selling volume over the specified period.
The sell trendline is plotted in Red and represents the average net selling vs. buying volume over the specified period.
Note: This script provides an approximation and should be used in conjunction with other analysis tools to make informed trading decisions.
utilsLibrary "utils"
Few essentials captured together (subset of arrayutils)
timer(timeStart, timeEnd)
finds difference between two timestamps
Parameters:
timeStart (int) : start timestamp
timeEnd (int)
Returns:
method check_overflow(pivots, barArray, dir)
finds difference between two timestamps
Namespace types: array
Parameters:
pivots (array) : pivots array
barArray (array) : pivot bar array
dir (int) : direction for which overflow need to be checked
Returns: bool overflow
method get_trend_series(pivots, length, highLow, trend)
finds series of pivots in particular trend
Namespace types: array
Parameters:
pivots (array) : pivots array
length (int) : length for which trend series need to be checked
highLow (int) : filter pivot high or low
trend (int) : Uptrend or Downtrend
Returns: int trendIndexes
method get_trend_series(pivots, firstIndex, lastIndex)
finds series of pivots in particular trend
Namespace types: array
Parameters:
pivots (array) : pivots array
firstIndex (int) : First index of the series
lastIndex (int) : Last index of the series
Returns: int trendIndexes
getConsolidatedLabel(include, labels, separator)
Consolidates labels into single string by concatenating it with given separator
Parameters:
include (array) : array of conditions to include label or not
labels (array) : string array of labels
separator (string) : Separator for concatenating labels
Returns: string labelText
method getColors(theme)
gets array of colors based on theme
Namespace types: series Theme
Parameters:
theme (series Theme) : dark or light theme
Returns: color themeColors
DeepSignalFilterHelpersLibrary "DeepSignalFilterHelpers"
filter_intraday_intensity(useIiiFilter)
Parameters:
useIiiFilter (bool)
filter_vwma(src, length, useVwmaFilter)
Parameters:
src (float)
length (int)
useVwmaFilter (bool)
filter_nvi(useNviFilter)
Parameters:
useNviFilter (bool)
filter_emv(length, emvThreshold, useEmvFilter, useMovingAvg)
EMV filter for filtering signals based on Ease of Movement
Parameters:
length (int) : The length of the EMV calculation
emvThreshold (float) : The EMV threshold
useEmvFilter (bool) : Whether to apply the EMV filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_adi(length, threshold, useAdiFilter, useMovingAvg)
ADI filter for filtering signals based on Accumulation/Distribution Index
Parameters:
length (int) : The length of the ADI moving average calculation
threshold (float) : The ADI threshold
useAdiFilter (bool) : Whether to apply the ADI filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_mfi(length, mfiThreshold, useMfiFilter, useMovingAvg)
MFI filter for filtering signals based on Money Flow Index
Parameters:
length (int) : The length of the MFI calculation
mfiThreshold (float) : The MFI threshold
useMfiFilter (bool) : Whether to apply the MFI filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
detect_obv_states(obvThresholdStrong, obvThresholdModerate, lookbackPeriod, obvMode)
detect_obv_states: Identify OBV states with three levels (Strong, Moderate, Weak) over a configurable period
Parameters:
obvThresholdStrong (float) : Threshold for strong OBV movements
obvThresholdModerate (float) : Threshold for moderate OBV movements
lookbackPeriod (int) : Number of periods to analyze OBV trends
obvMode (string) : OBV mode to filter ("Strong", "Moderate", "Weak")
Returns: OBV state ("Strong Up", "Moderate Up", "Weak Up", "Positive Divergence", "Negative Divergence", "Consolidation", "Weak Down", "Moderate Down", "Strong Down")
filter_obv(src, length, obvMode, threshold, useObvFilter, useMovingAvg)
filter_obv: Filter signals based on OBV states
Parameters:
src (float) : The source series (default: close)
length (int) : The length of the OBV moving average calculation
obvMode (string) : OBV mode to filter ("Strong", "Moderate", "Weak")
threshold (float) : Optional threshold for additional filtering
useObvFilter (bool) : Whether to apply the OBV filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_cmf(length, cmfThreshold, useCmfFilter, useMovingAvg)
CMF filter for filtering signals based on Chaikin Money Flow
Parameters:
length (int) : The length of the CMF calculation
cmfThreshold (float) : The CMF threshold
useCmfFilter (bool) : Whether to apply the CMF filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_vwap(useVwapFilter)
VWAP filter for filtering signals based on Volume-Weighted Average Price
Parameters:
useVwapFilter (bool) : Whether to apply the VWAP filter
Returns: Filtered result indicating whether the signal should be used
filter_pvt(length, pvtThreshold, usePvtFilter, useMovingAvg)
PVT filter for filtering signals based on Price Volume Trend
Parameters:
length (int) : The length of the PVT moving average calculation
pvtThreshold (float) : The PVT threshold
usePvtFilter (bool) : Whether to apply the PVT filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_vo(shortLength, longLength, voThreshold, useVoFilter, useMovingAvg)
VO filter for filtering signals based on Volume Oscillator
Parameters:
shortLength (int) : The length of the short-term volume moving average
longLength (int) : The length of the long-term volume moving average
voThreshold (float) : The Volume Oscillator threshold
useVoFilter (bool) : Whether to apply the VO filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_cho(shortLength, longLength, choThreshold, useChoFilter, useMovingAvg)
CHO filter for filtering signals based on Chaikin Oscillator
Parameters:
shortLength (int) : The length of the short-term ADI moving average
longLength (int) : The length of the long-term ADI moving average
choThreshold (float) : The Chaikin Oscillator threshold
useChoFilter (bool) : Whether to apply the CHO filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_fi(length, fiThreshold, useFiFilter, useMovingAvg)
FI filter for filtering signals based on Force Index
Parameters:
length (int) : The length of the FI calculation
fiThreshold (float) : The Force Index threshold
useFiFilter (bool) : Whether to apply the FI filter
useMovingAvg (bool) : Whether to use moving average as threshold
Returns: Filtered result indicating whether the signal should be used
filter_garman_klass_volatility(length, useGkFilter)
Parameters:
length (int)
useGkFilter (bool)
filter_frama(src, length, useFramaFilter)
Parameters:
src (float)
length (int)
useFramaFilter (bool)
filter_bollinger_bands(src, length, stdDev, useBollingerFilter)
Parameters:
src (float)
length (int)
stdDev (float)
useBollingerFilter (bool)
filter_keltner_channel(src, length, atrMult, useKeltnerFilter)
Parameters:
src (float)
length (simple int)
atrMult (float)
useKeltnerFilter (bool)
regime_filter(src, threshold, useRegimeFilter)
Regime filter for filtering signals based on trend strength
Parameters:
src (float) : The source series
threshold (float) : The threshold for the filter
useRegimeFilter (bool) : Whether to apply the regime filter
Returns: Filtered result indicating whether the signal should be used
regime_filter_v2(src, threshold, useRegimeFilter)
Regime filter for filtering signals based on trend strength
Parameters:
src (float) : The source series
threshold (float) : The threshold for the filter
useRegimeFilter (bool) : Whether to apply the regime filter
Returns: Filtered result indicating whether the signal should be used
filter_adx(src, length, adxThreshold, useAdxFilter)
ADX filter for filtering signals based on ADX strength
Parameters:
src (float) : The source series
length (simple int) : The length of the ADX calculation
adxThreshold (int) : The ADX threshold
useAdxFilter (bool) : Whether to apply the ADX filter
Returns: Filtered result indicating whether the signal should be used
filter_volatility(minLength, maxLength, useVolatilityFilter)
Volatility filter for filtering signals based on volatility
Parameters:
minLength (simple int) : The minimum length for ATR calculation
maxLength (simple int) : The maximum length for ATR calculation
useVolatilityFilter (bool) : Whether to apply the volatility filter
Returns: Filtered result indicating whether the signal should be used
filter_ulcer(src, length, ulcerThreshold, useUlcerFilter)
Ulcer Index filter for filtering signals based on Ulcer Index
Parameters:
src (float) : The source series
length (int) : The length of the Ulcer Index calculation
ulcerThreshold (float) : The Ulcer Index threshold (default: average Ulcer Index)
useUlcerFilter (bool) : Whether to apply the Ulcer Index filter
Returns: Filtered result indicating whether the signal should be used
filter_stddev(src, length, stdDevThreshold, useStdDevFilter)
Standard Deviation filter for filtering signals based on Standard Deviation
Parameters:
src (float) : The source series
length (int) : The length of the Standard Deviation calculation
stdDevThreshold (float) : The Standard Deviation threshold (default: average Standard Deviation)
useStdDevFilter (bool) : Whether to apply the Standard Deviation filter
Returns: Filtered result indicating whether the signal should be used
filter_macdv(src, shortLength, longLength, signalSmoothing, macdVThreshold, useMacdVFilter)
MACD-V filter for filtering signals based on MACD-V
Parameters:
src (float) : The source series
shortLength (simple int) : The short length for MACD calculation
longLength (simple int) : The long length for MACD calculation
signalSmoothing (simple int) : The signal smoothing length for MACD
macdVThreshold (float) : The MACD-V threshold (default: average MACD-V)
useMacdVFilter (bool) : Whether to apply the MACD-V filter
Returns: Filtered result indicating whether the signal should be used
filter_atr(length, atrThreshold, useAtrFilter)
ATR filter for filtering signals based on Average True Range (ATR)
Parameters:
length (simple int) : The length of the ATR calculation
atrThreshold (float) : The ATR threshold (default: average ATR)
useAtrFilter (bool) : Whether to apply the ATR filter
Returns: Filtered result indicating whether the signal should be used
filter_candle_body_and_atr(length, bodyThreshold, atrThreshold, useFilter)
Candle Body and ATR filter for filtering signals
Parameters:
length (simple int) : The length of the ATR calculation
bodyThreshold (float) : The threshold for candle body size (relative to ATR)
atrThreshold (float) : The ATR threshold (default: average ATR)
useFilter (bool) : Whether to apply the candle body and ATR filter
Returns: Filtered result indicating whether the signal should be used
filter_atrp(length, atrpThreshold, useAtrpFilter)
ATRP filter for filtering signals based on ATR Percentage (ATRP)
Parameters:
length (simple int) : The length of the ATR calculation
atrpThreshold (float) : The ATRP threshold (default: average ATRP)
useAtrpFilter (bool) : Whether to apply the ATRP filter
Returns: Filtered result indicating whether the signal should be used
filter_jma(src, length, phase, useJmaFilter)
Parameters:
src (float)
length (simple int)
phase (float)
useJmaFilter (bool)
filter_cidi(src, rsiLength, shortMaLength, longMaLength, useCidiFilter)
Parameters:
src (float)
rsiLength (simple int)
shortMaLength (int)
longMaLength (int)
useCidiFilter (bool)
filter_rsi(src, length, rsiThreshold, useRsiFilter)
Parameters:
src (float)
length (simple int)
rsiThreshold (float)
useRsiFilter (bool)
filter_ichimoku_oscillator(length, threshold, useFilter)
Ichimoku Oscillator filter for filtering signals based on Ichimoku Oscillator
Parameters:
length (int) : The length of the Ichimoku Oscillator calculation
threshold (float) : The threshold for the filter (default: average Ichimoku Oscillator)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_cmb_composite_index(src, shortLength, longLength, threshold, useFilter)
CMB Composite Index filter for filtering signals based on CMB Composite Index
Parameters:
src (float) : The source series
shortLength (simple int) : The short length for CMB calculation
longLength (simple int) : The long length for CMB calculation
threshold (float) : The threshold for the filter (default: average CMB Composite Index)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_connors_rsi(src, rsiLength, rocLength, streakLength, threshold, useFilter)
Connors RSI filter for filtering signals based on Connors RSI
Parameters:
src (float) : The source series
rsiLength (simple int) : The length for RSI calculation
rocLength (int) : The length for ROC calculation
streakLength (simple int) : The length for streak calculation
threshold (float) : The threshold for the filter (default: average Connors RSI)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_coppock_curve(src, roc1Length, roc2Length, wmaLength, threshold, useFilter)
Coppock Curve filter for filtering signals based on Coppock Curve
Parameters:
src (float) : The source series
roc1Length (int) : The length for the first ROC calculation
roc2Length (int) : The length for the second ROC calculation
wmaLength (int) : The length for the WMA calculation
threshold (float) : The threshold for the filter (default: average Coppock Curve)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_pmo(src, pmoLength, smoothingLength, threshold, useFilter)
DecisionPoint Price Momentum Oscillator filter for filtering signals based on PMO
Parameters:
src (float) : The source series
pmoLength (simple int) : The length for PMO calculation
smoothingLength (simple int) : The smoothing length for PMO
threshold (float) : The threshold for the filter (default: average PMO Oscillator)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_macd(src, shortLength, longLength, signalSmoothing, threshold, useFilter)
MACD filter for filtering signals based on MACD
Parameters:
src (float) : The source series
shortLength (simple int) : The short length for MACD calculation
longLength (simple int) : The long length for MACD calculation
signalSmoothing (simple int) : The signal smoothing length for MACD
threshold (float) : The threshold for the filter (default: average MACD)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_macd_histogram(src, shortLength, longLength, signalSmoothing, threshold, useFilter)
MACD-Histogram filter for filtering signals based on MACD-Histogram
Parameters:
src (float) : The source series
shortLength (simple int) : The short length for MACD calculation
longLength (simple int) : The long length for MACD calculation
signalSmoothing (simple int) : The signal smoothing length for MACD
threshold (float) : The threshold for the filter (default: average MACD-Histogram)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_kst(src, r1, r2, r3, r4, sm1, sm2, sm3, sm4, signalLength, threshold, useFilter)
Pring's Know Sure Thing filter for filtering signals based on KST
Parameters:
src (float) : The source series
r1 (int) : The first ROC length
r2 (int) : The second ROC length
r3 (int) : The third ROC length
r4 (int) : The fourth ROC length
sm1 (int) : The first smoothing length
sm2 (int) : The second smoothing length
sm3 (int) : The third smoothing length
sm4 (int) : The fourth smoothing length
signalLength (int) : The signal line smoothing length
threshold (float) : The threshold for the filter (default: average KST Oscillator)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_special_k(src, r1, r2, r3, r4, sm1, sm2, sm3, sm4, threshold, useFilter)
Pring's Special K filter for filtering signals based on Special K
Parameters:
src (float) : The source series
r1 (int) : The first ROC length
r2 (int) : The second ROC length
r3 (int) : The third ROC length
r4 (int) : The fourth ROC length
sm1 (int) : The first smoothing length
sm2 (int) : The second smoothing length
sm3 (int) : The third smoothing length
sm4 (int) : The fourth smoothing length
threshold (float) : The threshold for the filter (default: average Special K)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_roc_momentum(src, rocLength, momentumLength, threshold, useFilter)
ROC and Momentum filter for filtering signals based on ROC and Momentum
Parameters:
src (float) : The source series
rocLength (int) : The length for ROC calculation
momentumLength (int) : The length for Momentum calculation
threshold (float) : The threshold for the filter (default: average ROC and Momentum)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_rrg_relative_strength(src, length, threshold, useFilter)
RRG Relative Strength filter for filtering signals based on RRG Relative Strength
Parameters:
src (float) : The source series
length (int) : The length for RRG Relative Strength calculation
threshold (float) : The threshold for the filter (default: average RRG Relative Strength)
useFilter (bool) : Whether to apply the filter
Returns: Filtered result indicating whether the signal should be used
filter_alligator(useFilter)
Parameters:
useFilter (bool)
filter_wyckoff(useFilter)
Parameters:
useFilter (bool)
filter_squeeze_momentum(bbLength, bbStdDev, kcLength, kcMult, useFilter)
Parameters:
bbLength (int)
bbStdDev (float)
kcLength (simple int)
kcMult (float)
useFilter (bool)
filter_atr_compression(length, atrThreshold, useFilter)
Parameters:
length (simple int)
atrThreshold (float)
useFilter (bool)
filter_low_volume(length, useFilter)
Parameters:
length (int)
useFilter (bool)
filter_nvi_accumulation(useFilter)
Parameters:
useFilter (bool)
filter_ma_slope(src, length, slopeThreshold, useFilter)
Parameters:
src (float)
length (int)
slopeThreshold (float)
useFilter (bool)
filter_adx_low(len, lensig, adxThreshold, useFilter)
Parameters:
len (simple int)
lensig (simple int)
adxThreshold (int)
useFilter (bool)
filter_choppiness_index(length, chopThreshold, useFilter)
Parameters:
length (int)
chopThreshold (float)
useFilter (bool)
filter_range_detection(length, useFilter)
Parameters:
length (int)
useFilter (bool)
Flag Screener [QuantVue]Flag Screener is a screening tool that identify bull and bear flags in up to 40 different symbols.
The indicator takes a comma separated list of symbols and then scans the symbols in real time to detect bull or bear flags.
What are flags
Flags are continuation patterns that occur within the general trend of the security. A bull flag represents a temporary pause or consolidation before price resumes it's upward movement, while a bear flag occurs before price continues its downward movement.
Both flag patterns consist of two components:
The Pole
The Flag
The pole is the initial strong upward surge or decline that precedes the flag. The pole is usually a fast move accompanied by heavy volume signaling significant buying or selling pressure.
The flag is then formed as price consolidates after the initial surge or decline from the pole. For a bull flag price will drift slightly downward to sideways, a bear flag will drift upward to sideways. The best flags often see volume dry up during this phase of the pattern.
Indicator Settings
Both components are fully customizable in the indicator so the user can adjust for any time frame or volatility. Select the minimum and maximum accepted limits from the % gain loss required for the pole, the maximum acceptable flag depth or rally and the minimum and maximum number of bars for each component.
USDT.D Volatility TrackerUSDT.D Volatility Tracker
Description:
This script is designed to track the volatility of USDT.D (US Dollar in cryptocurrency) on the TradingView platform. It uses a moving average and deviation from it to generate buy and sell signals, helping traders visualize changes in volatility and make informed decisions.
Input Parameters:
maPeriod: The period of the moving average (default 120). This parameter allows users to adjust the length of the period used to calculate the moving average.
devThreshold: The deviation threshold (default 0.6). This parameter defines the level of deviation that will trigger buy or sell signals.
Data Request:
The script requests closing data for USDT.D using the request.security function, allowing it to retrieve up-to-date data on the selected timeframe.
Moving Average and Deviation Calculation:
An exponential moving average (EMA) is used to calculate the deviation from the moving average, enabling the identification of current volatility.
Deviation Line Display:
The deviation rate line is displayed on the chart, allowing users to visually track changes in volatility.
Signal Generation:
If the deviation exceeds the set threshold (devThreshold), a buy signal is generated (green background).
If the deviation falls below the negative threshold (-devThreshold), a sell signal is generated (red background).
Visual Signals:
Buy signals are displayed on the chart as green triangles, while sell signals are displayed as red triangles. This helps traders quickly identify potential entry and exit points.
Eze Profit Range Detection FilterThe Range Detection Filter is a technical analysis tool designed to help traders identify range-bound market conditions and focus on breakout opportunities. It combines the ATR (Average True Range) for volatility analysis and the ADX (Average Directional Index) for trend strength evaluation to highlight consolidation phases and alert traders when the market is ready to break out.
This indicator provides visual cues and customizable alerts, making it suitable for traders looking to avoid false signals during choppy markets and capitalize on trending moves following a breakout.
What Makes It Unique?
ATR for Volatility:
Measures market volatility by comparing ATR with its moving average.
Consolidation phases are flagged when ATR remains below its moving average for a sustained period.
ADX for Trend Strength:
Monitors trend strength, confirming range-bound conditions when ADX falls below a user-defined threshold (default: 20).
Combines with ATR to ensure accurate detection of trendless periods.
Breakout Alerts:
Notifies traders of breakout opportunities when the price moves outside the highest high or lowest low of the range.
How It Works:
Range Detection:
The market is considered "in range" when:
ATR is below its moving average, indicating low volatility.
ADX is below the threshold, confirming a lack of trend strength.
Visual Indication:
A yellow background highlights range-bound conditions, allowing traders to avoid low-probability trades.
Breakout Detection:
Alerts are triggered for breakouts above or below the range to help traders identify potential opportunities.
Features:
Range Highlighting:
Automatically detects and highlights range-bound markets using a yellow background.
Breakout Alerts:
Sends alerts for breakouts above or below the range once the market exits consolidation.
Customizable Inputs:
ATR length, moving average length, and ADX parameters are fully adjustable to adapt to various trading styles and asset classes.
Multi-Timeframe Compatibility:
Suitable for all markets and timeframes, including stocks, forex, and cryptocurrencies.
How to Use:
Identify Ranges:
Avoid trading when the yellow background appears, signaling a range-bound market.
Focus on Breakouts:
Look for alerts indicating breakouts above or below the range for potential trending opportunities.
Combine with Other Indicators:
Use volume analysis, momentum oscillators, or candlestick patterns to confirm breakout signals.
Credits:
This script utilizes widely accepted methodologies for ATR and ADX calculations. ADX is calculated manually using directional movement (+DI and -DI) for precise trend detection. The concept has been adapted and enhanced to create this comprehensive range-detection tool.
Notes:
This indicator is intended for educational purposes and should not be used as standalone financial advice.
Always incorporate this tool into a broader trading strategy for optimal results.
Customizable Psychological LevelsThe Customizable Psychological Levels indicator is designed to simplify the process of marking psychological levels on your chart without the need to manually add lines. Psychological levels are critical price zones where market participants often make decisions, such as round numbers or price levels that align with key technical analysis thresholds.
This indicator offers a fully automated way to plot these levels, with customizable options for intervals, colors, line thickness, and styles. Traders can focus more on their analysis and decision-making while relying on this tool to display consistent and accurate psychological levels across different timeframes.
Key Features:
Automated Level Drawing:
Major, intermediate, and minor levels are plotted automatically based on user-defined intervals.
No need to draw lines manually, saving time and ensuring precision.
Customizable Settings:
Choose intervals for each level type (major, intermediate, minor).
Select unique colors, line thickness, and styles (solid, dashed, or dotted) to distinguish levels visually.
Non-Overlapping Levels:
Includes an option to prevent overlapping levels, ensuring a clean and organized chart.
Dynamic or Fixed Levels:
Levels adjust dynamically to the chart’s price range, making them suitable for various instruments and timeframes.
Benefits:
Enhances productivity by automating the process of marking psychological levels.
Offers a highly customizable and visually appealing solution for traders who rely on psychological levels in their trading strategies.
Helps traders quickly identify critical price zones and make informed decisions.
This tool is perfect for both beginner and experienced traders who want to streamline their workflow while maintaining a professional and systematic approach to technical analysis.
EMA with Supply and Demand Zones
The EMA with Supply and Demand Strategy is a trend-following trading approach that integrates Exponential Moving Averages (EMA) with supply and demand zones to identify potential entry and exit points. Below is a detailed description of its components and logic:
Key Components of the Strategy
1. EMA (Exponential Moving Average)
The EMA is used as a trend filter:
Bullish Trend: Price is above the EMA.
Bearish Trend: Price is below the EMA.
The EMA ensures that trades align with the overall market trend, reducing counter-trend risks.
2. Supply and Demand Zones
Demand Zone:
Represents areas where the price historically found support (buyers dominated).
Calculated using the lowest low over a specified lookback period.
Used for identifying potential long entry points.
Supply Zone:
Represents areas where the price historically faced resistance (sellers dominated).
Calculated using the highest high over a specified lookback period.
Used for identifying potential short entry points.
3. Trade Conditions
Long Trade:
Triggered when:
The price is above the EMA (bullish trend).
The low of the current candle touches or penetrates the most recent demand zone.
Short Trade:
Triggered when:
The price is below the EMA (bearish trend).
The high of the current candle touches or penetrates the most recent supply zone.
4. Exit Conditions
Long Exit:
Exit the trade when the price closes below the EMA, indicating a potential trend reversal.
Short Exit:
Exit the trade when the price closes above the EMA, signaling a potential upward reversal.
Visual Representation
EMA: A blue line plotted on the chart to show the trend.
Supply Zones: Red horizontal lines representing potential resistance levels.
Demand Zones: Green horizontal lines representing potential support levels.
These zones dynamically adjust to reflect the most recent 3 levels.
How the Strategy Works
Trend Identification:
The EMA determines the direction of the trade:
Look for long trades only in a bullish trend (price above EMA).
Look for short trades only in a bearish trend (price below EMA).
Entry Points:
Wait for price interaction with a supply or demand zone:
If the price touches a demand zone during a bullish trend, initiate a long trade.
If the price touches a supply zone during a bearish trend, initiate a short trade.
Risk Management:
The strategy exits trades if the price moves against the trend (crosses the EMA).
This ensures minimal exposure during adverse market movements.
Benefits of the Strategy
Trend Alignment:
Reduces counter-trend trades, improving the win rate.
Clear Entry and Exit Rules:
Combines price action (zones) with a reliable trend filter (EMA).
Dynamic Levels:
The supply and demand zones adapt to changing market conditions.
Customization Options
EMA Length:
Adjust to suit different timeframes or market conditions (e.g., 20 for faster trends, 50 for slower trends).
Lookback Period:
Fine-tune to capture broader or narrower supply and demand zones.
Risk/Reward Preferences:
Pair the strategy with stop-loss and take-profit levels for enhanced control.
This strategy is ideal for traders looking for a structured approach to identify high-probability trades while aligning with the prevailing trend. Backtest and optimize parameters based on your trading style and the specific asset you're tradin
Candle Pair Markerin a 5 minute time frame the identify two consecutive candles where the body of the first candle should be in side the high and low of the second candle and the body of the second candle should be inside the high and low of the first candle. draw a dotted line to mark the highiest high and lowest low of the couple candle. and calculate the difference between the two highest high and the lowest low and devide it by 2 and add this value to the highest high and subtract from the lowest low. and draw a green line on the high value and red line for the low value
Rate of Change of OBV with RSI ColorThis indicator combines three popular tools in technical analysis : On-Balance Volume (OBV), Rate of Change (ROC), and Relative Strength Index (RSI). It aims to monitor momentum and potential trend reversals based on volume and price changes.
Calculation:
ROC(OBV) = ((OBV(today) - OBV(today - period)) / OBV(today - period)) * 100
This calculates the percentage change in OBV over a specific period. A positive ROC indicates an upward trend in volume, while a negative ROC suggests a downward trend.
What it Monitors:
OBV: Tracks the volume flow associated with price movements. Rising OBV suggests buying pressure, while falling OBV suggests selling pressure.
ROC of OBV:
Measures the rate of change in the OBV, indicating if the volume flow is accelerating or decelerating.
RSI: Measures the strength of recent price movements, indicating potential overbought or oversold conditions.
How it can be Used:
Identifying Trend Continuation: Rising ROC OBV with a rising RSI might suggest a continuation of an uptrend, especially if the color is lime (RSI above 60).
Identifying Trend Reversal: Falling ROC OBV with a declining RSI might suggest a potential trend reversal, especially if the color approaches blue (RSI below 40).
Confirmation with Threshold: The horizontal line (threshold) can be used as a support or resistance level. Bouncing ROC OBV off the threshold with a color change could suggest a pause in the trend but not necessarily a reversal.
When this Indicator is Useful:
This indicator can be useful for assets with strong volume activity, where tracking volume changes provides additional insights.
It might be helpful during periods of consolidation or trend continuation to identify potential breakouts or confirmations.
Divides company with IndexOverview:
This indicator simplifies the comparison of a stock's performance against a specified index, such as the Nifty 50. By calculating and plotting the ratio between the two, it provides a clear visual representation of relative strength.
Key Features:
-Direct Comparison: Easily compare any stock against a selected index.
-Customizable Index: Choose from a dropdown menu or input a custom index symbol.
-Visual Clarity: Maximizing the chart provides a clear view of the relative performance.
-SMA Overlay: Add a Simple Moving Average (SMA) to identify trends and potential entry/exit
points.
-Customizable Appearance: Adjust background color, text color, and label size for personalized
visualization.
How to Use:
Add the Indicator: Add the indicator to your chart.
Select the Index: Choose the desired index from the dropdown menu or input a custom symbol.
Analyze the Ratio:
-A rising ratio indicates the stock is outperforming the index.
-A falling ratio suggests underperformance.
-The SMA can help identify potential trends and momentum.
Customize the Appearance: Adjust the background color, text color, and label size to suit your preferences.
Benefits:
-Improved Decision Making: Gain insights into a stock's relative strength.
-Faster Analysis: Quickly compare multiple stocks against a benchmark index.
-Enhanced Visualization: Customize the chart for better understanding.
-By leveraging this indicator, you can make informed trading decisions and gain a deeper
understanding of market dynamics.
Ichimoku Cloud +Ichimoku Cloud Plus - Advanced Technical Analysis Indicator
Ichimoku Cloud Plus is an advanced technical analysis tool that combines the traditional Ichimoku Cloud system with Pearson correlation analysis and multi-timeframe momentum tracking. This innovative approach provides traders with a comprehensive view of market trends, momentum, and potential reversal points across multiple time frames.
Core Components
Enhanced Ichimoku Cloud Analysis
The traditional Ichimoku Cloud components have been preserved and enhanced with customizable visual parameters:
The indicator includes:
- Conversion Line (Tenkan-sen) - Short-term trend identifier
- Base Line (Kijun-sen) - Medium-term trend identifier
- Leading Span A and B (Senkou Span A and B) - Future cloud projections
- Lagging Span (Chikou Span) - Historical price momentum confirmation
The cloud (Kumo) formations provide dynamic support and resistance levels, with color-coding to instantly identify bullish and bearish market conditions.
Pearson Correlation Analysis
A sophisticated Pearson correlation coefficient calculation has been integrated to provide statistical validation of trend strength and direction. This component:
- Calculates correlation between price movement and time
- Provides real-time correlation coefficients
- Identifies trend strength through correlation thresholds
- Generates signals for trend changes and potential reversals
Multi-Timeframe Momentum Tracking
The indicator incorporates a unique multi-timeframe analysis system that:
- Displays momentum calculations across five timeframes (15m, 30m, 1h, 4h, 1d)
- Provides percentage-based momentum values
- Includes volatility adjustment capabilities
- Offers volume-weighted calculations for enhanced accuracy
Advanced Features
Statistical Analysis Panel
A comprehensive statistical panel provides real-time analysis including:
- Current Pearson coefficient value
- Correlation strength classification
- Trend direction identification
- Analysis period information
Dynamic Alert System
The indicator includes sophisticated alert conditions for:
- Bearish trend initiation (positive correlation threshold breach)
- Bullish trend initiation (negative correlation threshold breach)
- Trend direction changes (zero-line crossovers)
Visual Optimization
Advanced visualization features include:
- Customizable color schemes for all components
- Adjustable label sizes and positions
- Transparency controls for better chart visibility
- Warning indicators for potential trend weakening
Technical Implementation
The indicator combines multiple calculation methods:
- Donchian Channel calculations for Ichimoku components
- Pearson correlation coefficient computation with customizable periods
- EMA smoothing for momentum calculations
- Volume-weighted averaging capabilities
- Volatility adjustment mechanisms
Trading Applications
This indicator is particularly effective for:
1. Trend Direction Confirmation
- Multiple timeframe analysis provides comprehensive trend validation
- Pearson correlation adds statistical confidence to trend identification
- Ichimoku cloud formations confirm support and resistance levels
2. Entry and Exit Point Identification
- Cloud breakouts combined with correlation strength indicate potential entry points
- Multi-timeframe momentum alignment helps identify high-probability trades
- Warning indicators assist in timing market exits
3. Risk Management
- Dynamic support and resistance levels from the cloud
- Statistical trend strength measurement
- Multi-timeframe confirmation reduces false signals
Performance Considerations
The indicator uses efficient calculations to maintain good performance while providing comprehensive analysis. The smoothing parameters and analysis periods can be adjusted to balance between responsiveness and reliability.
Future Applications and Research
This combination of indicators opens possibilities for:
- Machine learning integration for pattern recognition
- Additional statistical measures for trend validation
- Enhanced alert systems based on multiple condition combinations
- Further optimization of calculation methods
The innovative combination of traditional Ichimoku analysis with modern statistical methods and multi-timeframe momentum tracking provides traders with a powerful tool for market analysis and decision-making.
Day Pattern IndicatorDay Pattern Indicator
The Day Pattern Indicator is designed to help traders analyze daily trends and patterns in their selected markets. This tool highlights specific days of the week on the chart with unique, semi-transparent colored bars. Each day is customizable, allowing users to toggle the visibility of Monday through Sunday to focus on days most relevant to their trading strategy. Ideal for identifying potential patterns in cryptocurrency, forex, or stock markets, the indicator is perfect for traders seeking insights into weekday or weekend market behavior. Simple, effective, and visually intuitive!
Buy and Sell Signal at 50% Retracement, Based on MANDO MODELthe sell is taking out a previous high. leave some runners and practice safe trading.
Explanation of Behavior:
When the price retraces 50% of the defined range (from the low to high), a Buy signal is triggered.
After the Buy signal, if the price moves above the previous high (after retracement), a Sell signal is triggered.
Once a Sell signal is triggered, the range is reset, and a new range needs to form before another signal can be triggered.
Test this:
Apply the script to your chart.
Check for Buy signals when the price crosses the 50% retracement level.
Sell signals will trigger once the price breaks above the previous high after the retracement phase.
Ensure that the signals are plotted as arrows on the chart and that the background color changes to indicate Buy or Sell.
Alerts Setup:
To set up alerts:
Right-click on the chart and select Add Alert.
For Buy Signal: Choose the condition Buy and Sell Signal at 50% Retracement with Top Break > Buy Signal.
For Sell Signal: Choose the condition Buy and Sell Signal at 50% Retracement with Top Break > Sell Signal.
Set your preferred alert type (popup, email, etc.).
Click Create to set the alert.
RS Theory IndicatorHow to Use:
Customize the Reference Symbol: In the settings of the indicator, you can change the referenceSymbol to the benchmark or asset you want to compare against.
RS Interpretation:
RS > 1: The current asset is outperforming the reference symbol.
RS < 1: The current asset is underperforming the reference symbol.
RS = 1: The current asset and the reference symbol are performing equally.
Alerts: You can enable alerts for when the RS crosses certain levels (e.g., when RS > 1 or RS < 1).
How It Works:
Reference Symbol: The user inputs the benchmark asset or symbol (e.g., "SPY" for an S&P 500 ETF). This will be used as the comparison symbol.
RS Calculation: The RS Value is calculated by dividing the current asset's close price by the reference asset's close price:
RS
=
Close Price of Current Asset
Close Price of Reference Asset
RS=
Close Price of Reference Asset
Close Price of Current Asset
Plotting:
The RS value is plotted on the chart as a line.
A horizontal line at RS = 1 is drawn for easy comparison, representing parity (when the asset and reference symbol have the same price).
Background Coloring: The background is colored:
Green when RS > 1 (indicating the asset is outperforming the benchmark).
Red when RS < 1 (indicating the asset is underperforming the benchmark).
Alerts: Alerts are triggered when the RS value is above or below 1, indicating outperformance or underperformance relative to the benchmark.
Zigzag3 -Invincible3Description:
Zigzag3 - Invincible3 is a powerful and flexible support and resistance indicator for TradingView. Utilizing an enhanced ZigZag algorithm and Dow Theory principles, it detects price pivots, higher highs (HH), lower highs (LH), higher lows (HL), and lower lows (LL). The indicator draws lines and labels to visualize these pivots, making it easier to identify market structure, trends, and potential reversal points.
The Length input allows traders to control the sensitivity of pivot detection.
Support and Resistance Lines:
Displays dotted and solid SR lines based on significant pivots to highlight key market zones.
Option to extend support/resistance lines dynamically with real-time progression for the latest pivot.
Labels for Dow Theory Points:
Mark higher highs, lower highs, higher lows, and lower lows with customizable colors.
Identifies market direction and potential breakout levels with visual clarity.
ZigZag Line Visualization:
Toggle the ZigZag lines to connect pivots for a better understanding of price movement.
Dynamic Dotted Line Progression:
A dotted line extends in real-time from the most recent significant pivot point, aiding in quick analysis.
This indicator is ideal for traders looking to analyze market structure, identify trends, and spot potential reversals. It can be used as a standalone tool or in combination with other strategies for enhanced precision.
Dual Strategy Selector V2 - CryptogyaniOverview:
This script provides traders with a dual-strategy system that they can toggle between using a simple dropdown menu in the input settings. It is designed to cater to different trading styles and needs, offering both simplicity and advanced filtering techniques. The strategies are built around moving average crossovers, enhanced by configurable risk management tools like take profit levels, trailing stops, and ATR-based stop-loss.
Key Features:
Two Strategies in One Script:
Strategy 1: A classic moving average crossover strategy for identifying entry signals based on trend reversals. Includes user-defined take profit and trailing stop-loss options for profit locking.
Strategy 2: An advanced trend-following system that incorporates:
A higher timeframe trend filter to confirm entry signals.
ATR-based stop-loss for dynamic risk management.
Configurable partial take profit to secure gains while letting the trade run.
Highly Customizable:
All key parameters such as SMA lengths, take profit levels, ATR multiplier, and timeframe for the trend filter are adjustable via the input settings.
Dynamic Toggle:
Traders can switch between Strategy 1 and Strategy 2 with a single dropdown, allowing them to adapt the strategy to market conditions.
How It Works:
Strategy 1:
Entry Logic: A long trade is triggered when the fast SMA crosses above the slow SMA.
Exit Logic: The trade exits at either a user-defined take profit level (percentage or pips) or via an optional trailing stop that dynamically adjusts based on price movement.
Strategy 2:
Entry Logic: Builds on the SMA crossover logic but adds a higher timeframe trend filter to align trades with the broader market direction.
Risk Management:
ATR-Based Stop-Loss: Protects against adverse moves with a volatility-adjusted stop-loss.
Partial Take Profit: Allows traders to secure a percentage of gains while keeping some exposure for extended trends.
How to Use:
Select Your Strategy:
Use the dropdown in the input settings to choose Strategy 1 or Strategy 2.
Configure Parameters:
Adjust SMA lengths, take profit, and risk management settings to align with your trading style.
For Strategy 2, specify the higher timeframe for trend filtering.
Deploy and Monitor:
Apply the script to your preferred asset and timeframe.
Use the backtest results to fine-tune settings for optimal performance.
Why Choose This Script?:
This script stands out due to its dual-strategy flexibility and enhanced features:
For beginners: Strategy 1 provides a simple yet effective trend-following system with minimal setup.
For advanced traders: Strategy 2 includes powerful tools like trend filters and ATR-based stop-loss, making it ideal for challenging market conditions.
By combining simplicity with advanced features, this script offers something for everyone while maintaining full transparency and user customization.
Default Settings:
Strategy 1:
Fast SMA: 21, Slow SMA: 49
Take Profit: 7% or 50 pips
Trailing Stop: Optional (disabled by default)
Strategy 2:
Fast SMA: 20, Slow SMA: 50
ATR Multiplier: 1.5
Partial Take Profit: 50%
Higher Timeframe: 1 Day (1D)
Eze Profit - VWAP + MACD Combined SignalThe Eze Profit - VWAP + MACD Combined Signal is an advanced trading tool designed to help traders align price trends with momentum confirmation for better decision-making. By combining Volume-Weighted Average Price (VWAP) and Moving Average Convergence Divergence (MACD), this indicator provides clear entry and exit signals, allowing traders to follow trends and take advantage of momentum shifts.
How It Works:
VWAP:
VWAP represents the average price of an asset, weighted by volume, over a specific period.
It acts as a dynamic support/resistance level and trend filter. Price above VWAP indicates bullish conditions, while price below VWAP suggests bearish conditions.
MACD:
MACD measures momentum through the difference between fast and slow exponential moving averages (EMAs).
Signals are generated when the MACD line crosses its signal line:
Bullish Crossover: Indicates increasing upward momentum.
Bearish Crossunder: Indicates increasing downward momentum.
Combined Logic:
Long Signal: Triggered when price is above VWAP, and MACD exhibits a bullish crossover.
Short Signal: Triggered when price is below VWAP, and MACD exhibits a bearish crossunder.
The script tracks the trader's "in-position" state to prevent redundant signals and ensure clarity.
How to Use:
Use this script to identify potential long and short trading opportunities:
Buy Signal: Enter a long position when the price moves above VWAP and MACD confirms bullish momentum.
Sell Signal: Exit or short when the price drops below VWAP and MACD confirms bearish momentum.
Combine with additional tools like support/resistance, volume analysis, or candlestick patterns for confirmation.
Features:
VWAP Trend Filter: Dynamically adjusts to the trading session to identify overall trend direction.
MACD Momentum Confirmation: Detects key momentum shifts with configurable settings for fast, slow, and signal lengths.
Position State Tracking: Avoids signal redundancy by monitoring open positions.
Buy/Sell Visualizations: Plots Buy/Sell signals directly on the chart for ease of use.
Alerts: Notifies traders in real-time when a long or short signal is triggered.
Customizable Settings:
MACD Fast Length, Slow Length, and Signal Smoothing parameters.
VWAP timeframe resolution to adapt to different trading styles (e.g., intraday or daily).
Credits:
This script is based on standard VWAP and MACD calculations provided by TradingView’s library and has been enhanced with unique logic for combined signal generation.
Notes:
This indicator is intended for educational purposes and should not be considered financial advice. Use it as part of a broader trading strategy alongside other tools for optimal results.