ATR Regime Filter (ATR14 vs SMA20)ATR volatility + ATR SMA
Green ATR above Red SMA + green background
→ Volatility expanding
→ Trend mode only
Green ATR below Red SMA + blue background
→ Volatility compressing
→ Mean reversion allowed
Crossovers / flickering
→ Transition
→ Size down or stay flat
Chỉ báo và chiến lược
takeshi_2Step_Screener_MOU_KAKU_FIXED3//@version=5
indicator("MNO_2Step_Screener_MOU_KAKU_FIXED3", overlay=true, max_labels_count=500)
// =========================
// Inputs
// =========================
emaSLen = input.int(5, "EMA Short (5)")
emaMLen = input.int(13, "EMA Mid (13)")
emaLLen = input.int(26, "EMA Long (26)")
macdFast = input.int(12, "MACD Fast")
macdSlow = input.int(26, "MACD Slow")
macdSignal = input.int(9, "MACD Signal")
macdZeroTh = input.float(0.2, "MOU: MACD near-zero threshold", step=0.05)
volLookback = input.int(5, "Volume MA days", minval=1)
volMinRatio = input.float(1.3, "MOU: Volume ratio min", step=0.1)
volStrong = input.float(1.5, "Strong volume ratio (Breakout/KAKU)", step=0.1)
volMaxRatio = input.float(3.0, "Volume ratio max (filter)", step=0.1)
wickBodyMult = input.float(2.0, "Pinbar: lowerWick >= body*x", step=0.1)
pivotLen = input.int(20, "Resistance lookback", minval=5)
pullMinPct = input.float(5.0, "Pullback min (%)", step=0.1)
pullMaxPct = input.float(15.0, "Pullback max (%)", step=0.1)
breakLookbackBars = input.int(5, "Pullback route: valid bars after break", minval=1)
// --- Breakout route (押し目なし初動ブレイク) ---
useBreakoutRoute = input.bool(true, "Enable MOU Breakout Route (no pullback)")
breakConfirmPct = input.float(0.3, "Break confirm: close > R*(1+%)", step=0.1)
bigBodyLookback = input.int(20, "Break candle body MA length", minval=5)
bigBodyMult = input.float(1.2, "Break candle: body >= MA*mult", step=0.1)
requireCloseNearHigh = input.bool(true, "Break candle: close near high")
closeNearHighPct = input.float(25.0, "Close near high threshold (% of range)", step=1.0)
allowMACDAboveZeroInstead = input.bool(true, "Breakout route: allow MACD GC above zero instead")
// 表示
showEMA = input.bool(true, "Plot EMAs")
showMou = input.bool(true, "Show MOU label")
showKaku = input.bool(true, "Show KAKU label")
showDebugTbl = input.bool(false, "Show debug table (last bar)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
// plot は if の中に入れない(naで制御)
plot(showEMA ? emaS : na, color=color.new(color.yellow, 0), title="EMA 5")
plot(showEMA ? emaM : na, color=color.new(color.blue, 0), title="EMA 13")
plot(showEMA ? emaL : na, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
goldenOrder = emaS > emaM and emaM > emaL
above26_2days = close > emaL and close > emaL
// 勝率維持の土台(緩めない)
baseTrendOK = (emaUpS and emaUpM and emaUpL) and goldenOrder and above26_2days
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
macdGC = ta.crossover(macdLine, macdSig)
macdUp = macdLine > macdLine
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdGCAboveZero = macdGC and macdLine > 0 and macdSig > 0
macdMouOK = macdGC and macdNearZero and macdUp
macdBreakOK = allowMACDAboveZeroInstead ? (macdMouOK or macdGCAboveZero) : macdMouOK
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeMouOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong and volRatio <= volMaxRatio
// =========================
// Candle patterns
// =========================
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
pinbar = (lowerWick >= wickBodyMult * body) and (lowerWick > upperWick) and (close >= open)
bullEngulf =
close > open and close < open and
close >= open and open <= close
bigBull =
close > open and
open < emaM and close > emaS and
(body > ta.sma(body, 20))
candleOK = pinbar or bullEngulf or bigBull
// =========================
// Resistance / Pullback route
// =========================
res = ta.highest(high, pivotLen)
pullbackPct = res > 0 ? (res - close) / res * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
brokeRes = ta.crossover(close, res )
barsSinceBreak = ta.barssince(brokeRes)
afterBreakZone = (barsSinceBreak >= 0) and (barsSinceBreak <= breakLookbackBars)
pullbackRouteOK = afterBreakZone and pullbackOK
// =========================
// Breakout route (押し目なし初動ブレイク)
// =========================
breakConfirm = close > res * (1.0 + breakConfirmPct / 100.0)
bullBreak = close > open
bodyMA = ta.sma(body, bigBodyLookback)
bigBodyOK = bodyMA > 0 ? (body >= bodyMA * bigBodyMult) : false
rng = math.max(high - low, syminfo.mintick)
closeNearHighOK = not requireCloseNearHigh ? true : ((high - close) / rng * 100.0 <= closeNearHighPct)
mou_breakout =
useBreakoutRoute and
baseTrendOK and
breakConfirm and
bullBreak and
bigBodyOK and
closeNearHighOK and
volumeStrongOK and
macdBreakOK
mou_pullback = baseTrendOK and volumeMouOK and candleOK and macdMouOK and pullbackRouteOK
mou = mou_pullback or mou_breakout
// =========================
// KAKU (Strict): 8条件 + 最終三点
// =========================
cond1 = emaUpS and emaUpM and emaUpL
cond2 = goldenOrder
cond3 = above26_2days
cond4 = macdGCAboveZero
cond5 = volumeMouOK
cond6 = candleOK
cond7 = pullbackOK
cond8 = pullbackRouteOK
all8_strict = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
final3 = pinbar and macdGCAboveZero and volumeStrongOK
kaku = all8_strict and final3
// =========================
// Display (統一ラベル)
// =========================
showKakuNow = showKaku and kaku
showMouPull = showMou and mou_pullback and not kaku
showMouBrk = showMou and mou_breakout and not kaku
plotshape(showMouPull, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouBrk, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuNow, title="KAKU", style=shape.labelup, text="確",
color=color.new(color.yellow, 0), textcolor=color.black, location=lblLoc, size=size.small)
// =========================
// Alerts
// =========================
alertcondition(mou, title="MNO_MOU", message="MNO: MOU triggered")
alertcondition(mou_breakout, title="MNO_MOU_BREAKOUT", message="MNO: MOU Breakout triggered")
alertcondition(mou_pullback, title="MNO_MOU_PULLBACK", message="MNO: MOU Pullback triggered")
alertcondition(kaku, title="MNO_KAKU", message="MNO: KAKU triggered")
// =========================
// Debug table (optional)
// =========================
var table t = table.new(position.top_right, 2, 14, border_width=1, border_color=color.new(color.white, 60))
fRow(_name, _cond, _r) =>
bg = _cond ? color.new(color.lime, 70) : color.new(color.red, 80)
tx = _cond ? "OK" : "NO"
table.cell(t, 0, _r, _name, text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, _r, tx, text_color=color.white, bgcolor=bg)
if showDebugTbl and barstate.islast
// ❗ colspanは使えないので2セルでヘッダーを作る
table.cell(t, 0, 0, "MNO Debug", text_color=color.white, bgcolor=color.new(color.black, 0))
table.cell(t, 1, 0, "", text_color=color.white, bgcolor=color.new(color.black, 0))
fRow("BaseTrend", baseTrendOK, 1)
fRow("MOU Pullback", mou_pullback, 2)
fRow("MOU Breakout", mou_breakout, 3)
fRow("Break confirm", breakConfirm, 4)
fRow("Break big body", bigBodyOK, 5)
fRow("Break close high", closeNearHighOK, 6)
fRow("Break vol strong", volumeStrongOK, 7)
fRow("Break MACD", macdBreakOK, 8)
fRow("KAKU all8", all8_strict, 9)
fRow("KAKU final3", final3, 10)
fRow("MOU any", mou, 11)
fRow("KAKU", kaku, 12)
NeoChartLabs Stochastic RSIOne of our Favorite Indicators - The NeoChart Labs Stochastic RSI
Slowed down and smoothed out to hide the jerky movements of the crypto market.
StochRSI measures where the current RSI value sits relative to its recent high and low range. This provides more frequent signals and is designed to address the issue of the standard RSI remaining at extreme levels for too long. Best when used with 80 / 20
Structure Pivot (LL-HL / HH-LH)Structure Pivot (LL-HL / HH-LH) - Indicator Guide
This indicator scans for market structure pivot patterns—specifically the bullish Higher Low (LL–HL) and the bearish Lower High (HH–LH) —across multiple lengths simultaneously.
It automatically selects the most optimal pattern based on a "Priority Mode" and plots the structure and breakout/breakdown levels on the chart.
1. Basic Calculation Method
The indicator builds upon TradingView’s ta.pivotlow and ta.pivothigh functions to identify structural points.
Bullish Structure (LL–HL)
1.LL (Lowest Low): A standard Pivot Low is identified.
2.HL (Higher Low): A subsequent Pivot Low forms higher than the previous LL. This completes the setup.
3.Pivot Line (Resistance): The indicator finds the highest price (High) that occurred between the LL and the HL. This level becomes the breakout trigger.
Bearish Structure (HH–LH)
1.HH (Highest High): A standard Pivot High is identified.
2.LH (Lower High): A subsequent Pivot High forms lower than the previous HH. This completes the setup.
3.Pivot Line (Support): The indicator finds the lowest price (Low) that occurred between the HH and the LH. This level becomes the breakdown trigger.
2. Multi-Length Scanning
Unlike standard indicators that use a single fixed length (e.g., Length = 5), this indicator scans a range of lengths simultaneously.
・Settings: Defined by Min Length and Max Length.
・Mechanism: If set to Min=2 and Max=10, the indicator internally runs 9 separate calculations (Length 2 through 10) in parallel.
This allows it to capture everything from small, short-term pullbacks to larger, significant structural pivots without manual adjustment.
3. Priority Mode System
Since multiple lengths are scanned, multiple valid patterns may appear at the same time. The Priority Mode determines which single pattern is the "winner" and gets displayed.
A. Tightest Structure (Default)
・For Bullish (Long): Selects the pattern with the lowest Pivot Line (Resistance).
・For Bearish (Short): Selects the pattern with the highest Pivot Line (Support).
・Advantage: It finds the "tightest" contraction (like a VCP). This offers the entry point closest to the stop-loss level, providing the best Risk/Reward ratio.
B. Longest Length
・Selects the pattern detected by the longest length setting.
・Advantage: Focuses on major structural points, filtering out short-term noise. Best for trend confirmation.
C. Shortest Length
・Selects the pattern detected by the shortest length setting.
・Advantage: Extremely sensitive. Best for scalping or catching immediate micro-pullbacks.
4. Real-Time Logic & Features
Structure Invalidation (Failure)
・Bullish: If the current price drops below the HL (the support of the structure), the setup is considered failed.
・Bearish: If the current price rises above the LH (the resistance of the structure), the setup is considered failed.
・Result: All lines and labels for that structure are immediately deleted to keep the chart clean.
Pivot Line Extension
・As long as the structure remains valid (price hasn't violated the HL or LH), the Pivot Line extends to the right, acting as a live reference for breakouts or breakdowns.
Alerts
・Bullish Breakout: Triggered when the Close price crosses over the Pivot Line.
・Bearish Breakdown: Triggered when the Close price crosses under the Pivot Line.
NeoChartLabs POCOne of our Favorite Indicators - the High Time Frame Point of Control with a Volume Profile.
Shout out to p2pasta for the original script, we updated to v6.
Currently included: Monthly, 3 months and 6 months.
/* DEFINITION */
Point Of Control (= POC) is a price level at which the heaviest volumes were traded.
Value Area High/Low (=VAH/VAL) is a range of prices where the majority of trading volume took place. Naturally, Value Area High being the top price level and Value Area Low being the lowest. POC always is between the two.
/* HOW TO TRADE WITH THIS INDICATOR */
The basis for POC is determining bias on whichever timeframe you choose.
1. Identify a POC on the timeframe of your choosing.
/* If you choose a "low" timeframe (monthly here) then make sure to look at the higher timeframes to see how it is playing against a higher timeframe POC.
2. When the price is moving away from the POC (either to the upside or downside) this will confirm or invalidate the trade.
3. You can now enter the trade on bias or wait for a retest of the same POC.
NeoChartLabs McGinley DynamicOne of our Favorite Indicators - the McGinley Dynamic
The MGD is adaptive, it speeds up for crypto and slows down for stocks, this version turns green when bullish and red when bearish - this is a fast indicator so the colors are more reliable on higher time frames.
The McGinley Dynamic is a smart, adaptive moving average technical indicator created by John R. McGinley, designed to overcome the lag and whipsaw issues of traditional moving averages (MAs) by automatically adjusting to varying market speeds, resulting in a smoother, more responsive line that tracks price action better, acting as a reliable trend-following tool or baseline in financial charts.
Shout out to LOXX for the original script, updated to v6.
RSI Dip Reversal Pro ScannerRSI Upside Reversal Scanner (High Accuracy)
This indicator is designed to detect early-stage upside reversals by identifying when RSI crosses upward from oversold levels while the price remains positioned in the lower portion of its recent range. It combines momentum shift with price location analysis to produce highly reliable reversal signals.
It uses 3 primary filters:
RSI Oversold Cross:
RSI must cross upward from the oversold threshold (default 30).
Price in Bottom Range:
Price must be located within the lower 40% of the last 20-bar range, indicating a discount zone.
Overbought Protection:
RSI must stay below the ceiling level (default 75) to prevent signals near top exhaustion.
When all criteria are met, the indicator plots a “GİRİŞ” (ENTRY) label below the candle.
This tool is ideal for:
Identifying accurate dip-buy zones
Capturing trend reversals early
Optimizing swing and scalp entries
Feeding systematic trading models or bots
It performs well on short- and mid-term timeframes.
NeoChartLabs EMAsOne of our Favorite Indicators - the NeoChart Labs 20/50/100/200 EMAs
20 = Blue and very thin
50 = Orange and thin
100 = Purple and thick
200 = White and very thick
When 20 Crosses above and below any other expect action.
50 crossing 200 on the 1D is the death cross.
Shout out to drsweets for the original script
Multi-Timeframe EMA Trend Table [ Hemanth ]This indicator displays the trend across multiple timeframes based on your chosen EMA length. It dynamically shows whether price is above (Bullish) or below (Bearish) the EMA for each selected timeframe. Fully customizable — select which timeframes to display, and adjust the EMA length to suit your trading style. Ideal for swing traders and intraday traders who want quick multi-timeframe trend confirmation at a glance.
Developed it for my personal preference to track if the price is above or below 50 EMA in different timeframes.
Features:
Shows trend for up to 5 selectable timeframes (e.g., 75min, 4H, Daily, Weekly, Monthly)
Color-coded trends: Green = Bullish, Red = Bearish
EMA length fully adjustable
Option to show/hide any timeframe dynamically
Works on any chart timeframe
ORB + FVG + PDH/PDL ORB + FVG + PDH/PDL is an all-in-one day-trading overlay that plots:
Opening Range (ORB) high/low with optional box and extension
Fair Value Gaps (FVG) with optional “unmitigated” levels + mitigation lines
Previous Day High/Low history (PDH/PDL) drawn as one-day segments (yesterday’s levels plotted across today’s session only)
Includes presets (ORB only / FVG only / Both) and optional alerts for ORB touches, ORB break + retest, FVG entry, and PDH/PDL touches.
VD FRFS PRO
VD FRFS PRO
This trader centric, multi-functional indicator built on **Pine Script™ v6** that seamlessly integrates four of the most critical price and volatility tools into a single overlay. Designed for day traders, swing traders, and institutional analysts, this tool provides a comprehensive view of volatility, trend, volume-based pricing, and structure, all without chart clutter.
Overview & Concept
The VD FRFS PRO is engineered for efficiency and clarity. Instead of layering four separate indicators, which can lead to performance issues and confusion, this script combines the calculations into one, allowing traders to execute complex technical analysis rapidly.
It serves as a powerful foundation for strategies that require:
1. Volatility Assessment (Bollinger Bands)
2. Volume-Weighted Fair Value (VWAP)
3. Price Structure & Swings (Zig Zag)
4. Dynamic Trend Filtering (Configurable SMA)
Customization & Settings
All inputs are logically grouped for ease of use in the indicator's settings menu.
Bollinger Bands
BB Length: Period for the Basis SMA and StdDev calculation (default: 20).
BB Source: Price series for the calculation (default: `close`).
BB StdDev Multiplier: Multiplier for the Standard Deviation (default: 2.0).
BB Offset: Shifts the bands horizontally (default: 0).
VWAP Settings
VWAP Source: Price series for the VWAP calculation (default: `hlc3`).
Zig Zag Settings
Zig Zag High/Low Length: Lookback period for determining swing points (default: 3).
SMA Settings
SMA Period: Lookback period for the configurable SMA (default: 20).
Show SMA: Checkbox to toggle the visibility of this SMA (default: `true`).
Disclaimer
Feel free to reach out for suggestions and modification requests.
Kalkulator pozycji XAUUSD PLN, 1:500, 1100 to 100 kontaPosition calculator based on the number of pips that you quickly enter from the tool, this device will select the appropriate lot for you and you can quickly take a position
BTC Regime Oscillator (MC + Spread) [1D]ONLY SUPPOSED TO BE USED FOR BTC PERPS, AND SPOT LEVERAGING:
This is a risk oscillator that measures whether Bitcoin’s price is supported by real capital or is running ahead of it, and converts that into a simple risk-regime oscillator.
It's built with market cap, and FDV, and Z-scores compressed to -100 <-> 100
I created this indicator because I got tired of FOMO Twitter and Wall Street games.
DO NOT USE THIS AS A BEGIN-ALL-AND-END-ALL. YOU NEED TO USE THIS AS A CONFIRMATION INDICATOR, AND ON HTF ONLY (1D>) IF YOU USE THIS ON LOWER TIMEFRAMES, YOU ARE FEEDING YOUR MONEY TO A LOW-LIFE DING BAT ON WALL STREET. HERE IS HOW IT WORKS:
This indicator is Split up by
A) Market Cap
--> Represents real money in BTC
--> Ownership capital
--> If MC is rising, money is entering BTC
B) FDV (Fully Diluted Valuation)
--> For BTC: price(21M) (21,000,000)
--> Represents the theoretical valuation
--> Since BTC really has a fixed cap, FDV mostly tracks the price
C) Oscillators
Both MC and FDV are:
--> Logged (to handle scale)
--> Normalized (Z-score)
--> Compressed to -100 <-> 100
HERE ARE THREE THINGS YOU ARE GOING TO SEE ON THE CHART
A) The market cap oscillator (MC OSC)
--> Normalized trend of real capital
RISING: Indicates capital inflow
FALLING: Indicates capital outflow
B) FDV Oscillator
--> Normalized trend of valuation pressure
ABOVE MC: Price is ahead of capital
BELOW MC: Capital is keeping up
!!!! FDV IS CONTEXT NOT SIGNALS !!!!
C) Spread = (FDV - MC)
--> The difference between valuation and capital
(THIS IS THE CORE SIGNAL)
NEGATIVE: Capital is gonna lead price
NEAR 0: Balanced
POSITIVE: Price leads capital
(THIS MEANS STRESS FOR BTC, NOT DILLUTION!)
WHAT DOES -60, 0, 60 MEAN?:
--> These are meant to serve as risk zones, not buy/sell dynamics; this is not the same as an RSI oscillator.
A) 0 level
--> Price and capital are balanced
--> No structural stress
(TRADE WITH NORMAL POSITION SIZE, AND NORMAL EXPECTATIONS)
B) Below -60 (Supportive/Compressed)
--> BTC is relatively cheap to recent history
--> Capital supports price well
(ALWAYS REMEMBER TO CONFIRM THIS WITH WHAT THE CHART IS TELLING YOU)
--> Press trends
--> Use higher ATRs
--> Pullbacks are better here
C) Above 60 (Overextension, or fragile)
--> BTC is expensive relative to recent history
--> Price is ahead of capital
(ALWAYS REMEMBER TO CONFIRM THIS WITH WHAT THE CHART IS TELLING YOU)
--> Reduce leverage, use smaller ATR
--> Use lower ATRs, TP faster
--> Do not chase breakouts
--> Expect volatility and whipsaws
"Can I press trades right now? Or do I need to hog my capital?"
CONDITIONS:
Spread Less than 0 and below -60 = Press trades
Spread near 0 = Normal trading conditions
Spread is Greater than 0 or above 60+ = Capital protection
Fractal Dimension (Katz, Quant Lab)This indicator estimates the Katz Fractal Dimension of the price series over a rolling window.
It computes:
• L = sum of absolute price changes within the window
• d = maximum distance between any point and the first point in the window
• n = window length
Then applies Katz’s formula:
FDI = ln(n) / (ln(n) + ln(d / L))
The resulting Fractal Dimension typically lies between 1.0 and 2.0:
• FDI ≈ 1.0–1.3 → Strong, directional trend (low randomness)
• FDI ≈ 1.3–1.5 → Mixed / transitional behavior
• FDI ≈ 1.5–2.0 → Noisy, choppy, mean-reverting / range market
ATR R-LevelsATR-R Levels is built for clarity of risk management.
The script takes your account size, chosen risk %, and the market’s volatility, then turns all of that into exact stop-loss, take-profit, and position size so there’s no guessing.
It’s inspired by key principles from NNFX, especially ATR-based stop placement and fixed-risk position sizing, but redesigned for fast intraday crypto trading. You get the same consistency and discipline NNFX is known for, adapted to a much shorter timeframe.
ATR-R Levels gives you:
A volatility-based stop using ATR
A clean 2R (or custom R-multiple) target
Automatic position sizing based on your risk rules
A simple HUD showing ATR, entry, stop, TP, size, and risk
Optional net profit estimates after fees
Let me know what you think or if you use it!
NQ Futures VWAP on QQQOverlay NQ1 vwap for QQQ
Track NQ future's vwap on your QQQ chart to scale with optional bands
Fixed $200 Risk Futures Position Sizer (2R Target)This indicator is designed for traders who want to follow a strict, professional-style risk model identical to the rules used in funded futures trading programs. Instead of risking a percentage of the account, the indicator always risks a fixed $200 per trade, regardless of contract or market volatility. This allows traders to simulate evaluation accounts and maintain perfect risk discipline.
The tool works across a wide range of futures markets — including micro, mini, and continuous contracts (MES, MNQ, MNQ1!, MYM, M2K, MCL, MGC, ES1!, NQ1!, GC1!) — and automatically loads the correct tick size and tick value for each contract. This ensures that stop distance and risk calculations are always accurate, even when switching between index futures, metals, or energy markets.
You simply enter your Entry Price and Stop Loss Price, and the indicator calculates:
The stop distance in points and ticks
The exact dollar risk per contract
The maximum number of contracts allowed while staying under a fixed $200 risk
A fully automated 2R take-profit target (equivalent to $400 profit per trade)
Expected profit per contract
Total projected profit based on allowed size
Full long/short direction detection
This makes position sizing effortless and completely rule-based. If the chosen stop-loss distance requires more than $200 of risk per contract, the indicator will automatically show 0 contracts allowed, preventing invalid trades and helping maintain consistency.
For clarity and execution, the indicator also plots:
A green Entry Line
A red Stop-Loss Line
A blue 2R Take-Profit Line
This produces a visual, easy-to-understand risk-to-reward layout directly on the chart.
This tool is ideal for traders preparing for funded account challenges, traders practicing mechanical risk systems, or anyone who wants to enforce a strict, repeatable risk framework. It eliminates guesswork, improves consistency, and helps traders build discipline by sizing every trade according to a fixed dollar risk with a precise 2R reward objective.
Custom Timeframe SMAsThis indicator plots up to three Simple Moving Averages (SMAs), each calculated from a user-selected timeframe and displayed on the current chart. This allows you to visualize higher- or lower-timeframe SMAs without switching charts.
Features
Three fully customizable SMAs with alerts
Each SMA has its own:
Length
Timeframe
Color
Line thickness
On/Off toggle
Use Cases
View higher timeframe SMAs (e.g., 1-hour 50 SMA on a 5-minute chart)
Combine trend signals across multiple timeframes
Track dynamic support/resistance from different timeframes
Enhance scalping, day trading, or swing trading setups
Terils 1hr HTF EMA Add-On EMA 50/100its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
its EMA 50 and EMA 100 in 1 her time frame.
Killzones (EST)Asian Range
19:00 – 00:00 EST
Consolidation, liquidity build
London Open
02:00 – 05:00 EST
Initial expansion, Judas Swing
New York Open
07:00 – 10:00 EST
Main move, SMT, MSS setups
NY Lunch/Reversal
11:30 – 13:00 EST
Rebalancing, exit window
Thursday highlight//@version=5
indicator("Thursday highlight", overlay=true)
bgcolor(dayofweek==dayofweek.thursday ? color.new(color.blue,90):na)
Punji's Dynamic Monthly EMA/SMA 5,9,21,50Punji's Dynamic Monthly EMA/SMA 5,9,21,50
Overview:
This indicator displays monthly timeframe moving averages as horizontal dotted lines extending to the right of your chart, regardless of what timeframe you're currently viewing. It includes four key monthly moving averages: EMA 5, EMA 9, EMA 21, and SMA 50.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Key Features:
Clean Chart Design
Unlike traditional moving average lines that clutter your chart with curves across all candles, this indicator uses horizontal dotted lines that extend only from the current price level to the right edge of your screen. The dotted line style creates clear visual breaks while maintaining readability.
Multi-Timeframe Analysis
View monthly moving averages on any timeframe (1min, 5min, 15min, 1hr, 4hr, daily, weekly, etc.) without switching charts. Perfect for traders who want to see the highest timeframe context while trading any lower timeframe.
Fully Customizable
Toggle each moving average on/off independently
Adjust the period length for each MA (default: 5, 9, 21, 50)
Customize colors for each line (default gradient: green → teal → yellow → red)
Master toggle to show/hide all monthly lines at once
All lines use dotted style for clear visual distinction
Professional Color Scheme
EMA 5: Bright Green (#4CAF50)
EMA 9: Teal (#009688)
EMA 21: Yellow (#FFEB3B)
SMA 50: Light Red (#FF6B6B)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Benefits of Horizontal Dotted Lines:
Reduced Visual Noise
Horizontal lines keep your price action clean and easy to read while still providing critical monthly support/resistance levels. The dotted style adds visual distinction without being overwhelming.
Focus on Current Monthly Levels
What matters most is where the monthly MAs are NOW relative to price - horizontal lines highlight this instantly without requiring you to trace curved lines backward through history.
Better Price Action Visibility
See candlestick patterns, volume profiles, and support/resistance levels clearly without MA lines crossing through them. Your chart remains uncluttered and analysis-ready.
Quick Reference for Monthly Context
Instantly identify if price is above or below key monthly moving averages without following curved lines across the chart. Perfect for all traders who need to respect monthly structure and major trend direction.
Professional Appearance
Clean, minimalist design with dotted lines preferred by institutional traders and technical analysts who value both aesthetics and functionality.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Use Cases:
Position Traders & Investors
Monitor monthly moving averages for major trend direction and long-term support/resistance zones. Monthly levels are among the most significant in technical analysis.
Swing Traders
Track monthly moving averages as major dynamic support/resistance levels for position sizing and risk management. Monthly levels often represent the strongest market structure.
Multi-Timeframe Analysis
Combine with daily and weekly charts to see complete timeframe confluence. Monthly levels provide the macro trend context for all trading decisions.
Trend Identification
Quickly identify monthly trend direction and major reversal zones. When price is above all monthly MAs, the macro trend is bullish; below all MAs indicates bearish monthly structure.
Risk Management
Use monthly moving averages as ultimate stop-loss zones for long-term positions. Breaking monthly MAs often signals significant trend changes.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Technical Specifications:
Pine Script v5
Timeframe: Monthly (M)
Moving Averages: EMA 5, EMA 9, EMA 21, SMA 50
Line Style: Dotted (all lines)
Line Width: 2
Overlay: True (displays on main chart)
Resource Usage: Minimal (4 security calls)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Best Practices:
Combine with PUNJI Dynamic Daily & Weekly EMA/SMA Indicators
For the ultimate multi-timeframe analysis, use this monthly indicator alongside "Punjis Dynamic Daily EMA/SMA 5,9,21,50,100,200 Levels" (solid lines) and "Punji's Dynamic Weekly EMA/SMA 5,9,21,50" (dashed lines). The three PUNJI indicators together provide complete insight into daily, weekly, and monthly market structure without cluttering your chart. Daily = Solid lines, Weekly = Dashed lines, Monthly = Dotted lines. This combination gives you a complete view of all major timeframe levels simultaneously.
Respect Monthly Structure
Monthly moving averages carry the most significant weight in technical analysis. Use them as major support/resistance zones and ultimate trend filters for all your trading decisions.
Customize to Your Strategy
Adjust the lengths and colors to match your personal trading methodology. Some traders prefer different EMA/SMA periods based on their market and investment timeframe.
Keep Charts Clean
Toggle off lines you're not actively using to maintain maximum chart clarity. The master toggle allows quick show/hide of all monthly levels.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
This indicator is perfect for traders and investors who want to maintain awareness of monthly market structure and major trend direction while keeping their charts clean, professional, and easy to read.






















