TASC 2025.06 Cybernetic Oscillator█ OVERVIEW
This script implements the Cybernetic Oscillator introduced by John F. Ehlers in his article "The Cybernetic Oscillator For More Flexibility, Making A Better Oscillator" from the June 2025 edition of the TASC Traders' Tips . It cascades two-pole highpass and lowpass filters, then scales the result by its root mean square (RMS) to create a flexible normalized oscillator that responds to a customizable frequency range for different trading styles.
█ CONCEPTS
Oscillators are indicators widely used by technical traders. These indicators swing above and below a center value, emphasizing cyclic movements within a frequency range. In his article, Ehlers explains that all oscillators share a common characteristic: their calculations involve computing differences . The reliance on differences is what causes these indicators to oscillate about a central point.
The difference between two data points in a series acts as a highpass filter — it allows high frequencies (short wavelengths) to pass through while significantly attenuating low frequencies (long wavelengths). Ehlers demonstrates that a simple difference calculation attenuates lower-frequency cycles at a rate of 6 dB per octave. However, the difference also significantly amplifies cycles near the shortest observable wavelength, making the result appear noisier than the original series. To mitigate the effects of noise in a differenced series, oscillators typically smooth the series with a lowpass filter, such as a moving average.
Ehlers highlights an underlying issue with smoothing differenced data to create oscillators. He postulates that market data statistically follows a pink spectrum , where the amplitudes of cyclic components in the data are approximately directly proportional to the underlying periods. Specifically, he suggests that cyclic amplitude increases by 6 dB per octave of wavelength.
Because some conventional oscillators, such as RSI, use differencing calculations that attenuate cycles by only 6 dB per octave, and market cycles increase in amplitude by 6 dB per octave, such calculations do not have a tangible net effect on larger wavelengths in the analyzed data. The influence of larger wavelengths can be especially problematic when using these oscillators for mean reversion or swing signals. For instance, an expected reversion to the mean might be erroneous because oscillator's mean might significantly deviate from its center over time.
To address the issues with conventional oscillator responses, Ehlers created a new indicator dubbed the Cybernetic Oscillator. It uses a simple combination of highpass and lowpass filters to emphasize a specific range of frequencies in the market data, then normalizes the result based on RMS. The process is as follows:
Apply a two-pole highpass filter to the data. This filter's critical period defines the longest wavelength in the oscillator's passband.
Apply a two-pole SuperSmoother (lowpass filter) to the highpass-filtered data. This filter's critical period defines the shortest wavelength in the passband.
Scale the resulting waveform by its RMS. If the filtered waveform follows a normal distribution, the scaled result represents amplitude in standard deviations.
The oscillator's two-pole filters attenuate cycles outside the desired frequency range by 12 dB per octave. This rate outweighs the apparent rate of amplitude increase for successively longer market cycles (6 dB per octave). Therefore, the Cybernetic Oscillator provides a more robust isolation of cyclic content than conventional oscillators. Best of all, traders can set the periods of the highpass and lowpass filters separately, enabling fine-tuning of the frequency range for different trading styles.
█ USAGE
The "Highpass period" input in the "Settings/Inputs" tab specifies the longest wavelength in the oscillator's passband, and the "Lowpass period" input defines the shortest wavelength. The oscillator becomes more responsive to rapid movements with a smaller lowpass period. Conversely, it becomes more sensitive to trends with a larger highpass period. Ehlers recommends setting the smallest period to a value above 8 to avoid aliasing. The highpass period must not be smaller than the lowpass period. Otherwise, it causes a runtime error.
The "RMS length" input determines the number of bars in the RMS calculation that the indicator uses to normalize the filtered result.
This indicator also features two distinct display styles, which users can toggle with the "Display style" input. With the "Trend" style enabled, the indicator plots the oscillator with one of two colors based on whether its value is above or below zero. With the "Threshold" style enabled, it plots the oscillator as a gray line and highlights overbought and oversold areas based on the user-specified threshold.
Below, we show two instances of the script with different settings on an equities chart. The first uses the "Threshold" style with default settings to pass cycles between 20 and 30 bars for mean reversion signals. The second uses a larger highpass period of 250 bars and the "Trend" style to visualize trends based on cycles spanning less than one year:
ابحث في النصوص البرمجية عن "巨轮智能2025年一季度财报关键财务指标"
EXODUS EXODUS by (DAFE) Trading Systems
EXODUS is a sophisticated trading algorithm built by Dskyz (DAFE) Trading Systems for competitive and competition purposes, designed to identify high-probability trades with robust risk management. this strategy leverages a multi-signal voting system, combining three core components—SPR, VWMO, and VEI—alongside ADX, choppiness filters, and ATR-based volatility gates to ensure trades are taken only in favorable market conditions. the algo uses a take-profit to stop-loss ratio, dynamic position sizing, and a strict voting mechanism requiring all signals to align before entering a trade.
EXODUS was not overfitted for any specific symbol. instead, it uses a generic tuned setting, making it versatile across various markets. while it can trade futures, it’s not currently set up for it but has the potential to do more with further development. visuals are intentionally minimal due to its competition focus, prioritizing performance over aesthetics. a more visually stunning version may be released in the future with enhanced graphics.
The Unique Core Components Developed for EXODUS
SPR (Session Price Recalibration)
SPR measures momentum during regular trading hours (RTH, 0930-1600, America/New_York) to catch session-specific trends.
spr_lookback = input.int(15, "SPR Lookback") this sets how many bars back SPR looks to calculate momentum (default 15 bars). it compares the current session’s price-volume score to the score 15 bars ago to gauge momentum strength.
how it works: a longer lookback smooths out the signal, focusing on bigger trends. a shorter one makes SPR more sensitive to recent moves.
how to adjust: on a 1-hour chart, 15 bars is 15 hours (about 2 trading days). if you’re on a shorter timeframe like 5 minutes, 15 bars is just 75 minutes, so you might want to increase it to 50 or 100 to capture more meaningful trends. if you’re trading a choppy stock, a shorter lookback (like 5) can help catch quick moves, but it might give more false signals.
spr_threshold = input.float (0.7, "SPR Threshold")
this is the cutoff for SPR to vote for a trade (default 0.7). if SPR’s normalized value is above 0.7, it votes for a long; below -0.7, it votes for a short.
how it works: SPR normalizes its momentum score by ATR, so this threshold ensures only strong moves count. a higher threshold means fewer trades but higher conviction.
how to adjust: if you’re getting too few trades, lower it to 0.5 to let more signals through. if you’re seeing too many false entries, raise it to 1.0 for stricter filtering. test on your chart to find a balance.
spr_atr_length = input.int(21, "SPR ATR Length") this sets the ATR period (default 21 bars) used to normalize SPR’s momentum score. ATR measures volatility, so this makes SPR’s signal relative to market conditions.
how it works: a longer ATR period (like 21) smooths out volatility, making SPR less jumpy. a shorter one makes it more reactive.
how to adjust: if you’re trading a volatile stock like TSLA, a longer period (30 or 50) can help avoid noise. for a calmer stock, try 10 to make SPR more responsive. match this to your timeframe—shorter timeframes might need a shorter ATR.
rth_session = input.session("0930-1600","SPR: RTH Sess.") rth_timezone = "America/New_York" this defines the session SPR uses (0930-1600, New York time). SPR only calculates momentum during these hours to focus on RTH activity.
how it works: it ignores pre-market or after-hours noise, ensuring SPR captures the main market action.
how to adjust: if you trade a different session (like London hours, 0300-1200 EST), change the session to match. you can also adjust the timezone if you’re in a different region, like "Europe/London". just make sure your chart’s timezone aligns with this setting.
VWMO (Volume-Weighted Momentum Oscillator)
VWMO measures momentum weighted by volume to spot sustained, high-conviction moves.
vwmo_momlen = input.int(21, "VWMO Momentum Length") this sets how many bars back VWMO looks to calculate price momentum (default 21 bars). it takes the price change (close minus close 21 bars ago).
how it works: a longer period captures bigger trends, while a shorter one reacts to recent swings.
how to adjust: on a daily chart, 21 bars is about a month—good for trend trading. on a 5-minute chart, it’s just 105 minutes, so you might bump it to 50 or 100 for more meaningful moves. if you want faster signals, drop it to 10, but expect more noise.
vwmo_volback = input.int(30, "VWMO Volume Lookback") this sets the period for calculating average volume (default 30 bars). VWMO weights momentum by volume divided by this average.
how it works: it compares current volume to the average to see if a move has strong participation. a longer lookback smooths the average, while a shorter one makes it more sensitive.
how to adjust: for stocks with spiky volume (like NVDA on earnings), a longer lookback (50 or 100) avoids overreacting to one-off spikes. for steady volume stocks, try 20. match this to your timeframe—shorter timeframes might need a shorter lookback.
vwmo_smooth = input.int(9, "VWMO Smoothing")
this sets the SMA period to smooth VWMO’s raw momentum (default 9 bars).
how it works: smoothing reduces noise in the signal, making VWMO more reliable for voting. a longer smoothing period cuts more noise but adds lag.
how to adjust: if VWMO is too jumpy (lots of false votes), increase to 15. if it’s too slow and missing trades, drop to 5. test on your chart to see what keeps the signal clean but responsive.
vwmo_threshold = input.float(10, "VWMO Threshold") this is the cutoff for VWMO to vote for a trade (default 10). above 10, it votes for a long; below -10, a short.
how it works: it ensures only strong momentum signals count. a higher threshold means fewer but stronger trades.
how to adjust: if you want more trades, lower it to 5. if you’re getting too many weak signals, raise it to 15. this depends on your market—volatile stocks might need a higher threshold to filter noise.
VEI (Velocity Efficiency Index)
VEI measures market efficiency and velocity to filter out choppy moves and focus on strong trends.
vei_eflen = input.int(14, "VEI Efficiency Smoothing") this sets the EMA period for smoothing VEI’s efficiency calc (bar range / volume, default 14 bars).
how it works: efficiency is how much price moves per unit of volume. smoothing it with an EMA reduces noise, focusing on consistent efficiency. a longer period smooths more but adds lag.
how to adjust: for choppy markets, increase to 20 to filter out noise. for faster markets, drop to 10 for quicker signals. this should match your timeframe—shorter timeframes might need a shorter period.
vei_momlen = input.int(8, "VEI Momentum Length") this sets how many bars back VEI looks to calculate momentum in efficiency (default 8 bars).
how it works: it measures the change in smoothed efficiency over 8 bars, then adjusts for inertia (volume-to-range). a longer period captures bigger shifts, while a shorter one reacts faster.
how to adjust: if VEI is missing quick reversals, drop to 5. if it’s too noisy, raise to 12. test on your chart to see what catches the right moves without too many false signals.
vei_threshold = input.float(4.5, "VEI Threshold") this is the cutoff for VEI to vote for a trade (default 4.5). above 4.5, it votes for a long; below -4.5, a short.
how it works: it ensures only strong, efficient moves count. a higher threshold means fewer trades but higher quality.
how to adjust: if you’re not getting enough trades, lower to 3. if you’re seeing too many false entries, raise to 6. this depends on your market—fast stocks like NQ1 might need a lower threshold.
Features
Multi-Signal Voting: requires all three signals (SPR, VWMO, VEI) to align for a trade, ensuring high-probability setups.
Risk Management: uses ATR-based stops (2.1x) and take-profits (4.1x), with dynamic position sizing based on a risk percentage (default 0.4%).
Market Filters: ADX (default 27) ensures trending conditions, choppiness index (default 54.5) avoids sideways markets, and ATR expansion (default 1.12) confirms volatility.
Dashboard: provides real-time stats like SPR, VWMO, VEI values, net P/L, win rate, and streak, with a clean, functional design.
Visuals
EXODUS prioritizes performance over visuals, as it was built for competitive and competition purposes. entry/exit signals are marked with simple labels and shapes, and a basic heatmap highlights market regimes. a more visually stunning update may be released later, with enhanced graphics and overlays.
Usage
EXODUS is designed for stocks and ETFs but can be adapted for futures with adjustments. it performs best in trending markets with sufficient volatility, as confirmed by its generic tuning across symbols like TSLA, AMD, NVDA, and NQ1. adjust inputs like SPR threshold, VWMO smoothing, or VEI momentum length to suit specific assets or timeframes.
Setting I used: (Again, these are a generic setting, each security needs to be fine tuned)
SPR LB = 19 SPR TH = 0.5 SPR ATR L= 21 SPR RTH Sess: 9:30 – 16:00
VWMO L = 21 VWMO LB = 18 VWMO S = 6 VWMO T = 8
VEI ES = 14 VEI ML = 21 VEI T = 4
R % = 0.4
ATR L = 21 ATR M (S) =1.1 TP Multi = 2.1 ATR min mult = 0.8 ATR Expansion = 1.02
ADX L = 21 Min ADX = 25
Choppiness Index = 14 Chop. Max T = 55.5
Backtesting: TSLA
Frame: Jan 02, 2018, 08:00 — May 01, 2025, 09:00
Slippage: 3
Commission .01
Disclaimer
this strategy is for educational purposes. past performance is not indicative of future results. trading involves significant risk, and you should only trade with capital you can afford to lose. always backtest and validate any strategy before using it in live markets.
(This publishing will most likely be taken down do to some miscellaneous rule about properly displaying charting symbols, or whatever. Once I've identified what part of the publishing they want to pick on, I'll adjust and repost.)
About the Author
Dskyz (DAFE) Trading Systems is dedicated to building high-performance trading algorithms. EXODUS is a product of rigorous research and development, aimed at delivering consistent, and data-driven trading solutions.
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
2025 Created by Dskyz, powered by DAFE Trading Systems. Trade smart, trade bold.
BTC Daily DCA CalculatorThe BTC Daily DCA Calculator is an indicator that calculates how much Bitcoin (BTC) you would own today by investing a fixed dollar amount daily (Dollar-Cost Averaging) over a user-defined period. Simply input your start date, end date, and daily investment amount, and the indicator will display a table on the last candle showing your total BTC, total invested, portfolio value, and unrealized yield (in USD and percentage).
Features
Customizable Inputs: Set the start date, end date, and daily dollar amount to simulate your DCA strategy.
Results Table: Displays on the last candle (top-right of the chart) with:
Total BTC: The accumulated Bitcoin from daily purchases.
Total Invested ($): The total dollars invested.
Portfolio Value ($): The current value of your BTC holdings.
Unrealized Yield ($): Your profit/loss in USD.
Unrealized Yield (%): Your profit/loss as a percentage.
Visual Markers: Green triangles below the chart mark each daily investment.
Overlay on Chart: The table and markers appear directly on the BTCUSD price chart for easy reference.
Daily Timeframe: Designed for Daily (1D) charts to ensure accurate calculations.
How to Use
Add the Indicator: Apply the indicator to a BTCUSD chart (e.g., Coinbase:BTCUSD, Binance:BTCUSDT).
Set Daily Timeframe: Ensure your chart is on the Daily (1D) timeframe, or the script will display an error.
Configure Inputs: Open the indicator’s Settings > Inputs tab and set:
Start Date: When to begin the DCA strategy (e.g., 2024-01-01).
End Date: When to end the strategy (e.g., 2025-04-27 or earlier).
Daily Investment ($): The fixed dollar amount to invest daily (e.g., $100).
View Results: Scroll to the last candle in your date range to see the results table in the top-right corner of the chart. Green triangles below the bars indicate investment days.
Settings
Start Date: Choose the start date for your DCA strategy (default: 2024-01-01).
End Date: Choose the end date (default: 2025-04-27). Must be after the start date and within available chart data.
Daily Investment ($): Set the daily investment amount (default: $100). Minimum is $0.01.
Notes
Timeframe: The indicator requires a Daily (1D) chart. Other timeframes will trigger an error.
Data: Ensure your BTCUSD chart has historical data for the selected date range. Use reliable pairs like Coinbase:BTCUSD or Binance:BTCUSDT.
Limitations: Does not account for trading fees or slippage. Future dates (beyond the current date) will not display results.
Performance: Works best with historical data. Free TradingView accounts may have limited historical data; consider premium for longer ranges.
TASC 2025.05 Trading The Channel█ OVERVIEW
This script implements channel-based trading strategies based on the concepts explained by Perry J. Kaufman in the article "A Test Of Three Approaches: Trading The Channel" from the May 2025 edition of TASC's Traders' Tips . The script explores three distinct trading methods for equities and futures using information from a linear regression channel. Each rule set corresponds to different market behaviors, offering flexibility for trend-following, breakout, and mean-reversion trading styles.
█ CONCEPTS
Linear regression
Linear regression is a model that estimates the relationship between a dependent variable and one or more independent variables by fitting a straight line to the observed data. In the context of financial time series, traders often use linear regression to estimate trends in price movements over time.
The slope of the linear regression line indicates the strength and direction of the price trend. For example, a larger positive slope indicates a stronger upward trend, and a larger negative slope indicates the opposite. Traders can look for shifts in the direction of a linear regression slope to identify potential trend trading signals, and they can analyze the magnitude of the slope to support trading decisions.
One caveat to linear regression is that most financial time series data does not follow a straight line, meaning a regression line cannot perfectly describe the relationships between values. Prices typically fluctuate around a regression line to some degree. As such, analysts often project ranges above and below regression lines, creating channels to model the expected extent of the data's variability. This strategy constructs a channel based on the method used in Kaufman's article. It measures the maximum distances from points on the linear regression line to historical price values, then adds those distances and the current slope to the regression points.
Depending on the trading style, traders might look for prices to move outside an established channel for breakout signals, or they might look for price action to reach extremes within the channel for potential mean reversion opportunities.
█ STRATEGY CALCULATIONS
Primary trade rules
This strategy implements three distinct sets of rules for trend, breakout, and mean-reversion trades based on the methods Kaufman describes in his article:
Trade the trend (Rule 1) : Open new positions when the sign of the slope changes, indicating a potential trend reversal. Close short trades and enter a long trade when the slope changes from negative to positive, and do the opposite when the slope changes from positive to negative.
Trade channel breakouts (Rule 2) : Open new positions when prices cross outside the linear regression channel for the current sample. Close short trades and enter a long trade when the price moves above the channel, and do the opposite when the price moves below the channel.
Trade within the channel (Rule 3) : Open new positions based on price values within the channel's range. Close short trades and enter a long trade when the price is near the channel's low, within a specified percentage of the channel's range, and do the opposite when the price is near the channel's high. With this rule, users can also filter the trades based on the channel's slope. When the filter is active, long positions are allowed only when the slope is positive, and short positions are allowed only when it is negative.
Position sizing
Kaufman's strategy uses specific trade sizes for equities and futures markets:
For an equities symbol, the number of shares traded is $10,000 divided by the current price.
For a futures symbol, the number of contracts traded is based on a volatility-adjusted formula that divides $25,000 by the product of the 20-bar average true range and the instrument's point value.
By default, this script automatically uses these sizes for its trade simulation on equities and futures symbols and does not simulate trading on other symbols. However, users can control position sizes from the "Settings/Properties" tab and enable trade simulation on other symbol types by selecting the "Manual" option in the script's "Position sizing" input.
Stop-loss
This strategy includes the option to place an accompanying stop-loss order for each trade, which users can enable from the "SL %" input in the "Settings/Inputs" tab. When enabled, the strategy places a stop-loss order at a specified percentage distance from the closing price where the entry order occurs, allowing users to compare how the strategy performs with added loss protection.
█ USAGE
This strategy adapts its display logic for the three trading approaches based on the rule selected in the "Trade rule" input:
For all rules, the script plots the linear regression slope in a separate pane. The plot is color-coded to indicate whether the current slope is positive or negative.
When the selected rule is "Trade the trend", the script plots triangles in the separate pane to indicate when the slope's direction changes from positive to negative or vice versa. Additionally, it plots a color-coded SMA on the main chart pane, allowing visual comparison of the slope to directional changes in a moving average.
When the rule is "Trade channel breakouts" or "Trade within the channel", the script draws the current period's linear regression channel on the main chart pane, and it plots bands representing the history of the channel values from the specified start time onward.
When the rule is "Trade within the channel", the script plots overbought and oversold zones between the bands based on a user-specified percentage of the channel range to indicate the value ranges where new trades are allowed.
Users can customize the strategy's calculations with the following additional inputs in the "Settings/Inputs" tab:
Start date : Sets the date and time when the strategy begins simulating trades. The script marks the specified point on the chart with a gray vertical line. The plots for rules 2 and 3 display the bands and trading zones from this point onward.
Period : Specifies the number of bars in the linear regression channel calculation. The default is 40.
Linreg source : Specifies the source series from which to calculate the linear regression values. The default is "close".
Range source : Specifies whether the script uses the distances from the linear regression line to closing prices or high and low prices to determine the channel's upper and lower ranges for rules 2 and 3. The default is "close".
Zone % : The percentage of the channel's overall range to use for trading zones with rule 3. The default is 20, meaning the width of the upper and lower zones is 20% of the range.
SL% : If the checkbox is selected, the strategy adds a stop-loss to each trade at the specified percentage distance away from the closing price where the entry order occurs. The checkbox is deselected by default, and the default percentage value is 5.
Position sizing : Determines whether the strategy uses Kaufman's predefined trade sizes ("Auto") or allows user-defined sizes from the "Settings/Properties" tab ("Manual"). The default is "Auto".
Long trades only : If selected, the strategy does not allow short positions. It is deselected by default.
Trend filter : If selected, the strategy filters positions for rule 3 based on the linear regression slope, allowing long positions only when the slope is positive and short positions only when the slope is negative. It is deselected by default.
NOTE: Because of this strategy's trading rules, the simulated results for a specific symbol or channel configuration might have significantly fewer than 100 trades. For meaningful results, we recommend adjusting the start date and other parameters to achieve a reasonable number of closed trades for analysis.
Additionally, this strategy does not specify commission and slippage amounts by default, because these values can vary across market types. Therefore, we recommend setting realistic values for these properties in the "Cost simulation" section of the "Settings/Properties" tab.
Psych Level ScreenerThis Script is intended for Pine Screener and is not designed as a indicator!!!
Pine Screener is something TradingView has recently added and is still only a Beta version.
Pine Screener itself is currently only available to members that are Premium and above.
What it does:
This screener will actively look for tickers that are close to Pysch level in your watchlist.
Psych level here refers to price levels that are round numbers such as 50,100,1000.
Users can specify the offset from a psych level (in %) and scanner will scan for tickers that are within the offset. For example if offset is set at 5% then it will scan for tickers that are within +/-5% of a ticker. (for $100 psych level it will scan for ticker in $95-105 range)
Once scan is completed you will be able to see:
- Current price of ticker
- Closest psych level for that ticker
- % and $ move required for it to hit that psych level
- Ticker's day range and Average range (with % of average range completed for the day)
- Ticker volume and average volume
Setting up:
www.tradingview.com
Above link will help you guide how to setup Pine screener.
Use steps below to guide you the setup for this specific screener:
1. Open Pine Screener (open new tab, select screener the "Pine")
2. At the top, click on "Choose Indicator" and select "Psych Level Screener"
3. At the top again, click "Indicator Psych Level Screener" and select settings.
4. Change setting to your needs. Hit Apply when done.
a)"% offset from Psych Level" will scan for any stocks in your watchlist which are +/- from the offset you chose for any given psych level. Default is 5. (e.g. If offset is 5%, it will scan for stocks that are between $95-$105 vs $100 psych level, $190-$210 for $200 psych level and so on)
b) ATR length is number of previous trading days you want to include in your calculation. Moving Average Type is calculation method.
c) Rvol length is number of previous trading days you want to include in your calculation.
5. On top left, click "Price within specified offset of Psych. Level" and select true. Then select "Scan" which is located at the top next to "Indicator Psych Level Screener". This will filter out all the stock that meets the condition.
6. At the end of the column on the right there is a "+" symbol. From there you can add/remove columns. 30min/1hr/4hr/1D Trend are disabled by default so if this is needed please enable them.
7. You can change the order of ticker by ascending and descending order of each column label if needed. Just click on the arrow that comes up when you move the cursor to any of the column items.
8. You can specify advanced filter settings based on the variables in the column. (e.g., set price range of stock to filter out further) To do so, click on the column variable name in interest, located above the screener table (or right below "scan") and select "manual setup".
How to read the column:
Current Price: Shows current price of the ticker when scan was done. Currently Pine Screener does NOT support pre/post-hours data so no PM and AH price.
Psych Level: Psych level the current price is near to.
% to Psych Level: Price movement in % necessary to get to the Psych level.
$ to Psych Level: Price movement in $ necessary to get to the Psych level.
DTR: Daily True Range of the stock. i.e. High - Low of the ticker on the day.
ATR: Average True Range of stock in the last x days, where x is a value selected in the setting. (See step 3 in Previous section)
DTR vs ATR: Amount of DTR a ticker has done in % with respect to ATR. (e.g., 90% means DTR is 90% of ATR)
Vol.: Volume of a ticker for the day. Currently Pine Screener does NOT support pre/post-hours data so no PM and AH volume.
Avg. Vol: Average volume of a ticker in the last x days, where x is a value selected in the setting. (See step 3 in Previous section)
Rvol: Relative volume in percentage, measured by the ratio of day's volume and average volume.
30min/1hr/4hr/1D Trend: Trend status to see if the chart is Bullish or Bearish on each of the time frame. Bullishness or Bearishness is defined by the price being over or under the 34/50 cloud on each of the time frame. Output of 1 is Bullish, -1 is Bearish. 0 means price is sitting inside the 34/50 cloud. Currently Pine Screener does NOT support pre/post-hours data so 34/50 cloud is based on regular trading hours data ONLY.
Some things user should be aware of:
- Pine Screener itself is currently only available to TradingView members with Premium Subscription and above. (I can't to anything about this as this is NOT set by me, I have no control) For more info: www.tradingview.com
- The Pine Screener itself is a Beta version and this screener can stop working anytime depending on changes made by TradingView themselves. (Again I cannot control this)
- Pine Screener can only run on Watchlists for now. (as of 03/31/2025) You will have to prepare your own watchlists. In a Watchlist no more than 1000 tickers may be added. (This is TradingView rules)
- Psych level included are currently 50 to 1500 in steps of 50. If you need a specific number please let me know. Will add accordingly.
- Unfortunately this screener does not update automatically, so please hit "scan" to get latest screener result.
- I cannot add 10min trend to the column as Pine Screener does NOT support 10min timeframe as of now. (03/31/2025)
- This code is only meant for Pine Screener. I do NOT recommend using this as an indicator.
- Currently Pine Screener does NOT support pre/post-hours data. So data such as Price, Volume and EMA values are based on market hours data ONLY! (If I'm wrong about this please correct me / let me know and will make look into and make changes to the code)
Other useful links about Pine Screener:
Quick overview of the Screener’s functionality: www.tradingview.com
what do you need to know before you start working? : www.tradingview.com
These links will go over the setting up with GIFs so is easier to understand.
-----------------------------------------------------------------------------------------------------------------
If there are other column variables that you think is worth adding please let me know! Will try add it to the screener!
If you have any questions let me know as well, will reply soon as I can!
Have a good trading day and hope it helps!
US Presidents (Alternating Fills by Order)📜 Indicator Description: US Presidents Background Fill
This indicator highlights the terms of U.S. Presidents on your chart with alternating red and blue background fills based on their political party:
• 🟥 Republicans = Red
• 🟦 Democrats = Blue
• 🎨 Dark/Light shading alternates with each new president to clearly distinguish consecutive terms, even within the same party.
The fill starts from President Ulysses S. Grant (18th President, 1873) through to the 47th president in 2025. It is designed to work with any asset and automatically adapts to the visible date range on your chart.
Ideal for visualizing macro trends, historical context, and how markets may have reacted under different political administrations.
TASC 2025.04 The Ultimate Oscillator█ OVERVIEW
This script implements an alternative, refined version of the Ultimate Oscillator (UO) designed to reduce lag and enhance responsiveness in momentum indicators, as introduced by John F. Ehlers in his article "Less Lag In Momentum Indicators, The Ultimate Oscillator" from the April 2025 edition of TASC's Traders' Tips .
█ CONCEPTS
In his article, Ehlers states that indicators are essentially filters that remove unwanted noise (i.e., unnecessary information) from market data. Simply put, they process a series of data to place focus on specific information, providing a different perspective on price dynamics. Various filter types attenuate different periodic signals within the data. For instance, a lowpass filter allows only low-frequency signals, a highpass filter allows only high-frequency signals, and a bandpass filter allows signals within a specific frequency range .
Ehlers explains that the key to removing indicator lag is to combine filters of different types in such a way that the result preserves necessary, useful signals while minimizing delay (lag). His proposed UltimateOscillator aims to maintain responsiveness to a specific frequency range by measuring the difference between two highpass filters' outputs. The oscillator uses the following formula:
UO = (HP1 - HP2) / RMS
Where:
HP1 is the first highpass filter.
HP2 is another highpass filter that allows only shorter wavelengths than the critical period of HP1.
RMS is the root mean square of the highpass filter difference, used as a scaling factor to standardize the output.
The resulting oscillator is similar to a bandpass filter , because it emphasizes wavelengths between the critical periods of the two highpass filters. Ehlers' UO responds quickly to value changes in a series, providing a responsive view of momentum with little to no lag.
█ USAGE
Ehlers' UltimateOscillator sets the critical periods of its highpass filters using two parameters: BandEdge and Bandwidth :
The BandEdge sets the critical period of the second highpass filter, which determines the shortest wavelengths in the response.
The Bandwidth is a multiple of the BandEdge used for the critical period of the first highpass filter, which determines the longest wavelengths in the response. Ehlers suggests that a Bandwidth value of 2 works well for most applications. However, traders can use any value above or equal to 1.4.
Users can customize these parameters with the "Bandwidth" and "BandEdge" inputs in the "Settings/Inputs" tab.
The script plots the UO calculated for the specified "Source" series in a separate pane, with a color based on the chart's foreground color. Positive UO values indicate upward momentum or trends, and negative UO values indicate the opposite.
Additionally, this indicator provides the option to display a "cloud" from 10 additional UO series with different settings for an aggregate view of momentum. The "Cloud" input offers four display choices: "Bandwidth", "BandEdge", "Bandwidth + BandEdge", or "None".
The "Bandwidth" option calculates oscillators with different Bandwidth values based on the main oscillator's setting. Likewise, the "BandEdge" option calculates oscillators with varying BandEdge values. The "Bandwidth + BandEdge" option calculates the extra oscillators with different values for both parameters.
When a user selects any of these options, the script plots the maximum and minimum oscillator values and fills their space with a color gradient. The fill color corresponds to the net sum of each UO's sign , indicating whether most of the UOs reflect positive or negative momentum. Green hues mean most oscillators are above zero, signifying stronger upward momentum. Red hues mean most are below zero, indicating stronger downward momentum.
Mogwai Method with RSI and EMA - BTCUSD 15mThis is a custom TradingView indicator designed for trading Bitcoin (BTCUSD) on a 15-minute timeframe. It’s based on the Mogwai Method—a mean-reversion strategy—enhanced with the Relative Strength Index (RSI) for momentum confirmation. The indicator generates buy and sell signals, visualized as green and red triangle arrows on the chart, to help identify potential entry and exit points in the volatile cryptocurrency market.
Components
Bollinger Bands (BB):
Purpose: Identifies overextended price movements, signaling potential reversions to the mean.
Parameters:
Length: 20 periods (standard for mean-reversion).
Multiplier: 2.2 (slightly wider than the default 2.0 to suit BTCUSD’s volatility).
Role:
Buy signal when price drops below the lower band (oversold).
Sell signal when price rises above the upper band (overbought).
Relative Strength Index (RSI):
Purpose: Confirms momentum to filter out false signals from Bollinger Bands.
Parameters:
Length: 14 periods (classic setting, effective for crypto).
Overbought Level: 70 (price may be overextended upward).
Oversold Level: 30 (price may be overextended downward).
Role:
Buy signal requires RSI < 30 (oversold).
Sell signal requires RSI > 70 (overbought).
Exponential Moving Averages (EMAs) (Plotted but not currently in signal logic):
Purpose: Provides trend context (included in the script for visualization, optional for signal filtering).
Parameters:
Fast EMA: 9 periods (short-term trend).
Slow EMA: 50 periods (longer-term trend).
Role: Can be re-added to filter signals (e.g., buy only when Fast EMA > Slow EMA).
Signals (Triangles):
Buy Signal: Green upward triangle below the bar when price is below the lower Bollinger Band and RSI is below 30.
Sell Signal: Red downward triangle above the bar when price is above the upper Bollinger Band and RSI is above 70.
How It Works
The indicator combines Bollinger Bands and RSI to spot mean-reversion opportunities:
Buy Condition: Price breaks below the lower Bollinger Band (indicating oversold conditions), and RSI confirms this with a reading below 30.
Sell Condition: Price breaks above the upper Bollinger Band (indicating overbought conditions), and RSI confirms this with a reading above 70.
The strategy assumes that extreme price movements in BTCUSD will often revert to the mean, especially in choppy or ranging markets.
Visual Elements
Green Upward Triangles: Appear below the candlestick to indicate a buy signal.
Red Downward Triangles: Appear above the candlestick to indicate a sell signal.
Bollinger Bands: Gray lines (upper, middle, lower) plotted for reference.
EMAs: Blue (Fast) and Orange (Slow) lines for trend visualization.
How to Use the Indicator
Setup
Open TradingView:
Log into TradingView and select a BTCUSD chart from a supported exchange (e.g., Binance, Coinbase, Bitfinex).
Set Timeframe:
Switch the chart to a 15-minute timeframe (15m).
Add the Indicator:
Open the Pine Editor (bottom panel in TradingView).
Copy and paste the script provided.
Click “Add to Chart” to apply it.
Verify Display:
You should see Bollinger Bands (gray), Fast EMA (blue), Slow EMA (orange), and buy/sell triangles when conditions are met.
Trading Guidelines
Buy Signal (Green Triangle Below Bar):
What It Means: Price is oversold, potentially ready to bounce back toward the Bollinger Band middle line.
Action:
Enter a long position (buy BTCUSD).
Set a take-profit near the middle Bollinger Band (bb_middle) or a resistance level.
Place a stop-loss 1-2% below the entry (or based on ATR, e.g., ta.atr(14) * 2).
Best Context: Works well in ranging markets; avoid during strong downtrends.
Sell Signal (Red Triangle Above Bar):
What It Means: Price is overbought, potentially ready to drop back toward the middle line.
Action:
Enter a short position (sell BTCUSD) or exit a long position.
Set a take-profit near the middle Bollinger Band or a support level.
Place a stop-loss 1-2% above the entry.
Best Context: Effective in ranging markets; avoid during strong uptrends.
Trend Filter (Optional):
To reduce false signals in trending markets, you can modify the script:
Add and ema_fast > ema_slow to the buy condition (only buy in uptrends).
Add and ema_fast < ema_slow to the sell condition (only sell in downtrends).
Check the Fast EMA (blue) vs. Slow EMA (orange) alignment visually.
Tips for BTCUSD on 15-Minute Charts
Volatility: BTCUSD can be erratic. If signals are too frequent, increase bb_mult (e.g., to 2.5) or adjust RSI levels (e.g., 75/25).
Confirmation: Use volume spikes or candlestick patterns (e.g., doji, engulfing) to confirm signals.
Time of Day: Mean-reversion works best during low-volume periods (e.g., Asian session in crypto).
Backtesting: Use TradingView’s Strategy Tester (convert to a strategy by adding entry/exit logic) to evaluate performance with historical BTCUSD data up to March 13, 2025.
Risk Management
Position Size: Risk no more than 1-2% of your account per trade.
Stop Losses: Always use stops to protect against BTCUSD’s sudden moves.
Avoid Overtrading: Wait for clear signals; don’t force trades in choppy or unclear conditions.
Example Scenario
Chart: BTCUSD, 15-minute timeframe.
Buy Signal: Price drops to $58,000, below the lower Bollinger Band, RSI at 28. A green triangle appears.
Action: Buy at $58,000, target $59,000 (middle BB), stop at $57,500.
Sell Signal: Price rises to $60,500, above the upper Bollinger Band, RSI at 72. A red triangle appears.
Action: Sell at $60,500, target $59,500 (middle BB), stop at $61,000.
This indicator is tailored for mean-reversion trading on BTCUSD. Let me know if you’d like to tweak it further (e.g., add filters, alerts, or alternative indicators)!
Full Moon and New Moon IndicatorThe Full Moon & New Moon Indicator is a custom Pine Script indicator which marks Full Moon (Pournami) and New Moon (Amavasya) events on the price chart. This indicator helps traders who incorporate lunar cycles into their market analysis, as certain traders believe these cycles influence market sentiment and price action. The current script is added for the year 2024 and 2025 and the dates are considered as per the Telugu calendar.
Features
✅ Identifies and labels Full Moon & New Moon days on the chart for the year 2024 and 2025
How it Works!
On a Full Moon day, it places a yellow label ("Pournami") above the corresponding candle.
On a New Moon day, it places a blue label ("Amavasya") above the corresponding candle.
Example Usage
When a Full Moon label appears, check for potential trend reversals or high volatility.
When a New Moon label appears, watch for market consolidation or a shift in sentiment.
Combine with candlestick patterns, support/resistance, or momentum indicators for a stronger trading setup.
🚀 Add this indicator to your TradingView chart and explore the market’s reaction to lunar cycles! 🌕
TASC 2025.03 A New Solution, Removing Moving Average Lag█ OVERVIEW
This script implements a novel technique for removing lag from a moving average, as introduced by John Ehlers in the "A New Solution, Removing Moving Average Lag" article featured in the March 2025 edition of TASC's Traders' Tips .
█ CONCEPTS
In his article, Ehlers explains that the average price in a time series represents a statistical estimate for a block of price values, where the estimate is positioned at the block's center on the time axis. In the case of a simple moving average (SMA), the calculation moves the analyzed block along the time axis and computes an average after each new sample. Because the average's position is at the center of each block, the SMA inherently lags behind price changes by half the data length.
As a solution to removing moving average lag, Ehlers proposes a new projected moving average (PMA) . The PMA smooths price data while maintaining responsiveness by calculating a projection of the average using the data's linear regression slope.
The slope of linear regression on a block of financial time series data can be expressed as the covariance between prices and sample points divided by the variance of the sample points. Ehlers derives the PMA by adding this slope across half the data length to the SMA, creating a first-order prediction that substantially reduces lag:
PMA = SMA + Slope * Length / 2
In addition, the article includes methods for calculating predictions of the PMA and the slope based on second-order and fourth-order differences. The formulas for these predictions are as follows:
PredictPMA = PMA + 0.5 * (Slope - Slope ) * Length
PredictSlope = 1.5 * Slope - 0.5 * Slope
Ehlers suggests that crossings between the predictions and the original values can help traders identify timely buy and sell signals.
█ USAGE
This indicator displays the SMA, PMA, and PMA prediction for a specified series in the main chart pane, and it shows the linear regression slope and prediction in a separate pane. Analyzing the difference between the PMA and SMA can help to identify trends. The differences between PMA or slope and its corresponding prediction can indicate turning points and potential trade opportunities.
The SMA plot uses the chart's foreground color, and the PMA and slope plots are blue by default. The plots of the predictions have a green or red hue to signify direction. Additionally, the indicator fills the space between the SMA and PMA with a green or red color gradient based on their differences:
Users can customize the source series, data length, and plot colors via the inputs in the "Settings/Inputs" tab.
█ NOTES FOR Pine Script® CODERS
The article's code implementation uses a loop to calculate all necessary sums for the slope and SMA calculations. Ported into Pine, the implementation is as follows:
pma(float src, int length) =>
float PMA = 0., float SMA = 0., float Slope = 0.
float Sx = 0.0 , float Sy = 0.0
float Sxx = 0.0 , float Syy = 0.0 , float Sxy = 0.0
for count = 1 to length
float src1 = src
Sx += count
Sy += src
Sxx += count * count
Syy += src1 * src1
Sxy += count * src1
Slope := -(length * Sxy - Sx * Sy) / (length * Sxx - Sx * Sx)
SMA := Sy / length
PMA := SMA + Slope * length / 2
However, loops in Pine can be computationally expensive, and the above loop's runtime scales directly with the specified length. Fortunately, Pine's built-in functions often eliminate the need for loops. This indicator implements the following function, which simplifies the process by using the ta.linreg() and ta.sma() functions to calculate equivalent slope and SMA values efficiently:
pma(float src, int length) =>
float Slope = ta.linreg(src, length, 0) - ta.linreg(src, length, 1)
float SMA = ta.sma(src, length)
float PMA = SMA + Slope * length * 0.5
To learn more about loop elimination in Pine, refer to this section of the User Manual's Profiling and optimization page.
TASC 2025.02 Autocorrelation Indicator█ OVERVIEW
This script implements the Autocorrelation Indicator introduced by John Ehlers in the "Drunkard's Walk: Theory And Measurement By Autocorrelation" article from the February 2025 edition of TASC's Traders' Tips . The indicator calculates the autocorrelation of a price series across several lags to construct a periodogram , which traders can use to identify market cycles, trends, and potential reversal patterns.
█ CONCEPTS
Drunkard's walk
A drunkard's walk , formally known as a random walk , is a type of stochastic process that models the evolution of a system or variable through successive random steps.
In his article, John Ehlers relates this model to market data. He discusses two first- and second-order partial differential equations, modified for discrete (non-continuous) data, that can represent solutions to the discrete random walk problem: the diffusion equation and the wave equation. According to Ehlers, market data takes on a mixture of two "modes" described by these equations. He theorizes that when "diffusion mode" is dominant, trading success is almost a matter of luck, and when "wave mode" is dominant, indicators may have improved performance.
Pink spectrum
John Ehlers explains that many recent academic studies affirm that market data has a pink spectrum , meaning the power spectral density of the data is proportional to the wavelengths it contains, like pink noise . A random walk with a pink spectrum suggests that the states of the random variable are correlated and not independent. In other words, the random variable exhibits long-range dependence with respect to previous states.
Autocorrelation function (ACF)
Autocorrelation measures the correlation of a time series with a delayed copy, or lag , of itself. The autocorrelation function (ACF) is a method that evaluates autocorrelation across a range of lags , which can help to identify patterns, trends, and cycles in stochastic market data. Analysts often use ACF to detect and characterize long-range dependence in a time series.
The Autocorrelation Indicator evaluates the ACF of market prices over a fixed range of lags, expressing the results as a color-coded heatmap representing a dynamic periodogram. Ehlers suggests the information from the periodogram can help traders identify different market behaviors, including:
Cycles : Distinguishable as repeated patterns in the periodogram.
Reversals : Indicated by sharp vertical changes in the periodogram when the indicator uses a short data length .
Trends : Indicated by increasing correlation across lags, starting with the shortest, over time.
█ USAGE
This script calculates the Autocorrelation Indicator on an input "Source" series, smoothed by Ehlers' UltimateSmoother filter, and plots several color-coded lines to represent the periodogram's information. Each line corresponds to an analyzed lag, with the shortest lag's line at the bottom of the pane. Green hues in the line indicate a positive correlation for the lag, red hues indicate a negative correlation (anticorrelation), and orange or yellow hues mean the correlation is near zero.
Because Pine has a limit on the number of plots for a single indicator, this script divides the periodogram display into three distinct ranges that cover different lags. To see the full periodogram, add three instances of this script to the chart and set the "Lag range" input for each to a different value, as demonstrated in the chart above.
With a modest autocorrelation length, such as 20 on a "1D" chart, traders can identify seasonal patterns in the price series, which can help to pinpoint cycles and moderate trends. For instance, on the daily ES1! chart above, the indicator shows repetitive, similar patterns through fall 2023 and winter 2023-2024. The green "triangular" shape rising from the zero lag baseline over different time ranges corresponds to seasonal trends in the data.
To identify turning points in the price series, Ehlers recommends using a short autocorrelation length, such as 2. With this length, users can observe sharp, sudden shifts along the vertical axis, which suggest potential turning points from upward to downward or vice versa.
Highs & Lows RTH/OVN/IBs/D/W/M/YOverview
Plots the highs and lows of RTH, OVN/ETH, IBs of those sessions, previous Day, Week, Month, and Year.
Features
Allows the user to enable/disable plotting the high/low of each period.
Lines' length, offset, and colors can be customized
Labels' position, size, color, and style can be customized
Support
Questions, feedbacks, and requests are welcomed. Please feel free to use Comments or direct private message via TradingView.
Disclaimer
This stock chart indicator provided is for informational purposes only and should not be considered as financial or investment advice. The data and information presented in this indicator are obtained from sources believed to be reliable, but we do not warrant its completeness or accuracy.
Users should be aware that:
Any investment decisions made based on this indicator are at your own risk.
The creators and providers of this indicator disclaim all liability for any losses, damages, or other consequences resulting from its use. By using this stock chart indicator, you acknowledge and accept the inherent risks associated with trading and investing in financial markets.
Release Date: 2025-01-17
Release Version: v1 r1
Release Notes Date: 2025-01-17
SW monthly Gann Days**Script Description:**
The script you are looking at is based on the work of W.D. Gann, a famous trader and market analyst in the early 20th century, known for his use of geometry, astrology, and numerology in market analysis. Gann believed that certain days in the market had significant importance, and he observed that markets often exhibited significant price moves around specific dates. These dates were typically associated with cyclical patterns in price movements, and Gann referred to these as "Gann Days."
In this script, we have focused on highlighting certain days of the month that Gann believed to have an influence on market behavior. The specific days in question are the **6th to 7th**, **9th to 10th**, **14th to 15th**, **19th to 20th**, **23rd to 24th**, and **29th to 31st** of each month. These ranges are based on Gann’s theory that there are recurring time cycles in the market that cause turning points or critical price movements to occur around certain days of the month.
### **Why Gann Used These Days:**
1. **Mathematical and Astrological Cycles:**
Gann believed that markets were influenced by natural cycles, and that certain dates (or combinations of dates) played a critical role in the price movements. These specific days are part of his broader theory of "time cycles" where the market would often change direction, reverse, or exhibit significant volatility on particular days. Gann's research was based on both mathematical principles and astrological observations, leading him to assign importance to these days.
2. **Gann's Universal Timing Theory:**
According to Gann, financial markets operate in a universe governed by geometric and astrological principles. These cycles repeat themselves over time, and specific days in a given month correspond to key turning points within these repeating cycles. Gann found that the 6th to 7th, 9th to 10th, 14th to 15th, 19th to 20th, 23rd to 24th, and 29th to 31st often marked significant changes in the market, making them particularly important for traders to watch.
3. **Market Psychology and Sentiment:**
These specific days likely correspond to key moments where market participants tend to react in predictable ways, influenced by past market behavior on similar dates. For example, news events or scheduled economic reports might fall within these time windows, causing the market to respond in a particular way. Gann's method involves using these cyclical patterns to predict turning points in market prices, enabling traders to anticipate when the market might make a reversal or face a significant shift in direction.
4. **Turning Points:**
Gann believed that markets often reversed or encountered critical points around specific dates. This is why he considered certain days more important than others. By identifying and focusing on these days, traders can better anticipate the market’s movement and make more informed trading decisions.
5. **Numerology:**
Gann also utilized numerology in his trading system, believing that numbers, and particularly certain key numbers, had significance in predicting market movements. The days selected in this script may correspond to numerological patterns that Gann identified in his analysis of the markets, such as recurring numbers in his astrological and geometric systems.
### **Purpose of the Script:**
This script highlights these "Gann Days" within a trading chart for 2024 and 2025. The color-coding or background highlighting is intended to draw attention to these dates, so traders can observe the potential for significant market movements during these times. By identifying these specific dates, traders following Gann's theories may gain insights into possible turning points, corrections, or key price movements based on the market's historical behavior around these days.
Overall, Gann’s use of specific days was based on his deep belief in the cyclical nature of the market and his attempt to tie those cycles to the natural laws of time, geometry, and astrology. By focusing on these dates, Gann aimed to give traders an edge in predicting significant market events and price shifts.
TASC 2025.01 Linear Predictive Filters█ OVERVIEW
This script implements a suite of tools for identifying and utilizing dominant cycles in time series data, as introduced by John Ehlers in the "Linear Predictive Filters And Instantaneous Frequency" article featured in the January 2025 edition of TASC's Traders' Tips . Dominant cycle information can help traders adapt their indicators and strategies to changing market conditions.
█ CONCEPTS
Conventional technical indicators and strategies often rely on static, unchanging parameters, which may fail to account for the dynamic nature of market data. In his article, John Ehlers applies digital signal processing principles to address this issue, introducing linear predictive filters to identify cyclic information for adapting indicators and strategies to evolving market conditions.
This approach treats market data as a complex series in the time domain. Analyzing the series in the frequency domain reveals information about its cyclic components. To reduce the impact of frequencies outside a range of interest and focus on a specific range of cycles, Ehlers applies second-order highpass and lowpass filters to the price data, which attenuate or remove wavelengths outside the desired range. This band-limited analysis isolates specific parts of the frequency spectrum for various trading styles, e.g., longer wavelengths for position trading or shorter wavelengths for swing trading.
After filtering the series to produce band-limited data, Ehlers applies a linear predictive filter to predict future values a few bars ahead. The filter, calculated based on the techniques proposed by Lloyd Griffiths, adaptively minimizes the error between the latest data point and prediction, successively adjusting its coefficients to align with the band-limited series. The filter's coefficients can then be applied to generate an adaptive estimate of the band-limited data's structure in the frequency domain and identify the dominant cycle.
█ USAGE
This script implements the following tools presented in the article:
Griffiths Predictor
This tool calculates a linear predictive filter to forecast future data points in band-limited price data. The crosses between the prediction and signal lines can provide potential trade signals.
Griffiths Spectrum
This tool calculates a partial frequency spectrum of the band-limited price data derived from the linear predictive filter's coefficients, displaying a color-coded representation of the frequency information in the pane. This mode's display represents the data as a periodogram . The bottom of each plotted bar corresponds to a specific analyzed period (inverse of frequency), and the bar's color represents the presence of that periodic cycle in the time series relative to the one with the highest presence (i.e., the dominant cycle). Warmer, brighter colors indicate a higher presence of the cycle in the series, whereas darker colors indicate a lower presence.
Griffiths Dominant Cycle
This tool compares the cyclic components within the partial spectrum and identifies the frequency with the highest power, i.e., the dominant cycle . Traders can use this dominant cycle information to tune other indicators and strategies, which may help promote better alignment with dynamic market conditions.
Notes on parameters
Bandpass boundaries:
In the article, Ehlers recommends an upper bound of 125 bars or higher to capture longer-term cycles for position trading. He recommends an upper bound of 40 bars and a lower bound of 18 bars for swing trading. If traders use smaller lower bounds, Ehlers advises a minimum of eight bars to minimize the potential effects of aliasing.
Data length:
The Griffiths predictor can use a relatively small data length, as autocorrelation diminishes rapidly with lag. However, for optimal spectrum and dominant cycle calculations, the length must match or exceed the upper bound of the bandpass filter. Ehlers recommends avoiding excessively long lengths to maintain responsiveness to shorter-term cycles.
Commodity Pulse Matrix (CPM) [WavesUnchained] [Strategy]Commodity Pulse Matrix (CPM) - Strategy Version
⚠️ Development Status
ACTIVE DEVELOPMENT - This strategy is currently under heavy development and optimization. The risk management settings, entry/exit logic, and parameter tuning are still being refined and are NOT yet satisfactory for live trading.
Current development areas:
Stop-loss and take-profit optimization
Position sizing and risk management
Entry timing and signal filtering
Backtest validation across different market conditions
⚠️ Use for testing and backtesting only - NOT recommended for live trading yet!
For detailed information about the underlying indicator logic, signals, and analysis methods, please refer to the Commodity Pulse Matrix (CPM) indicator description.
Overview
The CPM Strategy is an automated trading system based on the Commodity Pulse Matrix indicator. It converts the indicator's multi-timeframe confluence signals into executable trades with dynamic ATR-based risk management.
Strategy Core Features
Signal Sources
The strategy trades based on:
Strong Buy/Sell signals from the CPM indicator
Multi-timeframe alignment (configurable: 3/3, 2/3, or score-only)
EMA-200 trend filter (prevents counter-trend entries)
Dynamic signal cooldown (5-8 bars)
Optional reversal zone signals (triple-confirmed)
Risk Management (ATR-Based)
Stop-Loss & Take-Profit
Stop-Loss: 2.5x ATR (default) - Dynamic distance based on volatility
Take-Profit: 4.0x ATR (default) - Risk/Reward ratio of 1.6:1
ATR Length: 14 periods (adjustable)
Both SL and TP adjust to current market volatility
Trailing Stop (Optional)
Enabled by default
Trails at 2.5x ATR distance
Protects profits in trending moves
Can be disabled for fixed SL/TP only
Position Management
Trade Direction Filter
Both Directions (default) - Trade both Long and Short
Long Only - Only enter long positions
Short Only - Only enter short positions
Cooldown After Exit
Default: 3 bars minimum after closing a position
Prevents immediate re-entry (whipsaw protection)
Adjustable from 0 (disabled) to any number of bars
Signal Filtering
Signal Mode (Timeframe Consensus)
Strict (3/3 TFs): All 3 timeframes must agree - Most conservative
Majority (2/3 TFs): At least 2 of 3 timeframes agree - Balanced (default)
Flexible (Score Only): Overall score threshold only - Most signals
Optional Filters
Min ABS(overallScore): Only trade when confluence score meets minimum (default: 0 = disabled)
Confirmed Bar Only: Wait for bar close before entry (prevents repainting) - Recommended ON
Strategy Settings Guide
For Conservative Trading (Lower Risk)
Signal Mode: "Strict (3/3 TFs)"
Stop-Loss: 3.0x ATR or higher
Take-Profit: 5.0x ATR or higher
Trailing Stop: Enabled
Cooldown: 5-10 bars
Min Score: 8.0 or higher
For Aggressive Trading (More Signals)
Signal Mode: "Flexible (Score Only)"
Stop-Loss: 2.0x ATR
Take-Profit: 3.0x ATR
Trailing Stop: Optional
Cooldown: 0-3 bars
Min Score: 4.0 or disabled
For Balanced Trading (Recommended Starting Point)
Signal Mode: "Majority (2/3 TFs)"
Stop-Loss: 2.5x ATR
Take-Profit: 4.0x ATR
Trailing Stop: Enabled
Cooldown: 3 bars
Min Score: 6.0-8.0
TradingView Strategy Tester Settings
Essential Settings to Configure:
Properties Tab
Initial Capital: Set to realistic account size
Order Size: Use "% of Equity" (e.g., 10-25% per trade)
Commission: Set realistic commission (e.g., 0.05% for crypto, 0.1% for stocks)
Slippage: Add realistic slippage (1-3 ticks for liquid markets)
Verify "Recalculate: On Every Tick" is DISABLED (for realistic backtests)
Inputs Tab
Adjust ATR multipliers for your market
Set appropriate cooldown period
Choose signal mode based on desired trade frequency
Enable/disable trailing stop
Configure directional filter if needed
Backtesting Recommendations
Before Using This Strategy:
Test across multiple markets - What works for one commodity may not work for another
Test different timeframes - Strategy behavior changes significantly with TF
Test different market conditions - Trending vs ranging markets
Validate performance metrics - Win rate, profit factor, max drawdown, Sharpe ratio
Forward test on paper account - Before risking real capital
Key Metrics to Monitor:
Win Rate (aim for >40% minimum)
Profit Factor (aim for >1.5)
Max Drawdown (should be acceptable for your risk tolerance)
Sharpe Ratio (higher is better, >1.0 is good)
Average Trade (should be positive after commissions/slippage)
Known Limitations
Range-bound markets: May produce more whipsaws despite filters
Low volatility: ATR-based stops may be too tight
High volatility: ATR-based stops may be too wide
News events: Strategy cannot account for fundamental shocks
Signal timing: Entry timing is still being optimized
Indicator vs Strategy
When to use the Indicator:
- Manual trading with discretion
- Confluence analysis and timing
- Multiple signal validation
- Learning market structure
When to use the Strategy:
- Automated backtesting
- System validation
- Parameter optimization
- Performance measurement
⚠️ The indicator provides richer information and context than the strategy can execute!
Technical Details
Pine Script v6
Non-repainting: Uses confirmed bars for HTF data
Strategy type: Long/Short with dynamic stops
Risk management: ATR-based (adaptive to volatility)
Position sizing: Configured in Strategy Tester
Pyramiding: Default 1 (no adding to positions)
Important Notes
⚠️ Strategy parameters are still under optimization - Current settings may not be optimal for all markets or timeframes
⚠️ Backtest thoroughly before live trading - Test across different market conditions and timeframes
⚠️ Risk management is critical - Use appropriate position sizing (1-2% risk per trade recommended)
⚠️ Market conditions change - A strategy that works in trending markets may fail in ranging markets
⚠️ Commission and slippage matter - Always include realistic costs in backtests
✅ Start with conservative settings and optimize gradually
✅ Paper trade before going live
✅ Monitor performance and adjust as needed
✅ Never risk more than you can afford to lose
Disclaimer
Educational and testing purposes only. Not financial advice.
This strategy is provided as-is for backtesting and educational purposes. Past performance is not indicative of future results. Trading involves substantial risk of loss. The developer is not responsible for any losses incurred from using this strategy. Always do your own research, backtest thoroughly, and consult with a qualified financial advisor before making trading decisions.
NEVER use this strategy with real money until:
You have thoroughly backtested it on your specific market and timeframe
You understand all parameters and their impact
You have forward tested it on a paper account
You are comfortable with the maximum drawdown and risk profile
The strategy has been marked as production-ready by the developer
Version
v1.2 - Strategy Adapter (Active Development)
Based on: Commodity Pulse Matrix v1.2 Indicator
Last Updated: 2025-10-10
For detailed indicator documentation, see the Commodity Pulse Matrix (CPM) indicator description.
VIX Gauge Overlay (Table + Label + Alerts) by Carlos C.🚨 Official 2025 Update – Corrected VIX Ranges 🚨
This overlay shows the live VIX level with both a table and a large label, including alerts for HIGH FEAR and PANIC zones.
✅ Official ranges applied:
- LOW: 13 – 15
- LIGHT FEAR: 15 – 18
- TRANSITION: 18 – 21
- HIGH FEAR: 21 – 25
- PANIC: ≥ 25
Features:
- Table with VIX ranges and live highlight
- Large optional label with current value
- Color schemes (Normal / Inverted)
- Alerts when entering/exiting HIGH FEAR (21) and PANIC (25)
⚠️ Note: Previous version is deprecated. This v3.1 is the official and corrected release.
Aladin Pair Trading System v1Aladin Pair Trading System v1
What is This Indicator?
The Aladin Pair Trading System is a sophisticated tool designed to help traders identify profitable opportunities by comparing two related stocks that historically move together. Think of it as finding when one twin is running ahead or lagging behind the other - these moments often present trading opportunities as they tend to return to moving together.
Who Should Use This?
Beginners: Learn about statistical arbitrage and pair trading
Intermediate Traders: Execute mean-reversion strategies with confidence
Advanced Traders: Fine-tune parameters for optimal pair relationships
Portfolio Managers: Implement market-neutral strategies
💡 What is Pair Trading?
Imagine two ice cream shops next to each other. They usually have similar customer traffic because they're in the same area. If one day Shop A is packed while Shop B is empty, you might expect this imbalance to correct itself soon.
Pair trading works the same way:
You find two stocks that normally move together (like TCS and Infosys)
When one stock moves too far from the other, you trade expecting them to realign
You buy the lagging stock and sell the leading stock
When they come back together, you profit from both sides
Key Features
1. Z-Score Analysis
What it is: A statistical measure showing how far the price relationship has deviated from normal
What it means:
Z-Score near 0 = Normal relationship
Z-Score at +2 = Stock A is expensive relative to Stock B (Sell A, Buy B)
Z-Score at -2 = Stock A is cheap relative to Stock B (Buy A, Sell B)
2. Multiple Timeframe Analysis
Long-term Z-Score (300 bars): Shows the big picture trend
Short-term Z-Score (100 bars): Shows recent movements
Signal Z-Score (20 bars): Generates quick trading signals
3. Statistical Validation
The indicator checks if the pair is suitable for trading:
Correlation (must be > 0.7): Confirms the stocks move together
1.0 = Perfect positive correlation
0.7 = Strong correlation
Below 0.7 = Warning: pair may not be reliable
ADF P-Value (should be < 0.05): Tests if the relationship is stable
Low value = Good for pair trading
High value = Relationship may be random
Cointegration: Confirms long-term equilibrium relationship
YES = Pair tends to revert to mean
NO = Pair may drift apart permanently
Visual Elements Explained
Chart Zones (Color-Coded Areas)
Yellow Zone (-1.5 to +1.5)
Normal Zone: Relationship is stable
Action: Wait for better opportunities
Blue Zone (±1.5 to ±2.0)
Entry Zone: Deviation is significant
Action: Prepare for potential trades
Green/Red Zone (±2.0 to ±3.0)
Opportunity Zone: Strong deviation
Action: High-probability trade setups
Beyond ±3.0
Risk Limit: Extreme deviation
Action: Either maximum opportunity or structural break
Signal Arrows
Green Arrow Up (Buy A + Sell B):
Stock A is undervalued relative to B
Buy Stock A, Short Stock B
Red Arrow Down (Sell A + Buy B):
Stock A is overvalued relative to B
Sell Stock A, Buy Stock B
Settings Guide
Symbol Inputs
Pair Symbol (Symbol B): Choose the second stock to compare
Default: NSE:INFY (Infosys)
Example pairs: TCS/INFY, HDFCBANK/ICICIBANK, RELIANCE/ONGC
Z-Score Parameters
Long Z-Score Period (300): Historical context
Short Z-Score Period (100): Recent trend
Signal Period (20): Trading signals
Z-Score Threshold (2.0): Entry trigger level
Higher = Fewer but stronger signals
Lower = More frequent signals
Statistical Parameters
Correlation Period (240): How many bars to check correlation
Hurst Exponent Period (50): Measures mean-reversion tendency
Probability Lookback (100): Historical probability calculations
Trading Parameters
Entry Threshold (0.0): Minimum Z-score for entry
Risk Threshold (1.5): Warning level
Risk Limit (3.0): Maximum deviation to trade
How to Use (Step-by-Step)
Step 1: Choose Your Pair
Add the indicator to your chart (this becomes Stock A)
In settings, select Stock B (the comparison stock)
Choose stocks from the same sector for best results
Step 2: Verify Pair Quality
Check the Statistics Table (top-right corner):
✅ Correlation > 0.70 (Green = Good)
✅ ADF P-value < 0.05 (Green = Good)
✅ Cointegrated = YES (Green = Good)
If all three are green, the pair is suitable for trading!
Step 3: Wait for Signals
BUY SIGNAL (Green Arrow Up)
Z-Score crosses above -2.0
Action: Buy Stock A, Sell Stock B
Exit: When Z-Score returns to 0
SELL SIGNAL (Red Arrow Down)
Z-Score crosses below +2.0
Action: Sell Stock A, Buy Stock B
Exit: When Z-Score returns to 0
Step 4: Risk Management
Yellow Zone: Monitor only
Blue Zone: Prepare for entry
Green/Red Zone: Active trading zone
Beyond ±3.0: Maximum risk - use caution
⚠️ Important Warnings
Not All Pairs Work: Always check the statistics table first
Market Conditions Matter: Correlation can break during market stress
Use Stop Losses: Set stops at Z-Score ±3.5 or beyond
Position Sizing: Trade both legs with appropriate hedge ratios
Transaction Costs: Factor in brokerage and slippage for both stocks
Example Trade
Scenario: TCS vs INFOSYS
Correlation: 0.85 ✅
Z-Score: -2.3 (TCS is cheap vs INFY)
Action to be taken:
Buy 1lot of TCS Future
Sell 1lot of INFOSYS Future
Expected Outcome:
As Z-Score moves toward 0, TCS outperforms INFOSYS
Close both positions when Z-Score crosses 0
Profit from the convergence
Best Practices
Test Before Trading: Use paper trading first
Sector Focus: Choose pairs from the same industry
Monitor Statistics: Check correlation daily
Avoid News Events: Don't trade pairs during earnings/major news
Size Appropriately: Start small, scale with experience
Be Patient: Wait for high-quality setups (±2.0 or beyond)
What Makes This Indicator Unique?
Multi-timeframe Z-Score analysis: Three different perspectives
Statistical validation: Built-in correlation and cointegration tests
Visual risk zones: Easy-to-understand color-coded areas
Real-time statistics: Live pair quality monitoring
Beginner-friendly: Clear signals with educational zones
Technical Background
The indicator uses:
Engle-Granger Cointegration Test: Validates pair relationship
ADF (Augmented Dickey-Fuller) Test: Tests stationarity
Pearson Correlation: Measures linear relationship
Z-Score Normalization: Standardizes deviations
Log Returns: Handles price differences properly
Support & Community
For questions, suggestions, or to share your pair trading experiences:
Comment below the indicator
Share your successful pair combinations
Report any issues for quick fixes
Disclaimer
This indicator is for educational and informational purposes only. It does not constitute financial advice. Pair trading involves risk, including the risk of loss.
Always:
Do your own research
Understand the risks
Trade with money you can afford to lose
Consider consulting a financial advisor
📌 Quick Reference Card
Z-ScoreInterpretationAction-3.0 to -2.0A very cheap vs BStrong Buy A, Sell B-2.0 to -1.5A cheap vs BBuy A, Sell B-1.5 to +1.5Normal rangeHold/Wait+1.5 to +2.0A expensive vs BSell A, Buy B+2.0 to +3.0A very expensive vs BStrong Sell A, Buy B
Good Pair Statistics:
Correlation: > 0.70
ADF P-value: < 0.05
Cointegration: YES
Version: 1.0
Last Updated: 10th October 2025
Compatible: TradingView Pine Script v6
Happy Trading!
"Top 20 Crypto Coins Table Screener + SuperTrend & EMA 9/21 CrosThis indicator is a powerful table screener for the top 20 crypto coins, updated for 2025 and designed for maximum clarity and speed. It displays customizable columns for Symbol, Price, SuperTrend ("Up"/"Down"), and EMA 9/21 crossover signals ("Buy"/"Sell") across multiple assets on a single chart.
Features:
Covers 20 major coins (edit the symbol list for preferences).
SuperTrend direction and coloring, for quick visual identification of trend.
EMA 9/21 crossover logic for rapid momentum buy/sell decisions.
Fast table rendering, minimal lag—even on basic hardware.
All logic, table columns, and alerts directly built into the script.
How To Use:
Paste the indicator code into Pine Editor and save it.
Activate for your preferred timeframes and coins.
View the table at the top right for actionable signals.
Easy to customize ticker symbols and table layout.
Remarks:
No RSI, ADX, or TSI for speed—focus is on high-impact trend/momentum signals.
Ideal for day traders, swing traders, and crypto investors monitoring broader markets.
For questions, improvements, or feedback, comment on the script page or connect via TradingView.
Aggressive Options Trade Strategy - CALLS (2025+) - ASALEHMomentum-driven options strategy built for call buyers. Uses RSI, MACD, and EMA alignment with volatility filters to spot aggressive long setups and manage exits with profit targets and trailing stops.
ULTIMATE Smart Trading Pro 🔥
## 🇬🇧 ENGLISH
### 📊 The Most Complete All-in-One Trading Indicator
**ULTIMATE Smart Trading Pro** combines the best technical analysis tools and Smart Money Concepts into a single powerful and intelligent indicator. Designed for serious traders who want a real edge in the markets.
---
### ✨ KEY FEATURES
#### 💰 **SMART MONEY CONCEPTS**
- **Order Blocks**: Automatically detects institutional zones where "smart money" enters positions
- **Break of Structure (BOS)**: Identifies structure breaks to confirm trend changes
- **Liquidity Zones**: Spots equal highs/lows areas where institutions hunt stops
- **Market Structure**: Visually displays bullish (green background) or bearish (red background) structure
#### 📈 **ADVANCED TECHNICAL INDICATORS**
- **RSI with Auto Divergences**: Classic RSI + automatic detection of bullish and bearish divergences
- **MACD with Signals**: Identifies bullish and bearish crossovers in real-time
- **Dynamic Support & Resistance**: Adaptive zones with intelligent scoring based on volume, multiple touches, and ATR
- **Fair Value Gaps (FVG)**: Detects unfilled price gaps (imbalance zones)
#### 📐 **AUTOMATIC TOOLS**
- **Auto Fibonacci**: Automatically calculates Fibonacci retracement levels on the last major trend
- **Pivot Points**: Daily, Weekly, or Monthly pivot points (PP, R1, R2, S1, S2)
- **Pattern Finder**: Automatically detects candlestick patterns (Hammer, Shooting Star, Engulfing, Morning/Evening Star) and chart patterns (Double Top/Bottom)
---
### 🎯 HOW TO USE IT
#### Quick Setup:
1. **Add the indicator** to your chart
2. **Open Settings** and enable/disable modules as needed
3. **Adjust parameters** for your trading style (scalping, swing, day trading)
#### Optimal Trading Setup:
🔥 **ULTRA STRONG Signal** when you have:
- An institutional **Order Block**
- Aligned with a **Support/Resistance** tested 3+ times
- An unfilled **FVG** nearby
- An **RSI divergence** confirming the reversal
- On a key **Fibonacci** level (50%, 61.8%, or 78.6%)
- Favorable market structure (green background for buys, red for sells)
---
### 💡 UNIQUE ADVANTAGES
✅ **Adaptive Intelligence**: Automatically adjusts to market volatility (ATR)
✅ **Volume Filters**: Validates important levels with volume confirmation
✅ **Multi-Timeframe Ready**: Works on all timeframes (1m to 1M)
✅ **Complete Alerts**: Notifications for all important signals
✅ **Clear Interface**: Emojis and colored labels for quick identification
✅ **Intelligent Scoring**: Levels ranked by importance (🔴🔴🔴 = very strong)
✅ **100% Customizable**: Enable only what you need
---
### 🎨 SYMBOL LEGEND
**Smart Money:**
- 🟢 OB = Bullish Order Block
- 🔴 OB = Bearish Order Block
- BOS ↑/↓ = Break of Structure
- 💧 LIQ = Liquidity Zone
**Candlestick Patterns:**
- 🔨 = Hammer (bullish signal)
- ⭐ = Shooting Star (bearish signal)
- 📈 = Bullish Engulfing
- 📉 = Bearish Engulfing
- 🌅 = Morning Star (bullish reversal)
- 🌆 = Evening Star (bearish reversal)
**Indicators:**
- 🚀 MACD ↑ = Bullish crossover
- 📉 MACD ↓ = Bearish crossover
- ⚠️ DIV = Bearish RSI divergence
- ✅ DIV = Bullish RSI divergence
**Support & Resistance:**
- 🟢/🔴 S1, R1 = Support/Resistance
- 🟢🟢🟢/🔴🔴🔴 = VERY strong level (3+ touches)
- (×N) = Number of times touched
---
### ⚙️ RECOMMENDED SETTINGS
**For Scalping (1m - 5m):**
- SR Lookback: 15
- Structure Strength: 3
- RSI: 14
- Volume Filter: ON
**For Day Trading (15m - 1H):**
- SR Lookback: 20
- Structure Strength: 5
- RSI: 14
- All filters: ON
**For Swing Trading (4H - Daily):**
- SR Lookback: 30
- Structure Strength: 7
- Pattern Lookback: 100
- Fibonacci: ON
---
### 🚨 DISCLAIMER
This indicator is a decision support tool. It does not guarantee profits and does not constitute financial advice. Always test on a demo account before real use. Trading involves significant risks.
---
## 📞 SUPPORT & UPDATES
For questions, suggestions, or bug reports, please comment below or contact the author.
**Version:** 1.0
**Last Updated:** October 2025
**Compatible:** TradingView Pine Script v6
---
### 🌟 If you find this indicator useful, please give it a 👍 and share it with other traders!
**Happy Trading! 🚀📈**
Session Volume Spike Detector (MTF Arrows)Overview
The Session Volume Spike Detector is a precision multi-timeframe (MTF) tool that identifies sudden surges in buy or sell volume during key market windows. It highlights high-impact institutional participation by comparing current volume against its historical baseline and short-term highs, then plots directional markers on your chart.
This version adds MTF awareness, showing spikes from 1-minute, 5-minute, and 10-minute frames on a single chart. It’s ideal for traders monitoring microstructure shifts across multiple time compressions while staying on a fast chart (like 1-second or 1-minute).
Key Features
Dual Session Windows (DST-aware)
Automatically tracks Morning (05:30–08:30 MT) and Midday (11:00–13:30 MT) activity, adjusted for daylight savings.
Directional Spike Detection
Flags Buy spikes (green triangles) and Sell spikes (magenta triangles) using dynamic volume gates, Z-Score normalization, and recent-bar jump filters.
Multi-Timeframe Projection
Displays higher-timeframe (1m / 5m / 10m) spikes directly on your active chart for continuous visual context — even on sub-minute intervals.
Adaptive Volume Logic
Each spike is validated against:
Volume ≥ SMA × multiplier
Volume ≥ recent-high × jump factor
Optional Z-Score threshold for statistical significance
Session-Only Filtering
Ensures spikes are only plotted within specified trading sessions — ideal for futures or intraday equity traders.
Configurable Alerts
Built-in alert conditions for:
Any timeframe (MTF aggregate)
Individual 1m, 5m, or 10m windows
Alerts trigger only when a new qualifying spike appears at the close of its bar.
Use Cases
Detect algorithmic or institutional activity bursts inside your trading window.
Track confluence of volume surges across multiple timeframes.
Combine with FVGs, bank levels, or range breakouts to identify probable continuation or reversal zones.
Build custom automation or alert workflows around statistically unusual participation spikes.
Recommended Settings
Use on 1-minute chart for full MTF display.
Adjust the SMA length (default 20) and Z-Score threshold (default 3.0) to suit market volatility.
For scalping or high-frequency environments, disable the 10m layer to reduce visual clutter.
Credits
Developed by Jason Hyde
© 2025 — All rights reserved.
Designed for clarity, precision, and MTF-synchronized institutional volume detection.
PulseWave StrategyThe PulseWave Strategy is designed to identify trend-aligned momentum bursts in price action, using a combination of EMA trend filters, RSI momentum, and volume surge detection.
📌 Features
– Dual EMA crossover for trend direction
– RSI filter to avoid overbought/sold traps
– Volume surge detection to catch market "pulses"
– ATR-based trailing exit and trend-reversal stop
⚙️ Inputs You Can Customize
– EMA lengths
– RSI period and thresholds
– Volume surge sensitivity
– ATR length and trailing logic
📈 Backtest Sample (BTCUSD 1h)
– Return: +127%
– Win Rate: 54%
– Max Drawdown: 18%
– Period: Jan 2023 – Oct 2025
(Replace with your actual test results)
🔧 Built for educational use. Always validate on your own data and strategy framework before using live.
⚠️ Disclaimer
This tool is for research and educational purposes only. It is not financial advice. Trade responsibly and use proper risk management.