ATR-Normalized MACD w/ Visual BackgroundChatGPT said:
Absolutely! Let’s break down the YON MACD indicator in detail so you understand what it does, how it works, and how to use it.
1. Purpose
The YON MACD is a volatility-adjusted version of the classic MACD. Instead of just using EMA differences, it normalizes the MACD by the Average True Range (ATR), which means:
High-volatility markets → the MACD signal is scaled down.
Low-volatility markets → the MACD signal is scaled up.
This gives a more consistent momentum signal across different market conditions, avoiding false spikes during high volatility.
2. Components
a. Fast and Slow EMAs
fastEMA → Typically 12-period EMA of price.
slowEMA → Typically 26-period EMA of price.
The difference between them measures short-term momentum.
b. ATR Normalization
atr → Average True Range over a specified period (default 26).
Formula:
YON MACD=fastEMA - slowEMAATR×100
YON MACD=
ATR
fastEMA - slowEMA
×100
This adjusts the MACD for market volatility.
c. Signal Line
EMA of the YON MACD (default 9 periods).
Acts like a trigger line for crossovers.
d. Histogram
hist = YON MACD - Signal Line
Visualizes divergence: how far the MACD is from the signal line.
Positive histogram → bullish momentum, negative → bearish momentum.
3. Visual Features
Plot Lines
YON MACD → colored green (rising), red (falling), gray (unchanged).
Signal line → always blue.
Histogram → columns: green (positive), red (negative).
Background Coloring
Green → MACD rising + histogram positive (bullish momentum).
Red → MACD falling + histogram negative (bearish momentum).
Yellow/Orange → histogram flips (early momentum change).
This makes trend and momentum immediately visible without having to study the panel in detail.
4. Alerts
MACD Cross Alerts
YON MACD crosses above the signal → potential buy.
YON MACD crosses below the signal → potential sell.
Histogram Flip Alerts
Histogram flips from negative → positive → early bullish signal.
Histogram flips from positive → negative → early bearish signal.
This allows automation or notifications for momentum changes.
5. How to Use
Trend Confirmation
Green background + MACD above signal → trend is bullish.
Red background + MACD below signal → trend is bearish.
Entry/Exit Signals
Buy: MACD crosses above signal or histogram flips positive.
Sell: MACD crosses below signal or histogram flips negative.
Volatility Adjustment
Since the MACD is ATR-normalized, it avoids overreacting in volatile conditions and highlights true momentum shifts.
Summary
The YON MACD is a trend-following and momentum indicator with:
Volatility normalization (ATR)
MACD cross signals
Histogram divergence visualization
Background colors for instant momentum reading
Alerts for crossovers and early momentum flips
It’s a powerful all-in-one momentum tool that can work for day trading, swing trading, or even longer-term analysis.
Search in scripts for "histogram"
BecakFloatingPanelsLibrary "BecakFloatingPanels"
Library for creating floating indicator panels with MACD, RSI, and Stochastic indicators
calculateMacd(source, fastLength, slowLength, signalLength)
Calculate MACD components
Parameters:
source (float) : Price source for calculation
fastLength (simple int) : Fast EMA period
slowLength (simple int) : Slow EMA period
signalLength (simple int) : Signal line period
Returns: MacdData MACD calculation results
calculateRsi(source, length)
Calculate RSI
Parameters:
source (float) : Price source for calculation
length (simple int) : RSI period
Returns: float RSI value
calculateStochastic(source, high, low, kLength, kSmoothing, dSmoothing)
Calculate Stochastic components
Parameters:
source (float) : Price source for calculation
high (float) : High prices
low (float) : Low prices
kLength (int) : %K period
kSmoothing (int) : %K smoothing period
dSmoothing (int) : %D smoothing period
Returns: StochData Stochastic calculation results
calculateStochSignals(stochK, stochD, overboughtLevel, oversoldLevel)
Calculate Stochastic signals
Parameters:
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
overboughtLevel (float) : Overbought threshold
oversoldLevel (float) : Oversold threshold
Returns: StochSignals Signal flags
calculateChartMetrics(high, low, lookbackLength)
Calculate chart range and positioning metrics
Parameters:
high (float) : High prices
low (float) : Low prices
lookbackLength (int) : Lookback period
Returns: ChartMetrics Chart positioning data
calculateMacdRange(macdLine, signalLine, histogram, safeLookback)
Calculate MACD range for normalization
Parameters:
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
safeLookback (int) : Lookback period
Returns: MacdRange MACD range metrics
initVisualArrays()
Initialize visual arrays
Returns: VisualArrays Container with initialized arrays
clearVisuals(visuals)
Clear all visual elements
Parameters:
visuals (VisualArrays) : VisualArrays container
Returns: void
calculatePanelPositions(chartMetrics, oscPlacement, panelHeight, panelSpacing, centerOffset)
Calculate panel positions based on placement option
Parameters:
chartMetrics (ChartMetrics) : Chart metrics object
oscPlacement (string) : Panel placement option
panelHeight (float) : Panel height percentage
panelSpacing (float) : Panel spacing percentage
centerOffset (float) : Center offset percentage
Returns: PanelPositions Panel boundary coordinates
createPanelBackgrounds(visuals, positions, panelLeft, panelRight, showBackground, transparency)
Create panel backgrounds
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
panelLeft (int) : Left boundary
panelRight (int) : Right boundary
showBackground (bool) : Show background flag
transparency (int) : Background transparency
Returns: void
drawReferenceLines(visuals, positions, chartMetrics, macdRange, dataLeft, dataRight, panelHeight, rsiOverbought, rsiOversold, stochOverbought, stochOversold)
Draw reference lines for all panels
Parameters:
visuals (VisualArrays) : VisualArrays container
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
macdRange (MacdRange) : MacdRange object
dataLeft (int) : Left data boundary
dataRight (int) : Right data boundary
panelHeight (float) : Panel height percentage
rsiOverbought (int) : RSI overbought level
rsiOversold (int) : RSI oversold level
stochOverbought (int) : Stochastic overbought level
stochOversold (int) : Stochastic oversold level
Returns: void
drawMacdIndicator(visuals, macdLine, signalLine, histogram, macdRange, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw MACD indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
macdLine (float) : MACD line series
signalLine (float) : Signal line series
histogram (float) : Histogram series
macdRange (MacdRange) : MacdRange object
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawRsiIndicator(visuals, rsiValue, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight)
Draw RSI indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
rsiValue (float) : RSI value
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
Returns: void
drawStochasticIndicator(visuals, stochK, stochD, positions, chartMetrics, barIndex, nextBarIndex, barIndexOffset, panelHeight, stochOverbought, stochOversold)
Draw Stochastic indicator
Parameters:
visuals (VisualArrays) : VisualArrays container
stochK (float) : Stochastic %K series
stochD (float) : Stochastic %D series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
barIndex (int) : Current bar index
nextBarIndex (int) : Next bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
stochOverbought (int) : Overbought level
stochOversold (int) : Oversold level
Returns: void
addStochasticSignals(visuals, buySignal, sellSignal, positions, chartMetrics, currentBarIndex, barIndexOffset, panelHeight, signalIndex)
Add Stochastic buy/sell signals
Parameters:
visuals (VisualArrays) : VisualArrays container
buySignal (bool) : Buy signal series
sellSignal (bool) : Sell signal series
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
currentBarIndex (int) : Current bar index
barIndexOffset (int) : Horizontal offset
panelHeight (float) : Panel height percentage
signalIndex (int) : Signal index for lookback
Returns: void
setPanelLabels(macdLabel, rsiLabel, stochLabel, positions, chartMetrics, labelOffset, panelHeight, barIndexOffset)
Set panel title labels
Parameters:
macdLabel (label) : MACD label reference
rsiLabel (label) : RSI label reference
stochLabel (label) : Stochastic label reference
positions (PanelPositions) : PanelPositions object
chartMetrics (ChartMetrics) : ChartMetrics object
labelOffset (int) : Label horizontal offset
panelHeight (float) : Panel height percentage
barIndexOffset (int) : Horizontal offset
Returns: void
showDebugInfo(chartMetrics, debugMode)
Display debug information
Parameters:
chartMetrics (ChartMetrics) : ChartMetrics object
debugMode (bool) : Debug mode flag
Returns: void
ChartMetrics
Chart metrics container
Fields:
visibleHigh (series float) : Highest visible price
visibleLow (series float) : Lowest visible price
chartRange (series float) : Price range of chart
chartCenter (series float) : Center point of chart
MacdData
MACD calculation results
Fields:
macdLine (series float) : Main MACD line
signalLine (series float) : Signal line
histogram (series float) : MACD histogram
MacdRange
MACD range metrics for normalization
Fields:
highest (series float) : Highest MACD value
lowest (series float) : Lowest MACD value
BRange (series float) : Total range
StochData
Stochastic calculation results
Fields:
k_smooth (series float) : Smoothed %K line
d (series float) : %D line
StochSignals
Stochastic signals
Fields:
buySignal (series bool) : Buy signal flag
sellSignal (series bool) : Sell signal flag
PanelPositions
Panel positioning data
Fields:
macdTop (series float) : MACD panel top
macdBottom (series float) : MACD panel bottom
rsiTop (series float) : RSI panel top
rsiBottom (series float) : RSI panel bottom
stochTop (series float) : Stochastic panel top
stochBottom (series float) : Stochastic panel bottom
VisualArrays
Visual elements arrays container
Fields:
macdLines (array) : Array of MACD lines
macdHist (array) : Array of MACD histogram boxes
rsiLines (array) : Array of RSI lines
stochLines (array) : Array of Stochastic lines
stochAreas (array) : Array of Stochastic areas
stochSignals (array) : Array of Stochastic signals
panelBackgrounds (array) : Array of panel backgrounds
SMC Structures and FVGสวัสดีครับ! ผมจะอธิบายอินดิเคเตอร์ "SMC Structures and FVG + MACD" ที่คุณให้มาอย่างละเอียดในแต่ละส่วน เพื่อให้คุณเข้าใจการทำงานของมันอย่างถ่องแท้ครับ
อินดิเคเตอร์นี้เป็นการผสมผสานแนวคิดของ Smart Money Concept (SMC) ซึ่งเน้นการวิเคราะห์โครงสร้างตลาด (Market Structure) และ Fair Value Gap (FVG) เข้ากับอินดิเคเตอร์ MACD เพื่อใช้เป็นตัวกรองหรือตัวยืนยันสัญญาณ Choch/BoS (Change of Character / Break of Structure)
1. ภาพรวมอินดิเคเตอร์ (Overall Purpose)
อินดิเคเตอร์นี้มีจุดประสงค์หลักคือ:
ระบุโครงสร้างตลาด: ตีเส้นและป้ายกำกับ Choch (Change of Character) และ BoS (Break of Structure) บนกราฟโดยอัตโนมัติ
ผสานการยืนยันด้วย MACD: สัญญาณ Choch/BoS จะถูกพิจารณาก็ต่อเมื่อ MACD Histogram เกิดการตัดขึ้นหรือลง (Zero Cross) ในทิศทางที่สอดคล้องกัน
แสดง Fair Value Gap (FVG): หากเปิดใช้งาน จะมีการตีกล่อง FVG บนกราฟ
แสดงระดับ Fibonacci: คำนวณและแสดงระดับ Fibonacci ที่สำคัญตามโครงสร้างตลาดปัจจุบัน
ปรับตาม Timeframe: การคำนวณและการแสดงผลทั้งหมดจะปรับตาม Timeframe ที่คุณกำลังใช้งานอยู่โดยอัตโนมัติ
2. ส่วนประกอบหลักของโค้ด (Code Breakdown)
โค้ดนี้สามารถแบ่งออกเป็นส่วนหลัก ๆ ได้ดังนี้:
2.1 Inputs (การตั้งค่า)
ส่วนนี้คือตัวแปรที่คุณสามารถปรับแต่งได้ในหน้าต่างการตั้งค่าของอินดิเคเตอร์ (คลิกที่รูปฟันเฟืองข้างชื่ออินดิเคเตอร์บนกราฟ)
MACD Settings (ตั้งค่า MACD):
fast_len: ความยาวของ Fast EMA สำหรับ MACD (ค่าเริ่มต้น 12)
slow_len: ความยาวของ Slow EMA สำหรับ MACD (ค่าเริ่มต้น 26)
signal_len: ความยาวของ Signal Line สำหรับ MACD (ค่าเริ่มต้น 9)
= ta.macd(close, fast_len, slow_len, signal_len): คำนวณค่า MACD Line, Signal Line และ Histogram โดยใช้ราคาปิด (close) และค่าความยาวที่กำหนด
is_bullish_macd_cross: ตรวจสอบว่า MACD Histogram ตัดขึ้นเหนือเส้น 0 (จากค่าลบเป็นบวก)
is_bearish_macd_cross: ตรวจสอบว่า MACD Histogram ตัดลงใต้เส้น 0 (จากค่าบวกเป็นลบ)
Fear Value Gap (FVG) Settings:
isFvgToShow: (Boolean) เปิด/ปิดการแสดง FVG บนกราฟ
bullishFvgColor: สีสำหรับ Bullish FVG
bearishFvgColor: สีสำหรับ Bearish FVG
mitigatedFvgColor: สีสำหรับ FVG ที่ถูก Mitigate (ลดทอน) แล้ว
fvgHistoryNbr: จำนวน FVG ย้อนหลังที่จะแสดง
isMitigatedFvgToReduce: (Boolean) เปิด/ปิดการลดขนาด FVG เมื่อถูก Mitigate
Structures (โครงสร้างตลาด) Settings:
isStructBodyCandleBreak: (Boolean) หากเป็น true การ Break จะต้องเกิดขึ้นด้วย เนื้อเทียน ที่ปิดเหนือ/ใต้ Swing High/Low หากเป็น false แค่ไส้เทียนทะลุก็ถือว่า Break
isCurrentStructToShow: (Boolean) เปิด/ปิดการแสดงเส้นโครงสร้างตลาดปัจจุบัน (เส้นสีน้ำเงินในภาพตัวอย่าง)
pivot_len: ความยาวของแท่งเทียนที่ใช้ในการมองหาจุด Pivot (Swing High/Low) ยิ่งค่าน้อยยิ่งจับ Swing เล็กๆ ได้, ยิ่งค่ามากยิ่งจับ Swing ใหญ่ๆ ได้
bullishBosColor, bearishBosColor: สีสำหรับเส้นและป้าย BOS ขาขึ้น/ขาลง
bosLineStyleOption, bosLineWidth: สไตล์ (Solid, Dotted, Dashed) และความหนาของเส้น BOS
bullishChochColor, bearishChochColor: สีสำหรับเส้นและป้าย CHoCH ขาขึ้น/ขาลง
chochLineStyleOption, chochLineWidth: สไตล์ (Solid, Dotted, Dashed) และความหนาของเส้น CHoCH
currentStructColor, currentStructLineStyleOption, currentStructLineWidth: สี, สไตล์ และความหนาของเส้นโครงสร้างตลาดปัจจุบัน
structHistoryNbr: จำนวนการ Break (Choch/BoS) ย้อนหลังที่จะแสดง
Structure Fibonacci (จากโค้ดต้นฉบับ):
เป็นชุด Input สำหรับเปิด/ปิด, กำหนดค่า, สี, สไตล์ และความหนาของเส้น Fibonacci Levels ต่างๆ (0.786, 0.705, 0.618, 0.5, 0.382) ที่จะถูกคำนวณจากโครงสร้างตลาดปัจจุบัน
2.2 Helper Functions (ฟังก์ชันช่วยทำงาน)
getLineStyle(lineOption): ฟังก์ชันนี้ใช้แปลงค่า String ที่เลือกจาก Input (เช่น "─", "┈", "╌") ให้เป็นรูปแบบ line.style_ ที่ Pine Script เข้าใจ
get_structure_highest_bar(lookback): ฟังก์ชันนี้พยายามหา Bar Index ของแท่งเทียนที่ทำ Swing High ภายในช่วง lookback ที่กำหนด
get_structure_lowest_bar(lookback): ฟังก์ชันนี้พยายามหา Bar Index ของแท่งเทียนที่ทำ Swing Low ภายในช่วง lookback ที่กำหนด
is_structure_high_broken(...): ฟังก์ชันนี้ตรวจสอบว่าราคาปัจจุบันได้ Break เหนือ _structureHigh (Swing High) หรือไม่ โดยพิจารณาจาก _highStructBreakPrice (ราคาปิดหรือราคา High ขึ้นอยู่กับการตั้งค่า isStructBodyCandleBreak)
FVGDraw(...): ฟังก์ชันนี้รับ Arrays ของ FVG Boxes, Types, Mitigation Status และ Labels มาประมวลผล เพื่ออัปเดตสถานะของ FVG (เช่น ถูก Mitigate หรือไม่) และปรับขนาด/ตำแหน่งของ FVG Box และ Label บนกราฟ
2.3 Global Variables (ตัวแปรทั่วทั้งอินดิเคเตอร์)
เป็นตัวแปรที่ประกาศด้วย var ซึ่งหมายความว่าค่าของมันจะถูกเก็บไว้และอัปเดตในแต่ละแท่งเทียน (persists across bars)
structureLines, structureLabels: Arrays สำหรับเก็บอ็อบเจกต์ line และ label ของเส้น Choch/BoS ที่วาดบนกราฟ
fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays สำหรับเก็บข้อมูลของ FVG Boxes และสถานะต่างๆ
structureHigh, structureLow: เก็บราคาของ Swing High/Low ที่สำคัญของโครงสร้างตลาดปัจจุบัน
structureHighStartIndex, structureLowStartIndex: เก็บ Bar Index ของจุดเริ่มต้นของ Swing High/Low ที่สำคัญ
structureDirection: เก็บสถานะของทิศทางโครงสร้างตลาด (1 = Bullish, 2 = Bearish, 0 = Undefined)
fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: ตัวแปรสำหรับเก็บข้อมูลและอ็อบเจกต์ของเส้น Fibonacci Levels
isBOSAlert, isCHOCHAlert: (Boolean) ใช้สำหรับส่งสัญญาณ Alert (หากมีการตั้งค่า Alert ไว้)
2.4 FVG Processing (การประมวลผล FVG)
ส่วนนี้จะตรวจสอบเงื่อนไขการเกิด FVG (Bullish FVG: high < low , Bearish FVG: low > high )
หากเกิด FVG และ isFvgToShow เป็น true จะมีการสร้าง box และ label ใหม่เพื่อแสดง FVG บนกราฟ
มีการจัดการ fvgBoxes และ fvgLabels เพื่อจำกัดจำนวน FVG ที่แสดงตาม fvgHistoryNbr และลบ FVG เก่าออก
ฟังก์ชัน FVGDraw จะถูกเรียกเพื่ออัปเดตสถานะของ FVG (เช่น การถูก Mitigate) และปรับการแสดงผล
2.5 Structures Processing (การประมวลผลโครงสร้างตลาด)
Initialization: ที่ bar_index == 0 (แท่งเทียนแรกของกราฟ) จะมีการกำหนดค่าเริ่มต้นให้กับ structureHigh, structureLow, structureHighStartIndex, structureLowStartIndex
Finding Current High/Low: highest, highestBar, lowest, lowestBar ถูกใช้เพื่อหา High/Low ที่สุดและ Bar Index ของมันใน 10 แท่งล่าสุด (หรือทั้งหมดหากกราฟสั้นกว่า 10 แท่ง)
Calculating Structure Max/Min Bar: structureMaxBar และ structureMinBar ใช้ฟังก์ชัน get_structure_highest_bar และ get_structure_lowest_bar เพื่อหา Bar Index ของ Swing High/Low ที่แท้จริง (ไม่ใช่แค่ High/Low ที่สุดใน lookback แต่เป็นจุด Pivot ที่สมบูรณ์)
Break Price: lowStructBreakPrice และ highStructBreakPrice จะเป็นราคาปิด (close) หรือราคา Low/High ขึ้นอยู่กับ isStructBodyCandleBreak
isStuctureLowBroken / isStructureHighBroken: เงื่อนไขเหล่านี้ตรวจสอบว่าราคาได้ทำลาย structureLow หรือ structureHigh หรือไม่ โดยพิจารณาจากราคา Break, ราคาแท่งก่อนหน้า และ Bar Index ของจุดเริ่มต้นโครงสร้าง
Choch/BoS Logic (ส่วนสำคัญที่ถูกผสานกับ MACD):
if(isStuctureLowBroken and is_bearish_macd_cross): นี่คือจุดที่ MACD เข้ามามีบทบาท หากราคาทำลาย structureLow (สัญญาณขาลง) และ MACD Histogram เกิด Bearish Zero Cross (is_bearish_macd_cross เป็น true) อินดิเคเตอร์จะพิจารณาว่าเป็น Choch หรือ BoS
หาก structureDirection == 1 (เดิมเป็นขาขึ้น) หรือ 0 (ยังไม่กำหนด) จะตีเป็น "CHoCH" (เปลี่ยนทิศทางโครงสร้างเป็นขาลง)
หาก structureDirection == 2 (เดิมเป็นขาลง) จะตีเป็น "BOS" (ยืนยันโครงสร้างขาลง)
มีการสร้าง line.new และ label.new เพื่อวาดเส้นและป้ายกำกับ
structureDirection จะถูกอัปเดตเป็น 1 (Bullish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow จะถูกอัปเดตเพื่อกำหนดโครงสร้างใหม่
else if(isStructureHighBroken and is_bullish_macd_cross): เช่นกันสำหรับขาขึ้น หากราคาทำลาย structureHigh (สัญญาณขาขึ้น) และ MACD Histogram เกิด Bullish Zero Cross (is_bullish_macd_cross เป็น true) อินดิเคเตอร์จะพิจารณาว่าเป็น Choch หรือ BoS
หาก structureDirection == 2 (เดิมเป็นขาลง) หรือ 0 (ยังไม่กำหนด) จะตีเป็น "CHoCH" (เปลี่ยนทิศทางโครงสร้างเป็นขาขึ้น)
หาก structureDirection == 1 (เดิมเป็นขาขึ้น) จะตีเป็น "BOS" (ยืนยันโครงสร้างขาขึ้น)
มีการสร้าง line.new และ label.new เพื่อวาดเส้นและป้ายกำกับ
structureDirection จะถูกอัปเดตเป็น 2 (Bearish)
structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow จะถูกอัปเดตเพื่อกำหนดโครงสร้างใหม่
การลบเส้นเก่า: d.delete_line (หากไลบรารีทำงาน) จะถูกเรียกเพื่อลบเส้นและป้ายกำกับเก่าออกเมื่อจำนวนเกิน structHistoryNbr
Updating Structure High/Low (else block): หากไม่มีการ Break เกิดขึ้น แต่ราคาปัจจุบันสูงกว่า structureHigh หรือต่ำกว่า structureLow ในทิศทางที่สอดคล้องกัน (เช่น ยังคงเป็นขาขึ้นและทำ High ใหม่) structureHigh หรือ structureLow จะถูกอัปเดตเพื่อติดตาม High/Low ที่สุดของโครงสร้างปัจจุบัน
Current Structure Display:
หาก isCurrentStructToShow เป็น true อินดิเคเตอร์จะวาดเส้น structureHighLine และ structureLowLine เพื่อแสดงขอบเขตของโครงสร้างตลาดปัจจุบัน
Fibonacci Display:
หาก isFiboXToShow เป็น true อินดิเคเตอร์จะคำนวณและวาดเส้น Fibonacci Levels ต่างๆ (0.786, 0.705, 0.618, 0.5, 0.382) โดยอิงจาก structureHigh และ structureLow ของโครงสร้างตลาดปัจจุบัน
Alerts:
alertcondition: ใช้สำหรับตั้งค่า Alert ใน TradingView เมื่อเกิดสัญญาณ BOS หรือ CHOCH
plot(na):
plot(na) เป็นคำสั่งที่สำคัญในอินดิเคเตอร์ที่ไม่ได้ต้องการพล็อต Series ของข้อมูลบนกราฟ (เช่น ไม่ได้พล็อตเส้น EMA หรือ RSI) แต่ใช้วาดอ็อบเจกต์ (Line, Label, Box) โดยตรง
การมี plot(na) ช่วยให้ Pine Script รู้ว่าอินดิเคเตอร์นี้มีเอาต์พุตที่แสดงผลบนกราฟ แม้ว่าจะไม่ได้เป็น Series ที่พล็อตตามปกติก็ตาม
3. วิธีใช้งาน
คัดลอกโค้ดทั้งหมด ที่อยู่ในบล็อก immersive ด้านบน
ไปที่ TradingView และเปิดกราฟที่คุณต้องการ
คลิกที่เมนู "Pine Editor" ที่อยู่ด้านล่างของหน้าจอ
ลบโค้ดเดิมที่มีอยู่ และ วางโค้ดที่คัดลอกมา ลงไปแทน
คลิกที่ปุ่ม "Add to Chart"
อินดิเคเตอร์จะถูกเพิ่มลงในกราฟของคุณโดยอัตโนมัติ คุณสามารถคลิกที่รูปฟันเฟืองข้างชื่ออินดิเคเตอร์บนกราฟเพื่อเข้าถึงหน้าต่างการตั้งค่าและปรับแต่งตามความต้องการของคุณได้
Hello! I will explain the "SMC Structures and FVG + MACD" indicator you provided in detail, section by section, so you can fully understand how it works.This indicator combines the concepts of Smart Money Concept (SMC), which focuses on analyzing Market Structure and Fair Value Gaps (FVG), with the MACD indicator to serve as a filter or confirmation for Choch (Change of Character) and BoS (Break of Structure) signals.1. Overall PurposeThe main purposes of this indicator are:Identify Market Structure: Automatically draw lines and label Choch (Change of Character) and BoS (Break of Structure) on the chart.Integrate MACD Confirmation: Choch/BoS signals will only be considered when the MACD Histogram performs a cross (Zero Cross) in the corresponding direction.Display Fair Value Gap (FVG): If enabled, FVG boxes will be drawn on the chart.Display Fibonacci Levels: Calculate and display important Fibonacci levels based on the current market structure.Adapt to Timeframe: All calculations and displays will automatically adjust to the timeframe you are currently using.2. Code BreakdownThis code can be divided into the following main sections:2.1 Inputs (Settings)This section contains variables that you can adjust in the indicator's settings window (click the gear icon next to the indicator's name on the chart).MACD Settings:fast_len: Length of the Fast EMA for MACD (default 12)slow_len: Length of the Slow EMA for MACD (default 26)signal_len: Length of the Signal Line for MACD (default 9) = ta.macd(close, fast_len, slow_len, signal_len): Calculates the MACD Line, Signal Line, and Histogram using the closing price (close) and the specified lengths.is_bullish_macd_cross: Checks if the MACD Histogram crosses above the 0 line (from negative to positive).is_bearish_macd_cross: Checks if the MACD Histogram crosses below the 0 line (from positive to negative).Fear Value Gap (FVG) Settings:isFvgToShow: (Boolean) Enables/disables the display of FVG on the chart.bullishFvgColor: Color for Bullish FVG.bearishFvgColor: Color for Bearish FVG.mitigatedFvgColor: Color for FVG that has been mitigated.fvgHistoryNbr: Number of historical FVG to display.isMitigatedFvgToReduce: (Boolean) Enables/disables reducing the size of FVG when mitigated.Structures (โครงสร้างตลาด) Settings:isStructBodyCandleBreak: (Boolean) If true, the break must occur with the candle body closing above/below the Swing High/Low. If false, a wick break is sufficient.isCurrentStructToShow: (Boolean) Enables/disables the display of the current market structure lines (blue lines in the example image).pivot_len: Lookback length for identifying Pivot points (Swing High/Low). A smaller value captures smaller, more frequent swings; a larger value captures larger, more significant swings.bullishBosColor, bearishBosColor: Colors for bullish/bearish BOS lines and labels.bosLineStyleOption, bosLineWidth: Style (Solid, Dotted, Dashed) and width of BOS lines.bullishChochColor, bearishChochColor: Colors for bullish/bearish CHoCH lines and labels.chochLineStyleOption, chochLineWidth: Style (Solid, Dotted, Dashed) and width of CHoCH lines.currentStructColor, currentStructLineStyleOption, currentStructLineWidth: Color, style, and width of the current market structure lines.structHistoryNbr: Number of historical breaks (Choch/BoS) to display.Structure Fibonacci (from original code):A set of inputs to enable/disable, define values, colors, styles, and widths for various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) that will be calculated from the current market structure.2.2 Helper FunctionsgetLineStyle(lineOption): This function converts the selected string input (e.g., "─", "┈", "╌") into a line.style_ format understood by Pine Script.get_structure_highest_bar(lookback): This function attempts to find the Bar Index of the Swing High within the specified lookback period.get_structure_lowest_bar(lookback): This function attempts to find the Bar Index of the Swing Low within the specified lookback period.is_structure_high_broken(...): This function checks if the current price has broken above _structureHigh (Swing High), considering _highStructBreakPrice (closing price or high price depending on isStructBodyCandleBreak setting).FVGDraw(...): This function takes arrays of FVG Boxes, Types, Mitigation Status, and Labels to process and update the status of FVG (e.g., whether it's mitigated) and adjust the size/position of FVG Boxes and Labels on the chart.2.3 Global VariablesThese are variables declared with var, meaning their values are stored and updated on each bar (persists across bars).structureLines, structureLabels: Arrays to store line and label objects for Choch/BoS lines drawn on the chart.fvgBoxes, fvgTypes, fvgLabels, isFvgMitigated: Arrays to store FVG box data and their respective statuses.structureHigh, structureLow: Stores the price of the significant Swing High/Low of the current market structure.structureHighStartIndex, structureLowStartIndex: Stores the Bar Index of the start point of the significant Swing High/Low.structureDirection: Stores the status of the market structure direction (1 = Bullish, 2 = Bearish, 0 = Undefined).fiboXPrice, fiboXStartIndex, fiboXLine, fiboXLabel: Variables to store data and objects for Fibonacci Levels.isBOSAlert, isCHOCHAlert: (Boolean) Used to trigger alerts in TradingView (if alerts are configured).2.4 FVG ProcessingThis section checks the conditions for FVG formation (Bullish FVG: high < low , Bearish FVG: low > high ).If FVG occurs and isFvgToShow is true, a new box and label are created to display the FVG on the chart.fvgBoxes and fvgLabels are managed to limit the number of FVG displayed according to fvgHistoryNbr and remove older FVG.The FVGDraw function is called to update the FVG status (e.g., whether it's mitigated) and adjust its display.2.5 Structures ProcessingInitialization: At bar_index == 0 (the first bar of the chart), structureHigh, structureLow, structureHighStartIndex, and structureLowStartIndex are initialized.Finding Current High/Low: highest, highestBar, lowest, lowestBar are used to find the highest/lowest price and its Bar Index of it in the last 10 bars (or all bars if the chart is shorter than 10 bars).Calculating Structure Max/Min Bar: structureMaxBar and structureMinBar use get_structure_highest_bar and get_structure_lowest_bar functions to find the Bar Index of the true Swing High/Low (not just the highest/lowest in the lookback but a complete Pivot point).Break Price: lowStructBreakPrice and highStructBreakPrice will be the closing price (close) or the Low/High price, depending on the isStructBodyCandleBreak setting.isStuctureLowBroken / isStructureHighBroken: These conditions check if the price has broken structureLow or structureHigh, considering the break price, previous bar prices, and the Bar Index of the structure's starting point.Choch/BoS Logic (Key Integration with MACD):if(isStuctureLowBroken and is_bearish_macd_cross): This is where MACD plays a role. If the price breaks structureLow (bearish signal) AND the MACD Histogram performs a Bearish Zero Cross (is_bearish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 1 (previously bullish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bearish).If structureDirection == 2 (already bearish), it will be labeled "BOS" (confirming bearish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 1 (Bullish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.else if(isStructureHighBroken and is_bullish_macd_cross): Similarly for bullish breaks. If the price breaks structureHigh (bullish signal) AND the MACD Histogram performs a Bullish Zero Cross (is_bullish_macd_cross is true), the indicator will consider it a Choch or BoS.If structureDirection == 2 (previously bearish) or 0 (undefined), it will be labeled "CHoCH" (changing structure direction to bullish).If structureDirection == 1 (already bullish), it will be labeled "BOS" (confirming bullish structure).line.new and label.new are used to draw the line and label.structureDirection will be updated to 2 (Bearish).structureHighStartIndex, structureLowStartIndex, structureHigh, structureLow will be updated to define the new structure.Deleting Old Lines: d.delete_line (if the library works) will be called to delete old lines and labels when their number exceeds structHistoryNbr.Updating Structure High/Low (else block): If no break occurs, but the current price is higher than structureHigh or lower than structureLow in the corresponding direction (e.g., still bullish and making a new high), structureHigh or structureLow will be updated to track the highest/lowest point of the current structure.Current Structure Display:If isCurrentStructToShow is true, the indicator draws structureHighLine and structureLowLine to show the boundaries of the current market structure.Fibonacci Display:If isFiboXToShow is true, the indicator calculates and draws various Fibonacci Levels (0.786, 0.705, 0.618, 0.5, 0.382) based on the structureHigh and structureLow of the current market structure.Alerts:alertcondition: Used to set up alerts in TradingView when BOS or CHOCH signals occur.plot(na):plot(na) is an important statement in indicators that do not plot data series directly on the chart (e.g., not plotting EMA or RSI lines) but instead draw objects (Line, Label, Box).Having plot(na) helps Pine Script recognize that this indicator has an output displayed on the chart, even if it's not a regularly plotted series.3. How to UseCopy all the code in the immersive block above.Go to TradingView and open your desired chart.Click on the "Pine Editor" menu at the bottom of the screen.Delete any existing code and paste the copied code in its place.Click the "Add to Chart" button.The indicator will be added to your chart automatically. You can click the gear icon next to the indicator's name on the chart to access the settings window and customize it to your needs.I hope this explanation helps you understand this indicator in detail. If anything is unclear, or you need further adjustments, please let me know.
DAMA OSC - Directional Adaptive MA OscillatorOverview:
The DAMA OSC (Directional Adaptive MA Oscillator) is a highly customizable and versatile oscillator that analyzes the delta between two moving averages of your choice. It detects trend progression, regressions, rebound signals, MA cross and critical zone crossovers to provide highly contextual trading information.
Designed for trend-following, reversal timing, and volatility filtering, DAMA OSC adapts to market conditions and highlights actionable signals in real-time.
Features:
Support for 11 custom moving average types (EMA, DEMA, TEMA, ALMA, KAMA, etc.)
Customizable fast & slow MA periods and types
Histogram based on percentage delta between fast and slow MA
Trend direction coloring with “Green”, “Blue”, and “Red” zones
Rebound detection using close or shadow logic
Configurable thresholds: Overbought, Oversold, Underbought, Undersold
Optional filters: rebound validation by candle color or flat-zone filter
Full visual overlay: MA lines, crossover markers, rebound icons
Complete alert system with 16 preconfigured conditions
How It Works:
Histogram Logic:
The histogram measures the percentage difference between the fast and slow MA:
hist_value = ((FastMA - SlowMA) / SlowMA) * 100
Trend State Logic (Green / Blue / Red):
Green_Up = Bullish acceleration
Blue_Up (or Red_Up, depending the display settings) = Bullish deceleration
Blue_Down (or Green_Down, depending the display settings) = Bearish deceleration
Red_Down = Bearish acceleration
Rebound Logic:
A rebound is detected when price:
Crosses back over a selected MA (fast or slow)
After being away for X candles (rebound_backstep)
Optional: filtered by histogram zones or candle color
Inputs:
Display Options:
Show/hide MA lines
Show/hide MA crosses
Show/hide price rebounds
Enable/disable blue deceleration zones
DAMA Settings:
Fast/Slow MA type and length
Source input (close by default)
Overbought/Oversold levels
Underbought/Undersold levels
Rebound Settings:
Use Close and/or Shadow
Rebound MA (Fast/Slow)
Candle color validation
Flat zone filter rebounds (between UnderSold and UnderBought)
Available MA type:
SMA (Simple MA)
EMA (Exponential MA)
DEMA (Double EMA)
TEMA (Triple EMA)
WMA (Weighted MA)
HMA (Hull MA)
VWMA (Volume Weighted MA)
Kijun (Ichimoku Baseline)
ALMA (Arnaud Legoux MA)
KAMA (Kaufman Adaptive MA)
HULLMOD (Modified Hull MA, Same as HMA, tweaked for Pine v6 constraints)
Notes:
**DEMA/TEMA** reduce lag compared to EMA, useful for faster reaction in trending markets.
**KAMA/ALMA** are better suited to noisy or volatile environments (e.g., BTC).
**VWMA** reacts strongly to volume spikes.
**HMA/HULLMOD** are great for visual clarity in fast moves.
Alerts Included (Fully Configurable):
Golden Cross:
Fast MA crosses above Slow MA
Death Cross:
Fast MA crosses below Slow MA
Bullish Rebound:
Rebound from below MA in uptrend
Bearish Rebound:
Rebound from above MA in downtrend
Bull Progression:
Transition into Green_Up with positive delta
Bear Progression:
Transition into Red_Down with negative delta
Bull Regression:
Exit from Red_Down into Blue/Green with negative delta
Bear Regression:
Exit from Green_Up into Blue/Red with positive delta
Crossover Overbought:
Histogram crosses above Overbought
Crossunder Overbought:
Histogram crosses below Overbought
Crossover Oversold:
Histogram crosses above Oversold
Crossunder Oversold:
Histogram crosses below Oversold
Crossover Underbought:
Histogram crosses above Underbought
Crossunder Underbought:
Histogram crosses below Underbought
Crossover Undersold:
Histogram crosses above Undersold
Crossunder Undersold:
Histogram crosses below Undersold
Credits:
Created by Eff_Hash. This code is shared with the TradingView community and full free. do not hesitate to share your best settings and usage.
MACD with DPO Strategy by NGExplanation of the MACD with DPO Strategy:
MACD (Moving Average Convergence Divergence):
The MACD is a trend-following indicator that shows the relationship between two moving averages of a price.
In this script:
We calculate the MACD line by subtracting the slow moving average (typically 26-period EMA) from the fast moving average (typically 12-period EMA).
The Signal line is calculated as a 9-period EMA of the MACD line.
The Histogram is the difference between the MACD line and the Signal line, indicating the momentum of the price trend.
Buy Condition: The script generates a buy signal when the MACD histogram crosses from negative to positive (indicating a bullish momentum) and DPO is also positive.
Sell Condition: The script generates a sell signal when the MACD histogram crosses from positive to negative (indicating a bearish momentum) and DPO is also negative.
DPO (Detrended Price Oscillator):
The DPO removes long-term trends from prices, making it easier to identify shorter-term cycles or oscillations.
In this script:
We calculate the DPO by subtracting a shifted simple moving average (SMA) from the close price. The shifting period depends on half the specified period.
We also calculate the DPO SMA as a 30-period EMA of the DPO values.
DPO Color: The DPO line is colored green when the DPO is above zero (indicating upward momentum) and red when it is below zero (indicating downward momentum). The histogram is also colored based on whether the DPO is positive or negative.
Plotting and Alerts:
The script plots the MACD, Signal, and Histogram on the chart.
Additionally, it plots the DPO and its SMA with different colors depending on whether the DPO is above or below zero.
Buy Signal: A green arrow labeled "BUY" is plotted below the bar when both MACD and DPO indicate a bullish condition.
Sell Signal: A red arrow labeled "SELL" is plotted above the bar when both MACD and DPO indicate a bearish condition.
Background colors are used to highlight the chart whenever a buy or sell condition occurs.
The script also includes alerts for both buy and sell signals, allowing users to set notifications when conditions are met.
How to Use:
Identify Buy and Sell Signals:
The script generates a Buy signal when:
The MACD histogram crosses from negative to positive (bullish momentum), and
The DPO is above zero (indicating upward momentum).
The script generates a Sell signal when:
The MACD histogram crosses from positive to negative (bearish momentum), and
The DPO is below zero (indicating downward momentum).
Chart Visualization:
The MACD histogram and Signal line help visualize the momentum and potential trend reversal.
The DPO and DPO SMA help visualize the shorter-term price cycles.
The signals (Buy and Sell) will be plotted on the chart with arrows indicating entry points.
Customization:
You can adjust the MACD and DPO parameters (such as fast_length, slow_length, period_) to fit your trading style or market conditions.
The script can be used in any timeframe depending on your strategy (e.g., intraday trading or longer-term trading).
Example Scenario:
If you're looking for potential buy opportunities, wait for the script to generate a buy signal (green arrow) where the MACD histogram has shifted to positive, and DPO is also in the green (above zero). This signals that both momentum and cycle direction are aligned for a potential upward movement.
Conversely, for sell opportunities, wait for the red arrow where MACD momentum is turning negative and DPO is also negative (below zero), indicating a bearish condition.
This combination of MACD and DPO allows traders to identify stronger and more reliable entry/exit points by confirming the trend with the MACD and detecting shorter-term price cycles with the DPO.
Trend Flow Profile [AlgoAlpha]Description:
The "Trend Flow Profile" indicator is a powerful tool designed to analyze and interpret the underlying trends and reversals in a financial market. It combines the concepts of Order Flow and Rate of Change (ROC) to provide valuable insights into market dynamics, momentum, and potential trade opportunities. By integrating these two components, the indicator offers a comprehensive view of market sentiment and price movements, facilitating informed trading decisions.
Rationale:
The combination of Order Flow and ROC in the "Trend Flow Profile" indicator stems from the recognition that both factors play critical roles in understanding market behavior. Order Flow represents the net buying or selling pressure in the market, while ROC measures the rate at which prices change. By merging these elements, the indicator captures the interplay between market participants' actions and the momentum of price movements, enabling traders to identify trends, spot reversals, and gauge the strength of price acceleration or deceleration.
Calculation:
The Order Flow component is computed by summing the volume when prices move up and subtracting the volume when prices move down. This cumulative measure reflects the overall order imbalance in the market, providing insights into the dominant buying or selling pressure.
The ROC component calculates the percentage change in price over a given period. It compares the current price to a previous price and expresses the change as a percentage. This measurement indicates the velocity and direction of price movement, allowing traders to assess the market's momentum.
How to Use It?
The "Trend Flow Profile" indicator offers valuable information to traders for making informed trading decisions. It enables the identification of underlying trends and potential reversals, providing a comprehensive view of market sentiment and momentum. Here are some key ways to utilize the indicator:
Spotting Trends: The indicator helps identify the prevailing market trend, whether bullish or bearish. A consistent positive (green) histogram indicates a strong uptrend, while a consistent negative (red) histogram suggests a robust downtrend.
Reversal Signals: Reversal patterns can be identified when the histogram changes color, transitioning from positive to negative (or vice versa). These reversals can signify potential turning points in the market, highlighting opportunities for counter-trend trades.
Momentum Assessment: By observing the width and intensity of the histogram, traders can assess the acceleration or deceleration of price momentum. A wider histogram suggests strong momentum, while a narrower histogram indicates a potential slowdown.
Utility:
The "Trend Flow Profile" indicator serves as a valuable tool for traders, providing several benefits. Traders can easily identify the prevailing market trend, enabling them to align their trading strategies with the dominant direction of the market. The indicator also helps spot potential reversals, allowing traders to anticipate market turning points and capture counter-trend opportunities. Additionally, the green and red histogram colors provide visual cues to determine the optimal duration of a long or short position. Following the green histogram signals when in a long position and the red histogram signals when in a short position can assist traders in managing their trades effectively. Moreover, the width and intensity of the histogram offer insights into the acceleration or deceleration of momentum. Traders can gauge the strength of price movements and adjust their trading strategies accordingly. By leveraging the "Trend Flow Profile" indicator, traders gain a comprehensive understanding of market dynamics, which enhances their decision-making and improves their overall trading outcomes.
Price Deviation Indicator (PDI)Management
The Price Deviation Indicator (PDI) was developed by "DimArt". This indicator allows you to determine the percentage deviation of the price from its average value over a certain period of time. The larger the deviation, the higher the histogram on the indicator chart. The PDI indicator can be useful for identifying a trend reversal in combination with other technical indicators, such as RSI, MACD, and others. For example, if the RSI and MACD indicators show the beginning of a possible trend reversal, using the PDI indicator can confirm this signal by showing the deviation of the current price from the average price. This can help the trader make more accurate trading decisions based on a strong signal.
Description
To calculate the values of the "Price Deviation Indicator" (PDI), we use the following steps:
• Determine the "Period" variable, which specifies the number of bars used to calculate the average price. (Default value is 20)
• Calculate the average price over the specified period using the "sma()" (simple moving average) function.
• Calculate the percentage difference between the current price and the average price using the formula: ((close - avg_price) / avg_price) * 100 .
• Set levels to change the color of the histogram based on price deviation from the average value. "Histogram Color" is a parameter to customize the color of the histogram based on deviation levels. By default, if the deviation is more than 5%, the histogram will be red; if it is less than -5%, it will be green, and for all other deviations, it will be blue. However, this parameter can be changed to other values.
• Draw a histogram of price change relative to the average value. The "Style" parameter allows you to choose the style of the indicator (histogram). By default, the "Histogram" style is set, but you can also select "Line on Close" or "Line on Open".
Application of the Indicator
The PDI indicator is based on the assumption that the price of any asset always tends to its mean value. Using PDI on higher timeframes allows you to determine the overall market trend, whereas on smaller timeframes, situations can be found when the price is in negative territory, and the histogram starts to smoothly transition from negative to positive value. This can be a signal to buy, as the price is likely in an oversold condition and ready to change its trend. On the other hand, if the strength of the price slows down or begins to approach 0, this may indicate that the asset is overbought and starting to turn towards oversold, which is a signal to sell. A beautiful feature of the PDI indicator is its simplicity and conciseness, which allows you to quickly and easily identify a trend change and make trading decisions based on a strong signal.
Conclusion
The "Price Deviation Indicator" (PDI) can be useful in analyzing price movements in the market. It allows you to calculate the relative difference between the current price and the average price, allowing you to identify market saturation and change in trend. The indicator can be used in technical analysis to make decisions about buying or selling assets on the exchange. It can also be useful for traders of different levels of experience, as its settings can be adapted depending on the user's needs and requirements. Overall, this indicator is one of the tools that can help in analyzing price and volumes to determine possible investment prospects in assets.
RSI, SRSI, MACD and DMI cross - Open source codeHello,
I'm a passionate trader who has spent years studying technical analysis and exploring different trading strategies. Through my research, I've come to realize that certain indicators are essential tools for conducting accurate market analysis and identifying profitable trading opportunities. In particular, I've found that the RSI, SRSI, MACD cross, and Di cross indicators are crucial for my trading success.
Detailed explanation:
The RSI is a momentum indicator that measures the strength of price movements. It is calculated by comparing the average of gains and losses over a certain period of time. In this indicator, the RSI is calculated based on the close price with a length of 14 periods.
The Stochastic RSI is a combination of the Stochastic Oscillator and the RSI. It is used to identify overbought and oversold conditions of the market. In this indicator, the Stochastic RSI is calculated based on the RSI with a length of 14 periods.
The MACD is a trend-following momentum indicator that shows the relationship between two moving averages of prices. It consists of two lines, the MACD line and the signal line, which are used to generate buy and sell signals. In this indicator, the MACD is calculated based on the close price with fast and slow lengths of 12 and 26 periods, respectively, and a signal length of 9 periods.
The DMI is a trend-following indicator that measures the strength of directional movement in the market. It consists of three lines, the Positive Directional Indicator (+DI), the Negative Directional Indicator (-DI), and the Average Directional Index (ADX), which are used to generate buy and sell signals. In this indicator, the DMI is calculated with a length of 14 periods and an ADX smoothing of 14 periods.
The indicator generates buy signals when certain conditions are met for each of these indicators.
1) For the RSI, a buy signal is generated when the RSI is below or equal to 35 and the Stochastic RSI %K is below or equal to 15, or when the RSI is below or equal to 28 the Stochastic RSI %K is below or equal to 15 or when the RSI is below or equal to 25 and the Stochastic RSI %K is below or equal to 10 or when the RSI is below or equal to 28.
2) For the MACD, a buy signal is generated when the MACD line is below 0, there is a change in the histogram from negative to positive, the MACD line and histogram are negative in the previous period, and the current histogram value is greater than 0.
3) For the DMI, a buy signal is generated when the Positive Directional Indicator (+DI) crosses above the Negative Directional Indicator (-DI), and the -DI is less than the +DI.
The indicator generates sell signals when certain conditions are met for each of these indicators:
1) For the RSI, a sell signal is generated when the RSI is above or equal to 75 and the Stochastic RSI %K is above or equal to 85, or when the RSI is above or equal to 80 and the Stochastic RSI %K is above or equal to 85, or when the RSI is above or equal to 85 and the Stochastic RSI %K is above or equal to 90 or when the RSI is above or equal to 82.
2)For the MACD, a sell signal is generated when the MACD line is above 0, there is a change in the histogram from positive to negative, the MACD line and histogram are positive in the previous period, and the current histogram value is less than the previous histogram value. On the other hand, a buy signal is generated when the MACD line is below 0, there is a change in the histogram from negative to positive, the MACD line and histogram are negative in the previous period, and the current histogram value is greater than the previous histogram value.
3)For the DMI a bearish signal is generated when plusDI crosses above minusDI, indicating that bulls are losing strength and bears are taking control.
The indicator uses a combination of these four indicators to generate potential buy and sell signals. The buy signals are generated when RSI and SRSI values are in oversold conditions, while sell signals are generated when RSI and SRSI values are in overbought conditions. The indicator also uses MACD crossovers and DMI crossovers to generate additional buy and sell signals.
When a signal is strong?
The use of multiple signals within a specific timeframe can increase the accuracy and reliability of the signals generated by this indicator. It is recommended to look for at least two signals within a range of 5-8 candles in order to increase the probability of a successful trade.
Why it's original?
1) There is no indicator in the library that combine all of these indicators and give you a 360 view
2)The combination of the RSI, Stochastic RSI, MACD, and DMI indicators in a single script it's unique and not available in the libray.
3)The specific parameters and conditions used to calculate the signals may be unique and not found in other scripts or libraries.
4)The use of plotshape() to plot the signals as shapes on the chart may be unique compared to other scripts that simply plot lines or bars to indicate signals.
5)The use of alertcondition() to trigger alerts based on the signals may be unique compared to other scripts that do not have custom alert functionality.
Keep attention!
It is important to note that no trading indicator or strategy is foolproof, and there is always a risk of losses in trading. While this indicator may provide useful information for making conclusions, it should not be used as the sole basis for making trading decisions. Traders should always use proper risk management techniques and consider multiple factors when making trading decisions.
Support me:)
If you find this new indicator helpful in your trading analysis, I would greatly appreciate your support! Please consider giving it a like, leaving feedback, or sharing it with your trading network. Your engagement will not only help me improve this tool but will also help other traders discover it and benefit from its features. Thank you for your support!
Stochastic Momentum Index (SMI) Refurbished▮Introduction
Stochastic Momentum Index (SMI) Indicator is a technical indicator used in technical analysis of stocks and other financial instruments.
It was developed by William Blau in 1993 and is considered to be a momentum indicator that can help identify trend reversal points.
Basically, it's a combination of the True Strength Index with a signal line to help identify turning points in the market.
SMI uses the stochastic formula to compare the current closing price of an asset with the maximum and minimum price range over a specific period.
He then compares this ratio to a short-term moving average to create an indicator that oscillates between -100 and +100.
When the SMI is above 0, it is considered positive, indicating that the current price is above the short-term moving average.
When it is below 0, it is considered negative, indicating that the current price is below the short-term moving average.
Traders use the SMI to identify potential trend reversal points.
When the indicator reaches an extreme level above +40 or below -40, a trend reversal is possible.
Furthermore, traders also watch for divergences between the SMI and the asset price to identify potential trading opportunities.
It is important to remember that the SMI is a technical indicator and as such should be used in conjunction with other technical analysis tools to get a complete picture of the market situation.
▮ Improvements
The following features were added:
1. 7 color themes, for TSI, Signal and Histogram.
2. Possibility to customize moving average type for TSI/Signal.
3. Dynamic Zones.
4. Crossing Alerts.
5. Alert points on specific ranges.
5. Coloring of bars according to TSI/Signal/Histogram.
▮ Themes
Examples:
▮ About Dynamic Zones
'Most indicators use a fixed zone for buy and sell signals.
Here's a concept based on zones that are responsive to the past levels of the indicator.'
The concept of Dynamic Zones was described by Leo Zamansky ( Ph .D.) and David Stendahl, in the magazine of Stocks & Commodities V15:7 (306-310).
Basically, a statistical calculation is made to define the extreme levels, delimiting a possible overbought/oversold region.
Given user-defined probabilities, the percentile is calculated using the method of Nearest Rank.
It is calculated by taking the difference between the data point and the number of data points below it, then dividing by the total number of data points in the set.
The result is expressed as a percentage.
This provides a measure of how a particular value compares to other values in a data set, identifying outliers or values that are significantly higher or lower than the rest of the data.
▮ What to look for
1. Divergences/weakening of a trend/reversal:
2. Supports, resistances, pullbacks:
3. Overbought/Oversold Points:
▮ Thanks and Credits
- TradingView and PineCoders: for SMI and Moving Averages
- allanster: for Dynamic Zones
Braid Filter+OVERVIEW
The Braid Filter indicator was initially made by Robert Hill and published in the Stocks and Commodities Magazine in 2006. This version of the Braid Filter expands upon Hill's original one by adding much more customization and tweaking abilities. Instead of using a simple moving average to calculate the Braid Filter, this version allows you to choose between 43 different moving average calculation types to suit your needs. The original also just used the close price for calculating its moving averages, however, this version allows you to specify different source prices, including the close, median (hl2), typical (hlc3), mean (ohlc4), and weighted (hlcc4) prices. This version also allows you to edit the lookback period for the average true range calculation. It also renamed some arbitrarily named input fields to make them more readable and understandable. Finally, it includes multi-timeframe support and the ability to color bars based on signals.
The Braid Filter calculates 3 average prices:
A short-term average close price
A medium-term average open price
A long-term average close price
It then finds the minimum and maximum of these three average prices. Then it calculates the difference between the highest and lowest average price. This difference is what the histogram shows. Then the filter line is calculated based on the ATR.
CONCEPTS
This indicator can be used to determine the start of trends. It can also be used to determine when the market is consolidating.
When the bar turns green, the average close price is greater than the average open price, indicating bullish momentum. In addition, if the histogram is green, the difference between the highest average price and the lowest average price is high enough to surpass the filter line. This means that not only is there bullish momentum, but there is stronger than average bullish momentum. Therefore, it is safe to assume that the market will trend higher. When the histogram turns red, this situation plays out except in reverse, indicating that the market will trend lower.
If the histogram color is gray, the difference between the highest average price and the lowest average price used to calculate the Braid Filter is meager. Since the highest and lowest average is close together, the price is unlikely to travel far in one direction. Therefore, it is safe to assume that the market is consolidating when this happens.
HOW DO I READ THIS INDICATOR
The signals between the histogram and filter are calculated as follows:
If the histogram is above the filter line and the fast average close price is greater than the average open price, the histogram is colored green, indicating bullish conditions.
If the histogram is above the filter line and the fast average close price is less than the average open price, the histogram is colored red, indicating bearish conditions.
If the histogram is below the filter line, the histogram is colored gray, indicating neutral conditions.
Williams Vix Fix OHLC candles plot indicator (Tartigradia)OHLC candles plot of the Williams VixFix indicator, which allows to draw trend lines.
Williams VixFix is a realized volatility indicator developed by Larry Williams, and can help in finding market bottoms.
Indeed, as Williams describe in his paper, markets tend to find the lowest prices during times of highest volatility, which usually accompany times of highest fear. The VixFix is calculated as how much the current low price statistically deviates from the maximum within a given look-back period.
The Williams VixFix indicator is usually presented as a curve or histogram. The novelty of this indicator is to present the data as a OHLC candles plot: whereas the original Williams VixFix calculation only involves the close value, we here use the open, high and low values as well. This led to some mathematical challenges because some of these calculations led to absurd values, so workarounds had to be found, but in the end I think the result was worth it, it reproduces the VIX chart quite well.
A great additional value of the OHLC chart is that it shows not just the close value, but all the values during the session: open, high and low in addition to close. This allows to draw trend lines and can provide additional information on momentum and sentiment. In addition, other indicators can be used on it, as if it was a price chart, such as RSI indicators (see RSI+ (alt) indicator for example).
For more information on the Vix Fix, which is a strategy published under public domain:
The VIX Fix, Larry Williams, Active Trader magazine, December 2007, web.archive.org
Fixing the VIX: An Indicator to Beat Fear, Amber Hestla-Barnhart, Journal of Technical Analysis, March 13, 2015, ssrn.com
Replicating the CBOE VIX using a synthetic volatility index trading algorithm, Dayne Cary and Gary van Vuuren, Cogent Economics & Finance, Volume 7, 2019, Issue 1, doi.org
This indicator includes only the Williams VixFix as an OHLC candles or bars plot, and price / vixfix candles plot, as well as the typical vixfix histogram. Indeed, it is much more practical for unbounded range indicators to be plotted in their own separate panel, hence why this indicator is released separately, so that it can work and be scaled adequately out of the box.
Note that the there are however no bottom buy signals. For a more complete indicator, which also includes the OHLC candles plots present here, but also bottom signals and Inverse VixFix (top signals), see:
Set Index symbol to SPX, and index_current = false, and timeframe Weekly, to reproduce the original VIX as close as possible by the VIXFIX (use the Add Symbol option, because you want to plot CBOE:VIX on the same timeframe as the current chart, which may include extended session / weekends). With the Weekly timeframe, off days / extended session days should not change much, but with lower timeframes this is important, because nights and weekends can change how the graph appears and seemingly make them different because of timing misalignment when in reality they are not when properly aligned.
MACD-X Overlay, More Than MACD by DGTMoving Average Convergence Divergence – MACD
The most popular indicator used in technical analysis , the moving average convergence divergence ( MACD ), created by Gerald Appel. MACD is a trend-following momentum indicator , designed to reveal changes in the strength, direction, momentum, and duration of a trend in a financial instrument’s price
Historical evolution of MACD ,
- Gerald Appel created the MACD line,
- Thomas Aspray added the histogram feature to MACD
- Giorgos E. Siligardos created a leader of MACD
MACD employs two Moving Averages of varying lengths (which are lagging indicators) to identify trend direction and duration. Then, MACD takes the difference in values between those two Moving Averages (MACD Line) and an EMA of those Moving Averages (Signal Line) and plots that difference between the two lines as a histogram which oscillates above and below a center Zero Line. The histogram is used as a good indication of a security's momentum.
The MACD indicator is typically good for identifying three types of basic signals;
Signal Line Crossovers
A Signal Line Crossover is the most common signal produced by the MACD . On the occasions where the MACD Line crosses above or below the Signal Line, that can signify a potentially strong move. The standard interpretation of such an event is a recommendation to buy if the MACD line crosses up through the Signal Line (a "bullish" crossover), or to sell if it crosses down through the Signal Line (a "bearish" crossover). These events are taken as indications that the trend in the financial instrument is about to accelerate in the direction of the crossover.
Zero Line Crossovers
Zero Line Crossovers occur when the MACD Line crossed the Zero Line and either becomes positive (above 0) or negative (below 0). A change from positive to negative MACD is interpreted as "bearish", and from negative to positive as "bullish". Zero crossovers provide evidence of a change in the direction of a trend but less confirmation of its momentum than a signal line crossover
Divergence
Divergence is another signal created by the MACD . Simply, divergence occurs when the MACD and actual price are not in agreement. A "positive divergence" or "bullish divergence" occurs when the price makes a new low but the MACD does not confirm with a new low of its own. A "negative divergence" or "bearish divergence" occurs when the price makes a new high but the MACD does not confirm with a new high of its own. A divergence with respect to price may occur on the MACD line and/or the MACD Histogram
Moving Average Crossovers , another hidden signal that MACD Indicator identifies
Many traders will watch for a short-term moving average to cross above a longer-term moving average and use this to signal increasing upward momentum. This bullish crossover suggests that the price has recently been rising at a faster rate than it has in the past, so it is a common technical buy sign. Conversely, a short-term moving average crossing below a longer-term average is used to illustrate that the asset's price has been moving downward at a faster rate and that it may be a good time to sell.
Moving Average Crossovers in reality is Zero Line Crossovers, the value of the MACD indicator is equal to zero each time the two moving averages cross over each other. For easy interpretation by trades, Zero Line Crossovers are simply described as positive or negative MACD
False signals
Like any forecasting algorithm, the MACD can generate false signals. A false positive, for example, would be a bullish crossover followed by a sudden decline in a financial instrument. A false negative would be a situation where there is bearish crossover, yet the financial instrument accelerated suddenly upwards
What is “MACD-X” and Why it is “More Than MACD”
In its simples form, MACD-X implements variety of different calculation techniques applied to obtain MACD Line. Different calculation techniques lead to different values for MACD Line, as will further discuss below, and as a consequence the signal line and the histogram values will differentiate accordingly.
Main features of MACD-X ;
1- Plotting of the Oscillator presented on top of the price chart (main chart) and applicable on both log and linear scale. Maximum plotting length is limited to 250 bars
2- Introduces different proven techniques applied on MACD calculation, such as MACD-AS (Histogram), MACD-Leader and MACD-Source, besides the traditional MACD (MACD-TRADITIONAL)
• MACD-Traditional, by Gerald Appel
It is the MACD that we know, stated as traditional just to avoid confusion with other techniques used with this study
• MACD-Histogram, by Thomas Aspray
The MACD-Histogram measures the distance between MACD and its signal line (the 9-day EMA of MACD ). Aspray developed the MACD-Histogram to anticipate signal line crossovers in MACD . Because MACD uses moving averages and moving averages lag price, signal line crossovers can come late and affect the reward-to-risk ratio of a trade. Bullish or bearish divergences in the MACD-Histogram can alert chartists to an imminent signal line crossover in MACD
Aspray's contribution served as a way to anticipate (and therefore cut down on lag) possible MACD crossovers which are a fundamental part of the indicator.
• MACD-Leader, by Giorgos E. Siligardos, PhD
MACD Leader has the ability to lead MACD at critical situations. Almost all smoothing methods encounter in technical analysis are based on a relative-weighted sum of past prices, and the Leader is no exception. The concealed weights of MACD Leader are such that more relative weight is used in the more recent prices than the respective weights used by the components of MACD . In effect, the Leader expresses more changes in average price dynamics for the recent price movement than MACD , thus eventually leading MACD , especially when significant trend changes are about to take place.
• MACD-Source, a custom experimental interpretation of mine,
MACD Source, presents an application of MACD that evaluates Source/MA Ratio, relatively with less lag, as a basis for MACD Line, also can be expressed as source convergence/divergence to its moving average. Among the various techniques for removing the lag between price and moving average (MA) of the price, one in particular stands out: the addition to the moving average of a portion of the difference between the price and MA. MACD Source, is based on signal length mean of the difference between Source and average value of shot length and long length moving average of the source (Source/MA Ratio), where the source is actual value and hence no lag and relatively less lag with the average value of moving average of the source .
MACD Source provides relatively early crossovers comparing to MACD and better momentum direction indications, assuming the lengths are set to same values
3- Alerts presented for MACD and Signal Line Crosses both for Early Warning and Confirmed Crossovers
For more, You are kindly invited to have a look to other MACD or similar studies presented on separate pane
MACD-X, More Than MACD by DGT , P-MACD by DGT and Price Distance to its MA by DGT
Disclaimer : Trading success is all about following your trading strategy and the indicators should fit within your trading strategy, and not to be traded upon solely
The script is for informational and educational purposes only. Use of the script does not constitutes professional and/or financial advice. You alone the sole responsibility of evaluating the script output and risks associated with the use of the script. In exchange for using the script, you agree not to hold dgtrd TradingView user liable for any possible claim for damages arising from any decision you make based on use of the script
TEMA/HMA/VWMACD - Short Strategy 4HAs we can discover by studying the history of BTCUSD, the fall is always swift. Confirmation of this - today's collapse. In this strategy, an attempt is made to catch such drop by using quick entry and quick exit.
Let's describe what this strategy consists of:
• TEMA (you can find this strategy separately on this page or on platform)
• VWMACD
• HMA
• Take-profit and Stop-losses
Logic:
Firstly we VWMACD (the difference between VWMACD and simple MACD is only in the way of calculating moving average) and plot it as a histogram.
Then HMA is adding as a trend filter. For easy understanding let's plot it now on chart separately.
Next step is to create and add TEMA. After it is needed to subtract slow TEMA from fast TEMA and plot this value around 0 on histogram. This is the main decision for the implementation of the short trade.
ENTRY the trade:
When VMACD is below 0 and price (src = close) is below the HMA and TEMA below 0.
CLOSE the trade:
When VWMACD is upper than 0 or price is upper than HMA or TEMA is upper than 0
You can find more strategies on tradingammo.pro.
CT Reverse MACD CrossIntroducing the Reverse MACD Cross
MACD.... short for moving average convergence/divergence, is a trading indicator used in technical analysis of stock prices, created by Gerald Appel in the late 1970s.
It is designed to reveal changes in the strength, direction, momentum, and duration of a trend in a stock's price.
Prior work by Johny Dough showed how we can compute the price level required to make the MACD stay at its current level,
and also how to compute the price level required for the MACD to cross the zero line.
I have brought that idea to it logical conclusion for the MACD by creating a new function which also computes the price level required to cross the MACD with its signal line.
This allows the user to quickly see all of the most relevant information from the MACD and the actual price levels where the indicator will change its posture.
The MACD indicator (or "oscillator") is a collection of three time series calculated from historical price data, most often the closing price.
These three series are:
the MACD series proper shown here in blue
the "Signal Line" or "average" series shown here in red
the "Divergence" series which is the difference between the two shown here as a histogram.
There is also usually a baseline set at zero.
The MACD series is the difference between a "fast" (short period) exponential moving average (EMA), and a "slow" (longer period) EMA of the price series.
The average series (signal line) is an EMA of the MACD series itself.
The MACD indicator thus depends on three parameters, namely the time periods of the three EMAs.
The notation "MACD ( a, b, c )" usually denotes the standard indicator where the MACD series is the difference of EMAs with characteristic times a and b, and the average series is an EMA of the MACD series with characteristic time c.
There is an infobox which displays...
Whether the MACD is falling or rising
the price level which will make the MACD to change from rising to falling or vice versa
the price level which will cause the MACD to cross the signal line
the price level which will cause the MACD to cross the zero line
The most commonly used values are 12 for the fast, 26 for the slow, and 9 for the signal line, that is, MACD ( 12, 26, 9 ) .
The MACD and average series are customarily displayed as continuous lines in a plot whose horizontal axis is time oscillating above and below a zero line, whereas the divergence is commonly shown as a bar graph / histogram.
A fast EMA responds more quickly than a slow EMA to recent changes in a stock's price.
By comparing EMAs of different periods, the MACD series can indicate changes in the trend of a stock.
It is claimed that the divergence series can reveal subtle shifts in the stock's trend.
Since the MACD is based on moving averages, it is a lagging indicator. As a future metric of price trends, the MACD is less useful for stocks that are not trending (trading in a range) or are trading with unpredictable price action.
Volume Scale by Price (VSP)Volume Scale by Price (VSP) show volume of bar in y-axis (price-axis) with options below:
1. Number of histogram
* Number of histogram = 0 => do not plot volume histogram
* Number of histogram = 1 => plot volume of 21 lasted bar (bar to bar )
* Number of histogram = 2 => plot volume of 21 bar next histogram 1 (bar to bar )
2. Line width
* Columns width of histogram
3. Volume scale ratio
* Scaling histogram with justifiable ratio depend on time frame and symbol
4. Histogram color
* Color of histogram
Linear Quadratic Convergence Divergence OscillatorIntroduction
I inspired myself from the MACD to present a different oscillator aiming to show more reactive/predictive information. The MACD originally show the relationship between two moving averages by subtracting one of fast period and another one of slow period. In my indicator i will use a similar concept, i will subtract a quadratic least squares moving average with a linear least squares moving average of same period, since the quadratic least squares moving average is faster than the linear one and both methods have low-lag this will result in a reactive oscillator.
LQCD In Details
A quadratic least squares moving average try to fit a quadratic function (parabola) to the price by using the method of least squares, the linear least squares moving average try to fit a line. Non-linear fit tend to minimize the sum of squares in non-linear data, this is why a quadratic method is more reactive. The difference of both filters give us an oscillator, then we apply a simple moving average to this oscillator to provide the signal line, subtracting the oscillator and its signal line give us the histogram, those two last steps are the same used in the MACD.
Length control the period of the quadratic/linear moving average. While the MACD use a signal line for plotting the histogram i also added the option to plot the momentum of the quadratic moving average instead, the result is smoother and reduce irregularities, in order to do so just check the differential option in the parameter box.
The period of the signal line and the momentum are both controlled by the signal parameter.
A predictive approach can be made by subtracting the histogram with the signal line, this process make the histogram way more predictive, in order to do so just check the predictive histogram option in the parameter box.
Predictive histogram with simple histogram option. The differential mode can also be used with the predictive parameter, this result in a smoother but less reactive prediction.
Information Interpretation
The amount of information the MACD can give us is high. We can use the histogram as signal generator, or the if the oscillator is over/under 0, combine the oscillator/signal line with histogram, combinations can provide various systems. Some traders use the histogram as signal generator and use the cross between the histogram and the signal line as a stop signal, this method can avoid some whipsaw trades. The study of divergences with the price is also another method.
Conclusion
This oscillator aim to show the same amount of information as the MACD with a similar calculation method but using different kind of filters as well as eliminating the need to use two separates periods for the moving averages calculation, its still possible to use different periods for the quadratic/linear moving average but the results can be less accurate. This indicator can be used like the MACD.
Volume Profile VisionVolume Profile Vision - Complete Description
Overview
Volume Profile Vision (VPV) is an advanced volume profile indicator that visualizes where trading activity has occurred at different price levels over a specified time period. Unlike traditional volume indicators that show volume over time, this indicator displays volume distribution across price levels, helping traders identify key support/resistance zones, fair value areas, and potential reversal points.
What Makes This Indicator Original
Volume Profile Vision introduces several unique features not found in standard volume profile tools:
Dual-Direction Histogram Display:
Unlike conventional volume profiles that only show bars extending in one direction, VPV displays volume bars extending both left (into historical candles) and right (as a traditional histogram). This bi-directional approach allows traders to see exactly where historical price action intersected with high-volume nodes.
Real-Time Candle Highlighting: The indicator dynamically highlights volume bars that intersect with the current candle's price range, making it immediately obvious which volume levels are currently in play.
Four Professional Color Schemes: Each color scheme uses distinct gradient algorithms and visual encoding systems:
Traffic Light: Uses red (POC), green (VA boundaries), yellow (HVN), with grayscale gradients outside the value area
Aurora Glass: Modern cyan-to-magenta gradient with hot magenta POC highlighting
Obsidian Precision: Professional dark theme with white POC and electric cyan accents
Black Ice: Monochromatic cyan family with graduated intensity
Adaptive Transparency System: Automatically adjusts bar transparency based on position relative to value area, with special handling for each color scheme to maintain visual clarity.
Core Concepts & Calculations
Volume Distribution Analysis
The indicator divides the visible price range into user-defined price levels (default: 80 levels) and calculates the total volume traded at each level by:
Scanning back through the specified lookback period (customizable or visible range)
For each historical bar, determining which price levels the bar's high/low range intersects
Accumulating volume for each intersected price level
Optionally filtering by bullish/bearish volume only
Point of Control (POC)
The POC is the price level with the highest traded volume during the analyzed period. This represents the "fairest" price where most traders agreed on value. The indicator marks this with distinct coloring (red in Traffic Light, magenta in Aurora Glass, white in Obsidian Precision, cyan in Black Ice).
Trading Significance: POC acts as a strong magnet for price - markets tend to return to fair value. When price is away from POC, traders watch for:
Mean reversion opportunities when price is far from POC
Rejection signals when price tests POC from above/below
Breakout confirmation when price breaks through and holds beyond POC
Value Area (VA)
The Value Area encompasses the price range where a specified percentage (default: 68%) of all volume traded. This represents the range of "accepted value" by market participants.
Calculation Method:
Start at the POC (highest volume level)
Expand upward and downward, adding adjacent price levels
Always add the level with higher volume next
Continue until accumulated volume reaches the VA percentage threshold
Value Area High (VAH): Upper boundary of accepted value - acts as resistance
Value Area Low (VAL): Lower boundary of accepted value - acts as support
Trading Significance:
Price spending time inside VA indicates market equilibrium
Breakouts above VAH suggest bullish momentum shift
Breakdowns below VAL suggest bearish momentum shift
Returns to VA boundaries often provide high-probability entry zones
High Volume Nodes (HVN)
Price levels with volume exceeding a threshold percentage (default: 80%) of POC volume. These represent areas of strong agreement and consolidation.
Trading Significance:
HVNs act as strong support/resistance zones
Price tends to consolidate at HVNs before making directional moves
Breaking through an HVN often signals strong momentum
Low Volume Nodes (LVN)
Price levels within the Value Area with volume ≤30% of POC volume. These are zones price moved through quickly with minimal consolidation.
Trading Significance:
LVNs represent areas of rejection - price finds little acceptance
Price tends to move rapidly through LVN zones
Useful for setting stop-losses (below LVN for longs, above for shorts)
Can identify potential gaps or "air pockets" in the market structure
Grayscale POC Detection
A secondary POC detection system identifies the highest volume level outside the Value Area (with a 2-level buffer to avoid confusion). This helps identify significant volume accumulation zones that exist beyond the main value area.
How to Use This Indicator
Setup
Choose Lookback Period:
Enable "Use Visible Range" to analyze only what's on your chart
Or set "Fixed Range Lookback Depth" (default: 200 bars) for consistent analysis
Adjust Profile Resolution:
"Number of Price Levels" (default: 80) - higher = more granular analysis, lower = broader zones
Select Color Scheme:
Traffic Light: Best for clear POC/VA/HVN identification
Aurora Glass: Modern aesthetic for dark charts
Obsidian Precision: Professional trader preference
Black Ice: Minimalist single-color family
Visual Customization
Left Extension: How far back the left-side histogram extends into historical candles (default: 490 bars)
Right Extension: Width of the traditional histogram bars on the right (default: 50 bars)
Right Margin: Space between current price bar and histogram (default: 0 for flush alignment)
Left Profile Gap: Space between left-side histogram and candles (default: 0)
Trading Strategies
Strategy 1: Value Area Mean Reversion
Wait for price to move outside the Value Area (above VAH or below VAL)
Look for rejection signals (wicks, bearish/bullish candles)
Enter trades toward the POC
Take profits as price returns to POC or opposite VA boundary
Strategy 2: Breakout Confirmation
Identify when price is consolidating within the Value Area
Wait for a strong close above VAH (bullish) or below VAL (bearish)
Enter on the breakout or on first pullback to the VA boundary
Target previous HVNs or swing highs/lows outside the VA
Strategy 3: POC Support/Resistance
Watch for price approaching the POC level
If approaching from below, look for bullish reversal patterns at POC (support)
If approaching from above, look for bearish reversal patterns at POC (resistance)
Trade in the direction of the bounce with stops beyond the POC
Strategy 4: LVN Fast Movement Zones
Identify LVN zones within the Value Area (marked with "LVN" label)
When price enters an LVN, expect rapid movement through the zone
Avoid entering trades within LVNs
Use LVNs as confirmation of directional momentum
Alert System
The indicator includes 7 customizable alert conditions:
POC Touch: Alerts when price comes within 0.5 ATR of POC
VAH/VAL Touch: Alerts at Value Area boundaries
VA Breakout: Alerts on breakouts above VAH or below VAL
HVN Touch: Alerts when price contacts High Volume Nodes
LVN Entry: Alerts when entering Low Volume zones
POC Shift: Alerts when POC moves to a new price level
Reading the Profile
Price Labels (shown on the right side):
POC: Point of Control - highest volume price level
VAH: Value Area High - upper boundary of accepted value
VAL: Value Area Low - lower boundary of accepted value
LVN: Low Volume Node - expect fast movement through this zone
Color Intensity Interpretation:
Brighter colors = higher volume concentration
Dimmer colors = lower volume
Abrupt color changes = transition between volume zones
Gaps in the histogram = price levels with no trading activity
Technical Details
Volume Accumulation Logic:
For each bar in lookback period:
For each price level:
If bar's high/low range intersects price level:
Add bar's volume to that price level's total
Gradient Algorithm:
Traffic Light: Dual-range piecewise gradient (0-50% and 50-100% volume intensity)
Aurora Glass: Linear cyan-to-magenta interpolation
Obsidian Precision: Dark blue gradient with cyan highlights
Black Ice: Three-stage cyan intensity progression
Real-Time Updates:
The profile recalculates on every bar, including real-time tick data, ensuring the volume distribution always reflects current market structure.
Best Practices
Timeframe Selection: Use higher timeframes (4H, Daily) for swing trading, lower timeframes (5min, 15min) for day trading
Combine with Price Action: Volume profile shows WHERE, price action shows WHEN
Multiple Timeframe Analysis: Check daily VP for major levels, then drill down to intraday for entries
Volume Type Selection: Use "Bullish" volume in uptrends, "Bearish" in downtrends, or "Both" for complete picture
Adjust VA Percentage: 68% (default) captures one standard deviation; try 70% for tighter or 60% for broader value areas
Performance Notes
Maximum bars back: 5000 (handles deep historical analysis)
Maximum boxes: 500 (handles complex profiles)
Optimized calculation: Only recalculates on last bar for efficiency
Real-time capable: Updates as new ticks arrive
VWAP-Anchored MACD [BOSWaves]VWAP-Anchored MACD - Volume-Weighted Momentum Mapping With Zero-Line Filtering
Overview
The VWAP-Anchored MACD delivers a refined momentum model built on volume-weighted price rather than raw closes, giving you a more grounded view of trend strength during sessions, weeks, or months.
Instead of tracking two EMAs of price like a standard MACD, this tool reconstructs the MACD engine using anchored VWAP as the core input. The result is a momentum structure that reacts to real liquidity flow, filters out weak crossovers near the zero line, and visualizes acceleration shifts with clear, high-contrast gradients.
This indicator acts as a precise momentum map that adapts in real time. You see how weighted price is accelerating, where valid crossovers form, and when trend conviction is strong enough to justify execution.
It uses gradient line coloring to show bullish or bearish momentum, histogram shading to highlight energy shifts, cross dots to mark valid crossovers, optional buy/sell diamonds for execution cues, and candle coloring to display trend strength at a glance.
Theoretical Foundation
Traditional MACD compares the difference between two exponential moving averages of price.
This variant replaces price with anchored VWAP, making the calculation sensitive to actual traded volume across your chosen period (Session, Week, or Month).
Three principles drive the logic:
Anchored VWAP Momentum : Price is weighted by volume and aggregated across the selected anchor. The fast and slow VWAP-EMAs then expose how liquidity-corrected momentum is expanding or contracting.
Zero-Line Distance Filtering : Crossover signals that occur too close to the zero line are removed. This eliminates the common MACD problem of generating weak, directionless signals in choppy phases.
Directional Visualization : MACD line, signal line, histogram, candle colors, and optional diamond markers all react to shifts in VWAP-momentum, giving you a clean structural read on market pressure.
Anchoring VWAP to session, weekly, or monthly resets creates a systematic framework for tracking how capital flow is driving momentum throughout each trading cycle.
How It Works
The core engine processes momentum through several mapped layers:
VWAP Aggregation : Price × volume is accumulated until the anchor resets. This creates a continuous, liquidity-corrected VWAP curve.
MACD Construction : Fast and slow VWAP-EMAs define the MACD line, while a smoothed signal line identifies edges where momentum shifts.
Zero-Line Distance Filter : MACD and signal must both exceed a threshold distance from zero for a crossover to count as valid. This prevents fake crossovers during compression.
Visual Momentum Layers : It uses gradient line coloring to show bullish or bearish momentum, histogram shading to highlight energy shifts, cross dots to mark valid crossovers, optional buy/sell diamonds for execution cues, and candle coloring to display trend strength at a glance.
This layered structure ensures you always know whether momentum is strengthening, fading, or transitioning.
Interpretation
You get a clean, structural understanding of VWAP-based momentum:
Bullish Phases : MACD > Signal, histogram expands, candles turn bullish, and crossovers occur above the threshold.
Bearish Phases : MACD < Signal, histogram drives lower, candles shift bearish, and downward crossovers trigger below the threshold.
Neutral/Compression : Both lines remain near the zero boundary, histogram flattens, and signals are suppressed to avoid noise.
This creates a more disciplined version of MACD momentum reading - less noise, more conviction, and better alignment with liquidity.
Strategy Integration
Trend Continuation : Use VWAP-MACD crossovers that occur far from the zero line as higher-conviction entries.
Zero-Line Rejection : Watch for histogram contractions near zero to anticipate flattening momentum and potential reversal setups.
Session/Week/Month Anchors : Session anchor works best for intraday flows. Weekly or monthly anchor structures create cleaner macro momentum reads for swing trading.
Signal-Only Execution : Optional buy/sell diamonds give you direct points to trigger trades without overanalyzing the chart.
This indicator slots cleanly into any momentum-following system and offers higher signal quality than classic MACD variants due to the volume-weighted core.
Technical Implementation Details
VWAP Reset Logic : Session (D), Week (W), or Month (M)
Dynamic Fast/Slow VWAP EMAs : Fully configurable lengths, smoothing and anchor settings
MACD/Signal Line Framework : Traditional structure with volume-anchored input
Zero-Line Filtering : Adjustable threshold for structural confirmation
Dual Visualization Layers : MACD body + histogram + crosses + candle coloring
Optimized Performance : Lightweight, fast rendering across all timeframes
Optimal Application Parameters
Timeframes:
1- 15 min : Short-term momentum scalping and rapid trend shifts
30- 240 min : Balanced momentum mapping with clear structural filtering
Daily : Macro VWAP regime identification
Suggested Configuration:
Fast Length : 12
Slow Length : 26
Signal Length : 9
Zero Threshold : 200 - 500 depending on asset range
These suggested parameters should be used as a baseline; their effectiveness depends on the asset volatility, liquidity, and preferred entry frequency, so fine-tuning is expected for optimal performance.
Performance Characteristics
High Effectiveness:
Assets with strong intraday or session-based volume cycles
Markets where volume-weighted momentum leads price swings
Trend environments with strong acceleration
Reduced Effectiveness:
Ultra-choppy markets hugging the VWAP axis
Sessions with abnormally low volume
Ranges where MACD naturally compresses
Disclaimer
The VWAP-Anchored MACD is a structural momentum tool designed to enhance directional clarity - not a guaranteed predictor. Performance depends on market regime, volatility, and disciplined execution. Use it alongside broader trend, volume, and structural analysis for optimal results.
Predictive Analysis Engine — Adaptive MACD Forecasting with R² SProfessional and Rule-Compliant Description (Ready for Publishing)
This description explains every component of the script in detail, highlights its originality, and provides traders with clear usage instructions — exactly what TradingView expects.
Predictive Analysis Engine (PAE)
This script is a predictive analysis model that combines trend filtering, linear forecasting, stability analysis (R²), and outlier filtering using ATR to produce an advanced, leading-style version of MACD rather than a traditional lagging one.
The indicator does not rely on random elements; it is built on four core components that work together:
1. Stability Measurement Using R²
The coefficient of determination (R²) is calculated based on the correlation between price and time, then normalized to a 0–1 scale.
A higher R² indicates more stable price movement, allowing the script to increase forecast accuracy.
Here, R² acts as a primary component of the Confidence Filter.
2. Forecasted Price Using Linear Regression
Instead of relying solely on the current price, the script uses:
Linear Regression
Weighted blending between the forecasted price and actual price
This enables the script to build a Leading MACD based on an “advanced” price that anticipates probable movement.
3. Advanced MACD With Adaptive Smoothing
MACD is applied to the blended (real + forecasted) price using:
Fast EMA
Slow EMA
MACD base
Optional TEMA for reducing signal lag
Adjustable histogram smoothing
This process makes MACD more responsive with significantly less lag, reacting faster to predicted movements.
4. Predictive MACD (Projected MACD)
Linear Regression is applied again — but this time to:
MACD
Signal
Histogram
to generate projected versions of each line (proj_macd, proj_signal), while proj_hist is used to produce early signals before the actual crossover occurs.
5. Volatility Filtering Using ATR & Volatility Ratio
ATR is used to evaluate:
Strength of movement
Overextension levels
Signal quality
ATR is combined with R² to compute:
Confidence = R² × Volatility Ratio
This suppresses weak signals and boosts high-quality, reliable ones.
6. Predictive Signals + Safety Filters
A signal is triggered when:
proj_hist crosses the 0 level
Confidence exceeds the required threshold
The real histogram is not excessively stretched (extra safety)
The script includes:
BUY / SELL
BUY_STRONG / SELL_STRONG
based on the smoothed histogram trend.
7. Coloring, Background & Visual Enhancements
The script colors:
The histogram
Chart background
Signal lines
to clearly highlight momentum direction and confidence conditions.
8. Built-In Alerts
The script provides ready-to-use alerts:
BUY Alert
SELL Alert
Both based on the predictive MACD model.
How to Use the Script
Add it to any timeframe and any market.
BUY/SELL signals are generated from the projected histogram crossover.
Higher Confidence = stronger signal.
Background colors help visualize trend transitions instantly.
Recommended to combine with support/resistance or price action.
Indicator Objective
This script is designed to deliver early insight into momentum shifts using a blend of:
Linear forecasting
Trend stability via R²
Signal quality filtering via ATR
A fast and adaptive advanced MACD
MACD Divergence auto displayed on chart, with alertsMACD Pivot Divergence Detector
This tool identifies MACD histogram divergences based on confirmed pivot highs and lows.
Instead of comparing swing points on the MACD line, this script focuses specifically on the histogram, which measures momentum shifts between MACD and Signal.
How it works
The script detects confirmed pivots using a two-bar swing structure.
When price breaks above a previous pivot high, the script compares the MACD histogram value at that pivot to the current histogram value:
• If price makes a higher high while the histogram makes a lower high, a potential bearish divergence is marked.
The reverse logic is applied for bullish divergence when price breaks below a pivot low.
What makes this script unique
It uses pivot-confirmed histogram values, not lookback-based divergence.
It evaluates divergence only at actual highs/lows, reducing false positives.
It marks divergence directly on the candles for visual clarity.
Alert conditions are included for automated detection.
How to use
Bullish signals may highlight potential momentum loss in downtrends; bearish signals may highlight momentum loss near highs. Divergence does not guarantee reversal and should be combined with broader context, structure, or trend analysis.
NEURAL FLOW INDEX — Core Energy • Momentum Stream • Pulse SyncNeural Flow Index (NFI) — Advanced Triple-Layer Reversal Framework
The Neural Flow Index (NFI) is a next-generation market oscillator designed to reveal the hidden synchronization between trend energy, cyclical momentum, and internal pulse dynamics.
It merges three powerful analytical layers into a single, normalized view:
Core Energy Curve (based on RSO logic) — captures structural trend bias and volatility expansion.
Momentum Stream (WaveTrend algorithm) — visualizes cyclical motion of price waves.
Pulse Sync (Stochastic RSI adaptation) — measures short-term momentum rhythm and overextension.
Each layer feeds into a unified flow model that adapts to both trend-following and reversal conditions. The goal is not to chase every fluctuation, but to sense where momentum, direction, and volatility converge into true inflection points.
Conceptual Mechanics
The oscillator translates complex market behavior into an elegant, multi-phase signal system:
Core Energy Curve (RSO foundation):
A smoothed dynamic field representing the overall strength and direction of market pressure.
Green energy indicates expansion (bullish dominance); red energy reflects contraction (bearish decay).
Momentum Stream (WaveTrend):
The teal line functions like an electro-wave, oscillating through phases of expansion and exhaustion.
It provides the heartbeat of the market — smooth, rhythmic, and beautifully cyclic.
Pulse Sync (Stochastic RSI):
The purple line acts as the market’s nervous pulse, reacting to micro-momentum changes before the larger trend adjusts.
It identifies micro-tops and micro-bottoms that precede major trend shifts.
When these three forces align, they create high-probability reversal zones known as Neural Nodes — regions where energy, momentum, and rhythm converge.
Trading Logic
Potential Entry Zones:
When the purple Pulse Sync line crosses the green Momentum Stream near the lower or upper bounds of the oscillator, a potential turning point forms.
Yet, these crossovers are only validated when the Core Energy histogram (RSO) simultaneously supports the same direction — confirming that energy and rhythm are synchronized.
Histogram Confirmation:
The histogram is the “voice” of the oscillator.
Rising green volume within the histogram during a Pulse-Momentum crossover suggests a legitimate upward reversal.
Conversely, expanding red energy during an upper-band cross indicates momentum exhaustion and an early short-side opportunity.
Neutral Zones:
When all three layers flatten near the zero line, the market enters an equilibrium phase — no clear trend dominance, ideal for patience and re-entry planning.
| Layer | Representation | Color | Function |
| --------------------- | ------------------- | ----------------- | ------------------------------ |
| **Core Energy Curve** | Area / Histogram | Lime-Red gradient | Trend bias & volatility energy |
| **Momentum Stream** | WaveTrend line | Teal | Cyclical flow of price |
| **Pulse Sync** | Stochastic RSI line | Purple | Short-term momentum rhythm |
Interpretation Summary
Converging Waves: Trend, momentum, and pulse move together → strong continuation.
Diverging Waves: Pulse or Momentum decouple from Core Energy → early reversal warnings.
Histogram Expansion: Confirms direction and strength of the new wave.
Crossovers at Extremes: Potential entries, especially when confirmed by energy alignment.
🪶 Philosophy Behind NFI
The Neural Flow Index is not just a technical indicator — it’s a behavioral visualization system.
Instead of focusing on lagging confirmations, it captures the neural pattern of price motion:
how liquidity flows, contracts, and expands through time.
It bridges the gap between pure mathematics and market intuition — giving traders a cinematic, harmonic view of energy transition inside price structure.
MACD with Smart Entry Signals & Trend Filter
This advanced MACD indicator combines traditional MACD analysis with intelligent entry signal detection and an optional EMA trend filter. It identifies high-probability entry points by analyzing histogram patterns, consolidation phases, and trend continuation setups.
### Key Features
**🎯 Smart Entry Detection**
- **Consolidation Breakouts**: Identifies exits from consolidation zones (weak bars) with strong momentum
- **Trend Reversals**: Detects potential trend changes after extended weak phases
- **Correction/Continuation Patterns**: Recognizes brief corrections within strong trends that offer continuation opportunities
**📊 Enhanced MACD Visualization**
- Color-coded histogram showing four distinct states:
- Strong Bullish (dark green): Rising histogram above zero
- Weak Bullish (light green): Falling histogram above zero
- Weak Bearish (light red): Rising histogram below zero
- Strong Bearish (dark red): Falling histogram below zero
**🔍 Multi-Layer Filtering System**
- **Candle Size Filter**: Eliminates signals during high volatility/large candle ranges
- **EMA Trend Filter**: Optional filter ensuring entries align with the dominant trend direction
- Visual markers for rejected signals (orange X for candle size, blue E for EMA trend)
**⚙️ Customizable Parameters**
- Adjustable MACD periods (default: 34/144/9)
- Configurable consolidation bar requirements
- Flexible correction pattern detection
- EMA trend filter with adjustable sensitivity
- Multiple alert types for all signal conditions
### How to Use
1. **Enable/disable filters** based on your trading style and market conditions
2. **Green triangles (L)**: Long entry signals when all conditions are met
3. **Red triangles (S)**: Short entry signals when all conditions are met
4. **Rejected signal markers**: Help you understand why certain setups were filtered out
5. **Background coloring**: Provides visual confirmation of signal zones and correction patterns
### Alert System
Comprehensive alerts for:
- Long and short entry signals
- Specific pattern types (consolidation, reversal, continuation)
- Rejected signals (helps refine strategy)
- Traditional MACD histogram crossovers
### Best Practices
- Use the EMA trend filter in trending markets to avoid counter-trend trades
- Adjust candle size filter based on your instrument's typical volatility
- Consider combining with support/resistance levels for confirmation
- Test different consolidation bar settings for your timeframe
### Parameters Summary
- Fast/Slow Length: MACD calculation periods
- Signal Smoothing: Signal line period
- Consolidation Bars: Minimum weak bars before breakout
- Max Candle Range: Filter for oversized candles
- EMA Period & Sensitivity: Trend filter configuration
---
*This indicator is designed for traders who want a systematic approach to identifying MACD-based entry opportunities with built-in risk management through filtering.*
Regular-Delta RSI Gap Indicator# Regular-Delta RSI Gap Indicator
## Overview
The **Regular-Delta RSI Gap Indicator** is a sophisticated momentum oscillator that compares traditional RSI with volume-based Delta RSI to identify trend strength and potential reversal points. This unique indicator combines price action with volume dynamics to provide enhanced market insights.
## Key Features
### 🔄 Dual RSI Analysis
- **Regular RSI**: Standard RSI based on price changes
- **Delta RSI**: Volume-weighted RSI calculated from volume change rates
- **Visual Comparison**: Clear plotting of both RSIs with ribbon fill
### 💪 Strength Measurement
- **ADX-style Strength Calculation**: Measures the divergence strength between Regular and Delta RSI
- **Configurable Threshold**: Customizable strength level for trend validation
- **Trend Classification**: Identifies strong vs. weak market conditions
### 📊 Multiple Display Options
- **Histogram Visualization**: Columns showing the gap between Regular and Delta RSI
- **Cross Signals**: Triangle markers for crossover events
- **Ribbon Fill**: Color-coded area between the two RSI lines
- **Real-time Table**: Summary table showing current values and trends
## Input Parameters
### Core Settings
- **RSI Period** (default: 14): Calculation period for both RSIs
- **Strength Smoothing** (default: 14): Smoothing period for strength calculation
- **Strength Threshold** (default: 5): Minimum level for strong trend classification
### Visual Customization
- **Show Histogram**: Toggle histogram display
- **Show Signals**: Display crossover signals
- **Show Labels**: Enable trend labels and information table
- **Histogram Height Scale**: Adjust histogram visibility (0.1-3.0)
- **Apply Ribbon Fill**: Enable/disable ribbon coloring
### Color Scheme
- Fully customizable colors for bullish, bearish, neutral, and strength elements
## Interpretation
### Trend Signals
- **Strong Uptrend**: Regular RSI > Delta RSI + Strength above threshold
- **Strong Downtrend**: Regular RSI < Delta RSI + Strength above threshold
- **Weak Trend**: Strength below threshold
### Key Levels
- **Overbought**: 70 level (red line)
- **Oversold**: 30 level (blue line)
- **Midline**: 50 level (gray dotted line)
- **Zero Line**: Histogram baseline
- **Threshold**: Strength reference line
### Signal Types
1. **Crossover Signals**: Regular RSI crossing above/below Delta RSI
2. **Strength Transitions**: Strength line crossing threshold
3. **Histogram Patterns**: Column color and height changes
## Alerts
The indicator provides four alert conditions:
- Divergence Strength Rising
- Divergence Strength Falling
- RSI Crossover (Regular above Delta)
- RSI Crossunder (Regular below Delta)
## Use Cases
- **Trend Confirmation**: Validate price trends with volume confirmation
- **Reversal Detection**: Spot potential trend changes early
- **Momentum Analysis**: Gauge market momentum strength
- **Divergence Trading**: Identify regular/volume RSI divergences
## Optimization Tips
- Adjust period lengths based on trading timeframe
- Modify threshold based on market volatility
- Combine with price action for confirmation
- Use in conjunction with support/resistance levels
This indicator is particularly useful for traders looking to incorporate volume confirmation into their RSI analysis and identify high-probability trend continuations or reversals.






















