30-Week SMA (Fixed)This indicator plots a true 30-week Simple Moving Average (SMA) on any chart, regardless of the selected timeframe.
It uses weekly candle data (via the request.security() function) to calculate the 30-week average and keeps it fixed — meaning the line remains accurate even when you switch to daily, 4-hour, or other timeframes.
The 30-week SMA is a cornerstone of Stan Weinstein’s Stage Analysis strategy, commonly used to identify major trend phases:
Above a rising SMA → bullish (Stage 2 uptrend)
Below a falling SMA → bearish (Stage 4 downtrend)
Use this indicator to maintain a consistent long-term trend filter on all timeframes
المتوسطات المتحركة
Symmetric MA DeviationThis script used the 50 simple moving average and calculates how far the price is from it.
It can be used for looking at extremes in price and bullish / bearish divergence.
Fiyat - 55 EMA Uzaklık SinyaliThis indicator generates a signal when the price moves a certain percentage away from the 55-period Exponential Moving Average (EMA).
It helps traders identify when the market is stretched too far from its mean level, which can indicate potential reversal or continuation zones.
⚙️ How It Works
Calculates the 55 EMA on the selected chart.
Measures the percentage distance between the current price and the 55 EMA.
When the price distance exceeds the user-defined threshold (default: 0.50%), a visual signal (orange triangle) appears on the chart.
The background also highlights the signal candle.
🧩 Inputs
EMA Length: Default = 55 (can be changed).
Distance Threshold (%): Default = 0.50 → Change to detect stronger or weaker price deviations.
Trend Alignment TableThe Trend Alignment Table is a clean, visual tool designed to quickly assess trend direction and alignment across multiple moving averages — without cluttering your chart.
Instead of plotting moving average lines, this indicator displays a compact on-chart table showing each selected MA and its corresponding trend status using color-coded circles.
🧩 How It Works
Each circle represents the relationship between price and its corresponding moving average (MA):
Price vs. MA MA Direction Circle Color Meaning
Above Rising 🟢 Green Bullish continuation
Above Falling 🟡 Yellow Weakening bullishness
Below Falling 🔴 Red Bearish continuation
Below Rising 🟡 Yellow Weakening bearishness
⚙️ Features
Up to 4 customizable moving averages
Type: SMA, EMA, SMMA (RMA), WMA, VWMA
Source: Any price source (close, open, etc.)
Length: Fully adjustable
Dynamic color-coded circles (green, yellow, red by default — fully customizable)
User-selectable table position (top-left, top-right, bottom-left, bottom-right)
Clean visual layout for quick multi-timeframe trend confirmation
📊 Use Cases
Instantly identify trend alignment across short-, medium-, and long-term averages
Confirm trend strength or weakening momentum
Combine with other indicators or strategies for confirmation signals
🧠 Default Settings
MA Type Length Color
MA #1 SMA 5 Green
MA #2 SMA 20 Gold
MA #3 SMA 50 Orange
MA #4 SMA 150 Red
🧰 Created for traders who value clarity.
Whether you trade trends, reversals, or momentum shifts, the Trend Alignment Table gives you a concise, at-a-glance view of the market’s directional structure.
MTF 200 SMAMulti-Timeframe (MTF) 200 SMA: Your Universal Trend Guide
Tired of switching timeframes just to check the major moving averages?
The MTF 200 SMA indicator is a powerful, customizable tool designed to give you a clear, comprehensive view of the trend across multiple timeframes, all on a single chart. It's built on Pine Script v6 for stability and performance.
Key Features:
9 MTF Lines: Simultaneously plot the 200 Simple Moving Average (SMA) for 30m, 1h, 2h, 3h, 4h, 6h, 8h, Daily, and Weekly charts. Understand the overall market structure at a glance.
Single-Click Toggle: Use the 'Current Chart TF Only' checkbox to instantly switch from the crowded MTF view to showing only the standard 200 SMA for your current chart resolution. Perfect for focusing on immediate price action.
Dynamic Highlighting: The 'Highlight Current Chart TF' option (default ON) emphasizes the SMA corresponding to your current chart, making it stand out with a bright Aqua color and a thicker line when in MTF mode.
Full Customization: Easily adjust the SMA Length and the MTF SMA Line Color directly in the indicator settings.
How to Use It:
Trend Confirmation: When all MTF lines (especially the Daily and Weekly) are aligned and moving in the same direction, it provides high-confidence trend confirmation.
Dynamic S/R: The MTF SMAs often act as strong dynamic Support and Resistance levels, even when viewing a lower timeframe like the 5-minute chart.
Clean Analysis: Use the 'Current Chart TF Only' option when you need to declutter your chart and focus on the primary trend of your active trading session.
Elevate your trend analysis today with the MTF 200 SMA!
Super Optimized SMA 20/200 Strategy - Long & Short_grok### Description of the SMA 20/200 Trading Strategy with Proposed Optimizations
The "Super Optimized SMA 20/200 Strategy - Long & Short" is a technical trading strategy designed for TradingView, leveraging two Simple Moving Averages (SMA) — a 20-period SMA for short-term trend detection and a 200-period SMA for long-term support/resistance — to identify entry and exit points for both long and short positions. Originally inspired by Emmanuel Malyarovich's minimalist approach, the strategy has been enhanced with optimizations to improve profitability, reduce risk, and adapt to volatile markets like cryptocurrencies (e.g., XRPUSD). Below is a detailed description of the base strategy and the proposed optimizations.
#### **Base Strategy Overview**
- **Indicators Used**:
- **20 SMA**: Tracks short-term trends and serves as a dynamic support/resistance level for bounce entries.
- **200 SMA**: Acts as a long-term support (for long entries) or resistance (for short entries).
- **Entry Logic**:
- **Long Entry**: Triggered when the price bounces off the 20 SMA in an uptrend (20 SMA sloping upward over the last 3 bars), with the low touching or slightly below the 20 SMA and the close above it. The price must also be above the 200 SMA for confirmation.
- **Short Entry**: Triggered when the price rebounds off the 20 SMA in a downtrend (20 SMA sloping downward), with the high touching or slightly above the 20 SMA and the close below it. The price must be below the 200 SMA.
- **Exit Logic**:
- Default settings include a 2% take profit (TP) and 1% stop loss (SL) for both long and short positions.
- A trailing stop with a 0.1% offset can be activated to lock in profits during strong trends.
- **Visuals and Alerts**: The strategy plots 20 SMA (blue) and 200 SMA (red) on the chart, with green triangles for long entries and red triangles for short entries. Alerts notify users of entry signals with price details.
- **Initial Settings**: Starts with $10,000 capital, using 10% of equity per trade.
#### **Proposed Optimizations**
To address the observed 2% profitability (improved to 112% with trailing stop) and align with your feedback (e.g., 1H outperforming 4H, tolerance at 0.1% working well), the following enhancements have been integrated into the strategy:
1. **Flexible Take Profit and Trailing Stop**:
- Added a `useTakeProfit` boolean (default true) to toggle TP. If set to false, only the trailing stop (0.1% offset) is used, allowing unlimited profit capture in strong trends. This addresses your request to disable TP, potentially boosting profitability in bull/bear runs while increasing drawdown risk.
- **Recommendation**: Test with TP off on 1H for XRPUSD to confirm 112% holds; adjust offset to 0.2% if drawdown exceeds 20%.
2. **Dynamic Stop Loss with ATR**:
- Replaced fixed 1% SL with a dynamic SL based on ATR(14) * 1.5, calculated as `close * (1 - (ATR * multiplier / close))` for long and the inverse for short. Inputs `atrLength` (14) and `atrMultiplier` (1.5) are adjustable.
- **Benefit**: Adapts to market volatility, reducing premature exits in choppy conditions. Test with multiplier 1-2 to balance risk/reward.
- **Note**: A `useAtrStop` toggle (default true) allows reverting to fixed SL if needed.
3. **Tolerance for Pullback Adjustment**:
- Set to 0.1% (your successful tweak), allowing precise bounce detection. The strategy checks if the low is within ±0.1% of 20 SMA, with the close crossing above for long or below for short.
- **Optimization**: If trades are too few, increase to 0.3-0.5% to capture more opportunities, as seen in your original script’s 0.5% tolerance.
4. **RSI Filter**:
- Integrated RSI(14) with configurable `rsiOverbought` (default 70) and `rsiOversold` (default 30). Long entries require RSI > oversoldLevel, and short entries require RSI < overboughtLevel.
- **Benefit**: Filters out overbought/oversold conditions, improving signal quality. Test with neutral levels (50) for broader entries, potentially adding 10-20% to profitability.
5. **Market Sideways Filter**:
- Added a `sma20_flat` condition, checking if the 20 SMA variation over the last 5 bars (`flatCheckBars`) is below a `flatTolerance` (0.001). If true, entries are blocked.
- **Benefit**: Reduces false signals in range-bound markets, lowering drawdown. Adjust `flatCheckBars` to 3-7 based on volatility.
6. **Time/Day Filter**:
- Restricts trading to active hours (default 8:00-20:00 UTC, adjustable with `startHour` and `endHour`) and excludes weekends (Saturday/Sunday).
- **Benefit**: Focuses on high-volume periods in crypto, improving winning rate. Adjust hours to 9:00-17:00 UTC if testing on BTCUSD/ETHUSD.
7. **Volume Filter**:
- Retained from your script, with `minVolume` (default 0, disabled) to filter low-liquidity trades.
- **Optimization**: Set to a symbol-specific minimum (e.g., 10,000 for XRPUSD) to avoid slippage.
#### **Implementation Details**
- The strategy uses `strategy.entry` and `strategy.exit` with conditional logic for TP, SL, and trailing stops. Visuals (triangles) and alerts remain for manual oversight.
- Inputs are fully customizable, allowing backtesting to fine-tune parameters.
#### **Testing Recommendations**
- **Timeframe**: Stick to 1H for XRPUSD, as 4H underperformed. Test 2H or Daily on BTCUSD/ETHUSD for stability.
- **Symbols**: Beyond XRPUSD, try BTCUSD (stable) or ETHUSD (volatile but liquid) to diversify gains.
- **Backtesting**: Run on the last 2 years (Oct 2023-Oct 2025), with 70% for optimization and 30% for out-of-sample testing. Include 0.1% commissions and 0.05% slippage.
- **Metrics to Watch**: Aim for profit >6%, drawdown <30%, and winning rate >50%. If 112% persists, validate with live demo trading.
#### **Next Steps**
This optimized strategy balances your successful tweaks (0.1% tolerance, trailing stop) with robust filters (RSI, sideways, time). Test on TradingView, adjust inputs based on results, and report back with drawdown or trade count for further tuning!
Puell Multiple Variants [OperationHeadLessChicken]Overview
This script contains three different, but related indicators to visualise Bitcoin miner revenue.
The classical Puell Multiple : historically, it has been good at signaling Bitcoin cycle tops and bottoms, but due to the diminishing rewards miners get after each halving, it is not clear how you determine overvalued and undervalued territories on it. Here is how the other two modified versions come into play:
Halving-Corrected Puell Multiple : The idea is to multiply the miner revenue after each halving with a correction factor, so overvalued levels are made comparable by a horizontal line across cycles. After experimentation, this correction factor turned out to be around 1.63. This brings cycle tops close to each other, but we lose the ability to see undervalued territories as a horizontal region. The third variant aims to fix this:
Miner Revenue Relative Strength Index (Miner Revenue RSI) : It uses RSI to map miner revenue into the 0-100 range, making it easy to visualise over/undervalued territories. With correct parameter settings, it eliminates the diminishing nature of the original Puell Multiple, and shows both over- and undervalued revenues correctly.
Example usage
The goal is to determine cycle tops and bottoms. I recommend using it on high timeframes, like monthly or weekly . Lower than that, you will see a lot of noise, but it could still be used. Here I use monthly as the example.
The classical Puell Multiple is included for reference. It is calculated as Miner Revenue divided by the 365-day Moving Average of the Miner Revenue . As you can see in the picture below, it has been good at signaling tops at 1,3,5,7.
The problems:
- I have to switch the Puell Multiple to a logarithmic scale
- Still, I cannot use a horizontal oversold territory
- 5 didn't touch the trendline, despite being a cycle top
- 9 touched the trendline despite not being a cycle top
Halving-Corrected Puell Multiple (yellow): Multiplies the Puell Multiple by 1.63 (a number determined via experimentation) after each halving. In the picture below, you can see how the Classical (white) and Corrected (yellow) Puell Multiples compare:
Advantages:
- Now you can set a constant overvalued level (12.49 in my case)
- 1,3,7 are signaled correctly as cycle tops
- 9 is correctly not signaled as a cycle top
Caveats:
- Now you don't have bottom signals anymore
- 5 is still not signaled as cycle top
Let's see if we can further improve this:
Miner Revenue RSI (blue):
On the monthly, you can see that an RSI period of 6, an overvalued threshold of 90, and an undervalued threshold of 35 have given historically pretty good signals.
Advantages:
- Uses two simple and clear horizontal levels for undervalued and overvalued levels
- Signaling 1,3,5,7 correctly as cycle tops
- Correctly does not signal 9 as a cycle top
- Signaling 4,6,8 correctly as cycle bottoms
Caveats:
- Misses two as a cycle bottom, although it was a long time ago when the Bitcoin market was much less mature
- In the past, gave some early overvalued signals
Usage
Using the example above, you can apply these indicators to any timeframe you like and tweak their parameters to obtain signals for overvalued/undervalued BTC prices
You can show or hide any of the three indicators individually
Set overvalued/undervalued thresholds for each => the background will highlight in green (undervalued) or red (overvalued)
Set special parameters for the given indicators: correction factor for the Corrected Puell and RSI period for Revenue RSI
Show or hide halving events on the indicator panel
All parameters and colours are adjustable
Money Line ApproximationSimilar to Ivan's money line minus the Macro data.
How to Interpret and Use It
Bullish Setup : Green line + buy signal = Potential entry (e.g., buy on pullback to the line). Expect upward momentum if RSI stays below 75.
Bearish Setup : Red line + sell signal = Potential exit or short (e.g., sell near the line). Watch for RSI above 25 confirming downside.
Neutral Periods : Yellow line indicates indecision—best to wait for a flip rather than force trades.
Strengths : Simple, visual, and filtered against extremes; works well in trending markets by blending EMAs and using RSI to avoid overbought buys or oversold sells.
Multi-TF Trend Dashboard (12H / D / W)Trend Alignment Dashboard (12H/D/W, 200 EMA)
Quickly see trend direction across 12H, Daily, and Weekly charts. Includes 12H 200 EMA for major trend confirmation. Perfect for spotting strong multi-timeframe alignment at a glance.
DayTrader Plug and Play Score Strategy HSBeen playing around with automating a strategy and to make something more flexible in updating indicators/ risk reward scenarios.
I Trade on 5 min timeframe choosing stocks from a day trading scanner I use to evaluate premarket movement.
This script take into account short term EMA crossovers, VWAP, RSI, Candlesticks, and previous day S/R lines to determine buy/sell points. It Mostly runs on a VWAP strategy and will only buy when price is above VWAP and only sell when price is below VWAP. But uses the other indicators as more confirmations.
All of these indicators come together to form a score 1-8.5 and gives buy/sell signals based on the score.
Strategy is as below:
My Stock scanner gives me anywhere from 3-5 stocks per day to trade. (Not included)
Strategy will only trade once per day per stock.
Strategy closes positions after 2 hours in the market.
Strategy closes all positions 5 min before end of day close.
Trade size is set to 1% of the account size. The risk is 2% of that trade, reward is 4%.
Score threshold for hitting the indicator threshold is set to 5.5 score
^^This is all editable in the script.
After building and testing an rebuilding for a few months this has been my most profitable strategy in PAPER TRADING so I thought id share. I enjoy this kind of tinkering and scenario testing. Enjoy!
Daily 200EMA on Intraday ChartsThis indicator shows the 200 EMA from the Daily Chart onto an intraday chart of your choice
Manual Range FR1 — Open Source ( Miresync )Made by Rafael Matos (Miresync)
EMA 9 – Scalp Trading XAUUSD (Gold)
The EMA 9 (Exponential Moving Average) is a short-term moving average widely used by scalpers and day traders to identify quick price movements with precision and agility.
In this setup, the EMA 9 acts as a dynamic trend guide, helping to pinpoint entry and exit zones for short, fast trades on XAUUSD (Gold).
🎯 Core Strategy:
When price is above EMA 9 → indicates bullish strength → focus on long entries during pullbacks.
When price is below EMA 9 → indicates bearish strength → focus on short entries during pullbacks.
EMA 9 reacts quickly to direction changes, allowing for short and precise scalps that take advantage of microtrends.
Flexible MA Crossrotemtuyunmhv kebh unfhrv ak nbhu, ftar vo jumu, t, vnnumg bg fkph ngkv uaucru, gkph nyv
Reversal Super ScalperUsing Grok I've combined several indicators to be used for scalping reversals. My goal is to make sure it alerts me when all of the below conditions have been met.
Indicators that were combined to make this
FluidTrades - SMC Lite indicator - by Pmgjiv
Money Flow Index MTF + Alerts - by DreamsDefined
WaveTrend Filtered Signals (LazyBear Style) - by Uncle_the_shooter
Q-Trend - by tarasenko_
This strategy is for scalping on the 5 minute timeframe.
This way I can set alerts when the price action is close to demand or support levels marked out by the FluidTrades - SMC Lite indicator, the Money Flow Index MTF + Alerts indicator shows oversold if i'm trying to enter a long position or overbought if I'm trying to enter a short position, and the WaveTrend Filtered Signals indicator pops up a buy/sell signal either on the same 5 min candle or two 5 min candles before the Q-Trend buy/sell signal pops up. Once all of these conditions are met, this is when I would enter into a position at the close of the trigger candle from Q-Trend.
Here is an example of how to use this strategy
BUY (LONG) SIGNAL CONDITIONS
Price action must fall back into a level of demand marked out by the FluidTrades indicator.
The candle wick may cross below the demand level, and the candle body may cross slightly below it, as long as the candle does not close below the demand zone.
If any candle closes below the demand level, the buy signal created by the Q-Trend indicator is canceled. The WaveTrend Filtered Signals indicator should generate an alert on the current 5 min candle that Q-trend is generating a buy signal or two 5 min candles before it.
Money Flow Index (MFI) Condition:
On the candle where the buy signal is triggered by the Q-Trend indicator, the MFI must be oversold, with the white line below the 40 level, inside the Red Zone.
When the above conditions are met, enter after the close of the BUY signal trigger candle.
For the short signal it is the opposite of these conditions.
EMA 10/20This serves to include the EMA 10 and EMA 20 in one indicator rather than use 2 separate indicators for convenience purpose.
Golden Cross 50/200Simplicity characterizes each of my trading systems and methods. On this occasion, I present a trend-following strategy with simple rules and high profitability.
System Rules:
-Long entries when the 50 EMA crosses above the 200 EMA.
-Stop Loss (SL) placed at the low of 15 candles prior to the entry candle.
-Take Profit (TP) triggered when the 50 EMA crosses below the 200 EMA.
As with any trend-following system, we sacrifice win rate for profitability, and of course, we will focus on traditional markets with a consistent trend-following nature over time.
Recommended Markets and Timeframes:
BTCUSDT H6
August 17, 2017 - October 20, 2025 Total trades: 30
Profitability: +1,682.99%
Win rate: 40%
Outperforms Buy & Hold
BTCUSDT H4
August 17, 2017 - October 20, 2025 Total trades: 42
Profitability: +12,213.49% (high and stable performance curve)
Win rate: 40%
Outperforms Buy & Hold
BTCUSDT H2
August 17, 2017 - October 20, 2025 Total trades: 95
Profitability: +2,363.80%
Win rate: 24.21%
Matches Buy & Hold
BTCUSDT H1
August 17, 2017 - October 20, 2025 Total trades: 203
Profitability: +1,045% (stable performance curve)
Win rate: 25.62%
BTCUSDT 30M
August 17, 2017 - October 20, 2025 Total trades: 393
Profitability: +4,205.51% (high and stable performance curve)
Win rate: 27.74%
Outperforms Buy & Hold
BTCUSDT 15M
August 17, 2017 - October 20, 2025 Total trades: 821
Profitability: +1,311.97%
Win rate: 23.14%
Timeframes such as Daily, 12-hour, 8-hour, and even 5-minute charts are profitable with this system, so feel free to experiment.
Other markets and timeframes to observe include:
-XAUUSD (H1, H4, H6, H8, Daily)
-SPX (Daily: +21,302% profitability since 1871 in 40 trades)
-Tesla (H1, H2, H4, H6, especially M30 and M15)
-Apple (M5, M15, M30, H1, H2, H4…)
-Warner Bros (M5, M15, M30…)
-GOOGL (M5, M15, M30, H1, H2, H4, H6…)
-AMZN (M5, M15, M30, H2, H4, H6…)
-META (M5, M15, M30, H1, H2, H4…)
-NVDA (M5, M15, M30, H1, H2, H4…)
This system not only generates significant profitability but also performs very well in traditional markets, even on lower timeframes like 5-minute charts. In many cases, the returns far exceed Buy & Hold.
I hope this strategy is useful to you. Follow my Spanish-speaking profile if you want to see my market analyses, and send me your good vibes!
ORBs, EMAs, SMAs, AVWAPThis is an update to a previously published script. In short the difference is the added capability to adjust the length of EMAs. Also added 3 customizable SMAs. Enjoy! Let me know what you think of the script please. This is only second one I have ever done. Through practice and people like @LuxAlgo and other Pinescripters this isn't possible. Tedious hrs with ChatGPT to correct nuances, who doesnt seem to learn from (insert pronoun) mistakes
This all-in-one indicator combines key institutional tools into a unified framework for intraday and swing trading. Designed for traders who use multi-session analysis and dynamic levels, it automatically maps out global session breakouts, moving averages, and volume-weighted anchors with high clarity.
Features include:
🕓 Tokyo, London, and New York ORBs (Opening Range Breakouts) — 30-minute configurable range boxes that persist until the next New York open.
📈 Anchored VWAP with Standard Deviation Bands — dynamically anchorable to session, week, or month for institutional-grade price tracking.
📊 Exponential Moving Averages (9, 20, 113, 200) — for short-, mid-, and long-term momentum structure.
📉 Simple Moving Averages (20, 50, 100) — fully customizable lengths, colors, and visibility toggles for trend confirmation.
🏁 Prior High/Low Levels (PDH/PDL, PWH/PWL, PMH/PML) — automatically plotted from previous day, week, and month, with labels placed at each session’s midpoint.
🎛️ Session-Aligned Time Logic — all time calculations use New York session anchors with DST awareness.
💡 Clean Visualization Options — every component can be toggled on/off, recolored, or customized for your workflow.
Best used for:
ORB break-and-retest setups
VWAP and EMA rejections
Confluence-based trading around key session levels
Multi-session momentum tracking
Key Levels (PA, MAs, VWAPs, Volume Profile, rVWAPs)This indicator marks all kinds of key levels so that users can keep an overview of their specified levels in a convenient non chart cluttering way. It can highlight levels of confluence or display each level seperately.
The indicator includes markers for the following levels:
Price Action: Opens, Previous High/Low, Monday Range
Moving Averages: H4, D1 and W1 with customisable lengths
VWAPs: Developing and Previous VWAPs with their respective VAL/VAH (1 Standard Deviation)
Rolling VWAPs
Volume Profile: Developing and Previous VAL/VAH/POC
What makes this indicator different is its vast customisation options and big library of levels…
… users can choose to merge all levels that are aligned in a specified % threshold and additionally they can choose to color them the same color to highlight confluence levels.
… users have the choice between Full Label Markers or Abbreviations of those Labels.
… users have the choice of a few presets making level switching fast and convenient (Price Action, Volume Profile, VWAP, Volume or Custom).
… users can specify if they prefer to highlight Simple Moving Averages or Exponential Moving Averages. They have calculations available on three different timeframes and can change the lengths of each.
… users can color all levels the same with one click instead of having to manually change all of them.
… when users choose Volume Profile Levels they can either let the script auto calculate the row size making asset switching simple or they can manually input row size.
With the custom preset users can show and hide whichever levels they want.
(To have them the same every time you freshly load the indicator save your settings as default in the lower left corner of the settings tab).
Purpose
This indicator is designed to serve as a level visualisation tool that has the ability to highlight levels of confluence. It may assist in keeping an overview of where all levels are currently located but does not produce signals or trade recommendations.
Portfolio Strategy TesterThe Portfolio Strategy Tester is an institutional-grade backtesting framework that evaluates the performance of trend-following strategies on multi-asset portfolios. It enables users to construct custom portfolios of up to 30 assets and apply moving average crossover strategies across individual holdings. The model features a clear, color-coded table that provides a side-by-side comparison between the buy-and-hold portfolio and the portfolio using the risk management strategy, offering a comprehensive assessment of both approaches relative to the benchmark.
Portfolios are constructed by entering each ticker symbol in the menu, assigning its respective weight, and reviewing the total sum of individual weights displayed at the top left of the table. For strategy selection, users can choose between Exponential Moving Average (EMA), Simple Moving Average (SMA), Wilder’s Moving Average (RMA), Weighted Moving Average (WMA), Moving Average Convergence Divergence (MACD), and Volume-Weighted Moving Average (VWMA). Moving average lengths are defined in the menu and apply only to strategy-enabled assets.
To accurately replicate real-world portfolio conditions, users can choose between daily, weekly, monthly, or quarterly rebalancing frequencies and decide whether cash is held or redistributed. Daily rebalancing maintains constant portfolio weights, while longer intervals allow natural drift. When cash positions are not allowed, capital from bearish assets is automatically redistributed proportionally among bullish assets, ensuring the portfolio remains fully invested at all times. The table displays a comprehensive set of widely used institutional-grade performance metrics:
CAGR = Compounded annual growth rate of returns.
Volatility = Annualized standard deviation of returns.
Sharpe = CAGR per unit of annualized standard deviation.
Sortino = CAGR per unit of annualized downside deviation.
Calmar = CAGR relative to maximum drawdown.
Max DD = Largest peak-to-trough decline in value.
Beta (β) = Sensitivity of returns relative to benchmark returns.
Alpha (α) = Excess annualized risk-adjusted returns relative to benchmark.
Upside = Ratio of average return to benchmark return on up days.
Downside = Ratio of average return to benchmark return on down days.
Tracking = Annualized standard deviation of returns versus benchmark.
Turnover = Average sum of absolute changes in weights per year.
Cumulative returns are displayed on each label as the total percentage gain from the selected start date, with green indicating positive returns and red indicating negative returns. In the table, baseline metrics serve as the benchmark reference and are always gray. For portfolio metrics, green indicates outperformance relative to the baseline, while red indicates underperformance relative to the baseline. For strategy metrics, green indicates outperformance relative to both the baseline and the portfolio, red indicates underperformance relative to both, and gray indicates underperformance relative to either the baseline or portfolio. Metrics such as Volatility, Tracking Error, and Turnover ratio are always displayed in gray as they serve as descriptive measures.
In summary, the Portfolio Strategy Tester is a comprehensive backtesting tool designed to help investors evaluate different trend-following strategies on custom portfolios. It enables real-world simulation of both active and passive investment approaches and provides a full set of standard institutional-grade performance metrics to support data-driven comparisons. While results are based on historical performance, the model serves as a powerful portfolio management and research framework for developing, validating, and refining systematic investment strategies.
Dual ATR with OffsetGives you a cross when ATR moves unusually, perhaps like would happen at the beginning of a trade.
MA Oscillator Map [ChartPrime]⯁ OVERVIEW
The MA Oscillator Map transforms moving average deviations into an oscillator framework that highlights overextended price conditions. By normalizing the difference between price and a chosen moving average, the tool maps oscillations between -100 and +100 , with gradient coloring to emphasize bullish and bearish momentum. When the oscillator cools from extreme levels (-100/100), the indicator marks potential reversal points and extends short-term levels from those extremes. A compact side table and dynamic bar coloring make momentum context visible at a glance.
⯁ KEY FEATURES
Oscillator Mapping (±100 Scale):
Price deviation from the selected MA is normalized into a percentage scale, allowing consistent overbought/oversold readings across assets and timeframes.
// MA
MA = ma(close, maLengthInput, maTypeInput)
diff = src - MA
maxVal = ta.highest(math.abs(diff), 50)
osc = diff / maxVal * 100
Customizable MA Types:
Choose SMA, EMA, SMMA, WMA, or VWMA to fine-tune the smoothing method that powers the oscillator.
Extreme Signal Diamonds:
When the oscillator retreats from +100 or -100, the script plots diamonds to flag potential exhaustion and reversal zones.
Dynamic Levels from Extremes:
Upper and lower dotted lines extend from recent overextension points, projecting temporary barriers until broken by price.
Gradient Bar Coloring:
Candles and oscillator values adopt a bullish-to-bearish gradient, making shifts in momentum instantly visible on the chart.
Compact Momentum Map:
A table at the chart’s edge plots the oscillator position with a gradient scale and live percentage label for precise momentum tracking.
⯁ USAGE
Watch for diamonds after the oscillator exits ±100 — these mark potential exhaustion zones.
Use extended dotted levels as short-term reference lines; if broken, trend continuation is favored.
Combine gradient bar coloring with oscillator shifts for confirmation of momentum reversals.
Experiment with different MA types to adapt sensitivity for trending vs. ranging markets.
Use the side momentum table as a quick-read gauge of trend strength in percent terms.
⯁ CONCLUSION
The MA Oscillator Map reframes moving average deviations into a visual momentum tracker with extremes, reversal signals, and dynamic levels. By blending oscillator math with intuitive visuals like gradient candles, diamonds, and a live gauge, it helps traders spot overextension, exhaustion, and momentum shifts across any market.





















