Bar Number IndicatorBar Number Indicator
This Pine Script indicator is designed to help intraday traders by automatically numbering candlesticks within a user-defined trading session. This is particularly useful for strategies that rely on specific bar counts (e.g., tracking the 1st, 18th, or 81st bar of the day).
Key Features:
Session-Based Counting: Automatically resets the count at the start of each new session (default 09:30 - 16:00).
Timezone Flexibility: Includes a dropdown to select your specific trading timezone (e.g., America/New_York), ensuring accurate session start times regardless of your local time or the exchange's default setting.
Smart Display Modes: Choose to show "All" numbers, or filter for "Odd" / "Even" numbers to keep your chart clean.
Custom Positioning: Easily place the numbers Above or Below the candlesticks.
Minimalist Design: Numbers are displayed as floating text without distracting background bubbles.
Candlestick analysis
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)
Simple Gap IndicatorTitle: Simple Gap Indicator
Description: This is a utility script designed to automate the tracking and management of price gaps (also known as "Windows") on the chart. Unlike static drawings, this indicator dynamically monitors open gaps and automatically "closes" them (stops drawing) once price has filled the area, keeping your chart clean and focused on active levels only.
Why Use This Tool? Traders often mark gaps manually, but charts quickly become cluttered with old, invalid levels. This script solves that problem by using an array-based management system to track every open gap in real-time and remove it the moment it is invalidated by price action.
Technical Methodology:
Gap Detection: The script identifies "Full Gaps" where the Low of the current candle is higher than the High of the previous candle (Bullish), or vice versa (Bearish). This indicates a total disconnect in price delivery.
Dynamic Filtering:
ATR Filter: Users can filter out insignificant "noise" gaps by setting a minimum size threshold based on the Average True Range (ATR).
Time Filter: Option to restrict gap detection to specific session hours (e.g., ignoring overnight gaps on 24h charts).
Auto-Closure: The script loops through all active gaps on every new bar. If the current price wick touches an open gap, the box is visually terminated at that specific bar index and removed from the tracking array.
Visuals:
Green Box: Bullish Gap (Support Zone).
Red Box: Bearish Gap (Resistance Zone).
Labels: Optional text displaying the precise Top/Bottom price coordinates of the gap.
How to Use:
Enable "Auto-Close Gap on Retest" to keep your chart clean.
Use the ATR Filter if you are getting too many signals on lower timeframes (e.g., set to 0.5x ATR).
Set alerts for "New Gap" or "Gap Filled" to automate your workflow.
Credits: Calculations based on standard Gap/Window price action theory. Array management logic custom-coded for Pine Script v6.
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)
Risk & Position CalculatorThis indicator is called "Risk & Position Calculator".
This indicator shows 4 information on a table format.
1st: 20 day ADR% (ADR%)
2nd: Low of the day price (LoD)
3rd: The percentage distance between the low of the day price and the current market price in real-time (LoD dist.%)
4th: The calculated amount of shares that are suggested to buy (Shares)
The ADR% and LoD is straightforward, and I will explain more on the 3rd and 4th information.
__________________________________________________________________________________
The Lod dist.% is a useful tool if you are a breakout buyer and use the low of the day price as your stop loss, it helps you determine if a breakout buy is at a risk tight area (~1/2 ADR%) or it is more of a chase (>1 ADR%).
I use four different colors to visualize this calculation results (green, yellow, purple, and red).
Green: Lod dist.% <= 0.5 ADR%
Yellow: 0.5 ADR% < Lod dist.% <= 1 ADR%
Purple: 1 ADR% < Lod dist.% <= 1.5 ADR%
Red: 1.5 ADR% < Lod dist.%
(e.g., if Lod dist.% is colored in Green, it means your stop loss is <= 0.5 ADR%, therefore if you buy here, the risk is probably tight enough)
__________________________________________________________________________________
The Shares is a useful tool if you want to know exactly how many shares you should buy at the breakout moment. To use this tool, you first need to input two information in the indicator setting panel: the account size ($) and portfolio risk (%).
Account Size ($) means the dollar value in your total account.
Portfolio Risk (%) means how much risk you are willing to take per trade.
(e.g. a 1% portfolio risk in a 5000$ account is 50$, which is the risk you will take per trade)
After you provide these two inputs, the indicator will help you calculate how many shares you should buy based on the calculated Dollar Risk ($), real-time market price, and the low of the day price.
(e.g. Dollar Risk (50$), real-time market price (100$), Lod price (95$) -> then you will need to buy 50/(100-95) = 10 shares to meet your demand, so it will display as Shares { 10 } )
In addition, I also introduce a mechanism that helps you avoid buying too big of a position relative to your overall account . I set the limit to 25%, which means you don't put more than 25% of your account money into a single trade, which helps prevent single stock risk.
By introducing this mechanism, it will supervise if the suggested Shares to buy exceed max position limit (25%). If it actually exceeds, instead of using Dollar Risk ($) to calculate Shares, it will use position limit to calculate and display the max Shares you should buy.
__________________________________________________________________________________
That's it. Hope you find this explanation helpful when you use this indicator. Have a great day mate:)
Opening Range Breakout with VWAP & RSI ConfirmationThis indicator identifies breakout trading opportunities based on the Opening Range Breakout (ORB) strategy combined with intraday VWAP and higher timeframe RSI confirmation.
Opening Range: Calculates the high, low, and midpoint of the first 15 or 30 minutes (configurable) after your specified market open time.
Intraday VWAP: A volume-weighted average price calculated manually and reset daily, tracking price action throughout the trading day.
RSI Confirmation: Uses RSI from a user-selected higher timeframe (1H, 4H, or Daily) to confirm signals.
Buy Signal: Triggered when VWAP breaks above the Opening Range High AND the RSI is below or equal to the buy threshold (default 30).
Sell Signal: Triggered when VWAP breaks below the Opening Range Low AND the RSI is above or equal to the sell threshold (default 70).
Visuals: Plots Opening Range levels and VWAP on the chart with clear buy/sell markers and optional labels showing RSI values.
Alerts: Provides alert conditions for buy and sell signals to facilitate timely trading decisions.
This tool helps traders capture momentum breakouts while filtering trades based on momentum strength indicated by RSI.
True Gap Finder with Revisit DetectionTrue Gap Finder with Revisit Detection
This indicator is a powerful tool for intraday traders to identify and track price gaps. Unlike simple gap indicators, this script actively tracks the status of the gap, visualizing the void until it is filled (revisited) by price.
Key Features:
Active Gap Tracking: Finds gap-up and gap-down occurrences (where Low > Previous High or High < Previous Low) and actively tracks them.
Gap Zones (Clouds): Visually shades the empty "gap zone" (the void between the gap candles), making it instantly obvious where price needs to travel to fill the gap. The cloud disappears automatically once the gap is filled.
Dynamic Labels: automatically displays price labels at the origin of the gap, showing the specific price range (High-Low) that constitutes the gap. Labels are positioned intelligently to avoid cluttering current price action.
Alerts: Configurable alerts notify you the moment a gap is filled.
Customization: Full control over colors, clouds, labels, and alert settings to match your chart style.
How it works: The indicator tracks the most recent gap. If a new gap forms, it becomes the active focus. When price moves back to "close" or "fill" this gap area, the lines and clouds automatically stop plotting, giving you a clean chart that focuses only on open business.
Quicksilver Institutional Trend [1H] The "God Candle" Catcher Most retail traders fail because they lack institutional tooling.
The Quicksilver Institutional Trend is designed to keep you in the trade during massive expansion moves and keep you out during the chop. It replaces "guessing" with a structured, math-based Trend Cloud.
THE LOGIC (Institutional Engine):
Visual Trend Cloud: A dynamic ribbon that identifies the dominant 1H market regime.
Momentum Filter (ADX): The bars change color based on Trend Strength.
Bright Green/Red: High Momentum (Institutional Volume). Stay in the trade.
Dark Green/Red: Low Momentum. Prepare to exit.
Liquidity Zones: Automatically draws Support & Resistance lines at recent institutional pivot points.
👨💻 NEED A CUSTOM BOT?
Stop trading manually. We can convert YOUR specific strategy into an automated algorithm.
Quicksilver Algo Systems specializes in building custom solutions for:
TradeLocker Studio (Python)
TradingView (Pine Script)
cTrader (C#)
MetaTrader 4/5 (MQL)
We don't just sell indicators; we engineer automated execution systems tailored to your exact risk parameters.
🚀 HOW TO HIRE US:
If you have a strategy you want automated, we are currently accepting new custom development projects.
Contact the Lead Developer directly:
📧 Email: quicksilveralgo@gmail.com
(Include "Custom Bot Request" in the subject line for priority review).
🔥 UNLOCK THE NEXT INDICATOR:
We are releasing our "Sniper Scalper" logic next week.
Hit the BOOST (Rocket) Button 🚀 above.
Click FOLLOW on our profile.
Comment "QAS" below if you want to be notified.
Disclaimer: Trading involves substantial risk. Educational purposes only.
ATR + True RangeOne indicator for ATR & TR its a common indictor which can be used as one
instead of 2 different its is trial mode only not to be used with out other references
Dynamic Trend Channel - Adaptive Support & Resistance SystemA powerful trend-following indicator that adapts to market conditions in real-time. The Dynamic Trend Channel uses ATR-based volatility measurements to create intelligent support and resistance zones that adjust automatically to price action.
Key Features:
✓ Adaptive channel width based on market volatility (ATR)
✓ Color-coded trend identification (Green = Bullish, Red = Bearish)
✓ Smooth, flowing bands that reduce noise
✓ Breakout signals for high-probability entries
✓ Real-time info table showing trend status and price positioning
✓ Customizable settings for all timeframes
ZKNZCN Önceki Bar H/L (Ayrı Kontrol)Bir önceki barın high & low noktalarını çizgi halinde görmeyi sağlar.
Entry Scanner Conservative Option AKeeping it simple,
Trend,
RSI,
Stoch RSI,
MACD, checked.
Do not have entry where there is noise on selection, look for cluster of same entry signals.
If you can show enough discipline, you will be profitable.
CT
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)
LoD dist.%Lod dist.% is to calculate the percentage distance between the lows of day price and the current price in real-time.
In addition, I also use 20 day ADR%, and based on the comparison to 20 day ADR%, I create the three color of Lod dist.% (green, yellow, and red), tells if the Lod dist.% is <=1/2 ADR% or >1/2 but <=1 ADR% or >1 ADR%.
This help me understand if the buy at the tight risk (green), or is it a chase (red).
teril 1H EMA50 Harami Reversal Alerts BB Touch teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
teril Harami Reversal Alerts BB Touch (Wick Filter Added + 1H EMA50)
Swing HL**摆动点标注(Swing HL)**
本指标用于在价格图表上标示摆动高点与摆动低点,以辅助用户观察价格结构、波段节奏及潜在支撑/阻力区域。标注以圆点形式叠加在主图上,可通过参数灵活控制显示周期、敏感度及视觉样式,适合作为价格结构分析的辅助工具。
### 参数及用法说明
1. **最小显示时间框架(minSwingTf)**
* 用途:设定摆动点开始显示的最小周期。
* 当前图表周期小于该设置时,不显示任何摆动标注。
* 建议:
* 做中短线结构分析时,可设置为 240 分钟或更高;
* 若需要在更小周期观察结构,可适当降低该参数。
2. **left / right(leftBars / rightBars)**
* 用途:共同控制摆动高点、低点识别的“严格程度”和频率。
* 调整建议:
* 数值较小:标注更频繁,适合关注细节波动、短线结构;
* 数值较大:只保留更明显的摆动点,适合观察中期或波段结构;
* 当图表上摆动点过多、显得拥挤时,可适当增大这两个参数。
3. **标注颜色(dotColor)**
* 用途:设置摆动点圆标的颜色。
* 建议根据图表背景及主图颜色进行调整,以保证摆动点清晰可见但不过于抢眼。
4. **线宽(dotWidth)**
* 用途:控制圆点标注的线宽,从而影响圆点的视觉大小。
* 当需要在高密度数据或缩放较小时保持清晰,可适当增大该数值。
### 使用建议
* 可将本指标作为结构辅助层叠加在任何交易系统之上,用于直观划分价格的波段高低点。
* 进行多周期分析时,可在较大周期(如 4H、日线)上利用本指标确认整体结构,再配合小周期执行入场与风控。
* 当摆动点过多时,可通过提高 `minSwingTf` 或增加 `left` / `right` 参数,使结构标注更加简洁清晰。
* 本指标仅提供价格摆动结构的可视化标注,不直接构成完整的交易信号或策略规则,建议与个人既有分析方法结合使用。
---
**Swing HL – Swing High/Low Marker**
This indicator marks swing highs and swing lows on the price chart to assist in reading price structure, swing rhythm, and potential support/resistance zones. Markers are plotted as dots on the main chart, and display behavior can be fully controlled via user inputs such as minimum timeframe, sensitivity, and visual style. It is designed to serve as a structural overlay for discretionary or systematic analysis.
### Inputs and Usage
1. **Minimum Display Timeframe (minSwingTf)**
* Purpose: Defines the minimum timeframe on which swing markers will be shown.
* When the current chart timeframe is below this setting, all swing markers are hidden.
* Guidance:
* For swing or position-style structure analysis, consider using 4H or higher;
* For intraday structural work, you may lower this value as needed.
2. **left / right (leftBars / rightBars)**
* Purpose: Jointly control how strict and how frequent swing highs and lows are marked.
* Tuning:
* Smaller values: More frequent swings, suitable for detailed, lower-timeframe structure;
* Larger values: Only more pronounced swings are kept, suitable for higher-level trend and swing mapping;
* If the chart becomes crowded with markers, increasing these values will simplify the structure.
3. **Marker Color (dotColor)**
* Purpose: Sets the color of the swing markers.
* It is recommended to choose a color that contrasts with the background and main price plot while remaining visually unobtrusive.
4. **Line Width (dotWidth)**
* Purpose: Controls the line width of the dot markers, effectively adjusting their perceived size.
* On dense charts or when zoomed out, a larger value can help maintain readability.
### Practical Notes
* Use this indicator as a structural overlay to highlight swing highs and lows alongside your existing trading tools and methods.
* In multi-timeframe workflows, it can help outline the main structure on higher timeframes (e.g., 4H, Daily), which you then refine on lower timeframes for execution.
* If too many swing points appear, either increase `minSwingTf` or raise the `left` / `right` values to obtain a cleaner structural view.
* The script is intended as a visualization aid for price swings; it does not, by itself, define entry, exit, or risk management rules and should be integrated into a broader analytical framework.
Daily O/C Span (Real Values & SMA Comparison)This Pine Script indicator helps you visualize and track the "momentum" or "strength" of each trading day, and compares it to a recent average. It essentially measures the net movement of the price from when the market opens to when it closes.
What the Script Does
The script performs the following actions:
Calculates Daily Movement: For every single trading day, it calculates the difference between the closing price and the opening price (Close - Open).
Plots the "Span": These daily differences are plotted as vertical bars (a histogram) in a separate window below your main price chart.
-Green bars mean the stock closed higher than it opened (a strong day).
-Red bars mean the stock closed lower than it opened (a weak day).
Calculates the Average: It calculates the Simple Moving Average (SMA) of these daily spans over an adjustable period (default is 30 days).
Plots the Average Line: A blue line is plotted over the green/red bars, showing the typical magnitude of daily movement.
Displays Comparison: A table in the top-right corner provides a quick, real-time numerical comparison of today's span versus the 30-day average span.
How It Can Improve Trading
This indicator helps you understand the character and conviction of price action, offering several trading insights:
Gauging Momentum: It clarifies whether the stock's moves are generally strong and sustained within a day (large spans) or hesitant (small spans).
Identifying Trends: During an uptrend, you might expect the average span line to be consistently positive (above zero), and vice versa for a downtrend. A positive average span indicates buyers are consistently closing the day stronger than where they started it.
Spotting Reversals: If a stock is in a strong uptrend but you suddenly see a series of large red bars (large negative spans), it could signal a shift in momentum and potential upcoming reversal.
Volatility Context: By comparing the current day's bar to the blue average line, you can quickly determine if today is an unusually strong/weak day relative to recent history.
In short, it helps you see the underlying buyer/seller conviction within each day, making it easier to gauge the overall market sentiment and anticipate potential shifts.
NQ 300+ Point Day Checklist (Bias + Alerts + Markers)This indicator helps identify high-range (≥300-point) days on Nasdaq-100 futures (NQ / MNQ) using a clear, rule-based checklist.
It evaluates volatility, compression, price displacement, prior-day structure, and overnight activity to generate a daily expansion score (0–6). Higher scores signal an increased likelihood of a strong trending or expansion day.
The script also provides:
Expansion probability levels (Normal / Watch / High-Prob)
Bullish, bearish, or neutral bias
On-chart markers and background highlights
Optional alerts for early awareness
Best used on the Daily timeframe to help traders focus on high-opportunity days and avoid overtrading during consolidation.
This is a context and probability tool — not a trade signal.
E-MasterE-Master v2.5.2 is an internal development build created for structural testing and layout consistency experiments.
This script was not designed for practical trading use and is currently maintained only to observe how different visual components behave under various chart conditions. The calculations, filters, and outputs are incomplete, unoptimized, and may change without notice.
The indicator may produce irregular visuals, unclear states, or seemingly redundant information. Interpretation is intentionally non-intuitive and may not align with standard technical analysis practices.
E-Master does not generate actionable signals, trade recommendations, or reliable confirmations. Any apparent patterns or reactions should be considered coincidental and unsuitable for decision-making.
Due to its experimental nature, this tool may behave inconsistently across symbols, timeframes, or market environments. Users are strongly discouraged from relying on it for analysis, execution, or strategy development.
This script exists solely for testing, debugging, and exploratory purposes during ongoing development.






















