WOLFGATEWOLFGATE is a clean, session-aware market structure and regime framework designed to help traders contextualize price action using widely accepted institutional references. The indicator focuses on structure, momentum alignment, and mean interaction, without generating trade signals or predictions.
This script is built for clarity and decision support. It provides a consistent way to evaluate market conditions across different environments while remaining flexible to individual trading styles.
What This Indicator Displays
Momentum & Structure Averages
9 EMA — Short-term momentum driver
21 EMA — Structural control and trend confirmation
200 SMA — Primary regime boundary
400 SMA (optional) — Deep regime / macro bias reference
These averages are intended to help assess directional alignment, trend strength, and structural consistency.
Session VWAP (Institutional Mean)
Session-based VWAP with a clean daily reset
Default session: 09:30–16:00 ET
Uses HLC3 as the VWAP source for balanced price input
Rendered in a high-contrast institutional blue for visibility
VWAP can be used to evaluate mean interaction, acceptance, or rejection during the active session.
How to Use WOLFGATE
This framework is designed for context, not signals.
Traders may use WOLFGATE to:
Identify bullish or bearish market regimes
Evaluate momentum alignment across multiple time horizons
Observe price behavior relative to VWAP
Maintain directional bias during trending conditions
Avoid low-quality conditions when structure is misaligned
The indicator does not generate buy or sell signals and does not include alerts or automated execution logic.
Important Notes
Volume must be added separately using TradingView’s built-in Volume indicator
(Volume cannot be embedded directly into this script due to platform limitations.)
This script is intended for educational and analytical purposes only
No financial advice is provided
Users are responsible for their own risk management and trade decisions
อินดิเคเตอร์และกลยุทธ์
Optimal Daily MA Suite [MTF]Title: Optimal Daily MA Suite
Description: This is a comprehensive Multi-Timeframe (MTF) analysis suite designed to streamline chart layouts. Instead of loading multiple separate indicators to track various trend lines, this single tool allows traders to overlay higher-timeframe Moving Averages and key support/resistance levels directly onto their intraday charts.
Utility & Workflow: Swing traders and day traders often need to monitor "Big Picture" Daily Moving Averages (like the Daily 200 SMA or Daily 50 EMA) while executing trades on lower timeframes like the 15m or 1H. This tool automates that process, ensuring the major trend context is always visible without cluttering the indicator list.
Key Features:
Multi-Timeframe Engine: By default, all MAs are calculated on the Daily ("D") timeframe, regardless of the chart's current timeframe. This creates a stable "anchor" for trend analysis. The timeframe is fully customizable in the settings (e.g., set to "W" for Weekly analysis).
10 Customizable Slots: Toggle up to 10 different Moving Averages on/off individually.
Flexible Calculation Types: Supports SMA, EMA, WMA, VWMA, RMA (SMMA), and SWMA for every single line.
Trend Cloud Crossovers: Includes two dedicated "Cloud" setups to visualize crossovers (e.g., Golden Cross or Death Cross) with fill shading between the fast and slow lines.
Price Action Crossovers: Optional markers to highlight when the closing price crosses specific MAs.
Contextual Levels: Includes Previous Day High (PDH) and Previous Day Low (PDL) markers for immediate intraday support/resistance context.
How to Use:
Settings: Open the settings menu to select your "Indicator Timeframe" (Default: Daily).
Customization: Enable only the MAs relevant to your strategy (e.g., Enable MA 8 for the 50 SMA and MA 10 for the 200 SMA).
Clouds: Use the "Crossover Set" inputs to define a Bullish/Bearish trend cloud between two moving averages of your choice.
Technical Note: This script uses request.security with lookahead=barmerge.lookahead_off to ensure no repainting of historical data while providing accurate higher-timeframe values on closed bars.
Credits: Standard Moving Average calculations based on TradingView built-in functions.
ORB + FVG A+ PRO (All-in-One) [QQQ]Configurable ORB + FVG + filters (VIX, ORB range, relative volume) + A+ PRO (retest at the FVG edge + rejection) + anti-fakeout + orange reminder “CONFIRM POC/HVN (Volume Profile)” right when the A+ signal appears
Combined Signal + Auto Day Plan + Volume📘 TradingView Description — Combined Signal + Auto Day Plan + Volume
Strategy Overview
This strategy combines trend-following signals, daily context levels, and volume confirmation to generate high-probability intraday trading setups.
It is designed to filter noise, identify trend direction early, and avoid trades during low-quality market conditions.
🔷 1. Combined Signal Logic
The strategy merges multiple indicators to produce a single, cleaner signal:
Long Signal
Trend bias is bullish
Momentum histogram (MACD/Custom) shows upward pressure
Price crosses above the midline (WMA/EMA/etc.)
Volume supports the move
Short Signal
Trend bias is bearish
Momentum histogram shows downward pressure
Price crosses below the midline
Volume supports the move
This reduces false breakouts and ensures signals appear only during strong directional moves.
🔶 2. Auto Day Plan Levels (D-1 → D)
The script automatically reads previous day levels and displays them on today’s session:
Previous Day High (PDH)
Previous Day Low (PDL)
Previous Day Close (PDC)
Previous Day Mid / Range Zones
Optional FIB levels or custom zones
These levels act as intraday support/resistance, helping identify breakout, reversal, and retest opportunities.
Behavior:
D-1 levels are plotted from today’s open until today’s close.
Levels do not overlap into the wrong day.
Optional: extend lines to next day (D+1) for planning.
🔷 3. Volume Confirmation
To improve entry accuracy, the script checks for strength in volume:
Volume > X-period average
Volume spike detection
Relative Volume (RVOL) filter
Optional low-volume avoidance
A trade is taken only when the market shows real participation, reducing traps and sideways chop trades.
🔶 4. Entry & Exit Logic
Entry
Long Entry: Combined bull signal + volume confirmation
Short Entry: Combined bear signal + volume confirmation
Exit
Long Exit → Histogram turns down (hist < hist )
Short Exit → Histogram turns up (hist > hist )
Optional:
Auto SL at PDL/PDH
Trailing based on midline
Take profit using FIB or volatility levels
💠 5. Visuals
The chart plots:
Buy/Sell markers
D-1 support/resistance lines
Trend direction midline
Volume confirmation label
Combined signal status
Colors and styles can be customized from the input panel.
🎯 6. Purpose of the Strategy
This is a complete intraday automation tool combining:
✔ Trend
✔ Momentum
✔ Volume strength
✔ Key day levels
The goal is to provide structured, mechanical, rule-based trading — reducing emotional decisions and improving consistency.
Bassi MA Entry Helper MTF EMA , VWMA Swing , ADX , SMA200 , TPBassi MA Entry Helper is an advanced multi-timeframe confluence system designed to identify high-probability entries using trend, volume, market structure, and volatility filters.
It is built for traders who want cleaner signals, fewer false entries, and strong multi-confirmation setups.
Key Features
Multi-Timeframe EMA Crossovers – HTF signal engine
SMA200 Trend Filter – prevents counter-trend trades
VWMA Swing Confirmation – volume-validated micro-swings
ADX Filter – only trade when the trend has strength
Fractal Structure Mapping – identifies swing highs/lows
Retracement Filter – confirms pullbacks before entries
TP/SL Automation – ATR or percentage based
Clean Entry Labels – main & additional entry signals
Highly Customizable – mode, timeframe, filters, visuals
This script is ideal for:
Scalping • Intraday • Swing • Trend continuation • Volume-based setups • Multi-timeframe alignment
How It Works
Main Buy/Sell Signals
Triggered when:
✔ Fast EMA crosses Slow EMA (HTF)
✔ Price aligned with trend
✔ SMA200 filter valid
✔ VWMA confirmation (optional)
✔ ADX strong
✔ Retracement valid (optional)
Additional Buy/Sell Signals
Triggered when VWMA crosses Slow EMA during trend continuation.
TP/SL System
You can choose between:
%-based take-profit & stop-loss
ATR-based dynamic levels
Automatically projects clean visual levels on your chart.
Notes
This indicator does not repaint and is suitable for both real-time and historical analysis.
Always combine signals with proper risk management.
Initial Release – v1.0
Added multi-timeframe EMA engine
Added SMA200 trend filter
Added VWMA swing entries
Added ADX strength filter
Added retracement filter
Added fractal swing detection
Added TP/SL auto plotting
Added main & additional entry labels
Performance optimized
Momentum Gamma StraddleExact definition of what that script does
1) Purpose
The script is a decision aid for intraday expiry-day ATM straddle trades. It detects intraday structure breakouts and signals candidate long straddle entries for Nifty or Sensex using price structure, volume, RSI momentum, and a user-supplied combined ATM premium value (CE + PE). It draws support/resistance, shows an info box, and raises alerts.
2) Inputs the user can change
Trading time window: startHour, startMin, endHour, endMin.
Structure lookback: res_lookback (how many candles to use to compute resistance/support).
Minimum candle body as fraction of candle range: min_body_pct.
Volume multiplier threshold: vol_mult (breakout candle volume must exceed vol_mult * sma5).
RSI length and thresholds: rsi_len, rsi_bull_thresh, rsi_bear_thresh.
Combined premium source: choose Manual or Symbol. If Manual, set manual_combined. If Symbol, provide a TradingView symbol that returns CE+PE combined ATM premium.
Combined premium acceptable band: min_combined_ok and max_combined_ok.
Profit target percent and SL percent (target_pct and sl_pct).
Misc pattern heuristics: min_res_hits (min tests of resistance inside lookback), low_slope_min (used to detect rising lows).
Micro-confirmation toggle, micro timeframe, nonrepaint option, show_entry_label toggle (in the later fixed versions some of these were added, but the earlier fixed script had basic combined_symbol options and a lookahead fallback).
3) Data calculated on each bar
Safety check hasEnough: true when bar_index >= res_lookback.
resistance: the highest high over res_lookback bars.
support: the lowest low over res_lookback bars.
res_hits: count of bars within lookback whose high is within a tolerance of resistance. Tolerance is 10 percent of the range between resistance and support.
low_slope: simple slope of lows over res_lookback bars.
body_pct: the candle body as a fraction of its high-low range. strong_body true when body_pct >= min_body_pct.
bull_breakout: true if hasEnough and current close > resistance and strong_body and res_hits >= min_res_hits.
bear_breakout: true if hasEnough and current close < support and strong_body and res_hits >= min_res_hits.
vol_sma5 and vol_ok: vol_ok true when current volume > vol_mult * vol_sma5.
rsi and rsi checks: rsi_bull_ok true if rsi >= rsi_bull_thresh; rsi_bear_ok true if rsi <= rsi_bear_thresh.
combined_premium: either the manual_combined input or the value read from combined_symbol via request.security. The script attempted a fallback to manual when the symbol was not valid.
combined_ok: true if combined_premium lies between min_combined_ok and max_combined_ok.
final signals: bull_signal when in_time_window and bull_breakout and vol_ok and rsi_bull_ok and combined_ok. bear_signal similar for bearish breakout.
4) Visual output and alerts
Plots resistance and support lines on the chart.
Plots a label shape "STRADDLE BUY" below the bar for bull_signal and above the bar for bear_signal.
Creates an info label (on last bar) that shows TimeOK, VolOK and vol ratio, RSI, Combined premium and whether it is OK, ResHits and LowSlope.
Sets two alertcondition events: "Bull Straddle BUY" and "Bear Straddle BUY" with a short candidate message. The alerts fire when the corresponding signal is true.
5) Execution assumptions you must follow manually
The script does not place any orders or compute option strike-level prices or greeks. It only flags candidate entry bars.
When combined_source is Manual you must type CE+PE yourself. The indicator will only accept the manual number and treat it as the combined premium.
When combined_source is Symbol the script uses request.security to read that symbol. For historical bars the indicator may repaint depending on lookahead settings. The earlier fixed script attempted to use request.security inside a conditional which leads to runtime or compile errors. You experienced that exact error.
6) Known implementation caveats and bugs you encountered
Pine typing issue with low_slope. The earlier version set low_slope = na without explicit type. That triggers the Pine error: "Value with NA type cannot be assigned to a variable that was defined without type keyword". This required changing to float low_slope = na.
The earlier version attempted to call request.security() inside an if block or conditional. Pine prohibits request.security in conditional blocks unless allowed patterns are followed. That produced the error you saw: "Cannot use request.* call within loops or conditional structures" or similar. The correct pattern is to call request.security at top-level and decide later which value to use.
If combined_symbol is invalid or not available on your TradingView subscription, request.security can return na and the script must fall back to manual value. The earlier fixed script attempted fallback but compiled errors prevented reliable behavior.
The earlier script did not include micro-confirmation or advanced nonrepaint controls. Those were added in later versions. Because of that, the earlier script may have given signals that appear to repaint on historical bars or may have thrown errors when using combined_symbol.
7) Decision logic summary (exact)
Only operate if current chart time is inside user set time window.
Only consider trade candidates when enough history exists for res_lookback.
Identify a resistance level as the highest high in the lookback. Count how many times that resistance was tested. Ensure the breakout candle has a strong body and volume spike. Ensure RSI is aligned with breakout direction.
Require combined ATM premium to be inside a user preferred band. If combined_symbol is used the script tries to read that value and use it; otherwise it uses manual_combined input.
If all the above conditions are true on a confirmed bar, the script plots a STRADDLE BUY label and triggers an alertcondition.
8) What the script does not do
It does not calculate CE and PE prices by strike. It only consumes or accepts combined premium number.
It does not compute greeks, IV, or OI. OI and IV checks must be done manually.
It does not manage positions. No SL management or automatic exits are executed by the script.
It does not simulate fills or account for bid/ask spreads or slippage.
It cannot detect off-exchange block trades or read exchange-level auction states beyond raw volume bars.
It may repaint historical labels if the combined_symbol was read with lookahead_on or the script used request.security in a way that repainted. The corrected final version uses nonrepaint options.
9) Manual checks you must always perform even when the script signals BUY
Confirm the live combined ATM premium and the bid/ask for CE and PE.
Check ATM IV and recent IV movement for a potential IV crush risk.
Check option OI distribution and recent OI changes for strike pinning or large player exposure.
Confirm CE and PE liquidity and depth. Wide spreads make fills unrealistic.
Confirm there is no scheduled news or auction within the next few minutes.
Confirm margin and position sizing fits your risk plan.
10) Quick testing checklist you can run now
Add the script to a 5-minute chart with combined_source = Manual.
Enter manual_combined equal to the real CE+PE at the moment you test.
Set startHour and endHour so the in_time_window is true for current time.
Look for STRADDLE BUY label on confirmed bars. Inspect the info box to see why it did or did not signal.
If you set combined_source = Symbol, verify the symbol exists and that TradingView returns values for it. If you previously saw the request.security error, that was caused by placing the request inside a conditional. The correct behavior is to call request.security unconditionally at top-level like in the final fixed version.
Realtime Position CalculatorRisk management is the single most important factor in trading success. This indicator automates the process of position sizing in real-time based on your account risk and a dynamic technical Stop Loss. It eliminates the need for manual calculations and helps you execute trades faster while adhering to strict risk management rules.
How it Works
The indicator visually places a Stop Loss line based on recent market structure (Highs/Lows) and instantly calculates the required position size (Contracts/Lots) to match your defined monetary risk.
1. Dynamic Stop Loss : It identifies the highest high (for Shorts) or lowest low (for Longs) over a user-defined lookback period.
2. Position Calculation : It calculates the distance between the current price and the Stop Loss level.
3. Formula : Contract Size = Risk Amount / (Distance * Point Value)
4. Actual vs. Target Risk : Because of the rounding, the script calculates and displays the Actual Risk (e.g., $95) alongside your Target Risk (e.g., $100), so you know exactly what is at stake.
Key Features
Real-time Calculation : Updates instantly as price moves.
Copy Trading Support : Includes an "Account Multiplier" setting. If you trade 10 accounts via a copy trader, set the multiplier to 10. The indicator will show the total contract size needed across all accounts.
Point Value Support : Works for Stocks/Crypto (Point Value = 1) and Futures (e.g., ES = 50, NQ = 20).
Customizable UI : Toggle specific data on/off in the label (e.g., hide price, show only contracts). Adjustable label offset to keep the chart clean.
Settings Guide
Trade Direction : Toggle between Long and Short setups. Add the indicator two times and set another for Longs and another for Shorts so you can see both direction at the same time.
Risk Amount : Your max risk in currency (e.g., $100).
Lookback : How many bars back to look for the SL pivot (e.g., 10 bars).
Point Value : Crucial for Futures. Use 1.0 for Crypto/Stocks. Use tick value/point value for futures (e.g., 50 for ES).
Account Multiplier : Multiply the position size for multiple accounts.
Label Offset : Move the information label to the right to avoid overlapping with price action.
Disclaimer
This tool is for informational and educational purposes only. Always verify calculations manually before executing trades. Past performance is not indicative of future results.
Friday-Monday Pattern Backtest (Market Rebellion)Tests the "Friday-Monday Pattern" popularized by Tom Hougaard / Market Rebellion.
PATTERN LOGIC:
• When Friday's high is LOWER than Thursday's high (setup condition)
• Then Friday's low is often revisited on the following Monday
WHAT THIS INDICATOR SHOWS:
• Orange background highlights valid setup bars (Thu-Fri-Mon)
• Red horizontal line marks Friday's low (the target level)
• Green "SUCCESS" label = Monday hit Friday's low
• Red "FAIL" label = Monday did not reach Friday's low
• Stats table (top-right) shows total setups, successes, and success rate
USE THIS TO:
• Backtest the pattern on any daily chart (works best on indices, forex, futures)
• Verify the claimed "overwhelming" tendency statistically
• Identify which markets/timeframes show the highest success rate
CREDITS:
Pattern idea from Tom Hougaard / Market Rebellion: x.com
Indicator by BacktestBay for transparent pattern verification.
USAGE NOTES:
• Must be applied to DAILY charts
• Uses time_close("D") for accurate day-of-week detection on forex pairs
• No trading signals - purely for statistical backtesting
USOIL BOS Retest Overlay (HTF + Blocks + Profit Zone + Lot Size)This is a test overlay that should show entry positions and lot sizes to take based on R20 000 account. This was made purely for USOIL
Prince Break and RetestHow to use the new visuals (super simple)
When the script prints RETEST BUY or RETEST SELL, you will instantly see:
ENTRY line (lime)
SL line (orange)
TP1 line (teal)
TP2 line (purple)
Entry Mode options
Close = enter at the close of the retest signal candle (simplest)
Box Edge = enter at the box edge (more “limit-order-ish”)
For your style (break + retest), start with Close.
MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)//@version=5
strategy("MNO_2Step_Strategy_MOU_KAKU (Publish-Clear)", overlay=true, pyramiding=0,
max_labels_count=500, max_lines_count=500,
initial_capital=100000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// =========================
// 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")
showMouLabels = input.bool(true, "Show MOU/MOU-B labels")
showKakuLabels = input.bool(true, "Show KAKU labels")
showDebugTbl = input.bool(true, "Show debug table (last bar)")
showStatusLbl = input.bool(true, "Show status label (last bar always)")
locChoice = input.string("Below Bar", "Label location", options= )
lblLoc = locChoice == "Below Bar" ? location.belowbar : location.abovebar
// =========================
// 必ず決済が起きる設定(投稿クリア用)
// =========================
enableTPSL = input.bool(true, "Enable TP/SL")
tpPct = input.float(2.0, "Take Profit (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
slPct = input.float(1.0, "Stop Loss (%)", step=0.1, minval=0.1) // ←投稿クリア向けに近め
maxHoldBars = input.int(30, "Max bars in trade (force close)", minval=1)
entryMode = input.string("MOU or KAKU", "Entry trigger", options= )
// ✅ 保険:トレード0件を避ける(投稿クリア用)
// 1回でもクローズトレードができたら自動で沈黙
publishAssist = input.bool(true, "Publish Assist (safety entry if 0 trades)")
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
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
// =========================
// Entry (strategy)
// =========================
entrySignal = entryMode == "KAKU only" ? kaku : (mou or kaku)
canEnter = strategy.position_size == 0
newEntryKaku = canEnter and kaku and entrySignal
newEntryMouB = canEnter and (not kaku) and mou_breakout and entrySignal
newEntryMou = canEnter and (not kaku) and mou_pullback and entrySignal
// --- Publish Assist(保険エントリー) ---
// 条件が厳しすぎて「トレード0件」だと投稿時に警告が出る。
// closedtradesが0の間だけ、軽いEMAクロスで1回だけ拾う(その後は沈黙)。
assistFast = ta.ema(close, 5)
assistSlow = ta.ema(close, 20)
assistEntry = publishAssist and strategy.closedtrades == 0 and canEnter and ta.crossover(assistFast, assistSlow)
// 実エントリー
if newEntryKaku or newEntryMouB or newEntryMou or assistEntry
strategy.entry("LONG", strategy.long)
// ラベル(視認)
if showMouLabels and newEntryMou
label.new(bar_index, low, "猛(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showMouLabels and newEntryMouB
label.new(bar_index, low, "猛B(IN)", style=label.style_label_up, color=color.new(color.lime, 0), textcolor=color.black)
if showKakuLabels and newEntryKaku
label.new(bar_index, low, "確(IN)", style=label.style_label_up, color=color.new(color.yellow, 0), textcolor=color.black)
if assistEntry
label.new(bar_index, low, "ASSIST(IN)", style=label.style_label_up, color=color.new(color.aqua, 0), textcolor=color.black)
// =========================
// Exit (TP/SL + 強制クローズ)
// =========================
inPos = strategy.position_size > 0
tpPx = inPos ? strategy.position_avg_price * (1.0 + tpPct/100.0) : na
slPx = inPos ? strategy.position_avg_price * (1.0 - slPct/100.0) : na
if enableTPSL
strategy.exit("TP/SL", from_entry="LONG", limit=tpPx, stop=slPx)
// 最大保有バーで強制決済(これが「レポート無し」回避の最後の保険)
var int entryBar = na
if strategy.position_size > 0 and strategy.position_size == 0
entryBar := bar_index
if strategy.position_size == 0
entryBar := na
forceClose = inPos and not na(entryBar) and (bar_index - entryBar >= maxHoldBars)
if forceClose
strategy.close("LONG")
// =========================
// 利確/損切/強制クローズのラベル
// =========================
closedThisBar = (strategy.position_size > 0) and (strategy.position_size == 0)
avgPrev = strategy.position_avg_price
tpPrev = avgPrev * (1.0 + tpPct/100.0)
slPrev = avgPrev * (1.0 - slPct/100.0)
hitTP = closedThisBar and high >= tpPrev
hitSL = closedThisBar and low <= slPrev
// 同一足TP/SL両方は厳密に判断できないので、表示は「TP優先」で簡略(投稿ギリギリ版)
if hitTP
label.new(bar_index, high, "利確", style=label.style_label_down, color=color.new(color.lime, 0), textcolor=color.black)
else if hitSL
label.new(bar_index, low, "損切", style=label.style_label_up, color=color.new(color.red, 0), textcolor=color.white)
else if closedThisBar and forceClose
label.new(bar_index, close, "時間決済", style=label.style_label_left, color=color.new(color.gray, 0), textcolor=color.white)
// =========================
// Signals (猛/猛B/確)
// =========================
plotshape(showMouLabels and mou_pullback and not kaku, title="MOU_PULLBACK", style=shape.labelup, text="猛",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showMouLabels and mou_breakout and not kaku, title="MOU_BREAKOUT", style=shape.labelup, text="猛B",
color=color.new(color.lime, 0), textcolor=color.black, location=lblLoc, size=size.tiny)
plotshape(showKakuLabels and kaku, 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")
alertcondition(assistEntry, title="MNO_ASSIST_ENTRY", message="MNO: ASSIST ENTRY (publish safety)")
// =========================
// Status label(最終足に必ず表示)
// =========================
var label status = na
if showStatusLbl and barstate.islast
label.delete(status)
statusTxt =
"MNO RUNNING " +
"ClosedTrades: " + str.tostring(strategy.closedtrades) + " " +
"BaseTrend: " + (baseTrendOK ? "OK" : "NO") + " " +
"MOU: " + (mou ? "YES" : "no") + " (猛=" + (mou_pullback ? "Y" : "n") + " / 猛B=" + (mou_breakout ? "Y" : "n") + ") " +
"KAKU: " + (kaku ? "YES" : "no") + " " +
"VolRatio: " + (na(volRatio) ? "na" : str.tostring(volRatio, format.mintick)) + " " +
"Pull%: " + (na(pullbackPct) ? "na" : str.tostring(pullbackPct, format.mintick)) + " " +
"Pos: " + (inPos ? "IN" : "OUT")
status := label.new(bar_index, high, statusTxt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// =========================
// Debug table(最終足のみ)
// =========================
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
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("AssistEntry", assistEntry, 11)
fRow("ClosedTrades>0", strategy.closedtrades > 0, 12)
Golden hour 1130 1230 Session LinesGolden Hour 11:30–12:30 Session Lines
Overview :
Calculate the session high and low between 11:30 AM and 12:30 PM and mark the lines.
Trading Rule
Once the price breaks either side (high or low), it will continue to move further in that direction.
Session Time : 11:30 AM – 12:30 PM
Key Levels : Session High & Session Low
Strategy : Breakout continuation in the direction of the break
Ichimoku + VWAP + OBV + ATR Full System (NQ Daytrade)Extended Indicator Description
Ichimoku + VWAP + OBV + ATR Full System is a rule-based intraday trading indicator designed specifically for NQ day trading, focusing on trend alignment, participation confirmation, and volatility-aware execution.
This indicator does not rely on a single signal or crossover. Instead, it integrates multiple market dimensions into one structured framework to help traders identify high-probability trend continuation scenarios while avoiding low-quality, range-bound conditions.
System Philosophy
The core idea of this system is simple:
trade only when trend, price location, volume, and volatility are aligned.
Each component plays a specific role and is not meant to be used in isolation. The indicator works best when all conditions reinforce the same directional bias.
Component Breakdown
Ichimoku Cloud
Used to define the primary market structure and directional bias. The system favors trades only when price action aligns clearly above or below the cloud, helping filter out indecisive or transitional phases.
VWAP
Acts as a session-based equilibrium reference. Price position and distance relative to VWAP are used to confirm whether the market is trending with intent rather than reverting to the mean.
OBV (On-Balance Volume)
Provides participation and flow confirmation. OBV helps validate whether price movement is supported by volume, reducing the likelihood of false breakouts or weak trend signals.
ATR (Average True Range)
Used as a volatility filter and risk-awareness tool. ATR conditions help the system avoid low-volatility environments and support more realistic expectations for intraday movement.
Trade Logic Overview
The system is designed around trend-following pullbacks, not prediction or counter-trend trading.
When trend structure is established and confirmed by VWAP positioning and OBV behavior, pullback zones within the trend become areas of interest. ATR conditions ensure that trades are taken only when sufficient movement potential exists.
Rather than generating frequent signals, the system prioritizes selectivity and clarity, making it suitable for disciplined day traders who value context over quantity.
Intended Use
This indicator is built for:
NQ intraday and day trading
Trend continuation and pullback strategies
Traders who prefer structured, confirmation-based systems
Lower to mid intraday timeframes such as 3-minute, 5-minute, and 15-minute charts
Important Notes
This is not an automated trading system and does not provide guaranteed results. The indicator is designed as a decision-support tool to assist with market context, directional bias, and trade timing. Risk management, execution, and position sizing remain the responsibility of the user.
롱/숏 삼각형 시그널
동그라미 청산 시그널
VWAP 밴드 기반 방향성
OBV 보조지표
이름 (Name)
BTC Scalping Signal – VWAP + OBV
짧은 설명 (Short Description)
VWAP 밴드와 OBV를 기반으로 방향성, 진입·청산 시그널을 제공하는 스캘핑 지표입니다.
긴 설명 (Long Description)
이 지표는 BTC 단기 스캘핑을 위해 설계된 것으로, 특히 15분봉 환경에 최적화되어 있습니다.
VWAP 밴드의 위치와 추세 판별 로직을 기반으로 롱·숏 진입 신호를 제공합니다.
OBV 모멘텀을 보조 필터로 사용하여 돌파 및 되돌림 가능성을 판단합니다.
시장 변동성이 축소되거나 평균회귀 신호가 감지될 때 청산 시그널을 표시합니다.
삼각형(진입), 원형(청산) 등 직관적 시각 요소를 통해 빠른 의사결정을 지원합니다.
RSI with Multi-Level OB/OS (65/70 & 35/30)With a revised 65 and 35 level for higher probability of winning
Sinals 15m - RSI 7 e 9This strategy is designed to capture continuation moves on the 15-minute chart by combining trend filters, momentum indicators, and strong-candle confirmation. The core idea is to enter trades shortly after EMA crossovers that signal direction, as long as momentum and candle strength support the move.
ADX Cloud StyleThis custom indicator visualizes the Directional Movement Index (DMI) system to help identify trend direction and intensity:
Histogram: Displays the net momentum (calculated as DI+ minus DI-). Green bars indicate that buyers are in control (bullish), while red bars indicate sellers are in control (bearish). The height of the bars represents the strength of that dominance.
Cloud (Fill): Shading between the DI+ and DI- lines. It provides a visual backdrop for the trend: green shading for an uptrend and red shading for a downtrend.
Blue Line (ADX): Measures the absolute strength of the trend, regardless of direction. A rising blue line suggests the current trend (whether up or down) is gaining strength, while a falling line suggests consolidation or a weakening trend.
Cup & Handle Finder by Mashrab🚀 New Tool Alert: The "Perfect Cup" Finder
Hey everyone! I’ve built a custom indicator to help us find high-quality Cup & Handle setups before they breakout.
Most scripts just look for random highs and lows, but this one uses a geometric algorithm to ensure the base is actually round (avoiding those messy V-shapes).
How it works:
🔵 Blue Arc: This marks a verified, institutional-quality Cup.
🟠 Orange Box: This is the "Handle Zone." If you see this connecting to the current candle, it means the setup is live and ready for a potential entry!
Best Usage:
Works best on Weekly (1W) charts.
It’s designed to be an "Early Warning" system—alerting you while the handle is still forming so you don't miss the move.
Give it a try and let me know what you find! 📉📈
Alertes Trading Manuel//@version=6
indicator("Signal simple +0.5% LONG", overlay = true)
// --- Paramètres ---
tpPctInput = input.float(0.5, "TP (%)", step = 0.1) // objectif pour toi : 0.5%
slPctInput = input.float(0.3, "SL (%)", step = 0.1) // SL indicatif : 0.3%
tpPct = tpPctInput / 100.0
slPct = slPctInput / 100.0
emaLenFast = input.int(50, "EMA rapide (intraday)", minval = 1)
emaLenSlow = input.int(200, "EMA lente (intraday)", minval = 1)
volLen = input.int(20, "Période moyenne Volume", minval = 1)
// --- Tendance daily : MA200 jours ---
ma200D = request.security(syminfo.tickerid, "D", ta.sma(close, 200))
above200D = close > ma200D
// --- Tendance intraday ---
emaFast = ta.ema(close, emaLenFast)
emaSlow = ta.ema(close, emaLenSlow)
upTrendIntraday = close > emaFast and emaFast > emaSlow
// --- MACD & RSI ---
= ta.macd(close, 12, 26, 9)
rsi = ta.rsi(close, 14)
macdOK = macdLine > macdSignal
rsiOK = rsi > 49 and rsi < 75
// --- Volume ---
volMa = ta.sma(volume, volLen)
volOK = volume > volume and volume > volMa
// --- Signal LONG simple ---
longSignal = above200D and upTrendIntraday and macdOK and rsiOK and volOK
// --- Affichage du signal ---
plotshape(
longSignal,
title = "Signal LONG",
location = location.belowbar,
style = shape.triangleup,
color = color.lime,
size = size.small,
text = "LONG"
)
// --- Lignes TP / SL indicatives basées sur le dernier signal ---
var float tpLine = na
var float slLine = na
if longSignal
tpLine := close * (1 + tpPct)
slLine := close * (1 - slPct)
// Les lignes restent jusqu'au prochain signal
plot(tpLine, "TP indicatif", color = color.new(color.green, 50), style = plot.style_linebr)
plot(slLine, "SL indicatif", color = color.new(color.red, 50), style = plot.style_linebr)
// --- Affichage des moyennes ---
plot(emaFast, "EMA rapide", color = color.new(color.blue, 40))
plot(emaSlow, "EMA lente", color = color.new(color.orange, 40))
plot(ma200D, "MA200 jours (daily)", color = color.new(color.fuchsia, 0), linewidth = 2)
Custom RSI + Divergence + Bold Lines (v6, matched)📌 Custom RSI with Divergence & Dynamic Coloring
This indicator enhances the classic Relative Strength Index (RSI) by combining
dynamic visual feedback with automatic regular divergence detection.
It is designed to help traders quickly identify overbought / oversold conditions
and potential momentum shifts through clear and intuitive visualization.
⸻
🔍 Key Features
1️⃣ Dynamic RSI Line Coloring
• Overbought zone (RSI > Overbought level) → RSI line turns green
• Oversold zone (RSI < Oversold level) → RSI line turns red
• Neutral zone → RSI line remains white
This allows instant recognition of the current RSI state.
⸻
2️⃣ Overbought / Oversold Visual Highlighting
• Clear overbought and oversold reference lines
• Background shading when RSI enters these zones
→ improves signal visibility and reaction speed
⸻
3️⃣ Automatic Regular Divergence Detection
• Bullish Divergence
• Price makes a lower low
• RSI makes a higher low
• Pivot lows are connected with a bold green line
• Bearish Divergence
• Price makes a higher high
• RSI makes a lower high
• Pivot highs are connected with a bold red line
Pivot points are connected directly, making divergence structures easy to identify at a glance.
⸻
4️⃣ Clear Signal Markers
• Bullish divergence: ▲ (bottom of the RSI pane)
• Bearish divergence: ▼ (top of the RSI pane)
⸻
⚙️ Inputs
• RSI Length
• Overbought / Oversold Levels
• Pivot Length (controls divergence sensitivity)
⸻
💡 How to Use
• Oversold + Bullish Divergence → Potential rebound setup
• Overbought + Bearish Divergence → Potential pullback or reversal
• Best used in combination with trend analysis, support/resistance, and volume
⸻
⚠️ Notes
• Divergence signals are probabilistic, not guaranteed.
• In ranging markets, divergences may appear more frequently.
• Always apply proper risk management.
⸻
🎯 Best For
• Traders who actively use RSI
• Traders looking for clean and intuitive divergence visualization
• Users who prefer minimal but informative indicators
RTH & ETH VWAPs (Unified Style)AVWAP indicator showing only the current session. Shows ETH VWAP even when RTH is turned on. Has standard deviation and fills for settings.
NeoChartLabs Trend VolatalityAn Experimental Indicator - Trend Volatility
Using the Trix & ATR, it becomes possible to measure the volatility in the trend.
When the ATR% is below the user defined rate (default is 5%), the background turns RED signaling a low vol asset.
If ATRP goes under 5% in Crypto and the background turns RED - expect a large move to happen soon either up or down.
NeoChartLabs TrixxOne of our Favorite Indicators - The Trixx - The Trix with K & J lines for extra crossovers and trend analysis. Best when used on the 4hr and above.
Shout out to fauxlife for the original script, we updated to v6.
The TRIX indicator (Triple Exponential Average) is a momentum oscillator used in technical analysis to show the percentage rate of change of a triple-smoothed exponential moving average, helping traders identify overbought/oversold conditions and potential trend reversals by filtering out minor price fluctuations. It plots as a line oscillating around a zero line, often with a signal line (an EMA of TRIX) for crossovers, and traders look for divergence with price or signal line crosses for buy/sell signals






















