GOLDSNIPERThe Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading.
Aug 6
Release Notes
The Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading
Aug 13
Release Notes
The Gold Sniper Indicator is a precision trading tool designed specifically for scalping and intraday trading Gold (XAUUSD) on TradingView.
It automatically plots institutional key levels, detects breakout & retest opportunities, and provides trade management levels (Stop Loss & Take Profit) for structured, disciplined trading.
3 days ago
Release Notes
The Gold Sniper Indicator is a precision TradingView tool for scalping and intraday trading Gold (XAUUSD).
It is built around a break-and-retest strategy with clear trade management: 10 pip Stop Loss, 20 pip TP1, and 35 pip TP2.
The indicator automatically:
• Plots institutional key levels and supply & demand zones
• Detects breakout and retest opportunities in real time
• Provides stop loss and take profit levels for structured, disciplined trading
Whether you’re a scalper or day trader, Gold Sniper helps you catch high-probability setups on XAUUSD with precise risk-to-reward ratios (1:1 and 1:3).
Grafik Desenleri
DAMMU Buy vs Sell Liquidity + DifferenceIndicator Name:
Buy vs Sell Liquidity + Difference
Purpose:
This indicator helps traders analyze market liquidity by comparing the cumulative buy and sell volumes within a specified timeframe. It shows which side (buyers or sellers) is dominating and the magnitude of the imbalance.
Key Features:
Aggregation Timeframe:
Users can select the timeframe (1, 2, 3, 5, 15, 30 minutes) for which volume is analyzed.
Buy & Sell Volume Calculation:
Buy Volume: Total volume of candles where close > open.
Sell Volume: Total volume of candles where close < open.
Daily Reset:
Totals reset at the start of each new day, ensuring intra-day liquidity analysis.
Difference Calculation:
Shows the absolute difference between buy and sell volumes.
Also calculates the difference as a percentage of total volume.
Percentages:
Displays buy %, sell %, and diff % to 4 decimal places, giving precise insights.
Table Display:
A two-row table in the top-right corner of the chart:
Row 1: Absolute totals for BUY, SELL, and DIFF (full numbers with commas).
Row 2: Percentages for BUY, SELL, and DIFF (4 decimals).
Uses color coding: Green for BUY, Red for SELL, Dynamic for DIFF (based on dominance).
How to Use:
High Buy Volume: Indicates strong buying pressure; bullish sentiment.
High Sell Volume: Indicates strong selling pressure; bearish sentiment.
Large DIFF %: Signals dominant market side; useful for short-term scalping or spotting liquidity imbalance.
Comparing BUY vs SELL %: Helps identify when the market may reverse or continue the trend.
If you want, I can also make a 1-paragraph “trader-friendly” explanation that you could directly include in your Pine Script as a comment or in a strategy guide.
Dynamic Sessions - Asia, London, New YorkThis indicator lets you set trading sessions (custom sessions) and print them out as dynamic polyboxes instead of traditional rectangles which lets you identify strong moves and trends easier.
NIFTY Consolidation → Breakout FinderThis indicator defines 5 day consolidation period and breakout label. This works best on a daily chart. Please back test before use.
XAUUSD Scalping 1min TFThis script is for use on the 1min timeframe, we are looking for quick scalp trades when price reverses from Highs or lows - when the shot fires taking a 1:2 Trade 500pips TP and 250pips SL
Alpha All-in-One Gold Scalper (Locked + 10-Trade UI)V2.0 Alpha All-in-One Gold Scalper (Locked + 10-Trade UI)V2.0
Alpha All-in-One Gold Scalper (Locked + 10-Trade UI)Alpha All-in-One Gold Scalper (Locked + 10-Trade UI)
Mini Coil Inside Break & Inside BarThis indicator is designed for traders focusing on price action patterns like inside bars, mini coil contractions, and inside bar breakouts. It helps identify potential reversal or continuation setups in ranging or consolidating markets by highlighting bars that fit within prior ranges and signaling breaks for entry opportunities.
1. Inside Bar Detection
Scans for bars where the high/low is fully nested within the range of any prior 1–10 bars—capturing multi-level consolidations beyond simple 1:1 inside bars.
2. Inside Breakout
Highlights green bars on bullish breaks: Close > previous high, confirmed by the prior bar being "inside" relative to 2–11 bars back.
3. Mini Coil Bar Visualization
Colors bars (shifted -2 for clarity) in yellow (bullish prior coil) or magenta (bearish) when the current and previous bars are fully inside the range of the bar 2 periods ago.
Smoothed Heiken Ashi Candles [JopAlgo]Smoothed Heiken Ashi Candles — cleaner bias, less noise, better timing
What it does (one line):
Builds a two-stage smoothed Heiken Ashi view so you can read trend vs. pullback without the usual candle noise. Color does the talking:
Lime = bullish state (close ≥ open on the smoothed HA feed)
Red = bearish state
Under the hood: price is EMA-smoothed ( Length len ), converted to Heiken Ashi, then smoothed again ( Length len2 ). Net effect: fewer whips, clearer swings.
What you’ll see
A full candle chart of Smoothed HA (o₂/h₂/l₂/c₂).
Color rule: o₂ > c₂ → red (bearish), otherwise lime (bullish).
No extra clutter—just an easy bias read you can trust at a glance.
Read in 3 seconds: What color? What slope? Are pullbacks shallow or deep relative to the last swing?
How to use it (simple, repeatable)
Bias filter:
Trade longs while candles are lime.
Trade shorts while candles are red.
Where to act (location first):
Use Volume Profile v3.2 (VAH/VAL/POC/LVNs) and Anchored VWAP for entries/targets.
No level, no trade.
When to click (timing):
Continuation: In lime, buy the first pullback that holds a level (VAL/AVWAP/MA cluster) and prints a fresh lime close. Mirror for red shorts.
Reclaim/Reject: A color flip that happens at a level (e.g., AVWAP reclaim → turns lime) is higher quality than a random mid-range flip.
Quality check (optional, strong):
If you use CVDv1 , prefer setups with Alignment OK and no Absorption against your side.
Timeframe guidance
1–5m (scalps): Keep len / len2 shorter (e.g., 5 / 5 or 6 / 8) to avoid lag.
15m–1H (intraday): Default 10 / 10 is a sweet spot.
2H–4H (swing): Try 14–20 / 10–14 for smoother swings.
1D+ (position): 20–34 / 14–20 for backdrop; execute on a lower TF.
Settings that actually matter (and how to tune)
Smoothing Length for Original OHLC (len)
Controls the base smoothness before HA.
Lower = more reactive, more flips.
Higher = steadier bias, more lag.
Smoothing Length for Heiken Ashi (len2)
Controls the final polish of the HA feed.
Lower = earlier turns (noisier).
Higher = fewer flips (slower).
Practical tip: If you get too many color flips, raise len2 first. If it feels sluggish at entries, lower len slightly.
Entries, exits, and risk (keep it tight)
Entry — continuation:
In lime, wait for a pullback to VAL / AVWAP / MA cluster, then a new lime close → enter.
Stop: below structure/last swing. Targets: POC/HVNs or prior swing high/low.
Entry — reclaim/reject:
Color flips at a level (e.g., AVWAP reclaim turns lime) → enter with the level holding.
Invalidation: immediate flip back on the next bar and level loss.
Manage:
If color stays with you but progress stalls at HVNs, trim. If color flips against your position, tighten or exit unless higher-TF context argues to hold.
Best combos with other tools
Volume Profile v3.2: Use VAH/VAL/LVNs/POC for where to act; Smoothed HA tells you if trend context supports the trade.
Anchored VWAP: A reclaim/rejection with matching HA color is a high-quality timing cue.
CVDv1: Take color-aligned trades with flow (Alignment OK, strong Imbalance, no Absorption).
Patterns you’ll recognize
Walk-of-color: Multiple same-color bars with rising/lowering bodies → ride pullbacks to level; don’t fade.
Color flip at level: The cleanest reversal context (e.g., red→lime on a VAL reclaim).
Chop tell: Rapid lime↔red flips mid-range → do less; only trade edges.
Practical defaults to start
len = 10, len2 = 10
Timeframes: 15m–4H out of the box
Process: Location → Color/Bias → Timing bar → (optional) CVD check → Structure-based risk
Serious Disclaimer & Licensing
This indicator and description are provided for educational purposes only and do not constitute financial, investment, or trading advice. Markets involve risk; you can lose some or all of your capital. Past performance does not guarantee future results. You are solely responsible for evaluating the suitability of this tool in your process, including testing on historical and simulated data and applying appropriate risk management.
Data quality can vary by exchange/venue. No warranty—express or implied—is made regarding accuracy, completeness, or fitness for a particular purpose. assumes no liability for any direct or consequential losses arising from the use of this script or description.
License: This Pine Script™ code is released under the Mozilla Public License 2.0 (MPL 2.0), © JopAlgo. You may use, modify, and distribute the code under MPL 2.0 terms.
Bias Table-manualIt is just at tabular column to manually update Bullish/Bearish for multiple timeframes. Provided date option which is also manual, to denote when the analysis was done and table updated. This will be helpful for multiple stocks/securities analysis on regular basis
JASHAN C.E Oscillatorjanduinteriors@outlook.com
janduinteriorslimited@gmail.com
JASMEET SINGH JANDU(JASHAN), RAJPREET SINGH JANDU(PRINCE)
悟隐高阶战法//@version=5
indicator("悟隐高阶战法", shorttitle='HT', overlay=true, max_labels_count=500, max_bars_back=5000)
// 输入参数
count_bull = input.int(3, title='非连续阳线数量', group='设置')
count_bear = input.int(3, title='非连续阴线数量', group='设置')
show_points = input.bool(true, title='显示高低点')
show_lines = input.bool(true,title = '显示线条')
max_points = input.int(200, title='最大点数')
line_color = input.color(color.purple, "连线颜色")
line_width = input.int(2, "线宽", minval=1, maxval=4)
h_color=input.color(color.red,title = 'H点颜色')
h_trs=input.float(80,title = 'h点透明度')
l_color=input.color(color.green,title = 'L点颜色')
l_trs=input.float(80,title = 'L点透明度')
// 警报设置
enable_alerts = input.bool(true, title='启用警报', group='警报设置')
show_signals = input.bool(true, title='显示BUY/SELL标记', group='信号显示设置')
signal_size = input.string('normal', title='信号标记大小', options= , group='信号显示设置')
signal_distance = input.float(0.1, title='信号标记距K线距离(%)', minval=0.05, maxval=0.5, group='信号显示设置')
// 各信号显示开关
show_signal_yyx = input.bool(true, title='显示看跌【阴阳阴】', group='信号开关')
show_signal_ayy = input.bool(true, title='显示看涨【阳阴阳】', group='信号开关')
show_signal_bull_1v2 = input.bool(true, title='显示看涨【一大于二】', group='信号开关')
show_signal_bear_1v2 = input.bool(true, title='显示看跌【一大于二】', group='信号开关')
show_signal_bear_2v2 = input.bool(true, title='显示看跌【二大于二】', group='信号开关')
show_signal_bull_2v2 = input.bool(true, title='显示看涨【二大于二】', group='信号开关')
show_signal_bull_engulf = input.bool(true, title='显示看涨吞没【吞没随阴线】', group='信号开关')
show_signal_bear_engulf = input.bool(true, title='显示看跌【吞没随阳线】', group='信号开关')
// 子条件显示开关
show_signal_bear_2v2_c1 = input.bool(true, title='看跌【二大于二】-条件1', group='子条件开关')
show_signal_bear_2v2_c2 = input.bool(true, title='看跌【二大于二】-条件2', group='子条件开关')
show_signal_bull_2v2_c1 = input.bool(true, title='看涨【二大于二】-条件1', group='子条件开关')
show_signal_bull_2v2_c2 = input.bool(true, title='看涨【二大于二】-条件2', group='子条件开关')
// ------------------ 自定义数据类型 ------------------
type RecordPrice
int bar_index
float open_price
float high_price
float low_price
float close_price
type Extremum
chart.point pt
string kind // "high" 或 "low"
type ABCPoints
float price_a
int index_a
float price_b
int index_b
float price_c
int index_c
string trend_type // "bull" 或 "bear"
bool broken // 是否被突破
// ------------------ 数组初始化 ------------------
var bullRecords = array.new()
var bearRecords = array.new()
var allPoints = array.new() // 存储所有高低点
var label pointLabels = array.new() // 存储绘制的标签,方便清理
var abcBullPoints = ABCPoints.new() // 存储牛市ABC点
var abcBearPoints = ABCPoints.new() // 存储熊市ABC点
// 存储黄线和标签的引用
var line yellowLines = array.new()
var label yellowLabels = array.new()
// 存储绿线和标签的引用
var line greenLines = array.new()
var label greenLabels = array.new()
// 突破状态变量
var bool cBroken = false
var int breakBarIndex = na
var bool fBroken = false
var int breakBarIndexBear = na
// 信号检测变量
var string currentSignal = ""
var string alertMessage = ""
var bool buySignal = false
var bool sellSignal = false
// ------------------ 状态变量 ------------------
var string lastPosition = "none"
var float lastHigh = na
var int lastHighBarIndex = na
var float lastLow = na
var int lastLowBarIndex = na
var float currentHigh = 0.0
var float currentLow = 0.0
var int currentHighBar = 0
var int currentLowBar = 0
// 使用Map存储每根K线是否创新高/新低
var map newHighMap = map.new()
var map newLowMap = map.new()
// 初始化
if barstate.isfirst
currentHigh := high
currentLow := low
currentHighBar := bar_index
currentLowBar := bar_index
// 更新区间高低并标记
bool isNewHigh = false
bool isNewLow = false
if high > currentHigh
currentHigh := high
currentHighBar := bar_index
isNewHigh := true
if low < currentLow
currentLow := low
currentLowBar := bar_index
isNewLow := true
// 存储当前K线的标记
map.put(newHighMap, bar_index, isNewHigh)
map.put(newLowMap, bar_index, isNewLow)
// ------------------ 方法 ------------------
method putRecord(array arr, int bar_idx, float open_pr, float high_pr, float low_pr, float close_pr) =>
newRecord = RecordPrice.new()
newRecord.bar_index := bar_idx
newRecord.open_price := open_pr
newRecord.high_price := high_pr
newRecord.low_price := low_pr
newRecord.close_price := close_pr
array.push(arr, newRecord)
method getRecord(array arr, int index) =>
if array.size(arr) > index and index >= 0
array.get(arr, index)
else
na
method removeRecord(array arr, int index) =>
if array.size(arr) > index and index >= 0
array.remove(arr, index)
method getLastRecord(array arr) =>
int size = array.size(arr)
if size > 0
array.get(arr, size - 1)
else
na
method isIncreasingLastN(array arr, int N) =>
if array.size(arr) < N
false
else
inc = true
for i = array.size(arr) - N to array.size(arr) - 2
prev = arr.getRecord(i)
curr = arr.getRecord(i + 1)
if curr.high_price <= prev.high_price
inc := false
break
inc
method isDecreasingLastN(array arr, int N) =>
if array.size(arr) < N
false
else
dec = true
for i = array.size(arr) - N to array.size(arr) - 2
prev = arr.getRecord(i)
curr = arr.getRecord(i + 1)
if curr.low_price >= prev.low_price
dec := false
break
dec
// 删除所有黄线和标签的方法
deleteYellowLinesAndLabels() =>
// 删除黄线
if array.size(yellowLines) > 0
for i = 0 to array.size(yellowLines) - 1
line l = array.get(yellowLines, i)
if not na(l)
line.delete(l)
array.clear(yellowLines)
// 删除标签
if array.size(yellowLabels) > 0
for i = 0 to array.size(yellowLabels) - 1
label lab = array.get(yellowLabels, i)
if not na(lab)
label.delete(lab)
array.clear(yellowLabels)
// 删除所有绿线和标签的方法
deleteGreenLinesAndLabels() =>
// 删除绿线
if array.size(greenLines) > 0
for i = 0 to array.size(greenLines) - 1
line l = array.get(greenLines, i)
if not na(l)
line.delete(l)
array.clear(greenLines)
// 删除标签
if array.size(greenLabels) > 0
for i = 0 to array.size(greenLabels) - 1
label lab = array.get(greenLabels, i)
if not na(lab)
label.delete(lab)
array.clear(greenLabels)
// 辅助函数:判断K线类型
isBullish(int offset = 0) =>
close > open
isBearish(int offset = 0) =>
close < open
// 辅助函数:获取当前趋势
getCurrentTrend() =>
if lastPosition == "low"
"uptrend" // 上涨趋势
else if lastPosition == "high"
"downtrend" // 下跌趋势
else
"none"
// 辅助函数:检查指定偏移的K线是否创过新高
wasNewHigh(int offset) =>
int targetBarIndex = bar_index - offset
bool result = false
if map.contains(newHighMap, targetBarIndex)
result := map.get(newHighMap, targetBarIndex)
result
// 辅助函数:检查指定偏移的K线是否创过新低
wasNewLow(int offset) =>
int targetBarIndex = bar_index - offset
bool result = false
if map.contains(newLowMap, targetBarIndex)
result := map.get(newLowMap, targetBarIndex)
result
// 辅助函数:检查过去N根K线中是否有创新高
hasNewHigh(int lookback = 3) =>
bool newHigh = false
for i = 0 to lookback - 1
if wasNewHigh(i)
newHigh := true
break
newHigh
// 辅助函数:检查过去N根K线中是否有创新低
hasNewLow(int lookback = 3) =>
bool newLow = false
for i = 0 to lookback - 1
if wasNewLow(i)
newLow := true
break
newLow
// 辅助函数:在过去5根K线中检查阴阳阴组合且有新高(相对于趋势起点)
checkBearishYYXPattern() =>
bool hasPattern = false
bool hasHighInRange = false
// 检查过去5根K线中是否有创新高
for i = 0 to 4
if wasNewHigh(i)
hasHighInRange := true
break
if hasHighInRange
// 检查过去3根K线的阴阳阴组合
if isBearish(0) and isBullish(1) and isBearish(2)
hasPattern := true
hasPattern
// 辅助函数:在过去5根K线中检查阳阴阳组合且有新低(相对于趋势起点)
checkBullishAYYPattern() =>
bool hasPattern = false
bool hasLowInRange = false
// 检查过去5根K线中是否有创新低
for i = 0 to 4
if wasNewLow(i)
hasLowInRange := true
break
if hasLowInRange
// 检查过去3根K线的阳阴阳组合
if isBullish(0) and isBearish(1) and isBullish(2)
hasPattern := true
hasPattern
// 辅助函数:检查是否是看涨吞没形态
isBullishEngulf(int offset = 0) =>
// 当前K线是阳线
isBullish(offset) and
// 吞没前一根K线
high > high and low < low and
// 确保只吞没前一根,不吞没前二根
not (high > high and low < low )
// 辅助函数:检查是否是看跌吞没形态
isBearishEngulf(int offset = 0) =>
// 当前K线是阴线
isBearish(offset) and
// 吞没前一根K线
high > high and low < low and
// 确保只吞没前一根,不吞没前二根
not (high > high and low < low )
// ------------------ 阳线/阴线处理 ------------------
if close > open
bullRecords.putRecord(bar_index, open, high, low, close)
if array.size(bullRecords) > count_bull
bullRecords.removeRecord(0)
if close < open
bearRecords.putRecord(bar_index, open, high, low, close)
if array.size(bearRecords) > count_bear
bearRecords.removeRecord(0)
// 做一个统计 ,记录当时的高价
var int count_long=na
var int count_short=na
var float high_price=na
var float low_price=na
// ------------------ 寻找低点 ------------------
if array.size(bullRecords) >= count_bull and bullRecords.isIncreasingLastN(count_bull) and close > open
if (lastPosition == "none" or lastPosition == "high") and low!=currentLow and bullRecords.first().bar_index >= currentLowBar
lastPosition := "low"
lastLow := currentLow
lastLowBarIndex := currentLowBar
if array.size(allPoints) >= max_points
array.shift(allPoints)
array.push(allPoints, Extremum.new(chart.point.from_index(lastLowBarIndex, lastLow), "low"))
currentHigh := high
currentHighBar := bar_index
count_long:=0
high_price:=high
// ------------------ 寻找高点 ------------------
if array.size(bearRecords) >= count_bear and bearRecords.isDecreasingLastN(count_bear) and close < open
if (lastPosition == "none" or lastPosition == "low") and high!=currentHigh and bearRecords.first().bar_index >= currentHighBar
lastPosition := "high"
lastHigh := currentHigh
lastHighBarIndex := currentHighBar
if array.size(allPoints) >= max_points
array.shift(allPoints)
array.push(allPoints, Extremum.new(chart.point.from_index(lastHighBarIndex, lastHigh), "high"))
currentLow := low
currentLowBar := bar_index
count_short:=0
low_price:=low
// ------------------ 绘制 ------------------
if barstate.islast and array.size(allPoints) > 1
// 删除旧的标签
for l in pointLabels
label.delete(l)
array.clear(pointLabels)
// 历史折线
if array.size(allPoints) > 2 and show_lines
tmpPts = array.new()
for i = 0 to array.size(allPoints)-2
ex = array.get(allPoints, i)
array.push(tmpPts, ex.pt)
polyline.new(tmpPts, xloc=xloc.bar_index, line_color=line_color, line_width=line_width)
// 最后一段线
if array.size(allPoints) >= 2 and show_lines
ex1 = array.get(allPoints, array.size(allPoints)-2)
ex2 = array.get(allPoints, array.size(allPoints)-1)
line.new(x1=ex1.pt.index, y1=ex1.pt.price, x2=ex2.pt.index, y2=ex2.pt.price,
xloc=xloc.bar_index, color=line_color, width=line_width)
// 高低点标签
if show_points
for i = 0 to array.size(allPoints)-1
ex = array.get(allPoints, i)
label lbl = na
if ex.kind == "low"
lbl := label.new(ex.pt.index, ex.pt.price, text=str.tostring(ex.pt.price),
style=label.style_label_up, color=color.new(color.green,80), textcolor=color.white)
else
lbl := label.new(ex.pt.index, ex.pt.price, text=str.tostring(ex.pt.price),
style=label.style_label_down, color=color.new(color.red,80), textcolor=color.white)
array.push(pointLabels,lbl)
// ------------------ 虚线预测段 ------------------
var line lastDashedLine = na
var label lastDashedLabel = na
if barstate.islast and array.size(allPoints) > 0
lastEx = array.get(allPoints, array.size(allPoints)-1)
if lastEx.kind == "low" and show_lines
if not na(lastDashedLine)
line.delete(lastDashedLine)
lastDashedLine := line.new(lastEx.pt.index, lastEx.pt.price, currentHighBar, currentHigh,
xloc=xloc.bar_index, color=line_color, width=line_width, style=line.style_dashed)
if show_points
if not na(lastDashedLabel)
label.delete(lastDashedLabel)
lastDashedLabel := label.new(lastEx.pt.index, lastEx.pt.price, text='H',
style=label.style_label_down, color=color.new(h_color,h_trs), textcolor=color.white)
if lastEx.kind == "high" and show_lines
if not na(lastDashedLine)
line.delete(lastDashedLine)
lastDashedLine := line.new(lastEx.pt.index, lastEx.pt.price, currentLowBar, currentLow,
xloc=xloc.bar_index, color=line_color, width=line_width, style=line.style_dashed)
if show_points
if not na(lastDashedLabel)
label.delete(lastDashedLabel)
lastDashedLabel := label.new(currentLowBar, currentLow, text='L',
style=label.style_label_up, color=color.new(l_color,l_trs), textcolor=color.white)
// ------------------ 信号检测逻辑 ------------------
// 重置信号
buySignal := false
sellSignal := false
currentSignal := ""
alertMessage := ""
if enable_alerts and bar_index >= 2
// 获取当前趋势
trend = getCurrentTrend()
// 信号1:看跌【阴阳阴】- 上涨趋势中,过去5根K线中有新高且出现阴线-阳线-阴线组合
if show_signal_yyx and trend == "uptrend" and checkBearishYYXPattern()
sellSignal := true
currentSignal := "SELL"
alertMessage := "看跌【阴阳阴】"
// 信号2:看涨【阳阴阳】- 下跌趋势中,过去5根K线中有新低且出现阳线-阴线-阳线组合
if show_signal_ayy and trend == "downtrend" and checkBullishAYYPattern()
buySignal := true
currentSignal := "BUY"
alertMessage := "看涨【阳阴阳】"
// 信号3:看涨【一大于二】- 下跌趋势中创新低,出现阳线,左边2根K至少有一根阴线
if show_signal_bull_1v2 and trend == "downtrend" and isBullish(0) and (isBearish(1) or isBearish(2)) and hasNewLow(3)
// 条件1:阳线实体最高价(收盘价)大于左边2根K实体最高价且实体最低价(开盘价)小于左边2根K实体最低价
condition1 = close > math.max(close , open ) and close > math.max(close , open ) and
open < math.min(close , open ) and open < math.min(close , open )
// 条件2:阳线最高价分别大于左边2根K最高价且最低价分别小于左边2根K最低价
condition2 = high > high and high > high and low < low and low < low
if condition1 or condition2
buySignal := true
currentSignal := "BUY"
alertMessage := "看涨【一大于二】"
// 信号4:看跌【一大于二】- 上涨趋势中,出现阴线,左边2根K至少有一根阳线
if show_signal_bear_1v2 and trend == "uptrend" and isBearish(0) and (isBullish(1) or isBullish(2)) and hasNewHigh(3)
// 条件1:阴线实体最高价(开盘价)大于左边2根K实体最高价且实体最低价(收盘价)小于左边2根K实体最低价
condition1 = open > math.max(close , open ) and open > math.max(close , open ) and
close < math.min(close , open ) and close < math.min(close , open )
// 条件2:阴线最高价分别大于左边2根K最高价且最低价分别小于左边2根K最低价
condition2 = high > high and high > high and low < low and low < low
if condition1 or condition2
sellSignal := true
currentSignal := "SELL"
alertMessage := "看跌【一大于二】"
// 信号5:看跌【二大于二】- 上涨趋势中
if show_signal_bear_2v2 and trend == "uptrend" and bar_index >= 3
// 条件1:连续2根阴线收盘价低于左边2根K线,且4根K线前3根必须有一根创新高(相对于趋势起点)
condition1 = show_signal_bear_2v2_c1 and isBearish(0) and isBearish(1) and
close < close and close < close and close < close and close < close and
(wasNewHigh(1) or wasNewHigh(2) or wasNewHigh(3))
// 条件2:连续2根阳线后再连续2根阴线,2根阴线最低价低于前面2根阳线最低价,最高价大于前面2根阳线最高价,中间2根K必须有一根创新高(相对于趋势起点)
condition2 = show_signal_bear_2v2_c2 and isBearish(0) and isBearish(1) and isBullish(2) and isBullish(3) and
math.min(low, low ) < math.min(low , low ) and
math.max(high, high ) > math.max(high , high ) and
(wasNewHigh(1) or wasNewHigh(2))
if condition1 or condition2
sellSignal := true
currentSignal := "SELL"
alertMessage := "看跌【二大于二】" + (condition1 ? "-条件1" : "") + (condition2 ? "-条件2" : "")
// 信号6:看涨【二大于二】- 下跌趋势中
if show_signal_bull_2v2 and trend == "downtrend" and bar_index >= 3
// 条件1:连续2根阳线收盘价高于左边2根K线,且4根K线前3根必须有一根创新低(相对于趋势起点)
condition1 = show_signal_bull_2v2_c1 and isBullish(0) and isBullish(1) and
close > close and close > close and close > close and close > close and
(wasNewLow(1) or wasNewLow(2) or wasNewLow(3))
// 条件2:连续2根阴线后再连续2根阳线,2根阳线最低价低于前面2根阴线最低价,最高价大于前面2根阴线最高价,中间2根K必须有一根创新低(相对于趋势起点)
condition2 = show_signal_bull_2v2_c2 and isBullish(0) and isBullish(1) and isBearish(2) and isBearish(3) and
math.min(low, low ) < math.min(low , low ) and
math.max(high, high ) > math.max(high , high ) and
(wasNewLow(1) or wasNewLow(2))
if condition1 or condition2
buySignal := true
currentSignal := "BUY"
alertMessage := "看涨【二大于二】" + (condition1 ? "-条件1" : "") + (condition2 ? "-条件2" : "")
// 信号7:看跌【吞没随阴线】- 上涨趋势中阳线吞没前一根K线,阳线后出现阴线,且有一根K创新高
if show_signal_bull_engulf and trend == "uptrend" and bar_index >= 2 and
isBullishEngulf(1) and isBearish(0) and hasNewHigh(3)
sellSignal := true
currentSignal := "SELL"
alertMessage := "看跌【吞没随阴线】"
// 信号8:看涨【吞没随阳线】- 下跌趋势中阴线吞没前一根K线,阴线后出现阳线,且有一根K创新低
if show_signal_bear_engulf and trend == "downtrend" and bar_index >= 2 and
isBearishEngulf(1) and isBullish(0) and hasNewLow(3)
buySignal := true
currentSignal := "BUY"
alertMessage := "看涨【吞没随阳线】"
// ------------------ BUY/SELL标记显示 ------------------
if show_signals
// 根据signal_size设置标记大小
labelSize = switch signal_size
"tiny" => size.tiny
"small" => size.small
"normal" => size.normal
"large" => size.large
"huge" => size.huge
=> size.normal
// 显示BUY信号
if buySignal
label.new(bar_index, low - (high - low) * signal_distance, text="BUY",
style=label.style_label_up, color=color.new(color.green, 0),
textcolor=color.white, size=labelSize, tooltip=alertMessage)
// 显示SELL信号
if sellSignal
label.new(bar_index, high + (high - low) * signal_distance, text="SELL",
style=label.style_label_down, color=color.new(color.red, 0),
textcolor=color.white, size=labelSize, tooltip=alertMessage)
// ------------------ TradingView警报条件 ------------------
// 检查是否有启用的买入/卖出信号(包括子条件)
enabledBuySignals = show_signal_ayy or
(show_signal_bull_1v2 ) or
(show_signal_bull_2v2 and (show_signal_bull_2v2_c1 or show_signal_bull_2v2_c2)) or
show_signal_bear_engulf
enabledSellSignals = show_signal_yyx or
(show_signal_bear_1v2) or
(show_signal_bear_2v2 and (show_signal_bear_2v2_c1 or show_signal_bear_2v2_c2)) or
show_signal_bull_engulf
// 买入信号警报
alertcondition(enable_alerts and enabledBuySignals and buySignal, title="买入信号", message="{{alertMessage}}")
// 卖出信号警报
alertcondition(enable_alerts and enabledSellSignals and sellSignal, title="卖出信号", message="{{alertMessage}}")
// 所有信号的通用警报
alertcondition(enable_alerts and (enabledBuySignals and buySignal or enabledSellSignals and sellSignal), title="所有交易信号",
message="信号类型: {{currentSignal}}, 详情: {{alertMessage}}")
// 具体的信号类型警报
alertcondition(enable_alerts and show_signal_ayy and buySignal and str.contains(alertMessage, "阳阴阳"), title="看涨【阳阴阳】", message="看涨【阳阴阳】")
alertcondition(enable_alerts and show_signal_yyx and sellSignal and str.contains(alertMessage, "阴阳阴"), title="看跌【阴阳阴】", message="看跌【阴阳阴】")
alertcondition(enable_alerts and show_signal_bull_1v2 and buySignal and str.contains(alertMessage, "一大于二"), title="看涨【一大于二】", message="看涨【一大于二】")
alertcondition(enable_alerts and show_signal_bear_1v2 and sellSignal and str.contains(alertMessage, "一大于二"), title="看跌【一大于二】", message="看跌【一大于二】")
alertcondition(enable_alerts and show_signal_bull_2v2 and buySignal and str.contains(alertMessage, "二大于二"), title="看涨【二大于二】", message="看涨【二大于二】")
alertcondition(enable_alerts and show_signal_bear_2v2 and sellSignal and str.contains(alertMessage, "二大于二"), title="看跌【二大于二】", message="看跌【二大于二】")
alertcondition(enable_alerts and show_signal_bull_engulf and sellSignal and str.contains(alertMessage, "吞没随阴线"), title="看涨吞没【吞没随阴线】", message="看涨吞没【吞没随阴线】")
alertcondition(enable_alerts and show_signal_bear_engulf and buySignal and str.contains(alertMessage, "吞没随阳线"), title="看跌【吞没随阳线】", message="看跌【吞没随阳线】")
10MA Crosses Above 20MA//@version=5
indicator("10MA Crosses Above 20MA", overlay=true)
ma10 = ta.sma(close, 10)
ma20 = ta.sma(close, 20)
plot(ma10, color=color.orange, title="10MA")
plot(ma20, color=color.blue, title="20MA")
crossUp = ta.crossover(ma10, ma20)
alertcondition(crossUp, title="10MA Crosses Above 20MA", message="10MA升穿20MA,可能是買入訊號!")
10MA Crosses Above 20MA//@version=5
indicator("10MA Crosses Above 20MA", overlay=true)
ma10 = ta.sma(close, 10)
ma20 = ta.sma(close, 20)
plot(ma10, color=color.orange, title="10MA")
plot(ma20, color=color.blue, title="20MA")
crossUp = ta.crossover(ma10, ma20)
alertcondition(crossUp, title="10MA Crosses Above 20MA", message="10MA升穿20MA,可能是買入訊號!")
Opening Range Gaps [TakingProphets]What is an Opening Range Gap (ORG)?
In ICT, the Opening Range Gap is defined as the price difference between the previous session’s close (e.g., 4:00 PM EST in U.S. indices) and the current day’s open (9:30 AM EST).
That gap is a liquidity void—an area where no trading occurred during regular hours.
Why ICT Traders Care About ORG
Liquidity Void (Gap Fill Logic)
-Because the gap is an untraded area, it naturally acts as a draw on liquidity.
-Price often seeks to rebalance by retracing into or fully filling this void.
Premium/Discount Sensitivity
-Once the ORG is defined, ICT treats it as a mini dealing range.
-Above EQ (Consequent Encroachment) = algorithmic premium (sell-sensitive).
-Below EQ = algorithmic discount (buy-sensitive).
-Price reaction at these levels gives a precise read on institutional intent intraday.
Support/Resistance from ORG
-If the session opens above prior close, the gap often acts as support until violated.
-If the session opens below prior close, the gap often acts as resistance until reclaimed.
Key ICT Concepts Anchored to ORG
Consequent Encroachment (CE): The midpoint of the gap. The algo is highly sensitive to CE as a decision point: reject → continuation; reclaim → reversal.
Draw on Liquidity (DoL): Price is algorithmically “pulled” toward gap fills, CE, or the opposite side of the ORG.
Order Flow Confirmation: If price ignores the gap and runs away from it, this signals strong institutional order flow in that direction.
Confluence with Other Tools: FVGs, OBs, and HTF PD arrays often overlap with ORG levels, strengthening setups.
Practical Application for Traders
Bias Formation:
Use ORG EQ as a line in the sand for intraday bias.
If price trades below ORG EQ after the open → look for short setups into the prior day’s low or external liquidity.
If price trades above ORG EQ → favor longs into highs/liquidity pools.
Execution Framework:
Wait for liquidity raids or market structure shifts at ORG edges (.00, .25, .50, .75).
Target: EQ, opposite quarter, or full gap fill.
Precision Reads:
ORG lines let traders anticipate where algorithms are likely to respond, providing mechanical invalidation and clear targets without clutter.
Big BaseA 120 bar breakout is considered powerful because it identifies price moves beyond a significant and long term reference point the highest closing price over approximately 6 months of trading days. Such breakouts signal strong momentum and often mark the start of major new trends or significant price swings.
It represents a breakout beyond a well established resistance level formed over many weeks, highlighting strong buying interest that overcame prior price ceilings.
This timeframe reduces noise from short term fluctuations, helping focus on sustained moves with higher probability of follow through
Breakouts from long consolidation periods tend to generate increased volatility, attracting more traders and volume, which supports stronger trends.
These breakouts can act as a reliable signal for entry points in both swing trading and longer-term investing, often leading to substantial price appreciation.
To leverage such breakouts, traders typically confirm the breakout with volume spikes, set appropriate stop loss levels just below the breakout price, and manage risk carefully since not all breakouts hold.
Odd Digit Candle High/Low Sums [Cross-Aware EMA]DO NOt use this
This is only a test showcasing cool different color options and stuff
It has no use
Do not use
SMA Pro (Tick)Simple moving average based on 100 ticks, by default. Use for high volume markets like ES, NQ, and RTY.
Multi-Timeframe MACD with Color Mix (Nikko)Multi-Timeframe MACD with Color Mix (Nikko) Indicator
This documentation explains the benefits of the "Multi-Timeframe MACD with Color Mix (Nikko)" indicator for traders and provides easy-to-follow steps on how to use it. Written as of 05:06 AM +07 on Saturday, October 04, 2025, this guide focuses on helping you, as a trader, get the most out of this tool with clear, practical advice before diving into the technical details.
Benefits for Traders
1. Multi-Timeframe Insight
This indicator lets you see momentum trends across 15-minute, 1-hour, 1-day, and 1-week timeframes all on one chart. This big-picture view helps you catch both quick market moves and long-term trends without flipping between charts, saving you time and giving you a fuller understanding of the market.
2. Visual Momentum Representation
The background changes from red to green based on short-term (15m) momentum, giving you a quick, easy-to-see signal—red means bearish (prices might drop), and green means bullish (prices might rise). The histogram uses a mix of red, green, and blue colors to show the combined strength of the 1-hour, 1-day, and 1-week timeframes, helping you spot strong trends at a glance (e.g., a bright mix for strong momentum, darker for weaker).
3. Enhanced Decision-Making
The background and histogram colors work together to confirm trends across different timeframes, making it less likely you’ll act on a false signal. This helps you feel more confident when deciding when to buy, sell, or hold.
4. Proactive Alert System
You can set alerts to notify you when the percentage of bullish timeframes hits your chosen levels (e.g., below 10% for bearish, above 90% for bullish). This keeps you in the loop on big momentum shifts without needing to watch the chart all day—perfect for when you’re busy.
5. Flexibility and Efficiency
You can turn timeframes on or off, adjust settings like speed of the moving averages, and tweak transparency to fit your trading style—whether you’re a fast scalper or a patient swing trader. Everything is shown on one chart, saving you effort, and the colors make it simple to read, even if you’re new to trading.
How to Use It
Getting Started
Add the Indicator: Load the "Multi-Timeframe MACD with Color Mix (Nikko)" onto your TradingView chart using the Pine Script editor or indicator library.
Pick Your Timeframes: Turn on the timeframes that match your trading—use 15m and 1h for quick trades, or 1d and 1w for longer holds—using the enable_15m, enable_1h, enable_1d, enable_1w, and enable_background options.
Reading the Colors
Background Gradient: Watch for red to signal bearish 15m momentum and green for bullish momentum. Adjust the Background_transparency (default 75%, or 25% opacity) if the chart feels too busy—try lowering it to 50 for clearer candlesticks in fast markets.
Histogram and EMA Colors:
The histogram and its Exponential Moving Average (EMA) line show a mix of red (1-week), green (1-day), and blue (1-hour) based on how strong the momentum is in each timeframe.
Brighter colors mean stronger momentum—white (all bright) shows all timeframes are pushing up hard, while darker shades (like gray or black) mean weaker or mixed momentum.
Turn off a timeframe (e.g., enable_1h = false) to see how it changes the color mix and focus on what matters to you.
Setting Alerts
Set Your Levels: Choose a threshold_low (default 10%) and threshold_high (default 90%) based on your comfort zone or past market patterns to catch big turns.
Get Notifications: Use TradingView alerts to get pings when the market hits your set levels, so you can act without staring at the screen.
Practical Tips
Pair with Other Tools: Use it with support/resistance lines or the RSI to double-check your moves and build a solid plan.
Tweak Settings: Adjust fast_length, slow_length, and signal_smoothing to match your asset’s speed, and bump up the lookback (default 50) for steadier trends in wild markets.
Practice First: Test different timeframe combos on a demo account to find what works best for you.
Understanding the Colors (Simple Explanation)
How Colors Work
The histogram and its EMA line use a color mix based on a simple idea from color theory, like mixing paints with red, green, and blue (RGB):
Red comes from the 1-week timeframe, green from 1-day, and blue from 1-hour.
When all three timeframes show strong upward momentum, they blend into bright white—the brightest color, like a super-bright light telling you the market’s roaring up.
If some timeframes are weak or pulling down, the mix gets darker (like gray or black), warning you the momentum might not be solid.
Brighter is Better
Bright Colors = Strong Opportunity: The brighter the histogram and EMA (closer to white), the more all your chosen timeframes are in agreement that prices are rising. This is your signal to think about buying or holding, as it points to a powerful trend you can ride.
Dark Colors = Caution: A darker mix (toward black) means some timeframes are lagging or bearish, suggesting you might wait or consider selling. It’s like a dim light saying, “Hold on, check again.”
Benefit in Practice: Watching the brightness helps you jump on the best trades fast. For example, a bright white histogram on a green background is like a green traffic light—go for it! A dark gray on red is like a red light—pause and rethink. This quick color check can save you from bad moves and boost your profits when the trend is strong.
Why It Helps
These colors are your fast friend in trading. A bright histogram means all your timeframes are cheering for an uptrend, giving you the confidence to act. A dull one tells you to be careful, helping you avoid traps. It’s like having a color-coded guide to pick the hottest market moments!
Technical Details
Input Parameters
Fast Length (default: 12): Short-term moving average speed.
Slow Length (default: 26): Long-term moving average speed.
Source (default: close): Price data used.
Signal Smoothing (default: 9): Smooths the signal line.
MA Type (default: EMA): Choose EMA or SMA.
Timeframe and Scaling
Timeframes: 15m, 1h, 1d, 1w, with on/off switches.
Lookback Period (default: 50): Sets the data window for trends.
Background Transparency (default: 75%): Controls background see-through level.
MACD Calculation
Per Timeframe: Uses request.security():
MACD Line: ta.ema(src, fast_length) - ta.ema(src, slow_length).
Signal Line: ta.ema(MACD, signal_length).
Histogram: (macd - signal) / 3.0.
Background Gradient
15m Normalization: norm_value = (hist_15m - hist_15m_min) / max(hist_15m_range, 1e-10), limited to 0-1.
RGB Mix: Red drops from 255 to 0, green rises from 0 to 255, blue stays 0.
Apply: color.new(color.rgb(r_val, g_val, b_val), Background_transparency).
Histogram and EMA Colors
Color Assignment:
1h: Blue (#0000FF) if hist_1h >= 0, else black.
1d: Green (#00FF00) if hist_1d >= 0, else black.
1w: Red (#FF0000) if hist_1w >= 0, else black.
Final Color: final_color = color.rgb(min(r, 255), min(g, 255), min(b, 255)).
Plotting: Histogram and EMA use final_color; MACD (#2962FF), signal (#FF6D00).
Alerts
Bullish Percentage: bullish_pct = (bullish_count / bullish_total) * 100, counting hist >= 0.
Triggers: Below threshold_low or above threshold_high.
--------------------------------------------------------------------
Conclusion
The "Multi-Timeframe MACD with Color Mix (Nikko)" is your all-in-one tool to spot trends, confirm moves, and trade smarter with its bright, easy-to-read colors. By using it wisely, you can sharpen your market edge and trade with more confidence.
This README is tailored for traders and reflects the indicator's practical value as of 05:06 AM +07 on October 04, 2025.
X Pax ORThis indicator captures and visualizes the first 30 seconds of price action starting at 9:30 AM New York time and projects its influence throughout the trading day. Inspired by Pax's open range and level analysis, it provides a structured framework for observing how markets interact with an initial volatility burst.
Core Features
Opening 30s Range Box
At the 9:30:00–9:30:30 window, the indicator records the high and low of that short-lived but impactful moment. A translucent blue box is drawn from this range and extends to 4:00 PM, clearly defining the market’s first key battleground.
User-Defined Extension Levels
From the Opening Range High, upward extensions are projected in user-defined step sizes and counts.
From the Opening Range Low, downward extensions are projected using the same configurable step settings.
These levels adapt to your market and trading style, serving as volatility-based expansion markers to track order flow clustering and potential turning points.
Historical Preservation
Each day’s range box and extension lines are stored, allowing you to review prior sessions for pattern recognition.
Independent toggles let you display or hide historical boxes and historical extensions, keeping the chart clean when needed while retaining analytical depth when desired.
Real-Time Updates
Unlike delayed higher-timeframe methods, this indicator anchors directly to intraday action as it unfolds, ensuring levels are available in real time rather than only after candle closure.
Practical Use
Spot early breakouts or failed retests of the Opening 30s range.
Use extension levels as reference points for intraday trend continuation or reversal setups.
Compare current session levels vs. prior sessions to identify recurring order flow behavior.
Design Notes
Step size, extension count, color transparency, and historical storage are fully configurable.
Clean, minimalist presentation keeps focus on price interaction with levels rather than clutter.
Built for traders who value precision and structure in intraday analysis.