VOLUME with DOUBLE MAA volume chart with dual moving averages. If you're looking for a volume chart with dual moving averages, this script is for you. By averaging the volume over two periods, you can discover more subtle relationships between price and volume.
Candlestick analysis
SnR Key Level Detector by RWBTradeLabSnR Key Level Detector by RWBTradeLab
A clean, non-repainting key level detector built for price action traders who want clear, fixed Support/Resistance reference levels with breakout upgrades and alerts.
What this indicator does
This script automatically detects and draws 6 types of SnR key levels using CLOSED candles only (no running-candle logic):
1. Base Key Levels (from 2-candle sequences)
* A Level: Green → Red (Level = 1st Green candle Close)
* V Level: Red → Green (Level = 1st Red candle Close)
* Bullish Gap Level: Green → Green (Level = 1st Green candle Close)
* Bearish Gap Level: Red → Red (Level = 1st Red candle Close)
2. Breakout Upgrade Levels
* RBS (Resistance → Support): When a Green candle CLOSE breaks above an A Level or Bearish Gap Level
* SBR (Support → Resistance): When a Red candle CLOSE breaks below a V Level or Bullish Gap Level
Visuals on chart
* Each detected level is drawn as a horizontal Ray extended to the right.
* Optional text labels are placed above/below the level based on the level type.
* Adjustable “Label Offset (ticks)” to keep labels cleaner on the chart.
Alerts (bar-close only)
Built-in alerts trigger only when a candle is CONFIRMED:
* A Level
* V Level
* Bullish Gap
* Bearish Gap
* SBR
* RBS
Each alert includes price and time in the message.
Key settings
* Candle Length (closed candles): Scans last N closed candles (running candle excluded).
* On/Off toggles: Enable/disable each level type and text labels individually.
* Label Offset (ticks): Controls the label distance from the level line.
Non-repainting confirmation
All levels and alerts are calculated on confirmed bars only.
No repainting, no running-bar signals.
Best use
Works on any market and timeframe. For higher reliability, combine with:
* Higher timeframe structure
* Supply & Demand zones
* Trend context and liquidity sweeps
Disclaimer:
This indicator is a level-detection tool, not financial advice. Trading involves risk; always use proper risk management and confirm levels with your own analysis.
Creator: RWBTradeLab
If you find this useful, please leave a like ⭐ and share your feedback.
Reaction CandlesThis is a very simple but effective indicator, turn it on and see for yourself.
Can be used on any timeframe, but tested on the 5 and 30 mins.
Developed for use on Gold and Indexes, but works well on any stock. Easy to visually back test.
CVD Candle Divergence IndicatorThis indicator identifies potential reversal points by comparing the direction of price candles with the direction of cumulative volume delta (CVD) candles, while applying additional filters based on RSI behavior, volume strength, and candlestick wick structure.
It aims to highlight situations where price movement and volume delta disagree, which can signal fading momentum or absorption.
Core Concept
The script combines several independent conditions that must occur simultaneously before a signal is displayed on the chart. A signal appears only when all filters agree, reducing the number of low-quality or noise-based setups.
1. CVD Candle Direction
The indicator uses TradingView’s built-in function for volume delta candles. These candles summarize buying and selling aggression derived from lower-timeframe volume.
A CVD green candle indicates more buyer-initiated volume.
A CVD red candle indicates more seller-initiated volume.
The script looks for instances where price and CVD candles disagree:
Bullish signal: price candle is green while CVD candle is red
Bearish signal: price candle is red while CVD candle is green
This creates a form of divergence using volume delta instead of price highs and lows.
2. RSI Context Filter
Momentum is evaluated through RSI. Instead of relying only on standard overbought/oversold levels, the script also includes a recency filter based on the RSI midline (50 level).
RSI Threshold
Users can specify the RSI value required for bullish and bearish conditions.
Recency Filter
The indicator only allows signals if RSI has crossed the 50 level within a user-defined number of bars. This prevents signals during extended one-directional trends where divergence is less meaningful.
3. Volume Strength Filter
Signals are filtered through a volume-based requirement:
Current volume must exceed a moving average of volume multiplied by a user-defined factor.
This ensures that signals appear only during periods with sufficient participation and reduces noise during low-volume consolidation.
4. Wick-to-Body Ratio Filter
To incorporate price-action characteristics, the script evaluates the wick structure of each candle:
Bullish signals require a sufficiently large lower wick relative to the total candle range.
Bearish signals require a sufficiently large upper wick relative to the total candle range.
The wick percentage is fully configurable.
This adds a rejection or absorption component to the logic and prevents signals on weak or indecisive candles.
Signal Conditions
A bullish signal appears when all of the following are true:
Price candle is green
RSI is below the bullish threshold
CVD candle is red
Volume is above its threshold (if enabled)
RSI has interacted with the 50 level recently
Lower wick meets the wick-percentage requirement
A bearish signal requires the opposite conditions:
Price candle is red
RSI is above the bearish threshold
CVD candle is green
Volume is above its threshold (if enabled)
RSI recently interacted with the 50 level
Upper wick meets the wick-percentage requirement
Signals appear as arrows directly on the chart.
Use Cases
This indicator is intended for traders who work with:
Momentum shifts
Volume delta analysis
Candle structure-based confirmation
Reversal or exhaustion setups
Divergence concepts beyond price highs/lows
It does not predict market direction. Instead, it highlights areas where multiple conditions suggest a potential imbalance between price movement and volume delta.
I would strongly suggest to use this indicator only on timeframes 2-15m.
Here are a few examples:
DeadCatBounce Structure LevelsIndicator Overview
The DeadCatBounce Structure Levels indicator is a clean and efficient tool designed to display key market structure levels across multiple timeframes. By automatically plotting the previous daily, weekly, and monthly highs and lows, it provides traders with essential reference points for understanding price behavior and anticipating potential reaction areas.
This indicator helps traders quickly visualize important support and resistance levels without having to manually mark charts yourself.
How It Works
The indicator continuously tracks the previous period’s high and low for the following timeframes:
Daily (PDH / PDL)
Weekly (PWH / PWL)
Monthly (PMH / PML)
Using TradingView’s request.security() function, it pulls accurate historical OHLC levels and projects them onto the current chart. At the latest bar, the indicator draws extended horizontal lines marking each level, color-coded per timeframe for clarity. Each level can optionally display its corresponding price value for quick reference, and the lines extend a configurable number of bars into the future.
Key Features
✅ Automatic previous high/low levels across 3 major timeframes
✅ Clean visual structure with customizable colors, widths, and extensions
✅ Optional price labels for clarity
✅ Lightweight and non-intrusive on the chart
✅ Ideal for identifying support/resistance, liquidity levels, and breakout zones
Made by x.com
This is version 1.0
For questions and inquiries, reach out in DMs
GYD-VOLinesCalculate support and resistance lines through the volume of large-level cycles, so that when subsequent candlesticks reach these lines, they can serve as a reference for trading decisions! The larger the cycle, the better the support and resistance effect!
通过大级别周期的成交量计算出支撑阻力线,以便后续K线表达到这里的时候,为交易决策做参考!越大周期的线,撑压效果越好!
Horizontal LineA horizontal line divided based on grid distance, suitable for traders who use Open Interest (OI) for market analysis. This grid system helps users clearly identify key price levels, such as areas where significant contract accumulation occurs, potential reversal zones, or regions where heavy buying and selling activity is expected.
EMA/Volume/Institutional Candle (Deep)This indicator is designed for short-term swing trading and intraday trend identification using a combination of EMA structure, momentum shifts, volume confirmation, and institutional footprint analysis.
🔹 Key Features
1. EMA Trend Framework (9, 20, 50, 200)
✔ EMA 9 & EMA 20: Ultra-short-term momentum; ideal for fast trend shifts.
✔ EMA 50: Medium-term trend guide; helps identify pullbacks vs. reversals.
✔ EMA 200: Long-term trend bias and major dynamic support/resistance.
2. EMA 9/20 Crossover Signal
✔ Bullish Crossover → EMA 9 crossing above EMA 20 indicates momentum expansion and early trend reversal.
✔ Bearish Crossover → EMA 9 crossing below EMA 20 shows momentum weakening and possible short-side opportunity.
3. High-Volume Zone Detection
✔ Highlights candles with volume spikes above average, signaling institutional interest.
✔ Useful for identifying breakout validity, liquidity grabs, or trap candles.
4. Institutional Candles (Smart Money Footprint)
✔ Automatically marks institutional order blocks, imbalance zones, or large displacement candles.
✔ Helps traders identify where smart money entered the market and potential mitigation zones.
🎯 How This Indicator Helps You Trade
✔ Quickly spot trend direction with multi-EMA alignment
✔ Identify high-probability entries with EMA 9/20 crossover + volume confirmation
✔ Find institutional zones for sniper-style entries
✔ Filter fake breakouts using volume spikes
✔ Perfect for stocks, indices, crypto, and forex
Long an Short Liq filter rev 3.0 /nnaCan help you to see horizontal Liquidation maps on cryptocurrency market. Script created to help you with EP. Calibration parameters for different coins could be different. Write me in Dm. i can help you with that
ETH UU Reversion Strategy Strategy Overview
The "ETH UU Reversion Strategy" is a sophisticated mean-reversion trading system designed to capture price reversals at standard deviation extremes. Unlike typical strategies that enter trades immediately at market price, this script employs a proprietary **Limit Order Execution Mechanism** combined with volatility filtering to optimize entry prices and reduce slippage.
Originality & Key Features
This script addresses the common pitfalls of standard Bollinger Band strategies by introducing advanced order management logic:
1. Limit Order Execution:** Instead of market orders, the strategy calculates an optimal entry price based on ATR offsets. This allows traders to capitalize on "wicks" and secure better risk-reward ratios.
2. Smart Timeout Logic:To prevent "catching a falling knife," pending orders are automatically cancelled if not filled within a customizable number of bars (default: 15). This ensures orders do not remain active when market structure shifts.
3. Dynamic Risk Recalculation:** Stop Loss (SL) and Take Profit (TP) levels are recalculated at the exact moment of execution using the real-time ATR, ensuring risk parameters adapt to current market volatility.
How to Use
1. Setup: Apply the strategy to ETH/USDT (or other crypto pairs) on 15m or 1h timeframes.
2. Configuration:
* Adjust `BB Length` and `RSI Length` to fit your timeframe.
* Set `Order Timeout` to define how long a pending order should remain active.
* Toggle `Use ADX Filter` to avoid trading against strong trends.
3. *Visuals: The chart displays distinct labels for pending orders (Gray), active entries (Blue/Red), and cancellations, providing full transparency of the strategy's logic.
Risk Disclaimer
This script is for educational and quantitative analysis purposes only. Past performance regarding backtesting or live trading does not guarantee future results. Cryptocurrency trading involves high risk and high volatility. Please use proper risk management and trade at your own discretion.
-------------------------------------------------------------
Chinese Translation (中文说明)
策略概述
“ETH UU 均值回归策略”是一个旨在捕捉标准差极端位置价格反转的交易系统。与立即以市价入场的典型策略不同,本策略采用独特的**挂单执行机制**结合波动率过滤,以优化入场价格并减少滑点。
原创性与核心功能
本脚本通过引入高级订单管理逻辑,解决了普通布林带策略的常见缺陷:
1. 挂单交易模式: 策略不使用市价单,而是根据 ATR 偏移计算最佳入场价(Limit Orders)。这允许交易者捕捉K线的“影线”,获得更好的盈亏比。
2. 智能超时撤单: 为了防止“接飞刀”,如果挂单在指定K线数内(默认15根)未成交,系统会自动撤单。这确保了当市场结构发生变化时,旧的挂单不会被错误触发。
3. 动态风控重算: 止损和止盈在成交的瞬间根据实时 ATR 重新计算,确保风控参数始终适应当前的市场波动率。
风险提示
本脚本仅供教育和量化分析使用。回测或实盘的过往表现并不预示未来结果。加密货币交易具有极高的风险和波动性,请务必做好仓位管理,并自行承担使用本策略的风险。
BALA'S Indicator - Dynamic + 5-Min + Pre-Market LevelsINTRADAY Strategy on Nifty with 15min Candle Setup.
CloudScore by ExitAnt [Upgrade]📘 CloudScore PRO by ExitAnt (v13)
CloudScore PRO는 일목균형표(REAL Ichimoku Cloud)의 ‘진짜 상방 돌파’만을 감지하고,
여기에 총 10가지 추세·모멘텀·패턴·거래량 요소를 점수화하여 (0~9점)
현재 추세 전환의 강도를 직관적으로 알려주는 고급 추세 분석 지표입니다.
일목 구름은 본래 강력한 추세 전환 신호를 제공하지만
“위→안→위” 또는 “부분 돌파” 같은 왜곡 신호가 매우 많습니다.
v13은 이를 완전히 제거하고,
오직 아래→안→위 또는 아래→위(직통) 형태의 ‘진짜 돌파’에서만 점수를 계산합니다.
🎯 지표 목적
* 진짜 일목구름 돌파만 필터링하여 신뢰도 상승
* 10개 기술 요소의 점수화(0~9점)로 한눈에 추세 강도 판단
* 거짓 진입 신호(위→안→위) 완전 제거
* 점수 0일 때도 ‘🔴’로 명확하게 무효 신호 표시
* 초보자부터 숙련자까지 모두 활용 가능한 추세 진입 필터링 지표
🧠 점수 계산 방식 (가중치 기반)
구름 돌파가 유효하게 발생하면,
아래 10가지 조건을 체크하여 각 항목별 가중치 점수가 합산됩니다.
▶ 기존 +1 점 항목 (5개)
1. 골든 크로스 발생
Fast MA가 Slow MA를 최근 N봉 내 상향 돌파
2. RSI 과매도 구간
RSI < 설정값 → 반등 가능성 증가
3. MACD 강세 전환
MACD < 0 & 시그널 상향 돌파
4. RSI 상승 다이버전스
가격 하락, RSI 상승 → 바닥 가능성
5. 종가 > MA200
장기 추세와 일치하는 경우만 점수 강화
▶ 신규 +1 점 항목 (추가 5개)
6. ADX > 20 (추세 강도)
추세가 실제로 형성되고 있을 때
7. 거래량 스파이크 발생
거래량이 평균 대비 일정 배수 이상 증가 → 큰 매수 유입
8. Stochastic Oversold Cross
%K < 30에서 골든크로스 → 저점 반등 신호
9. Bollinger Band Rebound
이전 봉이 하단 밴드를 이탈하고, 현재 봉이 중심선을 회복한 경우
10. 강세 캔들 패턴 (Bullish Engulfing / Hammer 등)
강한 반전 패턴 발생 시
> 점수는 단순 +1 합산이 아니라
> 각 요소의 중요도에 따른 가중치 합산 방식으로 계산됩니다.
📊 점수별 이모지 (8단계)
| 점수 구간 | 이모지 | 의미 |
| -------- | ------ | -------------- |
| ≤ 0 | 🔴 | 무효 신호 |
| 0 ~ 1 | ⚪ | 매우 약함 |
| 1 ~ 2 | 🟡 | 약함 |
| 2 ~ 3 | 🟢 | 관찰 필요 |
| 3 ~ 4 | 🔵 | 양호 |
| 4 ~ 5 | 📈 | 추세 형성 |
| 5 ~ 6.5 | 🚀 | 매우 강함 |
| **6.5+** | **👑** | **최상급 고신뢰 구간** |
> 👑 이모지는 6.5점 초과에서만 표시되며,
> 여러 핵심 조건이 동시에 충족된 극소수 구간에서만 나타납니다.
🖥 차트 표시 요소
* REAL Ichimoku Cloud(미래 이동 없는 실제 구름)을 기반으로 계산
* TRUE breakout(아래 → 위 돌파) 시 캔들 위에 점수 이모지 표시
* 최근 N개의 캔들만 표시 가능
* 우측 상단에 현재 점수 요소 설명 패널 표시
* 점수 0점일 때도 🔴 표시하여 신호의 부재를 명확히 표현
* 위→안→위처럼 잘못된 돌파는 완전히 제외됨
🔧 사용자 설정
* Tenkan / Kijun / SenkouB 기간 설정
* 점수 요소 개별 활성화/비활성화
* 이모지 커스터마이즈
* 최근 몇 개의 캔들까지 표시할지 설정
* MA, RSI, MACD, ADX, Bollinger 등 점수 요소 사용자 정의 가능
⚠️ 유의사항
이 지표는 일목구름 돌파 기반의 확률적 보조 도구이며,
단독으로 매수·매도 결정을 내리는 용도로 사용해서는 안 됩니다.
* 시장 변동성
* 시간 프레임
* 거래량 환경
에 따라 신호 강도는 달라질 수 있습니다.
실제 매매 적용 전 반드시 백테스트 및 시뮬레이션을 권장합니다.
오케이. 그럼 **지금 네 코드(v13, 가중치 + 8단계 이모지 기준)** 와
**완전히 1:1로 맞는 영어 설명 최종본**을 줄게.
(퍼블릭 배포용으로 그대로 써도 되는 수준)
# 📘 **CloudScore PRO by ExitAnt (v13)**
CloudScore PRO is an advanced **Ichimoku-based trend scoring indicator**
that detects only **true, valid Ichimoku Cloud breakouts** and evaluates the
strength of the trend using a **weighted score system built from 10 technical components**.
Unlike standard Ichimoku signals — which often generate distorted breakouts such as
**“above → inside → above”** —
CloudScore PRO v13 **filters these out completely** and only accepts the following structures as valid breakouts:
* **below → inside → above**
* **below → above (direct breakout)**
This ensures that scoring is applied **only when a genuine trend transition occurs**.
## 🎯 Purpose of the Indicator
* Filter out false Ichimoku Cloud breakouts
* Evaluate trend strength using **10 weighted confirmation signals**
* Visualize trend quality instantly using **8-stage emoji scoring**
* Clearly mark invalid signals (score ≤ 0)
* Serve as a robust **entry filter** for both beginners and advanced traders
## 🧠 Scoring Logic (Weighted System)
When a valid cloud breakout occurs, CloudScore PRO evaluates the following
10 components and **adds weighted scores based on their importance**.
### ▶ Core Trend & Momentum Components (5)
1. **Golden Cross**
* Fast MA crosses above Slow MA within the defined lookback period
2. **RSI Oversold Condition**
* RSI below threshold, indicating potential reversal
3. **MACD Bullish Shift**
* MACD below zero with bullish signal-line crossover
4. **RSI Bullish Divergence**
* Price makes a lower low while RSI makes a higher low
5. **Close Above MA200**
* Price aligned with the long-term trend direction
### ▶ Additional Confirmation Components (5)
6. **ADX Trend Strength**
* Confirms that a real trend is forming
7. **Volume Spike**
* Significant increase in trading volume vs average
8. **Stochastic Oversold Cross**
* %K crosses upward below the 30 level
9. **Bollinger Band Rebound**
* Price recovers after breaking below the lower band
10. **Bullish Candlestick Pattern**
* Engulfing, Hammer, or similar reversal patterns
> Scores are **not simple +1 increments**.
> Each component contributes a **weighted value**, reflecting its real-world importance.
## 📊 Emoji Score System (8 Levels)
| Score Range | Emoji | Meaning |
| ----------- | ------ | ---------------------------------- |
| ≤ 0 | 🔴 | Invalid / no signal |
| 0 ~ 1 | ⚪ | Very weak |
| 1 ~ 2 | 🟡 | Weak |
| 2 ~ 3 | 🟢 | Moderate |
| 3 ~ 4 | 🔵 | Decent |
| 4 ~ 5 | 📈 | Trend forming |
| 5 ~ 6.5 | 🚀 | Very strong |
| **6.5+** | **👑** | **Premium, high-confidence setup** |
👑 **The crown emoji appears only when the total weighted score exceeds 6.5**,
meaning multiple high-importance conditions are aligned simultaneously.
This prevents “emoji inflation” and ensures that premium signals remain rare and meaningful.
## 🖥 Chart Features
* Uses **REAL Ichimoku Cloud** (no future displacement)
* Displays score emojis directly on breakout candles
* Supports LONG / SHORT / BOTH modes
* Optional display limited to the most recent N bars
* Top-right panel explains scoring structure and logic
* Completely ignores false breakouts (above → inside → above)
## 🔧 User Options
* Adjust Ichimoku, MA, RSI, MACD, ADX parameters
* Enable or disable individual scoring components
* Fully customize emoji symbols
* **Display only signals above a chosen minimum score**
* e.g. show only 👑 setups by setting minimum score to 6.5
## ⚠️ Disclaimer
CloudScore PRO is a **probability-based trend evaluation tool**,
not a standalone buy or sell signal.
Signal strength may vary depending on:
* Market volatility
* Timeframe
* Volume environment
Always perform proper backtesting and apply sound risk management
before using this indicator in live trading.
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)
Delbert SetupDelbert Setup is a clean, time-based session framework designed for traders who follow PNY, NYO, and evening market structure in IST (Asia/Kolkata) time.
It highlights key intra-day timing, PNY/NYO session highs/lows, and important schedule-based vertical markers for structured intraday planning.
🔍 What This Indicator Shows
1. PNY Session (09:30–18:55 IST)
Automatically draws:
PNY High (PNYH)
PNY Low (PNYL)
Thin solid levels from session start to session end
Vertical dotted lines at PNY open & close with timestamp labels
2. NYO Session (19:00–19:55 IST)
Displays:
NYOH / NYOL levels
NYO open/close vertical dotted lines
Session-only range levels (thin solid 1px)
3. 00:30 IST Marker
A dedicated vertical dotted line at 00:30 IST, useful for:
Timing bias
Session transitions
Trade management cutoffs
4. Optional NQ Reference Levels
If enabled, the script plots:
NQ open price at NYO start
Adjustable ± offset bands (default 100 points)
These assist traders correlating NQ behavior with their instrument.
🎨 Visual Style
All vertical lines → thinnest dotted black
PNY / NYO highs & lows → thin solid levels (1px)
Time labels → red, size-small, placed above chart structure
Designed for clean visual structure without clutter
🕒 Why IST Timing?
This indicator is tailored for traders who operate in India Standard Time, aligning PNY/NYO with local clock time without mental conversion.
All calculations use Asia/Kolkata timezone internally.
⚠ Notes
This indicator does not generate buy/sell signals.
It is meant as a market structure & session map, helping traders reference key liquidity and timing zones.
Works on any timeframe and across all assets.
✔ Ideal For Traders Who Use:
Session-based models (PNY, NYO, Pre-New York)
Liquidity sweeps near session highs/lows
Timing-based bias
Correlation models with NQ
indicator("MouNoOkite_InitialMove_Screener", overlay=true)//@version=5
indicator("猛の掟・初動スクリーナー(5EMA×MACD×出来高×ローソク)", 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")
volLookback = input.int(5, "出来高平均(日数)", minval=1)
volMinRatio = input.float(1.3, "出来高倍率(初動点灯)", step=0.1)
volStrong = input.float(1.5, "出来高倍率(本物初動)", step=0.1)
volMaxRatio = input.float(2.0, "出来高倍率(上限目安)", step=0.1)
wickBodyMult = input.float(2.0, "ピンバー判定: 下ヒゲ >= (実体×倍率)", step=0.1)
pivotLen = input.int(20, "直近高値/レジスタンス判定のLookback", minval=5)
pullMinPct = input.float(5.0, "押し目最小(%)", step=0.1)
pullMaxPct = input.float(15.0, "押し目最大(%)", step=0.1)
showDebug = input.bool(true, "デバッグ表示(条件チェック)")
// =========================
// EMA
// =========================
emaS = ta.ema(close, emaSLen)
emaM = ta.ema(close, emaMLen)
emaL = ta.ema(close, emaLLen)
plot(emaS, color=color.new(color.yellow, 0), title="EMA 5")
plot(emaM, color=color.new(color.blue, 0), title="EMA 13")
plot(emaL, color=color.new(color.orange, 0), title="EMA 26")
emaUpS = emaS > emaS
emaUpM = emaM > emaM
emaUpL = emaL > emaL
// 26EMA上に2日定着
above26_2days = close > emaL and close > emaL
// 黄金隊列
goldenOrder = emaS > emaM and emaM > emaL
// =========================
// MACD
// =========================
= ta.macd(close, macdFast, macdSlow, macdSignal)
// ヒストグラム縮小(マイナス圏で上向きの準備)も見たい場合の例
histShrinking = math.abs(macdHist) < math.abs(macdHist )
histUp = macdHist > macdHist
// ゼロライン上でGC(最終シグナル)
macdGCAboveZero = ta.crossover(macdLine, macdSig) and macdLine > 0 and macdSig > 0
// 参考:ゼロ直下で上昇方向(勢い準備)
macdRisingNearZero = (macdLine < 0) and (macdLine > macdLine ) and (math.abs(macdLine) <= math.abs(0.5))
// =========================
// Volume
// =========================
volMA = ta.sma(volume, volLookback)
volRatio = volMA > 0 ? (volume / volMA) : na
volumeOK = volRatio >= volMinRatio and volRatio <= volMaxRatio
volumeStrongOK = volRatio >= volStrong
// =========================
// 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
// 5EMA・13EMA を貫く大陽線(勢い)
bigBull =
close > open and
open < emaM and close > emaS and
(body > ta.sma(body, 20)) // “相対的に大きい”目安
candleOK = pinbar or bullEngulf or bigBull
// =========================
// 押し目 (-5%〜-15%) & レジブレ後
// =========================
recentHigh = ta.highest(high, pivotLen)
pullbackPct = recentHigh > 0 ? (recentHigh - close) / recentHigh * 100.0 : na
pullbackOK = pullbackPct >= pullMinPct and pullbackPct <= pullMaxPct
// “レジスタンスブレイク”簡易定義:直近pivotLen高値を一度上抜いている
// → その後に押し目位置にいる(現在が押し目)
brokeResistance = ta.crossover(close, recentHigh ) or (close > recentHigh )
afterBreakPull = brokeResistance or brokeResistance or brokeResistance or brokeResistance or brokeResistance
breakThenPullOK = afterBreakPull and pullbackOK
// =========================
// 最終三点シグナル(ヒゲ × 出来高 × MACD)
// =========================
final3 = pinbar and macdGCAboveZero and volumeStrongOK
// =========================
// 猛の掟 8条件チェック(1つでも欠けたら「見送り」)
// =========================
// 1) 5EMA↑ 13EMA↑ 26EMA↑
cond1 = emaUpS and emaUpM and emaUpL
// 2) 5>13>26 黄金隊列
cond2 = goldenOrder
// 3) ローソク足が26EMA上に2日定着
cond3 = above26_2days
// 4) MACD(12,26,9) ゼロライン上でGC
cond4 = macdGCAboveZero
// 5) 出来高が直近5日平均の1.3〜2.0倍
cond5 = volumeOK
// 6) ピンバー or 包み足 or 大陽線
cond6 = candleOK
// 7) 押し目 -5〜15%
cond7 = pullbackOK
// 8) レジスタンスブレイク後の押し目
cond8 = breakThenPullOK
all8 = cond1 and cond2 and cond3 and cond4 and cond5 and cond6 and cond7 and cond8
// =========================
// 判定(2択のみ)
// =========================
isBuy = all8 and final3
decision = isBuy ? "買い" : "見送り"
// =========================
// 表示
// =========================
plotshape(isBuy, title="BUY", style=shape.labelup, text="買い", color=color.new(color.lime, 0), textcolor=color.black, location=location.belowbar, size=size.small)
plotshape((not isBuy) and all8, title="ALL8_OK_but_noFinal3", style=shape.labelup, text="8条件OK (最終3未)", color=color.new(color.yellow, 0), textcolor=color.black, location=location.belowbar, size=size.tiny)
// デバッグ(8項目チェック結果)
if showDebug and barstate.islast
var label dbg = na
label.delete(dbg)
txt =
"【8項目チェック】 " +
"1 EMA全上向き: " + (cond1 ? "達成" : "未達") + " " +
"2 黄金隊列: " + (cond2 ? "達成" : "未達") + " " +
"3 26EMA上2日: " + (cond3 ? "達成" : "未達") + " " +
"4 MACDゼロ上GC: " + (cond4 ? "達成" : "未達") + " " +
"5 出来高1.3-2.0: "+ (cond5 ? "達成" : "未達") + " " +
"6 ローソク条件: " + (cond6 ? "達成" : "未達") + " " +
"7 押し目5-15%: " + (cond7 ? "達成" : "未達") + " " +
"8 ブレイク後押し目: " + (cond8 ? "達成" : "未達") + " " +
"最終三点(ヒゲ×出来高×MACD): " + (final3 ? "成立" : "未成立") + " " +
"判定: " + decision
dbg := label.new(bar_index, high, txt, style=label.style_label_left, textcolor=color.white, color=color.new(color.black, 0))
// アラート
alertcondition(isBuy, title="猛の掟 BUY", message="猛の掟: 買いシグナル(8条件+最終三点)")
Customer Short strategy A5.1 + Session + CBL SLFor my customer.
HalfTrend Directional Framework (A5.1)
Used for primary trend recognition and breakout validation.
Session-Based Volatility Windows
Trades only occur within specific high-liquidity windows (e.g., 08:30–12:30 and 12:30–16:30), improving fill quality and reducing noise.
Three-Bar Opening Range Model
The first three 5-minute bars define:
session high
session low
These become structural breakout levels:
price > range high → long-bias
price < range low → short-bias
CBL (Guppy Count-Back Line) Stop-Loss
Instead of using ATR or static percentage stops, Libra_S relies on CBL to:
avoid premature exits during healthy pullbacks
capture trend persistence
provide structure-based invalidation
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.
MACD ultimate with EMA overrideOverview
This Pine Script v5 indicator combines MACD zero-cross signals, SuperTrend trend validation, an EMA(50/200) trend filter and an EMA-crossover override to produce clean, session-constrained entry signals and robust exit logic. It draws labels and lines on the chart (entries, exits, SL lines) and supports alerts. Stop-losses use percentage-based sizing and are evaluated on bar close only to avoid intrabar noise.
Key features
Primary entry rule (MACD zero-cross):
Buy when MACD line crosses above zero (current bar MACD > 0 and previous bar MACD < 0).
Sell when MACD line crosses below zero (current bar MACD < 0 and previous bar MACD > 0).
Session-only entries: Entries are generated only inside a user-defined session (e.g., 09:30-11:30). Exits are evaluated at all times.
SuperTrend validation: Optional SuperTrend filter for entries and exits. Can be configured so exits require both MACD exit and SuperTrend flip (AND mode) or use OR mode.
EMA trend filter for entries: Optional EMA(50) vs EMA(200) filter — when enabled the indicator will only open buys in EMA-up trend and sells in EMA-down trend.
EMA crossover override (priority rule): If EMA fast crosses the slow:
EMA50 crosses above EMA200 → forced BUY override (bypasses session, SuperTrend, MACD). Exits any active short and opens long.
EMA50 crosses below EMA200 → forced SELL override (bypasses other validations). Exits any active long and opens short.
Overrides respect same-direction protection (won’t reopen an existing same-side position).
Opposite-entry immediate exit: When an opposite-direction raw entry (MACD zero-cross) occurs, any active opposite trade is exited immediately (then the script may open the opposite entry subject to entry validation). Same-direction repeated signals do not force an exit.
Stop-Loss (percentage): Parameterized SL (%) applied at entry; SL is checked and triggered only on bar close (e.g., long SL triggers if barstate.isconfirmed and close <= SL).
Labels & SL lines: Single-line, non-repainting labels for entries/exits; SL horizontal line drawn on open positions and greys out after closing.
Plots & visuals:
MACD panel (histogram, MACD, signal) optional.
SuperTrend plotted as a single color-coded line: green for bullish, red for bearish (no dots).
Optional EMA( fast / slow ) plots.
Entry markers (triangles) shown only for session-filtered entries.
Alerts: Entry and exit alerts are included and can be toggled on/off.
Inputs (high level)
MACD: fast, slow, signal lengths.
SL (%) and toggle to enable/disable SL.
SuperTrend: ATR length, multiplier; toggles: require for entry, allow/require for exit, show/hide.
EMA trend: enable/disable filter; fast/slow lengths; show/hide EMAs.
EMA override (built-in) — crossover detection triggers forced entry/exit.
Session: time range (HHMM-HHMM) — applies to entry generation only.
Misc: allow multiple entries flag, enable alerts, show/hide MACD panel.
Behavioral notes & caveats
The indicator is an overlay indicator (not a strategy()), so it draws visual signals and alerts but does not place real trades — use strategy() conversion to backtest trade P&L.
EMA override bypasses all validations by design — it forcibly exits the opposite side and opens the override side immediately (on the same bar). This is intentional to capture major trend flips.
SL is checked on bar close only. That reduces false SL triggers from intrabar spikes but means realized fills can differ in live trading depending on execution and slippage.
Opposite-entry exits are immediate (no SuperTrend/MACD requirement) except when a crossover override is the cause — the script guards so EMA overrides take precedence.
Pine Script runs on bar close for most accurate signals; intrabar behavior depends on your chart settings (realtime vs historical) — expect small differences between indicator labels and broker fills.
Plot/label density: many labels and SL lines can clutter the chart on lower timeframes. Consider hiding SL lines after N bars (optional enhancement) or use higher timeframe charts for less clutter.
Suggested default settings
MACD: 12, 26, 9
SL: 1.0 (%) with Use SL = on
SuperTrend: ATR 10, Multiplier 3.0, require for entry = true, require for exit = true (AND mode)
EMA trend filter: enabled (50/200)
Session: 0930-1130 (adjust to your exchange/timezone)
Alerts: on
How to use
Paste the full Pine v5 script into TradingView’s Pine Editor and add to chart.
Set the trade_session to the market hours you want entries in (chart timezone should match your intended exchange).
Toggle Use EMA trend / Require SuperTrend / Require ST for exit depending on how tight you want validation.
Use strategy() conversion before backtesting to verify the rules produce acceptable historical returns (indicator-only won’t generate P&L).
Recommended next steps
Convert to a strategy() script to backtest and measure win rate, drawdown, profit factor, and to validate the SL-on-close logic with realistic fills.
Add an input to auto-hide SL lines after N bars or compress labels to a compact trade status box.
Consider adding ATR- or volatility-based SL as an alternative to percentage SL.
JH MantraBAND-C + AlphaWave Signals v1.3 (Clean)AlphaWave는 추세 + 눌림 + 반전을 하나의 흐름으로 묶은 트레이딩 시그널입니다.
• 20 HMA 기반 추세 판단
• 변동성 밴드 구간(상·하단)에서의 눌림/되돌림 포착
• 과도한 신호를 줄이고 확률 높은 구간만 표시
권장 타임프레임:
- 3분 / 5분 (단타, 스캘핑)
- 일봉 (추세 확인용)
※ 이 지표는 신호 남발을 피하고,
‘기다렸다가 들어가는 매매’를 목표로 설계되었습니다.
AlphaWave is a trend-following indicator designed to capture pullbacks and reversals within volatility zones.
• 20 HMA based trend structure
• Upper / lower volatility bands for context
• Filtered signals to reduce noise
Best used on:
- 3m / 5m intraday charts
- Daily charts for trend confirmation
This indicator focuses on patience and high-probability setups.
takeshi GPT//@version=5
indicator("猛の掟・初動スクリーナーGPT", overlay = true, timeframe = "", timeframe_gaps = true)
// ======================================================
// ■ 1. パラメータ設定
// ======================================================
// EMA長
emaFastLen = input.int(5, "短期EMA (5)", minval = 1)
emaMidLen = input.int(13, "中期EMA (13)", minval = 1)
emaSlowLen = input.int(26, "長期EMA (26)", minval = 1)
// 出来高
volMaLen = input.int(5, "出来高平均期間", minval = 1)
volMultInitial = input.float(1.3, "出来高 初動ライン (×)", minval = 1.0, step = 0.1)
volMultStrong = input.float(1.5, "出来高 本物ライン (×)", minval = 1.0, step = 0.1)
// 押し目・レジスタンス
pullbackLookback = input.int(20, "直近高値の探索期間", minval = 5)
pullbackMinPct = input.float(5.0, "押し目下限 (%)", minval = 0.0, step = 0.1)
pullbackMaxPct = input.float(15.0, "押し目上限 (%)", minval = 0.0, step = 0.1)
// ピンバー判定パラメータ
pinbarWickRatio = input.float(2.0, "ピンバー下ヒゲ/実体 比率", minval = 1.0, step = 0.5)
pinbarMaxUpperPct = input.float(25.0, "ピンバー上ヒゲ比率上限 (%)", minval = 0.0, step = 1.0)
// 大陽線判定
bigBodyPct = input.float(2.0, "大陽線の最低値幅 (%)", minval = 0.1, step = 0.1)
// ======================================================
// ■ 2. 基本テクニカル計算
// ======================================================
emaFast = ta.ema(close, emaFastLen)
emaMid = ta.ema(close, emaMidLen)
emaSlow = ta.ema(close, emaSlowLen)
// MACD
= ta.macd(close, 12, 26, 9)
// 出来高
volMa = ta.sma(volume, volMaLen)
// 直近高値(押し目判定用)
recentHigh = ta.highest(high, pullbackLookback)
drawdownPct = (recentHigh > 0) ? (recentHigh - close) / recentHigh * 100.0 : na
// ======================================================
// ■ 3. A:トレンド(初動)条件
// ======================================================
// 1. 5EMA↑ 13EMA↑ 26EMA↑
emaUpFast = emaFast > emaFast
emaUpMid = emaMid > emaMid
emaUpSlow = emaSlow > emaSlow
condTrendUp = emaUpFast and emaUpMid and emaUpSlow
// 2. 黄金並び 5EMA > 13EMA > 26EMA
condGolden = emaFast > emaMid and emaMid > emaSlow
// 3. ローソク足が 26EMA 上に2日定着
condAboveSlow2 = close > emaSlow and close > emaSlow
// ======================================================
// ■ 4. B:モメンタム(MACD)条件
// ======================================================
// ヒストグラム縮小+上向き
histShrinkingUp = (math.abs(histLine) < math.abs(histLine )) and (histLine > histLine )
// ゼロライン直下〜直上での上向き
nearZeroRange = 0.5 // ゼロライン±0.5
macdNearZero = math.abs(macdLine) <= nearZeroRange
// MACDが上向き
macdTurningUp = macdLine > macdLine
// MACDゼロライン上でゴールデンクロス
macdZeroCrossUp = macdLine > signalLine and macdLine <= signalLine and macdLine > 0
// B条件:すべて
condMACD = histShrinkingUp and macdNearZero and macdTurningUp and macdZeroCrossUp
// ======================================================
// ■ 5. C:需給(出来高)条件
// ======================================================
condVolInitial = volume > volMa * volMultInitial // 1.3倍〜 初動点灯
condVolStrong = volume > volMa * volMultStrong // 1.5倍〜 本物初動
condVolume = condVolInitial // 「8掟」では1.3倍以上で合格
// ======================================================
// ■ 6. D:ローソク足パターン
// ======================================================
body = math.abs(close - open)
upperWick = high - math.max(close, open)
lowerWick = math.min(close, open) - low
rangeAll = high - low
// 安全対策:0除算回避
rangeAllSafe = rangeAll == 0.0 ? 0.0000001 : rangeAll
bodyPct = body / close * 100.0
// ● 長い下ヒゲ(ピンバー)
lowerToBodyRatio = (body > 0) ? lowerWick / body : 0.0
upperPct = upperWick / rangeAllSafe * 100.0
isBullPinbar = lowerToBodyRatio >= pinbarWickRatio and upperPct <= pinbarMaxUpperPct and close > open
// ● 陽線包み足(bullish engulfing)
prevBearish = close < open
isEngulfingBull = close > open and prevBearish and close >= open and open <= close
// ● 5EMA・13EMAを貫く大陽線
crossFast = open < emaFast and close > emaFast
crossMid = open < emaMid and close > emaMid
isBigBody = bodyPct >= bigBodyPct
isBigBull = close > open and (crossFast or crossMid) and isBigBody
// D条件:どれか1つでOK
condCandle = isBullPinbar or isEngulfingBull or isBigBull
// ======================================================
// ■ 7. E:価格帯(押し目位置 & レジスタンスブレイク)
// ======================================================
// 7. 押し目 -5〜15%
condPullback = drawdownPct >= pullbackMinPct and drawdownPct <= pullbackMaxPct
// 8. レジスタンス突破 → 押し目 → 再上昇
// 直近 pullbackLookback 本の高値をレジスタンスとみなす(現在足除く)
resistance = ta.highest(close , pullbackLookback)
// レジスタンスブレイクが起きたバーからの経過本数
brokeAbove = ta.barssince(close > resistance)
// ブレイク後に一度レジ上まで戻したか
pulledBack = brokeAbove != na ? ta.lowest(low, brokeAbove + 1) < resistance : false
// 現在は再上昇方向か
reRising = close > close
condBreakPull = (brokeAbove != na) and (brokeAbove <= pullbackLookback) and pulledBack and reRising
// ======================================================
// ■ 8. 最終 8条件 & 三点シグナル
// ======================================================
// 8つの掟
condA = condTrendUp and condGolden and condAboveSlow2
condB = condMACD
condC = condVolume
condD = condCandle
condE = condPullback and condBreakPull
all_conditions = condA and condB and condC and condD and condE
// 🟩 最終三点シグナル
// 1. 長い下ヒゲ 2. MACDゼロライン上GC 3. 出来高1.5倍以上
threePoint = isBullPinbar and macdZeroCrossUp and condVolStrong
// 「買い確定」= 8条件すべて + 三点シグナル
buy_confirmed = all_conditions and threePoint
// ======================================================
// ■ 9. チャート表示 & スクリーナー用出力
// ======================================================
// EMA表示
plot(emaFast, color = color.orange, title = "EMA 5")
plot(emaMid, color = color.new(color.blue, 10), title = "EMA 13")
plot(emaSlow, color = color.new(color.green, 20), title = "EMA 26")
// 初動シグナル
plotshape(
all_conditions and not buy_confirmed,
title = "初動シグナル(掟8条件クリア)",
style = shape.labelup,
color = color.new(color.yellow, 0),
text = "初動",
location = location.belowbar,
size = size.small)
// 三点フルシグナル(買い確定)
plotshape(
buy_confirmed,
title = "三点フルシグナル(買い確定)",
style = shape.labelup,
color = color.new(color.lime, 0),
text = "買い",
location = location.belowbar,
size = size.large)
// スクリーナー用 series 出力(非表示)
plot(all_conditions ? 1 : 0, title = "all_conditions (8掟クリア)", display = display.none)
plot(buy_confirmed ? 1 : 0, title = "buy_confirmed (三点+8掟)", display = display.none)






















