FvgPanel█ OVERVIEW
This library provides functionalities for creating and managing a display panel within a Pine Script™ indicator. Its primary purpose is to offer a structured way to present Fair Value Gap (FVG) information, specifically the nearest bullish and bearish FVG levels across different timeframes (Current, MTF, HTF), directly on the chart. The library handles the table's structure, header initialization, and dynamic cell content updates.
█ CONCEPTS
The core of this library revolves around presenting summarized FVG data in a clear, tabular format. Key concepts include:
FVG Data Aggregation and Display
The panel is designed to show at-a-glance information about the closest active FVG mitigation levels. It doesn't calculate these FVGs itself but relies on the main script to provide this data. The panel is structured with columns for timeframes (TF), Bullish FVGs, and Bearish FVGs, and rows for "Current" (LTF), "MTF" (Medium Timeframe), and "HTF" (High Timeframe).
The `panelData` User-Defined Type (UDT)
To facilitate the transfer of information to be displayed, the library defines a UDT named `panelData`. This structure is central to the library's operation and is designed to hold all necessary values for populating the panel's data cells for each relevant FVG. Its fields include:
Price levels for the nearest bullish and bearish FVGs for LTF, MTF, and HTF (e.g., `nearestBullMitLvl`, `nearestMtfBearMitLvl`).
Boolean flags to indicate if these FVGs are classified as "Large Volume" (LV) (e.g., `isNearestBullLV`, `isNearestMtfBearLV`).
Color information for the background and text of each data cell, allowing for conditional styling based on the FVG's status or proximity (e.g., `ltfBullBgColor`, `mtfBearTextColor`).
The design of `panelData` allows the main script to prepare all display-related data and styling cues in one object, which is then passed to the `updatePanel` function for rendering. This separation of data preparation and display logic keeps the library focused on its presentation task.
Visual Cues and Formatting
Price Formatting: Price levels are formatted to match the instrument's minimum tick size using an internal `formatPrice` helper function, ensuring consistent and accurate display.
Large FVG Icon: If an FVG is marked as a "Large Volume" FVG in the `panelData` object, a user-specified icon (e.g., an emoji) is prepended to its price level in the panel, providing an immediate visual distinction.
Conditional Styling: The background and text colors for each FVG level displayed in the panel can be individually controlled via the `panelData` object, enabling the main script to implement custom styling rules (e.g., highlighting the overall nearest FVG across all timeframes).
Handling Missing Data: If no FVG data is available for a particular cell (i.e., the corresponding level in `panelData` is `na`), the panel displays "---" and uses a specified background color for "Not Available" cells.
█ CALCULATIONS AND USE
Using the `FvgPanel` typically involves a two-stage process: initialization and dynamic updates.
Step 1: Panel Creation
First, an instance of the panel table is created once, usually during the script's initial setup. This is done using the `createPanel` function.
Call `createPanel()` with parameters defining its position on the chart, border color, border width, header background color, header text color, and header text size.
This function initializes the table with three columns ("TF", "Bull FVG", "Bear FVG") and three data rows labeled "Current", "MTF", and "HTF", plus a header row.
Store the returned `table` object in a `var` variable to persist it across bars.
// Example:
var table infoPanel = na
if barstate.isfirst
infoPanel := panel.createPanel(
position.top_right,
color.gray,
1,
color.new(color.gray, 50),
color.white,
size.small
)
Step 2: Panel Updates
On each bar, or whenever the FVG data changes (typically on `barstate.islast` or `barstate.isrealtime` for efficiency), the panel's content needs to be refreshed. This is done using the `updatePanel` function.
Populate an instance of the `panelData` UDT with the latest FVG information. This includes setting the nearest bullish/bearish mitigation levels for LTF, MTF, and HTF, their LV status, and their desired background and text colors.
Call `updatePanel()`, passing the persistent `table` object (from Step 1), the populated `panelData` object, the icon string for LV FVGs, the default text color for FVG levels, the background color for "N/A" cells, and the general text size for the data cells.
The `updatePanel` function will then clear previous data and fill the table cells with the new values and styles provided in the `panelData` object.
// Example (inside a conditional block like 'if barstate.islast'):
var panelData fvgDisplayData = panelData.new()
// ... (logic to populate fvgDisplayData fields) ...
// fvgDisplayData.nearestBullMitLvl = ...
// fvgDisplayData.ltfBullBgColor = ...
// ... etc.
if not na(infoPanel)
panel.updatePanel(
infoPanel,
fvgDisplayData,
"🔥", // LV FVG Icon
color.white,
color.new(color.gray, 70), // NA Cell Color
size.small
)
This workflow ensures that the panel is drawn only once and its cells are efficiently updated as new data becomes available.
█ NOTES
Data Source: This library is solely responsible for the visual presentation of FVG data in a table. It does not perform any FVG detection or calculation. The calling script must compute or retrieve the FVG levels, LV status, and desired styling to populate the `panelData` object.
Styling Responsibility: While `updatePanel` applies colors passed via the `panelData` object, the logic for *determining* those colors (e.g., highlighting the closest FVG to the current price) resides in the calling script.
Performance: The library uses `table.cell()` to update individual cells, which is generally more efficient than deleting and recreating the table on each update. However, the frequency of `updatePanel` calls should be managed by the main script (e.g., using `barstate.islast` or `barstate.isrealtime`) to avoid excessive processing on historical bars.
`series float` Handling: The price level fields within the `panelData` UDT (e.g., `nearestBullMitLvl`) can accept `series float` values, as these are typically derived from price data. The internal `formatPrice` function correctly handles `series float` for display.
Dependencies: The `FvgPanel` itself is self-contained and does not import other user libraries. It uses standard Pine Script™ table and string functionalities.
█ EXPORTED TYPES
panelData
Represents the data structure for populating the FVG information panel.
Fields:
nearestBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point (bottom for bull) on the LTF.
isNearestBullLV (series bool) : True if the nearest bullish FVG on the LTF is a Large Volume FVG.
ltfBullBgColor (series color) : Background color for the LTF bullish FVG cell in the panel.
ltfBullTextColor (series color) : Text color for the LTF bullish FVG cell in the panel.
nearestBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point (top for bear) on the LTF.
isNearestBearLV (series bool) : True if the nearest bearish FVG on the LTF is a Large Volume FVG.
ltfBearBgColor (series color) : Background color for the LTF bearish FVG cell in the panel.
ltfBearTextColor (series color) : Text color for the LTF bearish FVG cell in the panel.
nearestMtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the MTF.
isNearestMtfBullLV (series bool) : True if the nearest bullish FVG on the MTF is a Large Volume FVG.
mtfBullBgColor (series color) : Background color for the MTF bullish FVG cell.
mtfBullTextColor (series color) : Text color for the MTF bullish FVG cell.
nearestMtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the MTF.
isNearestMtfBearLV (series bool) : True if the nearest bearish FVG on the MTF is a Large Volume FVG.
mtfBearBgColor (series color) : Background color for the MTF bearish FVG cell.
mtfBearTextColor (series color) : Text color for the MTF bearish FVG cell.
nearestHtfBullMitLvl (series float) : The price level of the nearest bullish FVG's mitigation point on the HTF.
isNearestHtfBullLV (series bool) : True if the nearest bullish FVG on the HTF is a Large Volume FVG.
htfBullBgColor (series color) : Background color for the HTF bullish FVG cell.
htfBullTextColor (series color) : Text color for the HTF bullish FVG cell.
nearestHtfBearMitLvl (series float) : The price level of the nearest bearish FVG's mitigation point on the HTF.
isNearestHtfBearLV (series bool) : True if the nearest bearish FVG on the HTF is a Large Volume FVG.
htfBearBgColor (series color) : Background color for the HTF bearish FVG cell.
htfBearTextColor (series color) : Text color for the HTF bearish FVG cell.
█ EXPORTED FUNCTIONS
createPanel(position, borderColor, borderWidth, headerBgColor, headerTextColor, headerTextSize)
Creates and initializes the FVG information panel (table). Sets up the header rows and timeframe labels.
Parameters:
position (simple string) : The position of the panel on the chart (e.g., position.top_right). Uses position.* constants.
borderColor (simple color) : The color of the panel's border.
borderWidth (simple int) : The width of the panel's border.
headerBgColor (simple color) : The background color for the header cells.
headerTextColor (simple color) : The text color for the header cells.
headerTextSize (simple string) : The text size for the header cells (e.g., size.small). Uses size.* constants.
Returns: The newly created table object representing the panel.
updatePanel(panelTable, data, lvIcon, defaultTextColor, naCellColor, textSize)
Updates the content of the FVG information panel with the latest FVG data.
Parameters:
panelTable (table) : The table object representing the panel to be updated.
data (panelData) : An object containing the FVG data to display.
lvIcon (simple string) : The icon (e.g., emoji) to display next to Large Volume FVGs.
defaultTextColor (simple color) : The default text color for FVG levels if not highlighted.
naCellColor (simple color) : The background color for cells where no FVG data is available ("---").
textSize (simple string) : The text size for the FVG level data (e.g., size.small).
Returns: _void
Cerca negli script per "fvg"
Multi Timeframe Fair Value Gap Indicator ProMulti Timeframe Fair Value Gap Indicator Pro | MTF FVG Imbalance Zones | Institutional Supply Demand Levels
🎯 The Most Comprehensive Multi-Timeframe Fair Value Gap (FVG) Indicator on TradingView
Transform Your Trading with Institutional-Grade Multi-Timeframe FVG Analysis
Keywords: Multi Timeframe Indicator, MTF FVG, Fair Value Gap, Imbalance Zones, Supply and Demand, Institutional Trading, Order Flow Imbalance, Price Inefficiency, Smart Money Concepts, ICT Concepts, Volume Imbalance, Liquidity Voids, Multi Timeframe Analysis
📊 WHAT IS THIS INDICATOR?
The Multi Timeframe Fair Value Gap Indicator Pro is the most advanced FVG detection system on TradingView, designed to identify high-probability institutional supply and demand zones across multiple timeframes simultaneously. This professional-grade tool automatically detects Fair Value Gaps (FVGs), also known as imbalance zones, liquidity voids, or inefficiency gaps - the exact areas where institutional traders enter and exit positions.
🔍 What Are Fair Value Gaps (FVGs)?
Fair Value Gaps are three-candle price formations that create imbalances in the market structure. These gaps represent areas where buying or selling was so aggressive that price moved too quickly, leaving behind an inefficient zone that price often returns to "fill" or "mitigate." Professional traders use these zones as high-probability entry points.
Bullish FVG: When the low of candle 3 is higher than the high of candle 1
Bearish FVG: When the high of candle 3 is lower than the low of candle 1
⚡ KEY FEATURES
📈 Multi-Timeframe Analysis (MTF)
- 12 Timeframes Simultaneously: 1m, 3m, 5m, 15m, 30m, 45m, 1H, 2H, 3H, 4H, Daily, Weekly
- Real-Time Detection: Instantly identifies FVGs as they form across all selected timeframes
- Customizable Timeframe Selection: Choose which timeframes to display based on your trading style
- Higher Timeframe Confluence: See when multiple timeframes align for stronger signals
🎨 Three Professional Visual Themes
1. Dark Intergalactic: Futuristic neon colors with high contrast for dark mode traders
2. Light Minimal: Clean, professional appearance for traditional charting
3. Pro Modern: Low-saturation colors for extended screen time comfort
📊 Advanced FVG Dashboard
- Live FVG Counter: Real-time count of active bullish and bearish gaps
- Total Zone Tracking: Monitor all active imbalance zones at a glance
- Theme-Adaptive Display: Dashboard automatically adjusts to your selected visual theme
- Strategic Positioning: Optimally placed to not interfere with price action
🔧 Smart Zone Management
- Dynamic Zone Updates: FVG boxes automatically adjust when price touches them
- Mitigation Detection: Visual feedback when zones are tested or filled
- Color-Coded Status: Instantly see untested vs tested zones
- Extended Projection: Option to extend boxes to the right for future reference
- Timeframe Labels: Optional labels showing which timeframe each FVG originated from
💡 Intelligent Features
- Automatic Zone Cleanup: Removes fully mitigated FVGs to keep charts clean
- Touch-Based Level Adjustment: Zones adapt to partial fills
- Maximum Box Management: Optimized to handle 500 simultaneous FVG zones
- Performance Optimized: Efficient code ensures smooth operation even with multiple timeframes
🎯 TRADING APPLICATIONS
Day Trading & Scalping
- Use 1m, 3m, 5m FVGs for quick scalp entries
- Combine with higher timeframe FVGs for directional bias
- Perfect for futures (ES, NQ, MNQ), forex, and crypto scalping
Swing Trading
- Focus on 1H, 4H, and Daily FVGs for swing positions
- Identify major support/resistance zones
- Plan entries at untested higher timeframe gaps
Position Trading
- Utilize Daily and Weekly FVGs for long-term positions
- Identify institutional accumulation/distribution zones
- Major reversal points at significant imbalance areas
Multi-Timeframe Confluence Trading
- Stack multiple timeframe FVGs for high-probability zones
- Confirm entries when lower and higher timeframe FVGs align
- Professional edge through timeframe confluence
📚 HOW TO USE THIS INDICATOR
Step 1: Add to Your Chart
Click "Add to Favorites" and apply to any trading instrument - works on all markets including stocks, forex, crypto, futures, and indices.
Step 2: Configure Your Timeframes
In settings, select which timeframes you want to monitor. Day traders might focus on 1m-15m, while swing traders might use 1H-Weekly.
Step 3: Choose Your Visual Theme
Select from three professional themes based on your preference and trading environment.
Step 4: Identify Trading Opportunities
For Long Entries:
- Look for Bullish FVGs (green/cyan zones)
- Wait for price to return to untested zones
- Enter when price shows rejection from the FVG zone
- Higher timeframe FVGs provide stronger support
For Short Entries:
- Look for Bearish FVGs (red/pink zones)
- Wait for price to return to untested zones
- Enter when price shows rejection from the FVG zone
- Higher timeframe FVGs provide stronger resistance
Step 5: Manage Risk
- Place stops beyond the FVG zone
- Use partially filled FVGs as trailing stop levels
- Exit when opposite FVGs form (reversal signal)
🏆 WHY THIS IS THE BEST MTF FVG INDICATOR
✅ Most Comprehensive
- More timeframes than any other FVG indicator
- Advanced features not found elsewhere
- Professional-grade visual presentation
✅ Institutional-Grade
- Based on smart money concepts (SMC)
- ICT (Inner Circle Trader) methodology compatible
- Used by professional prop traders
✅ User-Friendly
- Clean, intuitive interface
- Detailed tooltips and descriptions
- Works out-of-the-box with optimal defaults
✅ Continuously Updated
- Regular improvements and optimizations
- Community feedback incorporated
- Professional development by PineProfits
🔥 PERFECT FOR
- Scalpers seeking quick FVG fills
- Day Traders using multi-timeframe analysis
- Swing Traders identifying major zones
- ICT/SMC Traders following smart money
- Prop Firm Traders needing reliable setups
- Algorithmic Traders building systematic strategies
- Technical Analysts studying market structure
- All Experience Levels from beginners to professionals
💎 ADVANCED TIPS
1. Confluence is Key: The strongest signals occur when multiple timeframe FVGs align at the same price level
2. Fresh vs Tested: Untested FVGs (original color) are stronger than tested ones (gray/muted color)
3. Time of Day: FVGs formed during high-volume sessions (London/NY) are more reliable
4. Trend Alignment: Trade FVGs in the direction of the higher timeframe trend for best results
5. Volume Confirmation: Combine with volume indicators for enhanced reliability
📈 INDICATOR SETTINGS
Visual Settings
- Visual Theme: Choose between Dark Intergalactic, Light Minimal, or Pro Modern
- Show Branding: Toggle PineProfits branding on/off
General Settings
- Move box levels with price touch: Dynamically adjust FVG zones
- Change box color with price touch: Visual feedback for tested zones
- Extend boxes to the right: Project zones into the future
- Plot Timeframe Label: Show origin timeframe on each FVG
- Show FVG Dashboard: Toggle the summary dashboard
Timeframe Selection
Select any combination of 12 available timeframes (1m to Weekly)
🚀 GET STARTED NOW
1. Click "Add to Favorites" to save this indicator
2. Apply to your chart - works on any instrument
3. Join thousands of traders already using this professional tool
4. Follow PineProfits for more institutional-grade indicators
⚖️ DISCLAIMER
This indicator is for educational and informational purposes only. It should not be considered financial advice. Always do your own research and practice proper risk management. Past performance does not guarantee future results. Trade responsibly.
© PineProfits - Professional Trading Tools for Modern Markets
If you find this indicator valuable, please leave a like and comment. Your support helps me create more professional-grade tools for the TradingView community!
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.
IME's Community First Presented FVGsIME's Community First Presented FVGs v1.5 - Advanced Implementation
ORIGINALITY & INNOVATION
This indicator advances beyond basic Fair Value Gap detection by implementing a sophisticated 24-hour FVG lifecycle management system aligned with institutional trading patterns. While many FVG indicators simply detect gaps and extend them indefinitely, this implementation introduces temporal intelligence that mirrors how institutional algorithms actually manage these inefficiencies.
Key Innovations that set this apart:
- 24-Hour Lifecycle Management: FVGs extend dynamically until 16:59, then freeze until removal at 17:00 next day
- Institutional Day Alignment: Recognizes 18:00-16:59 trading cycles vs standard calendar days
- Multi-Session Detection: Simultaneous monitoring of Midnight, London, NY AM, and NY PM sessions
- Advanced Classification System: A.FVG detection with volume imbalance analysis vs classic FVG patterns
- Volatility Settlement Logic: Blocks contamination from opening mechanics (3:01+, 0:01+, 13:31+ rules)
- Visual Enhancement System: C.E. lines, contamination warnings, dark mode support with proper transparency handling
BASED ON ICT CONCEPTS
This indicator implements First Presented Fair Value Gap methodology taught by ICT (Inner Circle Trader). The original F.P. FVG concepts, timing rules, and session-based detection are credited to ICT's educational material. This implementation extends those foundational concepts with advanced lifecycle management and institutional alignment features.
ICT's Core F.P. FVG Rules Implemented:
- First clean FVG after session opening (avoids opening contamination)
- 3-candle pattern requirement for valid detection
- Session-specific timing windows and volatility settlement
- Consequent Encroachment level identification
IME's Advanced Enhancements:
- Automated lifecycle management with institutional day recognition
- Multi-session simultaneous monitoring with proper isolation
- Advanced visual system with transparency states for aged FVGs
- A.FVG classification with volume imbalance detection algorithms
HOW IT WORKS
Core Detection Engine
The indicator monitors four key institutional sessions using precise timing windows:
- Midnight Session: 00:01-00:30 (blocks 00:00 contamination)
- London Session: 03:01-03:30 (blocks 03:00 contamination)
- NY AM Session: 09:30-10:00 (configurable 9:30 detection)
- NY PM Session: 13:31-14:00 (blocks 13:30 contamination)
During each session window, the algorithm scans for the first valid FVG pattern using ICT's 3-candle rule while applying volatility settlement principles to avoid false signals from opening mechanics.
Advanced Classification System
Classic FVG Detection:
Standard 3-candle wick-to-wick gap where candle 1 and 3 don't overlap, creating an inefficiency that institutions must eventually fill.
A.FVG (Advanced FVG) Detection:
Enhanced pattern recognition that includes volume imbalance analysis (deadpool detection) to identify more significant institutional inefficiencies. A.FVGs incorporate both the basic gap plus additional price imbalances between candle bodies, creating larger, more significant levels.
24-Hour Lifecycle Management
Phase 1 - Dynamic Extension (Creation Day):
From detection until 16:59 of creation day, FVGs extend in real-time as new bars form, maintaining their relevance as potential support/resistance levels.
Phase 2 - Freeze Period (Next Day):
At 16:59, FVGs stop extending and "freeze" at their final size, remaining visible as reference levels but no longer growing. This prevents outdated levels from contaminating fresh analysis.
Phase 3 - Cleanup (17:00 Next Day):
Exactly 24+ hours after creation, FVGs are automatically removed to maintain chart clarity. This timing aligns with institutional trading cycle completion.
Institutional Day Logic
The algorithm recognizes that institutional trading days run from 18:00-16:59 (not midnight-midnight). This alignment ensures FVGs are managed according to institutional timeframes rather than arbitrary calendar boundaries.
Contamination Avoidance System
Volatility Settlement Principle:
Opening mechanics create artificial volatility that can produce false FVG signals. The indicator automatically blocks detection during exact session opening times (X:00) and requires settlement time (X:01+) before identifying clean institutional inefficiencies.
Special NY AM Handling:
Provides configurable 9:30 detection for advanced users who want to capture potential opening range FVGs, with clear visual warnings about contamination risk.
VISUAL SYSTEM
Color Intelligence
- Current Day FVGs: Full opacity with session-specific colors
- Previous Day FVGs: 70% transparency for historical reference
- Special Timing (9:30): Dedicated warning color with alert labels
- Dark Mode Support: Automatic text/line color adaptation
Enhanced Visual Elements
C.E. (Consequent Encroachment) Lines:
Automatically calculated 50% levels within each FVG, representing the most likely fill point based on institutional behavior patterns. These levels extend and freeze with their parent FVG.
Contamination Warnings:
Visual alerts when FVGs are detected during potentially contaminated timing, helping traders understand signal quality.
Session Identification:
Clear labeling system showing FVG type (FVG/A.FVG), session origin (NY AM, London, etc.), and creation date for easy reference.
HOW TO USE
Basic Setup
1. Session Selection: Enable/disable specific sessions based on your trading strategy
2. FVG Type: Choose between Classic FVGs or A.FVGs depending on your analysis preference
3. Visual Preferences: Adjust colors, text size, and enable dark mode if needed
Trading Applications
Intraday Reference Levels:
Use current day FVGs as potential support/resistance for price action analysis. The dynamic extension ensures levels remain relevant throughout the trading session.
Multi-Session Analysis:
Monitor how price interacts with FVGs from different sessions to understand institutional flow and market structure.
C.E. Level Trading:
Focus on the 50% consequent encroachment levels for high-probability entry points when price approaches FVG zones.
Historical Context:
Previous day FVGs (shown with transparency) provide context for understanding market structure evolution across multiple trading days.
Advanced Features
9:30 Special Detection:
For experienced traders, enable 9:30 FVG detection to capture opening range inefficiencies, but understand the contamination risks indicated by warning labels.
A.FVG vs Classic Toggle:
Switch between detection modes based on market conditions - A.FVGs for trending environments, Classic FVGs for ranging conditions.
Best Practices
- Use on 1-minute to 15-minute timeframes for optimal session detection
- Combine with other institutional concepts (order blocks, liquidity levels) for comprehensive analysis
- Pay attention to transparency states - current day FVGs are more actionable than previous day references
- Consider C.E. levels as primary targets rather than full FVG fills
TECHNICAL SPECIFICATIONS
Platform: Pine Script v6 for optimal performance and reliability
Timeframe Compatibility: All timeframes (optimized for 1M-15M)
Market Compatibility: 24-hour markets (Forex, Crypto, Futures)
Session Management: Automatic trading day detection with weekend handling
Memory Management: Intelligent capacity limits with automatic cleanup
Performance: Optimized algorithms for smooth real-time operation
CLOSED SOURCE JUSTIFICATION
This indicator is published as closed source to protect the proprietary algorithms that enable:
- Precise 24-hour lifecycle timing calculations with institutional day alignment
- Advanced A.FVG classification with sophisticated volume imbalance detection
- Complex multi-session coordination with contamination filtering
- Optimized memory management preventing performance degradation
- Specialized visual state management for transparency and extension logic
The combination of these advanced systems creates a unique implementation that goes far beyond basic FVG detection, warranting protection of the underlying computational methods while providing full transparency about functionality and usage.
PERFORMANCE CHARACTERISTICS
Real-Time Operation: Smooth performance with minimal resource usage
Accuracy: Precise session detection with timezone consistency
Reliability: Robust error handling and edge case management
Scalability: Supports multiple simultaneous FVGs without performance impact
This advanced implementation represents significant evolution beyond basic FVG indicators, providing institutional-grade analysis tools for serious traders while maintaining the clean visual presentation essential for effective technical analysis.
IMPORTANT DISCLAIMERS
Past performance does not guarantee future results. This indicator is an educational tool based on ICT's Fair Value Gap concepts and should be used as part of a comprehensive trading strategy. Users should understand the risks involved in trading and consider their risk tolerance before making trading decisions. The indicator identifies potential support/resistance levels but does not predict market direction with certainty.
2 days ago
Release Notes
IME's Community First Presented FVGs v1.5.2 - Critical Bug Fixes
Bug Fixes:
v1.5.1 - Fixed 9:30 Contamination Blocking:
Issue: When 9:30 detection toggle was OFF, script still detected 9:30 candles as F.P. FVGs
Fix: Added proper contamination blocking logic that prevents 9:30 middle candle detection when toggle is OFF
Result: Toggle OFF now correctly shows clean F.P. FVGs at 9:31+ (proper ICT volatility settlement)
v1.5.2 - Fixed A.FVG Box Calculation Accuracy:
Issue: A.FVG boxes incorrectly included ALL body levels even when no actual deadpool existed between specific candles
Fix: Implemented selective body level inclusion - only adds body prices where actual volume imbalances exist
Result: A.FVG boxes now accurately represent only areas with real institutional volume imbalances
Impact:
More Accurate Detection: 9:30 contamination properly blocked when disabled
Precise A.FVG Zones: Boxes only include levels with actual deadpools/volume imbalances
Institutional Accuracy: Both fixes align detection with true institutional trading principles
Technical Details:
Enhanced contamination blocking checks middle candle timing in normal mode
A.FVG calculation now selectively includes body levels based on individual deadpool existence
Maintains backward compatibility with all existing features and settings
These fixes ensure the indicator provides institutionally accurate FVG detection and sizing for professional trading analysis.
ICT Silver Bullet [LuxAlgo]The ICT Silver Bullet indicator is inspired from the lectures of "The Inner Circle Trader" (ICT) and highlights the Silver Bullet (SB) window which is a specific 1-hour interval where a Fair Value Gap (FVG) pattern can be formed.
When a FVG is formed during the Silver Bullet window, Support & Resistance lines will be drawn at the end of the SB session.
There are 3 different Silver Bullet windows (New York local time):
The London Open Silver Bullet (3 AM — 4 AM ~ 03:00 — 04:00)
The AM Session Silver Bullet (10 AM — 11 AM ~ 10:00 — 11:00)
The PM Session Silver Bullet (2 PM — 3 PM ~ 14:00 — 15:00)
🔶 USAGE
The ICT Silver Bullet indicator aims to provide users a comprehensive display as similar as possible to how anyone would manually draw the concept on their charts.
It's important to use anything below the 15-minute timeframe to ensure proper setups can display. In this section, we are purely using the 3-minute timeframe.
In the image below, we can see a bullish setup whereas a FVG was successfully retested during the Silver Bullet session. This was then followed by a move upwards to liquidity as our target.
Alternatively, you can also see below a bearish setup utilizing the ICT Silver Bullet indicator outlined.
At this moment, the indicator has removed all other FVGs within the Silver Bullet session & has confirmed this FVG as the retested one.
There is also a support level marked below to be used as a liquidity target as per the ICT Silver Bullet concept suggests.
In the below chart we can see 4 separate consecutive examples of bullish & bearish setups on the 3-minute chart.
🔶 CONCEPTS
This technique can visualize potential support/resistance lines, which can be used as targets.
The script contains 2 main components:
• forming of a Fair Value Gap (FVG)
• drawing support/resistance (S/R) lines
🔹 Forming of FVG
1 basic principle: when a FVG at the end of the SB session is not retraced, it will be made invisible.
Dependable on the settings, different FVG's will be shown.
• 'All FVG': all FVG's are shown, regardless the trend
• 'Only FVG's in the same direction of trend': Only FVG's are shown that are similar to the trend at that moment (trend can be visualized by enabling ' Show ' -> ' Trend ')
-> only bearish FVG when the trend is bearish vs. bullish FVG when trend is bullish
• 'strict': Besides being similar to the trend, only FVG's are shown when the closing price at the end of the SB session is:
– below the top of the FVG box (bearish FVG)
– above bottom of the FVG box (bullish FVG)
• 'super-strict': Besides being similar to the trend, only FVG's are shown when the FVG box is NOT broken
in the opposite direction AND the closing price at the end of the SB session is:
– below bottom of the FVG box (bearish FVG)
– above the top of the FVG box (bullish FVG)
' Super-Strict ' mode resembles ICT lectures the most.
🔹 Drawing support/resistance lines
When the SB session has ended, the script draws potential support/resistance lines, again, dependable on the settings.
• Previous session (any): S/R lines are fetched between current and previous session.
For example, when current session is ' AM SB Session (10 AM — 11 AM) ', then previous session is
' London Open SB (3 AM — 4 AM) ', S/R lines between these 2 sessions alone will be included.
• Previous session (similar): S/R lines are fetched between current and previous - similar - session.
For example, when current session is ' London Open SB (3 AM — 4 AM)' , only S/R lines between
current session and previous ' London Open SB (3 AM — 4 AM) ' session are included.
When a new session starts, S/R lines will be removed, except when enabling ' Keep lines (only in strict mode) '
This is not possible in ' All FVG ' or ' Only FVG's in the same direction of trend ' mode, since the chart would be cluttered.
Note that in ' All FVG ' or ' Only FVG's in the same direction of trend ' mode, both, Support/Resistance lines will be shown,
while in Strict/Super-Strict mode:
• only Support lines will be shown if a bearish FVG appears
• only Resistance lines if a bullish FVG is shown
The lines will still be drawn the the end of the SB session, when a valid FVG appears,
but the S/R lines will remain visible and keep being updated until price reaches that line.
This publication contains a "Minimum Trade Framework (mTFW)", which represents the best-case expected price delivery, this is not your actual trade entry - exit range.
• 40 ticks for index futures or indices
• 15 pips for Forex pairs.
When on ' Strict/Super-Strict ' mode, only S/R lines will be shown which are:
• higher than the lowest FVG bottom + mTFW, in a bullish scenario
• lower than the highest FVG bottom - mTFW, in a bearish scenario
When on ' All FVG/Only FVG's in the same direction of trend ' mode, or on non-Forex/Futures/Indices symbols, S/R needs to be higher/lower than SB session high/low.
🔶 SETTINGS
(Check CONCEPTS for deeper insights and explanation)
🔹 Swing settings (left): Sets the length, which will set the lookback period/sensitivity of the Zigzag patterns (which directs the trend)
🔹 Silver Bullet Session; Show SB session: show lines and labels of SB session
Labels can be disabled separately in the ' Style ' section, color is set at the ' Inputs ' section.
🔹 FVG
– Mode
• All FVG
• Only FVG's in the same direction of trend
• Strict
• Super-Strict
– Colors
– Extend: extend till last bar of SB session
🔹 Targets – support/resistance lines
– Previous session (any): S/R lines fetched between current and previous SB session
– Previous session (similar): S/R lines fetched between current and previous similar SB session
– Colors
– Keep lines (only in strict mode)
🔹 Show
– MSS ~ Session: Show Market Structure Shift , only when this happens during a SB session
– Trend: Show trend (Zigzag, colored ~ trend)
MirPapa:ICT:HTF: FVG OB Threeple# MirPapa:ICT:HTF: FVG OB (Fair Value Gap Order Block)
**Version:** Pine Script® v6
**Author:** © goodia
**License:** MPL-2.0 (Mozilla Public License 2.0)
---
## Overview
“FVG OB” (Fair Value Gap Order Block) identifies higher-timeframe candle ranges where a gap (imbalance) exists between two non-consecutive candles, signaling potential institutional order blocks. This module draws bullish or bearish FVG OB boxes on your lower-timeframe chart, extends them until price interacts a specified number of times, and then finalizes (recolors) the box.
---
## Inputs
- **Enable FVG OB Boxes** (`bool`)
Toggle drawing of HTF FVG OB boxes on the chart.
- **Enable FVG OB Midlines** (`bool`)
Toggle drawing of a midpoint line inside each FVG OB box.
- **FVG OB Close Count** (`int` 1–10)
Number of HTF closes beyond the FVG range required to finalize (recolor) the box.
- **FVG OB Bull Color** (`color`)
Fill & border color for bullish FVG OB boxes.
- **FVG OB Bear Color** (`color`)
Fill & border color for bearish FVG OB boxes.
- **FVG OB Box Transparency** (`int` 1–100)
Opacity level for FVG OB box fills (higher = more transparent).
---
## How It Works
1. **HTF Data Retrieval**
- The script uses `request.security()` (via `GetHTFrevised()`) to fetch HTF OHLC and historical values:
- `_htfHigh3` (high three bars ago) and `_htfLow1` (low one bar ago) for bullish FVG OB.
- `_htfLow3` (low three bars ago) and `_htfHigh1` (high one bar ago) for bearish FVG OB.
- It also tracks the HTF `bar_index` on the lower timeframe to align drawing.
2. **FVG OB Detection**
- **Bullish FVG OB**: Occurs when the HTF low of the previous bar (`low `) is strictly above the HTF high of three bars ago (`high `), creating a gap.
- **Bearish FVG OB**: Occurs when the HTF high of the previous bar (`high `) is strictly below the HTF low of three bars ago (`low `), creating a gap.
3. **Box Creation**
- On each new HTF bar (`ta.change(time(HTF)) != 0`), if a bullish or bearish FVG OB condition is met, the script calls `CreateBoxData()` with:
- **Bullish**: `bottom = HTF low `, `top = HTF high `, `_isBull = true`.
- **Bearish**: `bottom = HTF low `, `top = HTF high `, `_isBull = false`.
- Midline toggled by input.
- A `BoxData` struct is created and stored in either the Bull or Bear array.
4. **Box Extension & Finalization**
- On **every LTF bar**, `ProcessBoxDatas(...)` iterates over all active FVG OB boxes:
1. **Extend Right Edge**: `box.set_right(bar_index)` ensures the box follows the latest bar.
2. **Record Volume Delta**: Tracks buy/sell volume inside the box.
3. **Touch Stage Update**: `modBoxUpdateStage()` increments `_stage` when price touches its “basePoint” (for FVG OB, the basePrice is one side of the gap).
4. **Finalize**: `setBoxFinalize()` checks if the configured number of closes beyond the FVG gap (`FVG OB Close Count`) has occurred. If so:
- `_isActive := false`
- Border and background colors are changed to the “Box Close Color” (input).
- Finalized boxes remain on screen semi-transparent, indicating that the FVG OB zone has been tested.
5. **Midline (Optional)**
- If “Enable FVG OB Midlines” is checked, `ProcessBoxDatas()` also extends a horizontal midpoint line inside the box with `line.set_x2(bar_index)`.
---
## Usage Instructions
1. **Installation**
- Copy the FVG OB section of the Pine Script into TradingView’s Pine Editor (ensure the library import is included).
- Click “Add to Chart.”
2. **Configure Inputs**
- Choose a Higher Time Frame via the dropdown (e.g., “4시간” maps to a 4H timeframe).
- Toggle “Enable FVG OB Boxes” and “Enable FVG OB Midlines.”
- Select colors for bullish and bearish boxes and set transparency.
- Adjust “FVG OB Close Count” to control how many closes beyond the gap finalize the box.
3. **Interpretation**
- **Active FVG OB Boxes** extend to the right until price closes beyond the gap range the specified number of times.
- When finalized, each box changes to the “Box Close Color,” signaling that institutional orders in that gap have likely been filled.
Enjoy precise visualization of higher-timeframe Fair Value Gap Order Blocks on your lower-timeframe chart!
MirPapa:ICT:HTF: FVG Threeple# MirPapa:ICT:FVG Double HTF
**Version:** Pine Script® v6
**Author:** © goodia
**License:** MPL-2.0 (Mozilla Public License 2.0)
---
## Overview
“MirPapa:ICT:FVG Double HTF” is a TradingView indicator that identifies and visualizes Fair Value Gaps (FVG) on two higher time frames (HighTF and MidTF) simultaneously. It can also draw FVG boxes on the current chart’s time frame. When “Overlap Mode” is enabled, the indicator displays only the intersection of HighTF and MidTF FVG areas.
---
## Key Features
- **HighTF FVG**
- Detects bullish and bearish FVGs on a user-selected upper time frame (e.g., 4H).
- Draws colored boxes around gap ranges, optionally with a midpoint line.
- Automatically extends boxes on every bar and finalizes (recolors) them after a specified number of closes beyond the gap.
- **MidTF FVG**
- Same as HighTF FVG but for a second, intermediate time frame (e.g., 1H).
- Runs in parallel to HighTF logic, with separate color and transparency settings.
- **CurrentTF FVG (Optional)**
- If enabled, draws FVG boxes using the chart’s own time frame.
- Behaves identically: extends until broken by price, then finalizes.
- **Overlap Mode**
- When enabled, hides all individual HighTF and MidTF boxes.
- Instead, computes and displays only their overlapping rectangle(s)—separate for bullish and bearish gaps.
---
## Inputs & Configuration
- **Common Inputs**
- **Enable High/Mid Overlap Mode** (`boolean`): Show only overlapping HighTF + MidTF FVG areas.
- **Box Close Color** (`color`): Color applied to any FVG box when it is finalized.
- **HighTF FVG Settings**
- **HighTF Label** (`dropdown`): Choose a Korean label (e.g., “4시간”) that maps to a Pine timeframe (e.g., “240”).
- **Enable HighTF FVG Boxes** (`boolean`): Toggle drawing of HighTF FVG boxes.
- **Enable HighTF FVG Midlines** (`boolean`): Toggle midpoint line inside each HighTF box.
- **HighTF FVG Close Count** (`integer` 1–10): Number of closes beyond the gap before finalizing the box.
- **HighTF FVG Bull Color** (`color`): Fill & border color for bullish HighTF gaps.
- **HighTF FVG Bear Color** (`color`): Fill & border color for bearish HighTF gaps.
- **HighTF Box Transparency** (`integer` 1–100): Opacity level for HighTF box fills.
- **MidTF FVG Settings**
- **MidTF Label** (`dropdown`): Choose a Korean label (e.g., “1시간”) mapped to a Pine timeframe.
- **Enable MidTF FVG Boxes** (`boolean`): Toggle drawing of MidTF FVG boxes.
- **Enable MidTF FVG Midlines** (`boolean`): Toggle midpoint line inside each MidTF box.
- **MidTF FVG Close Count** (`integer` 1–10): Number of closes beyond the gap before finalizing the box.
- **MidTF FVG Bull Color** (`color`): Fill & border color for bullish MidTF gaps.
- **MidTF FVG Bear Color** (`color`): Fill & border color for bearish MidTF gaps.
- **MidTF Box Transparency** (`integer` 1–100): Opacity level for MidTF box fills.
- **CurrentTF FVG Settings**
- **Enable CurrentTF FVG Boxes** (`boolean`): Draw FVG boxes on the chart’s own timeframe.
- **Enable CurrentTF FVG Midlines** (`boolean`): Toggle midpoint line inside each CurrentTF box.
- **CurrentTF FVG Close Count** (`integer` 1–10): Number of closes beyond the gap before finalizing the box.
- **CurrentTF FVG Bull Color** (`color`): Fill & border color for bullish CurrentTF gaps.
- **CurrentTF FVG Bear Color** (`color`): Fill & border color for bearish CurrentTF gaps.
- **CurrentTF Box Transparency** (`integer` 1–100): Opacity level for CurrentTF box fills.
---
## How It Works
1. **Time Frame Conversion**
Korean labels (e.g., “4시간”, “1시간”) are converted internally to Pine timeframe strings via `GetHtfFromLabel()`.
2. **Data Retrieval**
For each chosen TF (HighTF, MidTF, and optionally CurrentTF), the script fetches OHLC and historical values using `GetHTFrevised()`.
- Tracks `bar_index` from that TF to align box drawing on the chart’s base timeframe.
3. **Box Lifecycle**
- **Creation**: On each new TF bar, if a bullish gap (`low > high `) or bearish gap (`low > high `) is detected, `CreateBoxData()` registers a new `BoxData` struct and draws an initial box.
- **Extension**: On every chart bar, `ProcessBoxDatas()` extends each active box’s right edge and updates internal “touch stage” and volume.
- **Finalization**: After the specified number of closes beyond the gap, `setBoxFinalize()` disables the box and changes its border & fill to the “Box Close Color”.
4. **Overlap Mode**
- When enabled, HighTF and MidTF boxes are not drawn individually.
- Instead, at each bar, the script iterates over all active HighTF boxes and all active MidTF boxes, computes their intersection rectangle (if any), and draws only that overlapping area (distinct handling for bullish vs. bearish gaps).
---
## Installation & Usage
1. **Copy & Paste**
Copy the entire Pine Script code into TradingView’s Pine Editor.
Click “Add to Chart.”
2. **Configure Inputs**
- Choose your HighTF and MidTF via the dropdown menus.
- Enable or disable FVG boxes/midlines for each TF.
- Adjust colors, transparency, and “Close Count” settings to taste.
- Toggle “Overlap Mode” if you only want to see common areas between HighTF and MidTF gaps.
3. **Interpretation**
- **Active Boxes** extend to the right as new bars form. When price closes beyond a gap (per “Close Count”), the box is finalized and recolored to the close color.
- In **Overlap Mode**, you’ll see only the overlapping region between HighTF and MidTF gaps, updated on every bar.
Enjoy precise FVG visualization across multiple time frames!
NWOG with FVGThe New Week Opening Gap (NWOG) and Fair Value Gap (FVG) combined indicator is a trading tool designed to analyze price action and detect potential support, resistance, and trade entry opportunities based on two significant concepts:
New Week Opening Gap (NWOG): The price range between the high and low of the first candle of the new trading week.
Fair Value Gap (FVG): A price imbalance or gap between candlesticks, where price may retrace to fill the gap, indicating potential support or resistance zones.
When combined, these two concepts help traders identify key price levels (from the new week open) and price imbalances (from FVGs), which can act as powerful indicators for potential market reversals, retracements, or continuation trades.
1. New Week Opening Gap (NWOG):
Definition:
The New Week Opening Gap (NWOG) refers to the range between the high and low of the first candle in a new trading week (often, the Monday open in most markets).
Purpose:
NWOG serves as a significant reference point for market behavior throughout the week. Price action relative to this range helps traders identify:
Support and Resistance zones.
Bullish or Bearish sentiment depending on price’s relation to the opening gap levels.
Areas where the market may retrace or reverse before continuing in the primary trend.
How NWOG is Identified:
The high and low of the first candle of the new week are drawn on the chart, and these levels are used to assess the market's behavior relative to this range.
Trading Strategy Using NWOG:
Above the NWOG Range: If price is trading above the NWOG levels, it signals bullish sentiment.
Below the NWOG Range: If price is trading below the NWOG levels, it signals bearish sentiment.
Price Touching the NWOG Levels: If price approaches or breaks through the NWOG levels, it can indicate a potential retracement or reversal.
2. Fair Value Gap (FVG):
Definition:
A Fair Value Gap (FVG) occurs when there is a gap or imbalance between two consecutive candlesticks, where the high of one candle is lower than the low of the next candle (or vice versa), creating a zone that may act as a price imbalance.
Purpose:
FVGs represent an imbalance in price action, often indicating that the market moved too quickly and left behind a price region that was not fully traded.
FVGs can serve as areas where price is likely to retrace to fill the gap, as traders seek to correct the imbalance.
How FVG is Identified:
An FVG is detected if:
Bearish FVG: The high of one candle is less than the low of the next (gap up).
Bullish FVG: The low of one candle is greater than the high of the next (gap down).
The area between the gap is drawn as a shaded region, indicating the FVG zone.
Trading Strategy Using FVG:
Price Filling the FVG: Price is likely to retrace to fill the gap. A reversal candle in the FVG zone can indicate a trade setup.
Support and Resistance: FVG zones can act as support (in a bullish FVG) or resistance (in a bearish FVG) if the price retraces to them.
Combined Strategy: New Week Opening Gap (NWOG) and Fair Value Gap (FVG):
The combined use of NWOG and FVG helps traders pinpoint high-probability price action setups where:
The New Week Opening Gap (NWOG) acts as a major reference level for potential support or resistance.
Fair Value Gaps (FVG) represent market imbalances where price might retrace to, filling the gap before continuing its move.
Signal Logic:
Buy Signal:
Price touches or breaks above the NWOG range (indicating a bullish trend) and there is a bullish FVG present (gap indicating a support area).
Price retraces to fill the bullish FVG, offering a potential buy opportunity.
Sell Signal:
Price touches or breaks below the NWOG range (indicating a bearish trend) and there is a bearish FVG present (gap indicating a resistance area).
Price retraces to fill the bearish FVG, offering a potential sell opportunity.
Example:
Buy Setup:
Price breaks above the NWOG resistance level, and a bullish FVG (gap down) appears below. Traders can wait for price to pull back to fill the gap and then take a long position when confirmation occurs.
Sell Setup:
Price breaks below the NWOG support level, and a bearish FVG (gap up) appears above. Traders can wait for price to retrace and fill the gap before entering a short position.
Key Benefits of the Combined NWOG & FVG Indicator:
Combines Two Key Concepts:
NWOG provides context for the market's overall direction based on the start of the week.
FVG highlights areas where price imbalances exist and where price might retrace to, making it easier to spot entry points.
High-Probability Setups:
By combining these two strategies, the indicator helps traders spot high-probability trades based on major market levels (from NWOG) and price inefficiencies (from FVG).
Helps Identify Reversal and Continuation Opportunities:
FVGs act as potential support and resistance zones, and when combined with the context of the NWOG levels, it gives traders clearer guidance on where price might reverse or continue its trend.
Clear Visual Signals:
The indicator can plot the NWOG levels on the chart, and shade the FVG areas, providing a clean and easy-to-read chart with entry signals marked for buy and sell opportunities.
Conclusion:
The New Week Opening Gap (NWOG) and Fair Value Gap (FVG) combined indicator is a powerful tool for traders who use price action strategies. By incorporating the New Week's opening range and identifying gaps in price action, this indicator helps traders identify potential support and resistance zones, pinpoint entry opportunities, and increase the probability of successful trades.
This combined strategy enhances your analysis by adding layers of confirmation for trades based on significant market levels and price imbalances. Let me know if you'd like more details or modifications!
Fair Value Gap Oscillator | Flux Charts💎 GENERAL OVERVIEW
Introducing the new Fair Value Gap Oscillator (FVG Oscillator) indicator! This unique indicator identifies and tracks Fair Value Gaps (FVGs) in price action, presenting them in an oscillator format to reveal market momentum based on FVG strength. It highlights bullish and bearish FVGs while enabling traders to adjust detection sensitivity and apply volume and ATR-based filters for more precise setups. For more information about the process, check the "📌 HOW DOES IT WORK" section.
Features of the new FVG Oscillator:
Fully Customizable FVG Detection
An Oscillator Approach To FVGs
Divergence Markers For Potential Reversals
Alerts For Divergence Labels
Customizable Styling
📌 HOW DOES IT WORK?
Fair Value Gaps are price gaps within bars that indicate inefficiencies, often filled as the market retraces. The FVG Oscillator scans historical bars to identify these gaps, then filters them based on ATR or volume. Each FVG is marked as bullish or bearish according to the trend direction that preceded its formation.
An oscillator is calculated using recent FVGs with this formula :
1. The Oscillator starts as 0.
2. When a new FVG Appears, it contributes (FVG Width / ATR) to the oscillator of the corresponding type.
3. Each confirmed bar, the oscillator is recalculated as OSC = OSC * (1 - Decay Coefficient)
The oscillator aggregates and decays past FVGs, allowing recent FVG activity to dominate the signal. This approach emphasizes current market momentum, with oscillations moving bullish or bearish based on FVG intensity. Divergences are marked where FVG oscillations suggest potential reversals. Bullish Divergence conditions are as follows :
1. The current candlestick low must be the lowest of last 25 bars.
2. Net Oscillator (Shown in gray line by default) must be > 0.
3. The current Bullish FVG Oscillator value should be no more than 0.1 below the highest value from the last 25 bars.
Traders can use divergence signals to get an idea of potential reversals, and use the Net FVG Oscillator as a trend following marker.
🚩 UNIQUENESS
The Fair Value Gap Oscillator stands out by converting FVG activity into an oscillator format, providing a momentum-based visualization of FVGs that reveals market sentiment dynamically. Unlike traditional indicators that statically mark FVG zones, the oscillator decays older FVGs over time, showing only the most recent, relevant activity. This approach allows for real-time insight into market conditions and potential reversals based on oscillating FVG strength, making it both intuitive and powerful for momentum trading.
Another unique feature is the combination of customizable ATR and volume filters, letting traders adapt the indicator to match their strategy and market type. You can also set-up alerts for bullish & bearish divergences.
⚙️ SETTINGS
1. General Configuration
Decay Coefficient -> The decay coefficient for oscillators. Increasing this setting will result in oscillators giving the weight to recent FVGs, while decreasing it will distribute the weight equally to the past and recent FVGs.
2. Fair Value Gaps
Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
3. Style
Divergence Labels On -> You can switch divergence labels to show up on the chart or the oscillator plot.
RunRox - Advanced SMC⭐️ Introducing Our Advanced SMC Indicator: Elevate Your Smart Money Concept Trading
We are excited to present our innovative indicator, specifically designed for the Smart Money Concept (SMC). Our approach goes beyond the traditional SMC strategy by offering significant enhancements that can help you achieve stronger trading performance.
We employ a more sophisticated SMC structure, incorporating improved IDM (Inducement) logic, both internal and external structures, and four types of order blocks. This allows for deeper insights into market trends and a clearer understanding of how major market participants may be manipulating price action.
🟠 Indicator Features:
Structure
HTF Structure – Choose any timeframe and display its structure on your current chart.
CHoCH | BOS | IDM – Display any components from this structure.
Market Minor Structure – Swing and Minor structure.
BOS/CHoCH Breaking by (Body | Wick) – Choose the principle for building the structure, either by the candle body or by their wicks.
BOS/CHoCH Move if Swept – When liquidity is taken, decide whether to move the structure line higher or consider it a structural break.
Move CHoCH/BOS – Relocate key points on the chart if the structure becomes too large.
FVG Concept
HTF FVG – Choose any timeframe from which you want to display FVG on your current chart
Three Types of FVG – Classic FVG, Double FVG, Implied Imbalance
Reaction to FVG – Show the market’s reaction to FVG on the chart
Mitigation Method – Select the fill method that suits your approach (Touch/Midline/Complete)
Remove Filled FVG – Remove FVGs from the chart once they have been filled
Combine FVG – Merge several consecutive FVGs into one
Length FVG – Adjust the number of candles that define the FVG
OrderBlock Concept
HTF OrderBlock – Choose any timeframe from which you want to display orderblocks on your current chart
Swing and Minor Orderblocks – Display only the orderblocks you need, whether from the Swing or Minor structure
Four Types of Order Blocks – Advanced OB, Classic OB, BTS/STB zones, Extremum Candle
Block Based on – Decide whether to base the orderblock on candle highs/lows or candle open/close
Mitigation Method – Define when an orderblock is considered filled (Touch/Midline/Complete)
Remove Blocks Older – Remove older orderblocks from the chart
Hide Overlap – Disable overlapping orderblocks when they appear in the same area
Eat Young Blocks – Reduce the size of an orderblock until it fully forms
Hide Distant Blocks – Remove orderblocks that are too far from the current price
Previous Highs & Lows
Four Level Types – Day, Week, Month, Quarter
Style Customization – Choose line color, line style, and transparency
Fibonacci Retracements
10 Template Options – Ten different bases on which you can build your Fibonacci grid
Up to 7 Levels – Add up to seven Fibonacci levels for your convenience
Fibo Inversion – Option to invert the Fibonacci grid
Style Customization – Choose line colors, line styles, and transparency
Additional Functions
Premium & Discount Zones – A popular concept we’ve incorporated to help identify potential trading areas within premium or discount prices
Equal Highs & Lows – High-liquidity levels where market makers may seek liquidity
Color Candles – Automatically colors candles based on the current trend
Market Structure ZigZag – Offers a clear visual of the zigzag pattern on which the structure is built
Key Point Labels – Displays important swing high/low points directly on the chart
General Styling – Customize any chart element, including size, style, color, and transparency
Alert Customization – Over 16 types of alerts, easily configured in a few clicks. Receive only the notifications you need. Custom alerts are also available for developers.
Next, we will provide a detailed overview of all the indicator’s features, accompanied by chart examples.
📈 Structure
What Is IDM?
IDM, or the Institutional Distribution Model, is an advanced concept within SMC that focuses on how institutional players distribute their positions in the market. By analyzing IDM, traders can better anticipate price movements and potential turning points, thereby gaining a meaningful edge in their trading.
In our structure concept, IDM can form under specific conditions. The market does not always provide a high-liquidity point to work with, so we’ve adopted a flexible approach. We generate IDM when a certain type of liquidity appears during the impulse and BOS break, allowing for a potential future liquidity sweep.
Below, I will provide an example that illustrates when IDM forms as a liquidity magnet within the structure - and when it does not.
As shown in the example above, we focus on the initial impulse after the BOS. If liquidity forms during this impulse - liquidity that needs to be taken out during the structural move - we mark an IDM level as a price magnet. However, if this liquidity does not appear, we do not create an IDM. In that case, the same point might serve as an FVG or play a different role, depending on your trading approach.
This concept makes the structure more flexible and better able to respond immediately to market movements and key structural points.
Above is an example on the chart illustrating what the structure looks like both with and without IDM. As you can see, when the structural move includes pullbacks and consolidation, there is an opportunity to form an IDM as a price magnet. However, if the impulses are strong and lack pullbacks, FVG becomes the only magnet in that move. Depending on the chart, our indicator adapts to the current market conditions and highlights potential liquidity collection points.
📊 Swing and Minor Structure
In the new version of the indicator, the minor structure and the swing structure differ from each other.
Swing structure - In this structure, as mentioned earlier, the IDM concept remains a price magnet and is formed at certain points on the chart if the conditions allow. If these points do not appear, IDM might not form at all.
Minor structure - Here, we have completely removed IDM and only kept BOS and CHoCH for structure formation. We found that for a minor structure, this approach allows faster reactions to trend changes, depending on market movements.
By making these adjustments, we have resolved the main issue of the advanced structure, which was the large distance between BOS and CHoCH that sometimes resulted in a month-long consolidation between these levels. In this version, those problems no longer occur.
If, for some reason, your settings result in a larger swing structure, you can still work with the minor structure using the same POI as in the swing structure. OrderBlock and FVG remain the primary drivers of order flow.
Shown above is a screenshot of the main structure settings you can adjust. These settings are highly flexible and can be tailored to fit a wide range of trading preferences.
⚖️ FVG Concept
A new feature of our indicator is the FVG concept. We automatically detect three types of FVG at the moment, which will be explained below.
FVG - the standard Fair Value Gap
Double FVG - a double FVG, also referred to as BPR (Balanced Price Range)
Implied Imbalance - a type of imbalance that arises from buyer or seller demand
Below, we will look at examples of the FVG types we currently identify.
All price inefficiencies work in real time, immediately appearing on the chart and allowing traders to quickly respond to FVG reactions.
We have also enhanced this concept by displaying FVG reactions on the chart. If an FVG triggers a reaction and the price responds to that range, we highlight it on the chart, so you can recognize the reaction and make timely trading decisions. A screenshot below shows how this looks in practice.
Below is a screenshot illustrating the main settings of this concept, along with detailed descriptions.
📦 OrderBlock Concept
OrderBlocks provide an effective way to identify areas of interest and make informed decisions. We have dedicated significant effort to refining this section’s functionality and have achieved strong results in doing so.
Order Block Types
Advanced OrderBlock – A specialized type of order block generated by our internal algorithm. This can help traders aim for tighter entries and potentially more favorable risk-reward ratios within a narrow price range.
OrderBlock – The classic type, formed at the highs or lows of a structure when a BOS or CHoCH occurs. It can still be an effective entry method but typically spans a wider price range.
Extremum Candle – Based on liquidity grabs. The candle creating this order block must collect liquidity before making an impulsive move that breaks the BOS or CHoCH.
BTS / STB (Buy To Sell / Sell To Buy) – This concept may appear when market makers manipulate price to buy or sell an asset. It often covers a larger price range because it relies on a brief impulsive move to form.
Each type of order block has its own strengths and weaknesses. We provide traders with the flexibility to choose which types suit their trading style and preferences.
Above is an example of how you can apply OrderFlow alongside our structure and orderblocks, which can produce solid results when combined with the Smart Money concept.
In this demonstration, we have highlighted the Advanced Orderblock as an illustration.
Above is a screenshot of all the settings related to this section. They can be customized to suit your specific needs, ensuring you only see what is genuinely relevant on your chart.
📏 Previous Highs and Lows
You can select four levels to display on the chart as some of the most liquid zones:
Daily Highs and Lows
Weekly Highs and Lows
Monthly Highs and Lows
Quarterly Highs and Lows
This feature helps you identify important levels on lower timeframes and focus on these zones for potential trading opportunities. Below is an example of how it appears on the chart.
Below, you can see the settings available in this section.
📐 Fibonacci Levels
Likewise, a new section in our indicator is Fibonacci Levels, a well-known tool recognized as a reliable source of important levels on the chart. We have added this functionality with the option to choose how you want to generate these levels and which specific levels you want to display.
You can plot Fibonacci levels based on the Swing structure, Minor structure, previous or current day, month, and more. In total, there are 10 different options for constructing the Fibonacci grid.
Above, you can see an example of how it appears on the chart, and below you will find the settings available in this section.
🈹 Premium and Discount
Another useful feature for all traders is the Premium and Discount zones based on structure. This makes it easy to identify areas of interest—whether in a discount or premium zone, or in an equilibrium area.
Below, you can also see the settings available in this section.
✅ Additional Function
We have also separated a few functions into their own section:
Color Candles – Colors the candles according to the current trend.
Market Structure ZigZag – Visually highlights the zigzag used to form the structure.
Key Point Labels – Displays the points on the chart from which the structure is built.
Equal Highs & Lows – Identifies equal highs and lows as areas of potential liquidity for larger market players, as price often aims to sweep these zones.
Below are a few screenshots showing how these features appear on the chart.
Color Candles
Market Structure ZigZag and Key Point Labels
Equal Highs & Lows
Below, you can see a screenshot displaying all the settings available in this section.
🎨 General Styling
We have devoted considerable effort to providing flexible customization for each element on the chart, so you can design the exact look you want. That’s why we created an additional section where you can adjust any element’s size, style, and more.
Combined with extensive color and transparency options, this feature provides a flexible appearance for the indicator on any chart.
Below, you can see the settings available in this section
🔔 Alert Customization
You can configure over 16 types of reactions to various events on the chart. Additionally, you can set up alerts to trigger at specific fill levels and explore numerous other alert options, as shown in the screenshot below.
🟠 Usage Examples
We have also prepared several examples of how to use the indicator. These are standard entry models taken from the classic Smart Money concept.
First Example
In the screenshot above, the market displays a downward structure until a manipulation occurs, followed by a CHoCH break. This is a standard entry model featuring an entry at the nearest FVG, a stop-loss placed beyond the manipulation, and a target at the nearest liquidity zone—whether session-based or, as in our case, a gap (one of the FVG types) that price commonly revisits.
This is considered a more aggressive entry because we only waited for a single confirmation of the trend change—the CHoCH break—and then entered immediately afterward. While the WinRate might be lower in such trades, the Risk-Reward ratio is typically very high if you correctly identify the manipulation.
Second Example
This approach is more conservative and less risky, typically offering a higher WinRate but with a lower Risk-Reward ratio.
Here, we use the 4H FVG as our decision point (POI). With the indicator, we plot the 4-hour FVG on our current chart without needing to switch back and forth between timeframes.
Once price reaches our POI, we look for an entry model that includes three confirmations:
First Confirmation – A CHoCH break.
Second Confirmation – A manipulation.
Third Confirmation – A second BOS break.
We wait for all these confirmations before entering the trade, ensuring our stop-loss is well-protected since the remaining liquidity has been swept and the 4-hour FVG has been fully filled.
Our target is the full fill of a higher timeframe FVG or other high-liquidity levels below.
In a conservative setup, it is crucial to allow a complete OrderFlow to develop, including manipulations and clear breaks of lower levels. This approach helps protect the trade and often results in a higher WinRate.
🟠 Disclaimer
Past performance is not indicative of future results. To trade successfully, it is crucial to have a thorough understanding of the market context and the specific situation at hand. Always conduct your own research and analysis before making any trading decisions.
To gain access to the indicator, please review the author's instructions below this post
lib_fvgLibrary "lib_fvg"
further expansion of my object oriented library toolkit. This lib detects Fair Value Gaps and returns them as objects.
Drawing them is a separate step so the lib can be used with securities. It also allows for usage of current/close price to detect fill/invalidation of a gap and to adjust the fill level dynamically. FVGs can be detected while forming and extended indefinitely while they're unfilled.
method draw(this)
Namespace types: FVG
Parameters:
this (FVG)
method draw(fvgs)
Namespace types: FVG
Parameters:
fvgs (FVG )
is_fvg(mode, precondition, filter_insignificant, filter_insignificant_atr_factor, live)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
Returns: a tuple of (bar_index of gap bar, gap top, gap bottom)
create_fvg(mode, idx, top, btm, filled_at_pc, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
idx (int) : the bar_index of the FVG gap bar
top (float) : the top level of the FVG
btm (float) : the bottom level of the FVG
filled_at_pc (float) : the ratio (0-1) that the fill source needs to retrace into the gap to consider it filled/invalidated/ready for removal
config (FVGConfig) : the plot configuration/styles for the FVG
Returns: a new FVG object if there was a new FVG, else na
detect_fvg(mode, filled_at_pc, precondition, filter_insignificant, filter_insignificant_atr_factor, live, config)
Parameters:
mode (int) : switch for detection 1 for bullish FVGs, -1 for bearish FVGs
filled_at_pc (float)
precondition (bool) : allows for other confluences to block/enable detection
filter_insignificant (bool) : allows to ignore small gaps
filter_insignificant_atr_factor (float) : allows to adjust how small (compared to a 50 period ATR)
live (bool) : allows to detect FVGs while the third bar is forming -> will cause repainting
config (FVGConfig)
Returns: a new FVG object if there was a new FVG, else na
method update(this, fill_src)
Namespace types: FVG
Parameters:
this (FVG)
fill_src (float) : allows for usage of different fill source series, e.g. high for bearish FVGs, low vor bullish FVGs or close for both
method update(all, fill_src)
Namespace types: FVG
Parameters:
all (FVG )
fill_src (float)
method remove_filled(unfilled_fvgs)
Namespace types: FVG
Parameters:
unfilled_fvgs (FVG )
method delete(this)
Namespace types: FVG
Parameters:
this (FVG)
method delete_filled_fvgs_buffered(filled_fvgs, max_keep)
Namespace types: FVG
Parameters:
filled_fvgs (FVG )
max_keep (int) : the number of filled, latest FVGs to retain on the chart.
FVGConfig
Fields:
box_args (|robbatt/lib_plot_objects/36;BoxArgs|#OBJ)
line_args (|robbatt/lib_plot_objects/36;LineArgs|#OBJ)
box_show (series__bool)
line_show (series__bool)
keep_filled (series__bool)
extend (series__bool)
FVG
Fields:
config (|FVGConfig|#OBJ)
startbar (series__integer)
mode (series__integer)
top (series__float)
btm (series__float)
center (series__float)
size (series__float)
fill_size (series__float)
fill_lvl_target (series__float)
fill_lvl_current (series__float)
fillbar (series__integer)
filled (series__bool)
_fvg_box (|robbatt/lib_plot_objects/36;Box|#OBJ)
_fill_line (|robbatt/lib_plot_objects/36;Line|#OBJ)
Innotrade FVGThe Innotrade FVG indicator is a professional-grade tool designed to automatically identify, display, and manage Fair Value Gaps (FVGs).
What makes this indicator unique is its full lifecycle management. Unlike basic FVG tools that permanently clutter your chart, our script intelligently tracks an FVG from its creation to its conclusion:
ACTIVE: A new FVG is identified and drawn.
MITIGATED: The FVG changes color the moment price touches it, providing a visual confirmation.
TAKEN: The FVG is automatically removed from the chart once price has passed completely through it, keeping your analysis clean and focused on relevant market data.
This dynamic approach ensures your charts remain clear and that you are always focused on active, relevant imbalances.
█ CORE CONCEPT: WHAT IS A FAIR VALUE GAP (FVG)?
A Fair Value Gap represents a market inefficiency or imbalance. It is a three-candle pattern that occurs when price moves with significant force in one direction, leaving a gap between the first candle's high and the third candle's low (for a bullish FVG) or the first candle's low and the third candle's high (for a bearish FVG).
These gaps often act as a "magnet" for price, meaning the market has a high probability of returning to this area to "rebalance" the price action before continuing its trend.
█ KEY FEATURES
Full FVG Lifecycle Management: Automatically tracks FVGs from Active -> Mitigated -> Taken, keeping your charts pristine.
Robust Multi-Timeframe (MTF) Analysis : Detect FVGs on higher timeframes (e.g., 4H) while viewing a lower timeframe chart (e.g., 15m), allowing for high-precision entries based on key market structure.
Customizable Mitigation Alerts: Create an alert to be notified the moment price enters an FVG, so you never miss a potential trading opportunity.
Clean and Clear Visuals: Fully customizable colors for bullish, bearish, and mitigated FVGs allow you to tailor the indicator to your charting theme.
Efficient and Reliable Code: Built to handle all timeframe contexts correctly, ensuring the indicator is reliable whether you are analyzing the current chart timeframe or a higher one.
█ HOW TO USE THE INDICATOR
The primary function of this indicator is to highlight key areas of interest where price may return.
Bullish FVG (Green Box): This is an area of potential support. Traders often look for price to retrace back down into this box as a potential entry point for a long position.
Bearish FVG (Red Box): This is an area of potential resistance. Traders often look for price to rally back up into this box as a potential entry point for a short position.
Mitigated FVG (Gray Box): This indicates that price has already returned to test the FVG area. The imbalance has been at least partially filled.
Example Strategy:
Set the indicator to find FVGs on the 1-hour timeframe.
Switch to your 5-minute chart for execution.
When a green Bullish FVG appears on your chart (from the 1H timeframe), set an alert for its mitigation.
When the alert triggers, look for a bullish confirmation signal on the 5-minute chart to enter a long trade.
█ SETTINGS EXPLAINED
General Settings
Show FVGs: A master switch to turn the visibility of all FVG drawings on or off.
Timeframe for FVG Detection: Choose the timeframe on which the indicator will look for FVGs. Leave this blank to use your chart's current timeframe.
Enable Alerts on FVG Mitigation: This must be enabled to allow TradingView's alert system to work with this indicator.
Style Settings
Bullish FVG Color: Sets the color for newly formed bullish FVGs.
Bearish FVG Color: Sets the color for newly formed bearish FVGs.
Mitigated FVG Color: Sets the color that an FVG will turn into after being touched by price.
Extend Boxes into the Future: When checked, FVG boxes will continue to extend to the right until they are mitigated or taken.
Label Color / Label Size: Customizes the "FVG" text that appears on newly formed gaps.
MSS-FVG Fusion by Tren10xMSS-FVG Fusion Script by Tren10x
What the Script Does:
The MSS-FVG Fusion Script by Tren10x combines Market Structure Shifts (MSS) and Fair Value Gaps (FVG) to provide traders with strategic entry points, customizable features, and a comprehensive tool for trading analysis. It identifies shifts and breaks in market structure while pinpointing significant fair value gaps.
How the Script Works:
Strategic Entry Points:
The script's logic detects fair value gaps formed prior to a market structure shift and uses these gaps as optimal entry points, integrating the precision of MSS with the significance of FVGs
Accurate and Timely Entry Points:
By combining MSS and FVG, the script aims to offer more precise and timely entry points, enhancing the overall trading strategy.
Dynamic Features for Cleaner Approach:
Users can toggle between box fair value gaps and bar fair value gaps, providing a cleaner and more customizable approach to analyzing price action.
Display of Untested FVGs:
The script is designed to display only untested fair value gaps based on how they are filled. It differentiates between gaps filled by the body of a candle and those filled by the wick, ensuring that only gaps that have not been fully tested are highlighted.
Delete Wick Filled FVG highlights that the FVG should be deleted if the price only wicks through the FVG but does not close outside it, indicating that the gap has been tested but not fully filled.
Whereas Delete Body Filled FVG focuses on the scenario where the price action closes outside of the FVG, indicating that the gap has been fully filled. So in this screenshot above, there is a large wick through the FVG but no close below. Therefore, this FVG will remain until there is a close in the other direction.
Or choose both! Enabling both options will remove both body filled and wick filled FVGs from your chart, leaving only FVGs that are still fully or partially untested, such as the image above.
Features:
Market Structure Shifts (MSS):
Detects shifts in market structure to help anticipate potential trend reversals and capitalize on new trading opportunities.
Market Structure Breaks (MSB):
Highlights breaks in market structure, signaling potential continuation or reversal points in the market.
Fair Value Gaps (FVG):
Identifies gaps in price where the market has moved rapidly, pinpointing potential areas of support and resistance. Includes a 50% line of the FVG, which often acts as a key level.
Customization Options:
Text Customization: Add personalized text and customize aspects such as color, line style, text size, border color and style, and FVG bar width.
FVG Handling: Options to delete FVGs where the price has wicked through but did not close inside the box, or delete FVGs when the price has closed outside the box.
FVG Display Options: Choose between traditional FVG boxes or a cleaner FVG bar look.
Input Options: Set the number of FVGs and market structure indicators displayed on the chart.
How to Use the Script:
Add to Chart:
Load the MSS-FVG Fusion Script onto your TradingView chart.
Customize Settings:
Adjust text, colors, line styles, and other settings to fit your trading preferences.
Analyze the Chart:
Observe the highlighted MSS, MSB, and FVGs to identify potential entry and exit points.
Use the dynamic features to toggle between different FVG display options and focus on untested gaps.
Leverage the 50% lines of FVGs and other key levels to make informed trading decisions.
What Makes This Script Original:
This script is original because it integrates the strategic fusion of Market Structure Shifts (MSS) and Fair Value Gaps (FVG) for entry points, offers dynamic customization between box and bar FVGs, and highlights only untested gaps based on how they are filled, providing a tailored and actionable analysis.
10x HTF Candles Dynamic with LTF FVG and Key LevelsPurpose
The 10x HTF Candles Dynamic Pine Script is a versatile, all-in-one trading tool designed for TradingView to empower traders with actionable insights across multiple timeframes. It combines advanced price action analysis, Fair Value Gap (FVG) detection, market structure evaluation, and key level visualization into a single, highly customizable interface. Built for day traders, swing traders, and scalpers, this script enhances decision-making by providing a clear, multi-dimensional view of market dynamics, liquidity zones, and trend biases. Its purpose is to streamline technical analysis, reduce chart clutter, and deliver real-time, visually intuitive data to support precise trading strategies.
What the Script Does
How the Script Works:
The script leverages Pine Script v5’s advanced features to deliver a robust and efficient trading tool. Below is a step-by-step explanation of its functionality:
1. Initialization and Configuration:
- Initializes with @version=5, enabling dynamic requests, and sets limits for bars (500), lines, labels, boxes, and polylines to manage resources.
- Defines user inputs for candle settings, timeframe selection, FVG parameters, DWM levels, market structure table, and visual preferences.
- Dynamically calculates 10 higher timeframes based on the current chart timeframe (e.g., 1m chart → 5m, 15m, 60m, etc.) or allows custom timeframes.
2. Data Acquisition:
- Fetches OHLC data for up to 10 timeframes using request.security, storing it in optimized TfData objects (arrays for open, high, low, close).
- Loops through enabled timeframes to minimize redundant code, improving processing speed.
3. Candlestick Rendering:
- Draws HTF candlesticks at user-defined offsets, with customizable bullish/bearish colors, wick colors, and widths.
- Calculates bar types (Inside, Normal, Outside) and optionally labels them above candles for pattern analysis.
4. FVG Detection and Visualization:
- Scans for FVGs by comparing candle highs and lows across three bars (e.g., low of candle 1 > high of candle 3 for bullish FVG).
- Detects IFVGs based on user-selected methods (wick, close, or midpoint) and highlights them with distinct colors.
- Draws FVG boxes with configurable borders, midpoint lines, and labels, tracking mitigation status.
- Limits FVG display to a user-defined maximum (1–200) to maintain chart clarity.
5. Horizontal Levels and DWM Lines:
- Computes Highs, Lows, Midpoints, and Quarter Points for each timeframe, drawing lines with customizable styles and extensions.
- Plots DWM open, close, high, low, and control point lines, with optional alerts for high/low breaks.
- Supports session-based opening price lines (e.g., 09:30 Market Open) with similar customization.
6. Market Structure and Bias:
Calculates trend bias by comparing the current close to the midpoint of the timeframe’s range (highest high to lowest low).
Updates a market structure table with timeframe, bias, and premium/discount status, using color-coded cells for quick interpretation.
7. Countdown Timers:
- Converts timeframe strings to seconds and calculates the time remaining until the next candle using timenow.
- Renders countdown labels with timeframe names (e.g., “1h\n(00:45)”) at user-defined positions.
8. Optimization and Cleanup:
- Uses VisualElements UDTs to manage lines, wicks, and labels, reducing memory usage.
- Deletes outdated drawings when limits are exceeded, ensuring a clean and responsive chart.
- Employs loops and arrays to streamline repetitive tasks, enhancing performance.
How to Use the Script:
This script is user-friendly yet powerful, suitable for traders of all experience levels. Follow these steps to maximize its potential:
1. Add to TradingView:
- Copy the script into TradingView’s Pine Editor.
- Click “Add to Chart” to apply it to your active chart.
2. Customize Settings:
- Candle Settings: Adjust the number of candles (1–10), starting position, group spacing, bullish/bearish colors, wick colors, and candle width.
- Timeframe Settings: Enable/disable up to 10 timeframes, choosing dynamic (auto-selected) or custom timeframes (e.g., 3m, 60m, D).
- FVG Settings: Toggle FVG detection, set detection methods (wick/close/midpoint), adjust thresholds, and customize colors, borders, and midpoint lines.
- DWM Settings: Enable daily/weekly/monthly lines (open, close, high, low, midpoint), set colors, and configure alerts for high/low breaks.
- Market Structure Table: Show/hide columns for timeframe, trend bias, and premium/discount, and adjust table position (top-left, bottom-right, etc.).
- Countdown Timers: Enable timers, adjust offsets, and customize text/background colors.
- Label Settings: Configure price label precision, transparency, and offsets for clarity.
3.Interpret Visuals:
- Candlesticks: Analyze HTF candles to gauge trend direction and momentum across timeframes.
- FVGs: Look for unmitigated FVGs (colored boxes) as potential support/resistance zones or trade setups.
- Key Levels: Use Highs, Lows, Midpoints, and Quarter Points to identify breakout or reversal areas.
4. Market Structure Table: Check trend bias and premium/discount status to align trades with market conditions.
- DWM Lines: Monitor daily/weekly/monthly levels for institutional reference points.
- Countdown Timers: Time entries/exits based on upcoming candle formations.
5. Integrate with Strategy:
- Combine script insights with your trading plan (e.g., use FVGs for entries, key levels for stops/targets).
- Set alerts for high/low breaks or liquidity zone approaches to stay proactive.
- Export table data or screenshot visuals for documentation and analysis.
6. Optimize Performance:
Limit the number of candles, FVGs, and lines to match your device’s capabilities.
Regularly review settings to focus on the most relevant timeframes and features.
Why the Script is Original
The 10x HTF Candles Dynamic script stands out in the TradingView community due to its innovative design, comprehensive functionality, and trader-centric approach. Here’s what makes it unique:
1. Seamless Multi-Timeframe Integration:
- Unlike single-timeframe indicators, this script synthesizes data from up to 10 timeframes, offering a holistic view of market structure.
- Dynamic timeframe selection adapts to the chart’s timeframe, ensuring relevance across all trading styles.
2 . Advanced FVG and IFVG Detection:
- Provides granular control over FVG detection with three IFVG methods (wick, close, midpoint), a rarity in most scripts.
- Tracks mitigation status and highlights unmitigated FVGs, enabling traders to capitalize on high-probability setups.
- Visualizes FVGs with boxes, midpoint lines, and labels, enhancing clarity and usability.
3. Sophisticated Market Structure Analysis:
-The bias calculation, introduced in recent updates (2 days ago), uses a robust algorithm to assess trend direction based on range midpoints.
- The market structure table, with premium/discount zones (added 20 hours ago), offers a unique summary of market conditions, unmatched by standard indicators.
4. Comprehensive DWM and Session Support:
- Integrates daily, weekly, and monthly levels alongside session-based opening prices, catering to institutional and retail traders alike.
- Customizable alerts for high/low breaks add actionable functionality.
5. Visual Hierarchy and Clarity:
- Scales line widths and transparency by timeframe, prioritizing higher timeframes for strategic focus.
- Countdown timers provide real-time context, a feature rarely seen in multi-timeframe scripts.
6.Performance Optimization:
- Recent updates introduced loops and UDTs to reduce code redundancy and boost processing speed.
- Automated cleanup mechanisms prevent chart clutter, ensuring smooth operation even on low-resource devices.
7. High Customizability:
- Offers extensive settings for visuals, timeframes, FVGs, DWM lines, and alerts, accommodating diverse trading preferences.
- Balances complexity with accessibility, making it approachable for beginners and powerful for advanced users.
8.Continuous Evolution:
- Regular updates (e.g., bias filter table, premium/discount feature, code optimization) demonstrate ongoing commitment to improvement.
- Closed-source protection (noted 20 hours ago) ensures intellectual integrity while allowing free use, fostering trust in the TradingView community.
Conclusion
The 10x HTF Candles Dynamic Pine Script is a groundbreaking tool that redefines multi-timeframe analysis on TradingView. By combining candlestick visualization, FVG detection, market structure insights, DWM levels, and countdown timers, it provides traders with a comprehensive, real-time view of market dynamics. Its advanced optimization, customization options, and continuous updates make it a standout choice for traders seeking precision, clarity, and efficiency. Whether you’re scalping intraday moves or swing trading weekly trends, this script equips you with the tools to master the markets with confidence.
Internal BOS X FVG Algorithms - 1 Visi TraderInternal BOS X FVG Algorithms,
This strategy is based on 2 momentum combinations:
• Internal Break of Structure was formed together with Fair Value Gap (FVG)
Formula of Internal BOS X FVG Algorithms:
1. Break (Internal BOS) X Bullish FVG = Zone for BUY Setup
2. Break (Internal BOS) X Bearish FVG = Zone for SELL Setup
// ----------- Add-ons Setting ----------- //
Setting for Internal BOS X FVG Algorithms:
---------
#1: Internal Break of Structure Settings,
• Internal Swing:
The number of left and right Swing Intervals that are checked when searching for Swing Points. More Values = Less Swing Points plotted to be potential Internal BOS and Less Values = More Swing Points plotted to be potential Internal BOS.
• Internal BOS Color:
You can change the color of dotted line and text for Internal BOS ("Break") according to your favorites layout.
#2: Fair Value Gap Settings,
• FVG Min. Range (In Pips):
Input minimum range of Fair Value Gap in Pips, more value = less zone results.
• FVG Max. Range (In Pips):
Input maximum range of Fair Value Gap in Pips, less value = less zone results.
• Extended Right - FVG:
You can change the value of extended fair value gap zone according to your best preferences.
#3: FVG Color Settings,
• Bullish FVG:
Change color FVG for Bullish Fair Value Gap Zone.
• Bearish FVG:
Change color FVG for Bearish Fair Value Gap Zone.
#4: Mode FVG,
• FVG Variations:
- Global FVG = All Variations of Fair Value Gap Category
- Specific FVG = Variation based on last of 2 FVG's Candles in same color
#5: Trading Session,
• Session Hours:
You can adjust the trading hour according to the best session and volatility of pair assets that you want to trades.
---------
How to Entry (Instructions):
1. Buy Positions = Internal BOS ("Break") form together with Bullish FVG, wait for pullback on FVG Zone and then you can open positions. Set Stop Loss (SL) below FVG Zone and set Take Profit (TP) in minimum 1:2 RR - if price hit 1:1 RR you can set Breakeven for managing the trading risk.
2. Sell Positions = Internal BOS ("Break") form together with Bearish FVG, wait for pullback on FVG Zone and then you can open positions. Set Stop Loss (SL) above FVG Zone and set Take Profit (TP) in minimum 1:2 RR - if price hit 1:1 RR you can set Breakeven for managing the trading risk.
*Notes:
The best pair asset for this strategy is on Gold (XAU/USD) at NY Sessions (19.00 - 22.00 GMT+7) - Timeframe M1 (1 Minute).
--------
Best Regards,
- 1 VISI TRADER
Trading for Prosperity!
--------
DISCLAIMER: No reselling or any other forms of use are authorized for our documents, script / strategy, and the information published with them. This informational planning script / strategy is strictly for individual use and educational purposes only. This is not financial or investment advice. Investments are always made at your own risk and are based on your personal judgement. I am not responsible for any losses you may incur. Please invest wisely.*
Inverse FVG with Quadrants [Modified]# Inverse FVG with Quadrants
*Modified version of original indicator by **tradeforopp**
## Overview
This advanced Fair Value Gap (FVG) indicator identifies both regular and inverse fair value gaps with precision, displaying them in a visually intuitive quadrant-based system. The enhanced version now features automatic timeframe selection that aligns higher timeframe FVGs with your current chart period for multi-timeframe analysis.
## Key Features
### 🔹 Fair Value Gap Detection
- **Regular FVGs**: Identifies traditional bullish and bearish fair value gaps
- **Inverse FVGs**: Automatically detects and displays inverse fair value gaps when price closes through a regular FVG
- **Quadrant Display**: Shows only the relevant half of each FVG for cleaner visual analysis (upper quadrant for bullish patterns, lower quadrant for bearish)
### 🔹 Smart Timeframe Management
- **Auto Timeframe Selection**: Automatically selects the appropriate higher timeframe based on your current chart:
- 1min → 15min
- 3min → 30min
- 5min → 1h
- 15min → 4h
- 1h → Daily
- 4h → Weekly
- **Manual Override**: Optional manual timeframe selection still available
### 🔹 Visual Customization
- Adjustable colors for both regular and inverse FVGs
- Optional box extension
- Customizable display limits to prevent chart clutter
- Session filtering capabilities
### 🔹 Trading Signals
- FVGs provide potential support/resistance zones and price targets
- Inverse FVGs offer confirmation of trend continuation or reversal
- Alert conditions for new FVG creation, regular FVG, and inverse FVG events
## How to Use
1. Apply the indicator to your chart
2. Enable "Auto Timeframe Selection" for multi-timeframe analysis (recommended)
3. Adjust displacement settings to filter for more significant FVGs
4. Use regular FVGs as potential zones where price may return to fill the gap
5. Watch for inverse FVGs as confirmation signals when price breaks through regular FVGs
This refined indicator combines powerful FVG analysis with automatic timeframe alignment to provide traders with clear, actionable insights across multiple timeframes. Perfect for both intraday traders and swing traders looking for high-probability entry and exit points.
Credits to @tradeforopp for creating the original version of this indicator. This is a modified version with enhanced features while preserving the core functionality.
## Tips
- Blue boxes (FVG+) indicate bullish fair value gaps (potential support)
- Red boxes (FVG-) indicate bearish fair value gaps (potential resistance)
- When price closes through an FVG, watch for the inverse FVG as a confirmation signal
- Use the dashed centerline as a potential target within each FVG
Fair Value Gap [LuxAlgo]Fair value gaps (FVG) highlight imbalances areas between market participants and have become popular amongst technical analysts. The following script aims to display fair value gaps alongside the percentage of filled gaps and the average duration (in bars) before gaps are filled.
Users can be alerted when an FVG is filled using the alerts built into this script.
🔶 USAGE
In practice, FVG's highlight areas of support (bullish FVG) and resistances (bearish FVG). Once a gap is filled, suggesting the end of the imbalance, we can expect the price to reverse.
This approach is more contrarian in nature, users wishing to use a more trend-following approach can use the identification of FVG as direct signals, going long with the identification of a bullish FVG, and short with a bearish FVG.
🔹 Mitigation
By default, the script highlights the areas of only unmitigated FVG's. Users can however highlight the mitigation level of mitigated FVG's, that is the lower extremity of bullish FVG's and the upper extremity of bearish FVG's.
The user can track the evolution of a mitigated FVG's using the "Dynamic" setting.
🔹 Threshold
The gap height can be used to determine the degree of imbalance between buying and selling market participants. Users can filter fair value gaps based on the gap height using the "Threshold %" setting. Using the "Auto" will make use of an automatic threshold, only keeping more volatile FVG's.
🔶 DETAILS
We use the following rules for detecting FVG's in this script:
Bullish FVG
low > high(t-2)
close(t-1) > high(t-2)
(low - high(t-2)) / high(t-2) > threshold
Upper Bullish FVG = low
Lower Bullish FVG = high(t-2)
Bearish FVG
high < low(t-2)
close(t-1) < low(t-2)
(low(t-2) - high) / high < -threshold
Upper Bearish FVG = low(t-2)
Lower Bearish FVG = high
🔶 SETTINGS
Threshold %: Threshold percentage used to filter our FVG's based on their height.
Auto Threshold: Use the cumulative mean of relative FVG heights as threshold.
Unmitigatted Levels: Extent the mitigation level of the number of unmitigated FVG's set by the user.
Mitigation Levels: Show the mitigation levels of mitigated FVG's.
Timeframe : Timeframe of the price data used to detect FVG's.
Smart Fair Value Gaps (FVG) + MTF [Intelligent]This indicator elevates the standard Fair Value Gap (FVG) concept by introducing an intelligent classification system, advanced filtering, and integrated Multi-Timeframe (MTF) analysis. It is designed to move beyond simple FVG detection, providing traders with a deeper, more contextual understanding of market imbalances. By analyzing the characteristics of each FVG relative to recent historical data, the script helps to distinguish between high-momentum gaps and potential exhaustion points.
What is a Fair Value Gap (FVG)?
A Fair Value Gap, or price imbalance, is a three-candle pattern where the wick of the first candle does not overlap with the wick of the third candle. This creates an inefficient price delivery area that the market often seeks to revisit or "mitigate" in the future.
Bullish FVG: The space between the high of the first candle and the low of the third candle in a strong upward move.
Bearish FVG: The space between the low of the first candle and the high of the third candle in a strong downward move.
Key Features
Intelligent FVG Classification: This is the core of the indicator. Instead of treating all FVGs equally, it classifies them into four distinct types based on their size and the volume on which they formed, relative to a dynamic historical baseline.
🟡 Power FVG: High Size & High Volume Ratio. Indicates a gap formed with strong conviction and momentum, often a good continuation signal.
🟣 Exhaustion FVG: Low Size & High Volume Ratio. Suggests a high amount of effort (volume) for little price movement, which may indicate a trend is losing steam.
🟠 Absorption FVG: High Size & Low Volume Ratio. A significant price gap was created with relatively little volume, suggesting a lack of resistance and potential for price to move easily through that area.
🔵 Normal FVG: Any FVG that does not meet the criteria for the other classifications.
Multi-Timeframe (MTF) Analysis: Plot FVGs from a higher timeframe directly onto your current chart. These HTF zones often act as powerful areas of support or resistance and provide crucial context for lower-timeframe price action.
Advanced Filtering Suite: Gain complete control over which FVGs are displayed to reduce chart noise and focus on what matters.
Minimum Size Filter: Ignores insignificant micro-gaps by setting a minimum size requirement as a percentage of price.
EMA Trend Filter: Only display FVGs that align with the broader market trend (e.g., only show Bullish FVGs when price is above the 200 EMA).
Volume Filter: Qualify FVGs by requiring them to form on volume that is a specified multiple of its moving average, ensuring they are backed by significant market participation.
Comprehensive Customization: Tailor every aspect of the indicator to fit your personal trading style and chart aesthetic.
Mitigation Rules: Define precisely when an FVG is considered "mitigated" and no longer valid. Choose from a full fill, a 50% fill (Consequent Encroachment), or a simple wick touch.
Visuals & Data: Customize colors, borders, and box extensions. Toggle visuals for partial fills and the 50% CE line.
Data Labels: Display key information directly on the FVG boxes, including size in percentage and ticks, the volume of the FVG candle, and the volume ratio compared to the average.
MMXM ICT [TradingFinder] Market Maker Model PO3 CHoCH/CSID + FVG🔵 Introduction
The MMXM Smart Money Reversal leverages key metrics such as SMT Divergence, Liquidity Sweep, HTF PD Array, Market Structure Shift (MSS) or (ChoCh), CISD, and Fair Value Gap (FVG) to identify critical turning points in the market. Designed for traders aiming to analyze the behavior of major market participants, this setup pinpoints strategic areas for making informed trading decisions.
The document introduces the MMXM model, a trading strategy that identifies market maker activity to predict price movements. The model operates across five distinct stages: original consolidation, price run, smart money reversal, accumulation/distribution, and completion. This systematic approach allows traders to differentiate between buyside and sellside curves, offering a structured framework for interpreting price action.
Market makers play a pivotal role in facilitating these movements by bridging liquidity gaps. They continuously quote bid (buy) and ask (sell) prices for assets, ensuring smooth trading conditions.
By maintaining liquidity, market makers prevent scenarios where buyers are left without sellers and vice versa, making their activity a cornerstone of the MMXM strategy.
SMT Divergence serves as the first signal of a potential trend reversal, arising from discrepancies between the movements of related assets or indices. This divergence is detected when two or more highly correlated assets or indices move in opposite directions, signaling a likely shift in market trends.
Liquidity Sweep occurs when the market targets liquidity in specific zones through false price movements. This process allows major market participants to execute their orders efficiently by collecting the necessary liquidity to enter or exit positions.
The HTF PD Array refers to premium and discount zones on higher timeframes. These zones highlight price levels where the market is in a premium (ideal for selling) or discount (ideal for buying). These areas are identified based on higher timeframe market behavior and guide traders toward lucrative opportunities.
Market Structure Shift (MSS), also referred to as ChoCh, indicates a change in market structure, often marked by breaking key support or resistance levels. This shift confirms the directional movement of the market, signaling the start of a new trend.
CISD (Change in State of Delivery) reflects a transition in price delivery mechanisms. Typically occurring after MSS, CISD confirms the continuation of price movement in the new direction.
Fair Value Gap (FVG) represents zones where price imbalance exists between buyers and sellers. These gaps often act as price targets for filling, offering traders opportunities for entry or exit.
By combining all these metrics, the Smart Money Reversal provides a comprehensive tool for analyzing market behavior and identifying key trading opportunities. It enables traders to anticipate the actions of major players and align their strategies accordingly.
MMBM :
MMSM :
🔵 How to Use
The Smart Money Reversal operates in two primary states: MMBM (Market Maker Buy Model) and MMSM (Market Maker Sell Model). Each state highlights critical structural changes in market trends, focusing on liquidity behavior and price reactions at key levels to offer precise and effective trading opportunities.
The MMXM model expands on this by identifying five distinct stages of market behavior: original consolidation, price run, smart money reversal, accumulation/distribution, and completion. These stages provide traders with a detailed roadmap for interpreting price action and anticipating market maker activity.
🟣 Market Maker Buy Model
In the MMBM state, the market transitions from a bearish trend to a bullish trend. Initially, SMT Divergence between related assets or indices reveals weaknesses in the bearish trend. Subsequently, a Liquidity Sweep collects liquidity from lower levels through false breakouts.
After this, the price reacts to discount zones identified in the HTF PD Array, where major market participants often execute buy orders. The market confirms the bullish trend with a Market Structure Shift (MSS) and a change in price delivery state (CISD). During this phase, an FVG emerges as a key trading opportunity. Traders can open long positions upon a pullback to this FVG zone, capitalizing on the bullish continuation.
🟣 Market Maker Sell Model
In the MMSM state, the market shifts from a bullish trend to a bearish trend. Here, SMT Divergence highlights weaknesses in the bullish trend. A Liquidity Sweep then gathers liquidity from higher levels.
The price reacts to premium zones identified in the HTF PD Array, where major sellers enter the market and reverse the price direction. A Market Structure Shift (MSS) and a change in delivery state (CISD) confirm the bearish trend. The FVG then acts as a target for the price. Traders can initiate short positions upon a pullback to this FVG zone, profiting from the bearish continuation.
Market makers actively bridge liquidity gaps throughout these stages, quoting continuous bid and ask prices for assets. This ensures that trades are executed seamlessly, even during periods of low market participation, and supports the structured progression of the MMXM model.
The price’s reaction to FVG zones in both states provides traders with opportunities to reduce risk and enhance precision. These pullbacks to FVG zones not only represent optimal entry points but also create avenues for maximizing returns with minimal risk.
🔵 Settings
Higher TimeFrame PD Array : Selects the timeframe for identifying premium/discount arrays on higher timeframes.
PD Array Period : Specifies the number of candles for identifying key swing points.
ATR Coefficient Threshold : Defines the threshold for acceptable volatility based on ATR.
Max Swing Back Method : Choose between analyzing all swings ("All") or a fixed number ("Custom").
Max Swing Back : Sets the maximum number of candles to consider for swing analysis (if "Custom" is selected).
Second Symbol for SMT : Specifies the second asset or index for detecting SMT divergence.
SMT Fractal Periods : Sets the number of candles required to identify SMT fractals.
FVG Validity Period : Defines the validity duration for FVG zones.
MSS Validity Period : Sets the validity duration for MSS zones.
FVG Filter : Activates filtering for FVG zones based on width.
FVG Filter Type : Selects the filtering level from "Very Aggressive" to "Very Defensive."
Mitigation Level FVG : Determines the level within the FVG zone (proximal, 50%, or distal) that price reacts to.
Demand FVG : Enables the display of demand FVG zones.
Supply FVG : Enables the display of supply FVG zones.
Zone Colors : Allows customization of colors for demand and supply FVG zones.
Bottom Line & Label : Enables or disables the SMT divergence line and label from the bottom.
Top Line & Label : Enables or disables the SMT divergence line and label from the top.
Show All HTF Levels : Displays all premium/discount levels on higher timeframes.
High/Low Levels : Activates the display of high/low levels.
Color Options : Customizes the colors for high/low lines and labels.
Show All MSS Levels : Enables display of all MSS zones.
High/Low MSS Levels : Activates the display of high/low MSS levels.
Color Options : Customizes the colors for MSS lines and labels.
🔵 Conclusion
The Smart Money Reversal model represents one of the most advanced tools for technical analysis, enabling traders to identify critical market turning points. By leveraging metrics such as SMT Divergence, Liquidity Sweep, HTF PD Array, MSS, CISD, and FVG, traders can predict future price movements with precision.
The price’s interaction with key zones such as PD Array and FVG, combined with pullbacks to imbalance areas, offers exceptional opportunities with favorable risk-to-reward ratios. This approach empowers traders to analyze the behavior of major market participants and adopt professional strategies for entry and exit.
By employing this analytical framework, traders can reduce errors, make more informed decisions, and capitalize on profitable opportunities. The Smart Money Reversal focuses on liquidity behavior and structural changes, making it an indispensable tool for financial market success.
Arjo FVG Filtering With Alerts [neo.|]Fair Value Gaps (Also known as FVGs or Imbalances) can be simply described as a three candle pattern, where the second candle's body isn't completely covered by the wicks or body of the second and third candle. These areas represent movements in the market where either buyers or sellers were not able to get involved due to price in the form of wicks not revisiting those levels, and instead moving away from them.
As a result, they can be seen as potential areas of continuation given that price may want to continue in it's direction after it revisits them and offers Fair Value, since previously it made sharp moves away from those areas.
However what is important to note, and what FVG Filtering aims to address, is that there are three notable types of FVGs as described by Arjo, which are Perfect FVGs denoted as FVGp on the indicator and chart below, Expansion (FVGe), and Reversal (FVGr). As the names imply, they each serve different purposes with the FVGp being the likeliest to hold on mitigation, expansion meaning price is likely to not retrace into the FVG and reversal being the least likely for the FVG to hold.
The indicator is the first that automatically determines which one of the three underlying FVG types any particular FVG is, that way you can quickly make informed decisions based on the type of FVG you see appear on the chart.
As you may notice, the type depends primarily on the third candle, which demonstrates the true strength of any particular FVG, and is how the filtering occurs on this indicator, which compares the sizes of the second and third candle's bodies, in order to classify the FVG candle sequence as one of the three aforementioned types.
Color Options:
FVG Colors: Change the color of any bullish or bearish FVG type to easily distinguish between them.
Mitigated FVG Color: Apply colors to mitigated FVGs in order to avoid using ones that are no longer valid.
Text Color: Change the color of the text within the FVG to your liking.
Further styling options:
How many FVGs you want to be displayed: Changes the amount of FVGs displayed on your chart by limiting each type of FVG to the number you select.
How far you want the FVGs to extend: Modify the amount of bars forward that the FVG stretches out after it's inception.
Table options:
Show table: Display a table that will give you insights on how many FVGs were created of each type and what % they represent of the total.
Table text color: Modify the color of the text within the table.
Table border color: Modify the color of the border of the table.
Alerts:
Freely set alerts for any type of FVG you would like to see.
RunRox - Backtesting System (ASMC)Introducing RunRox - Backtesting System (ASMC), a specially designed backtesting system built on the robust structure of our Advanced SMC indicator. This innovative tool evaluates various Smart Money Concept (SMC) trading setups and serves as an automatic optimizer, displaying which entry and exit points have historically shown the best results. With cutting-edge technology, RunRox - Backtesting System (ASMC) provides you with effective strategies, maximizing your trading potential and taking your trading to the next level
🟠 HOW OUR BACKTESTING SYSTEM WORKS
Our backtesting system for the Advanced SMC (ASMC) indicator is meticulously designed to provide traders with a thorough analysis of their Smart Money Concept (SMC) strategies. Here’s an overview of how it works:
🔸 Advanced SMC Structure
Our ASMC indicator is built upon an enhanced SMC structure that integrates the Institutional Distribution Model (IDM), precise retracements, and five types of order blocks (CHoCH OB, IDM OB, Local OB, BOS OB, Extreme OB). These components allow for a detailed understanding of market dynamics and the identification of key trading opportunities.
🔸 Data Integration and Analysis
1. Historical Data Testing:
Our system tests various entry and exit points using historical market data.
The ASMC indicator is used to simulate trades based on predefined SMC setups, evaluating their effectiveness over a specified time period.
Traders can select different parameters such as entry points, stop-loss, and take-profit levels to see how these setups would have performed historically.
2. Entry and Exit Events:
The backtester can simulate trades based on 12 different entry events, 14 target events, and 14 stop-loss events, providing a comprehensive testing framework.
It allows for testing with multiple combinations of entry and exit strategies, ensuring a robust evaluation of trading setups.
3. Order Block Sensitivity:
The system uses the sensitivity settings from the ASMC indicator to determine the most relevant order blocks and fair value gaps (FVGs) for entry and exit points.
It distinguishes between different types of order blocks, helping traders identify strong institutional zones versus local zones.
🔸 Optimization Capabilities
1. Auto-Optimizer:
The backtester includes an auto-optimizer feature that evaluates various setups to find those with the best historical performance.
It automatically adjusts parameters to identify the most effective strategies for both trend-following and counter-trend trading.
2. Stop Loss and Take Profit Optimization:
It optimizes stop-loss and take-profit levels by testing different settings and identifying those that provided the best historical results.
This helps traders refine their risk management and maximize potential returns.
3. Trailing Stop Optimization:
The system also optimizes trailing stops, ensuring that traders can maximize their profits by adjusting their stops dynamically as the market moves.
🔸 Comprehensive Reporting
1. Performance Metrics:
The backtesting system provides detailed reports, including key performance metrics such as Net Profit, Win Rate, Profit Factor, and Max Drawdown.
These metrics help traders understand the historical performance of their strategies and make data-driven decisions.
2. Flexible Settings:
Traders can adjust initial balance, commission rates, and risk per trade settings to simulate real-world trading conditions.
The system supports testing with different leverage settings, allowing for realistic assessments even with tight stop-loss levels.
🔸 Conclusion
The RunRox Backtesting System (ASMC) is a powerful tool for traders seeking to validate and optimize their SMC strategies. By leveraging historical data and sophisticated optimization algorithms, it provides insights into the most effective setups, enhancing trading performance and decision-making.
🟠 HERE ARE THE AVAILABLE FEATURES
Historical backtesting for any setup – Select any entry point, exit point, and various stop-loss options to see the results of your setup on historical data.
Auto-optimizer for finding the best setups – The indicator displays settings that have shown the best results historically, providing valuable insights.
Auto-optimizer for counter-trend setups – Discover entry and exit points for counter-trend trading based on historical performance.
Auto-optimizer for stop-loss – The indicator shows stop-loss points that have been most effective historically.
Auto-optimizer for take-profit – The indicator identifies take-profit points that have performed well in historical trading data.
Auto-optimizer for trailing stop – The indicator presents trailing stop settings that have shown the best historical results.
And much more within our indicator, all of which we will cover in this post. Next, we will showcase the possible entry points, targets, and stop-loss options available for testing your strategies
🟠 ENTRY SETTINGS
12 Event Triggers for Trade Entry
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Trade Direction Options
Long Only: Enter long positions only
Short Only: Enter short positions only
Long and Short: Enter both long and short positions based on trend
3 Levels for Order Block/FVG Entries
Beginning: Enter the trade at the first touch of the Order Block/FVG
Middle: Enter the trade when the middle of the Order Block/FVG is reached
End: Enter the trade upon full filling of the Order Block/FVG
*Three levels work only for Order Blocks and FVG. For trade entries based on BOS or CHoCH, these settings do not apply as these parameters are not available for these types of entries
You can choose any combination of trade entries imaginable.
🟠 TARGET SETTINGS
14 Target Events, Including Fixed % and Fixed RR (Risk/Reward):
Fixed - % change in price
Fixed RR - Risk Reward per trade
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels of Order Block/FVG for Target
Beginning: Close the trade at the first touch of your target.
Middle: Close the trade at the midpoint of your chosen target.
End: Close the trade when your target is fully filled.
Customizable Parameters
Easily set your Fixed % and Fixed RR targets with a user-friendly input field. This field works only for the Fixed and Fixed RR entry parameters. When selecting a different entry point, this field is ignored
Choose any combination of target events to suit your trading strategy.
🟠 STOPLOSS SETTINGS
14 Possible StopLoss Events Including Entry Orderblock/FVG
Fixed - Fix the loss on the trade when the price moves by N%
Entry Block
Extr. ChoCh OB
Extr. ChoCh FVG
ChoCh
ChoCh OB
ChoCh FVG
IDM OB
IDM FVG
BoS FVG
BoS OB
BoS
Extr. BoS FVG
Extr. BoS OB
3 Levels for Order Blocks/FVG Exits
Beginning: Exit the trade at the first touch of the order block/FVG.
Middle: Exit the trade at the middle of the order block/FVG.
End: Exit the trade at the full completion of the order block/FVG.
Dedicated Field for Setting Fixed % Value
Set a fixed % value in a dedicated field for the Fixed parameter. This field works only for the Fixed parameter. When selecting other exit parameters, this field is ignored.
🟠 ADDITIONAL SETTINGS
Trailing Stop, %
Set a Trailing Stop as a percentage of your trade to potentially increase profit based on historical data.
Move SL to Breakeven, bars
Move your StopLoss to breakeven after exiting the entry zone for a specified number of bars. This can enhance your potential WinRate based on historical performance.
Skip trade if RR less than
This feature allows you to skip trades where the potential Risk-to-Reward ratio is less than the number set in this field.
🟠 EXAMPLE OF MANUAL SETUP
For example, let me show you how it works on the chart. You select entry parameters, stop loss parameters, and take profit parameters for your trades, and the strategy automatically tests this setup on historical data, allowing you to see the results of this strategy.
In the screenshot above, the parameters were as follows:
Trade Entry: CHoCH OB (Beginning)
Stop Loss: Entry Block
Take Profit: Break of BOS
The indicator will automatically test all possible trades on the chart and display the results for this setup.
🟠 AUTO OPTIMIZATION SETTINGS
In the screenshot above, you can see the optimization table displaying various entry points, exits, and stop-loss settings, along with their historical performance results and other parameters. This feature allows you to identify trading setups that have shown the best historical outcomes.
This functionality will enhance your trading approach, providing you with valuable insights based on historical data. You’ll be aware of the Smart Money Concept settings that have historically worked best for any specific chart and timeframe.
Our indicator includes various optimization options designed to help you find the most effective settings based on historical data. There are 5 optimization modes, each offering unique benefits for every trader
Trend Entry - Optimization of the best settings for trend-following trades. The strategy will enter trades only in the direction of the trend. If the trend is upward, it will look for long entry points and vice versa.
Counter Trend Entry - Finding setups against the trend. If the trend is upward, the script will search for short entry points. This is the opposite of trend entry optimization.
Stop Loss - Identifying stop-loss points that showed the best historical performance for the specific setup you have configured. This helps in finding effective exit points to minimize losses.
Take Profit - Determining targets for the configured setup based on historical performance, helping to identify potentially profitable take profit levels.
Trailing Stop - Finding optimal percentages for the trailing stop function based on historical data, which can potentially increase the profit of your trades.
Ability to set parameters for auto-optimization within a specified range. For example, if you choose FixRR TP from 1 to 10, the indicator will automatically test all possible Risk Reward Take Profit variations from 1 to 10 and display the results for each parameter individually.
Ability to set initial deposit parameters, position commissions, and risk per trade as a fixed percentage or fixed amount. Additionally, you can set the maximum leverage for a trade.
There are times when the stop loss is very close to the entry point, and adhering to the risk per trade values set in the settings may not allow for such a loss in any situation. That’s why we added the ability to set the maximum possible leverage, allowing you to test your trading strategy even with very tight stop losses.
Duplicated Smart Money Structure settings from our Advanced SMC indicator that you can adjust to match your trading style flexibly. All these settings will be taken into account during the optimization process or when manually calculating settings.
Additionally, you can test your strategy based on higher timeframe order blocks. For example, you can test a strategy on a 1-minute chart while displaying order blocks from a 15-minute timeframe. The auto-optimizer will consider all these parameters, including higher timeframe order blocks, and will enter trades based on these order blocks.
Highly flexible dashboard and results optimization settings allow you to display the tables you need and sort results by six different criteria: Profit Factor, Profit, Winrate, Max Drawdown, Wins, and Trades. This enables you to find the exact setup you desire, based on these comprehensive data points.
🟠 ALERT CUSTOMIZATION
With this indicator, you can set up buy and sell alerts based on the test results, allowing you to create a comprehensive trading strategy. This feature enables you to receive real-time signals, making it a powerful tool for implementing your trading strategies.
🟠 STRATEGY PROPERTIES
For backtesting, we used realistic initial data for entering trades, such as:
Starting balance: $1000
Commission: 0.01%
Risk per trade: 1%
To ensure realistic data, we used the above settings. We offer two methods for calculating your order size, and in our case, we used a 1% risk per trade. Here’s what it means:
Risk per trade: This is the maximum loss from your deposit if the trade goes against you. The trade volume can change depending on your stop-loss distance from the entry point. Here’s the formula we use to calculate the possible volume for a single trade:
1. quantity = percentage_risk * balance / loss_per_1_contract (incl. fee)
Then, we calculate the maximum allowed volume based on the specified maximum leverage:
2. max_quantity = maxLeverage * balance / entry_price
3. If quantity < max_quantity, meaning the leverage is less than the maximum allowed, we keep quantity. If quantity > max_quantity, we use max_quantity (the maximum allowed volume according to the set leverage).
This way, depending on the stop-loss distance, the position size can vary and be up to 100% of your deposit, but the loss in each trade will not exceed the set percentage, which in our case is 1% for this backtest. This is a standard risk calculation method based on your stop-loss distance.
🔸 Statistical Significance of Trade Data
In our strategy, you may notice there weren’t enough trades to form statistically significant data. This is inherent to the Smart Money Concept (SMC) strategy, where the focus is not on the number of trades but rather on the risk-to-reward ratio per trade. In SMC strategies, it’s crucial to avoid taking numerous uncertain setups and instead perform a comprehensive analysis of the market situation.
Therefore, our strategy results show fewer than 100 trades. It’s important to understand that this small sample size isn’t statistically significant and shouldn’t be relied upon for strategy analysis. Backtesting with a small number of trades should not be used to draw conclusions about the effectiveness of a strategy.
🔸 Versatile Use Cases
The methods of using this indicator are numerous, ranging from identifying potentially the best-performing order blocks on the chart to creating a comprehensive trading strategy based on the data provided by our indicator. We believe that every trader will find a valuable application for this tool, enhancing their entry and exit points in trades.
Disclaimer
Past performance is not indicative of future results. The results shown by this indicator do not guarantee similar outcomes in the future. Use this tool as part of a comprehensive trading strategy, considering all market conditions and risks.
How to access
For access to this indicator, please read the author’s instructions below this post
Fair Value Gaps Mitigation Oscillator [LuxAlgo]The Fair Value Gaps Mitigation Oscillator is an oscillator based on the traditional Fair Value Gaps (FVGs) imbalances. The oscillator displays the current total un-mitigated values for the number of FVGs chosen by the user.
The indicator also displays each New FVG as a bar representing the current ratio of the New FVG in relation to the current un-mitigated total for its direction.
🔶 USAGE
When an FVG forms, it is often interpreted as strong market sentiment in the direction of the gap. For example, an upward FVG during an uptrend is typically seen as a confirmation of the strength and continuation of the trend, as it indicates that buyers are willing to purchase at higher prices without much resistance, suggesting strong demand and positive sentiment.
By analyzing the mitigation (or lack thereof), we can visualize the increase of directional strength in a trend. This is where the proposed oscillator is useful.
🔶 DETAILS
The oscillator's values are expressed as Percentages (%). Each FVG is allocated 100% of the total of its width with a max potential value of 100 and minimum potential value of 0.
Based on the "FVG Lookback" Input, the FVGs are scaled to fit within the range of +1 to -1. Using a higher "FVG Lookback" value will allow you to get indications of longer-term trends.
A higher value of the normalized bullish FVG areas suggest a stronger and cleaner uptrend, while lower values of the bearish the normalized bullish FVG areas suggest a stronger and cleaner downtrend.
+1 or -1 indicates that there is a Full Lookback of FVGs, and each one is fully un-mitigated, and the opposite direction of FVGs is entirely Mitigated.
When the price closes over/under or within an FVG it begins to get mitigated, when this happens the % of mitigation is subtracted from the total.
When a New FVG is formed, a Histogram bar is created representing the ratio of the current FVG's width to the total width off all un-mitigated FVGs.
The entire bar represents 100% of total un-mitigated FVG Width.
The filled area represents the current FVG's width relative to the whole.
A 50% hash mark is also displayed for reference.
🔶 SETTINGS
FVG Lookback - Determines the number of FVGs (Bullish and Bearish Pairs) to keep in memory for analysis.
Fair Value Gaps (Volumetric) | Flux Charts💎 GENERAL OVERVIEW
Introducing a brand new Fair Value Gaps (FVG) indicator, now with Volumetric Zones! You can now see the total volume of FVG zones, as well as their bullish & bearish volume ratio.
Features of the Volumetric FVG Indicator :
Render Bullish / Bearish FVG Zones
See Total Volume Of The FVG Zones
See The Ratio Of Bullish / Bearish Bar Volume Of FVG Zones
Combination Of Overlapping FVG Zones
Variety Of Zone Detection/ Sensitivity / Filtering / Invalidation Settings
High Customizability
🚩UNIQUENESS
The ability to render the total volume of FVGs as well as bullish / bearish volume ratio is what sets this FVG indicator apart from others. Also the ability to combine overlapping FVG zones will result in cleaner charts for traders.
⚙️SETTINGS
1. General Configuration
Zone Invalidation -> Select between Wick & Close price for FVG Zone Invalidation.
Zone Filtering -> With "Average Range" selected, algorithm will find FVG zones in comparison with average range of last bars in the chart. With the "Volume Threshold" option, you may select a Volume Threshold % to spot FVGs with a larger total volume than average.
FVG Detection -> With the "Same Type" option, all 3 bars that formed the FVG should be the same type. (Bullish / Bearish). If the "All" option is selected, bar types may vary between Bullish / Bearish.
Detection Sensitivity -> You may select between Low, Normal or High FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivities resulting in spotting bigger FVGs, and higher sensitivities resulting in spotting all sizes of FVGs.
Show Historic Zones -> If this option is on, the indicator will render invalidated FVG zones as well as current FVG zones. For a cleaner look at current FVG zones which are not invalidated yet, you can turn this option off.