TTNY - CISD model - HTFThis is the HTF version of the CISD indicator. This one is NOT armed with alerts though.
It shows the CISD of a higher timeframe chart after taking an 'Important level'.
Timeframe inputs that are not a multiple of the chart's timeframe will result in a runtime error.
Alpha version
圖表形態
SMH - RSI PanelPlots multiple Relative Strength Index (RSI) lines from different timeframes in a dedicated panel. Designed to be used with the main 'SMH' indicator.
Wave 2 Flat Detection - B Breaks A High, C Breaks A Low//@version=5
indicator("Wave 2 Flat Detection - B Breaks A High, C Breaks A Low", overlay=true)
// === Parameters ===
wave1_len = 10 // length of wave 1
a_len = 5 // candles to look for Wave A
b_len = 3 // candles to look for Wave B
c_len = 3 // candles to look for Wave C
// === Detect Wave 1 (upward impulse) ===
wave1_start = low
wave1_end = high
wave1_valid = wave1_end > wave1_start * 1.05 // 5% move up
// === Wave A ===
a_start = high // assumed wave 1 top
a_end = low // correction low (Wave A end)
wave_a_valid = a_end < a_start
// === Wave B ===
b_high = high
wave_b_valid = b_high > a_start // B breaks above A's high
// === Wave C ===
c_low = low
wave_c_break = c_low < a_end // C breaks below A's low
// === Final Condition ===
flat_pattern_confirmed = wave1_valid and wave_a_valid and wave_b_valid and wave_c_break
// === Plot + Alert ===
plotshape(flat_pattern_confirmed, title="Flat Wave 2 Detected", location=location.belowbar, color=color.red, style=shape.labelup, text="C↓")
alertcondition(flat_pattern_confirmed, title="Wave C Breaks Below A", message="Wave C broke below Wave A low — Flat correction confirmed, watch for Wave 3")
[TH] กลยุทธ์ SMC หลายกรอบเวลา (V5.2 - M15 Lead)English Explanation
This Pine Script code implements a multi-timeframe trading strategy based on Smart Money Concepts (SMC). It's designed to identify high-probability trading setups by aligning signals across three different timeframes.
The core logic is as follows:
High Timeframe (HTF) - M15: Determines the overall market direction or bias.
Medium Timeframe (MTF) - M5: Identifies potential Points of Interest (POI), such as Order Blocks or Fair Value Gaps, in alignment with the M15 bias.
Low Timeframe (LTF) - Current Chart: Looks for a specific entry trigger within the M5 POI to execute the trade.
Detailed Breakdown
## Part 1: Inputs & Settings
This section allows you to customize the indicator's parameters:
General Settings:
i_pivotLookback: Sets the lookback period for identifying pivot highs and lows on the LTF, which is crucial for finding the Change of Character (CHoCH).
M15 Bias Settings:
i_m15EmaFast / i_m15EmaSlow: These two EMA (Exponential Moving Average) values on the 15-minute chart determine the main trend. A bullish trend is confirmed when the fast EMA is above the slow EMA, and vice-versa for a bearish trend.
M5 Point of Interest (POI) Settings:
i_showM5Fvg / i_showM5Ob: Toggles the visibility of Fair Value Gaps (FVG) and Order Blocks (OB) on the 5-minute chart. These are the zones where the script will look for trading opportunities.
i_maxPois: Limits the number of POI zones drawn on the chart to keep it clean.
LTF Entry Settings:
i_entryMode:
Confirmation: The script waits for a Change of Character (CHoCH) on the LTF (your current chart) after the price enters an M5 POI. A CHoCH is a break of a recent pivot high (for buys) or pivot low (for sells), suggesting a potential reversal. This is the safer entry method.
Aggressive: The script triggers an entry as soon as the price touches the 50% level of the M5 POI, without waiting for a CHoCH. This is higher risk but can provide a better entry price.
i_showChoch: Toggles the visibility of the CHoCH confirmation lines.
Trade Management Settings:
i_tpRatio: Sets the Risk-to-Reward Ratio (RRR) for the Take Profit target. For example, a value of 2.0 means the Take Profit distance will be twice the Stop Loss distance.
i_slMode: (New in V5.2) Provides four different methods to calculate the Stop Loss:
POI Zone (Default): Places the SL at the outer edge of the M5 POI zone.
Last Swing: Places the SL at the most recent LTF swing high/low before the entry.
ATR: Uses the Average True Range (ATR) indicator to set a volatility-based SL.
Previous Candle: Places the SL at the high or low of the candle immediately preceding the entry. This is the tightest and riskiest option.
i_maxHistory: Sets the number of past trades to display on the chart.
## Part 2: Data Types & Variables
This section defines custom data structures (type) to organize information:
Poi: A structure to hold all information related to a single Point of Interest, including its price boundaries, direction (bullish/bearish), and whether it has been mitigated (touched by price).
Trade: A structure to store details for each trade, such as its entry price, SL, TP, result (Win/Loss/Active), and chart objects for drawing.
## Part 3: Core Logic & Calculations
This is the engine of the indicator:
Data Fetching: It uses request.security to pull EMA data from the M15 timeframe and candle data (high, low, open, close) from the M5 timeframe.
POI Identification: The script constantly scans the M5 data for FVG and OB patterns. When a valid pattern is found that aligns with the M15 bias (e.g., a bullish OB during an M15 uptrend), it's stored as a Poi and drawn on the chart.
Entry Trigger:
It checks if the price on the LTF enters a valid (unmitigated) POI zone.
Based on the selected i_entryMode, it either waits for a CHoCH or enters aggressively.
Once an entry condition is met, it calculates the SL based on the i_slMode, calculates the TP using the i_tpRatio, and creates a new Trade.
Trade Monitoring: For every active trade, the script checks on each new bar if the price has hit the SL or TP level. When it does, the trade's result is updated, and the visual boxes are finalized.
## Part 5: On-Screen Display
This part creates the Performance Dashboard table shown on the top-right of the chart. It provides a real-time summary of:
M15 Bias: Current market direction.
Total Trades: The total number of completed trades from the history.
Win Rate: The percentage of winning trades.
Total R-Multiple: The cumulative Risk-to-Reward multiple (sum of RRR from wins minus losses). A positive value indicates overall profitability.
🇹🇭 คำอธิบายและข้อแนะนำภาษาไทย
สคริปต์นี้เป็น Indicator สำหรับกลยุทธ์การเทรดแบบ Smart Money Concepts (SMC) ที่ใช้การวิเคราะห์จากหลายกรอบเวลา (Multi-Timeframe) เพื่อหาจุดเข้าเทรดที่มีความเป็นไปได้สูง
หลักการทำงานของ Indicator มีดังนี้:
Timeframe ใหญ่ (HTF) - M15: ใช้กำหนดทิศทางหลักของตลาด หรือ "Bias"
Timeframe กลาง (MTF) - M5: ใช้หาโซนสำคัญ หรือ "Point of Interest (POI)" เช่น Order Blocks หรือ Fair Value Gaps ที่สอดคล้องกับทิศทางจาก M15
Timeframe เล็ก (LTF) - กราฟปัจจุบัน: ใช้หาสัญญาณยืนยันเพื่อเข้าเทรดในโซน POI ที่กำหนดไว้
รายละเอียดของโค้ด
## ส่วนที่ 1: การตั้งค่า (Inputs & Settings)
ส่วนนี้ให้คุณปรับแต่งค่าต่างๆ ของ Indicator ได้:
การตั้งค่าทั่วไป:
i_pivotLookback: กำหนดระยะเวลาที่ใช้มองหาจุดกลับตัว (Pivot) ใน Timeframe เล็ก (LTF) เพื่อใช้ยืนยันสัญญาณ Change of Character (CHoCH)
การตั้งค่า M15 (ทิศทางหลัก):
i_m15EmaFast / i_m15EmaSlow: ใช้เส้น EMA 2 เส้นบน Timeframe 15 นาที เพื่อกำหนดเทรนด์หลัก หาก EMA เร็วอยู่เหนือ EMA ช้า จะเป็นเทรนด์ขาขึ้น และในทางกลับกัน
การตั้งค่า M5 (จุดสนใจ - POI):
i_showM5Fvg / i_showM5Ob: เปิด/ปิด การแสดงโซน Fair Value Gaps (FVG) และ Order Blocks (OB) บน Timeframe 5 นาที ซึ่งเป็นโซนที่สคริปต์จะใช้หาโอกาสเข้าเทรด
i_maxPois: จำกัดจำนวนโซน POI ที่จะแสดงผลบนหน้าจอ เพื่อไม่ให้กราฟดูรกเกินไป
การตั้งค่า LTF (การเข้าเทรด):
i_entryMode:
ยืนยัน (Confirmation): เป็นโหมดที่ปลอดภัยกว่า โดยสคริปต์จะรอให้เกิดสัญญาณ Change of Character (CHoCH) ใน Timeframe เล็กก่อน หลังจากที่ราคาเข้ามาในโซน POI แล้ว
เชิงรุก (Aggressive): เป็นโหมดที่เสี่ยงกว่า โดยสคริปต์จะเข้าเทรดทันทีที่ราคาแตะระดับ 50% ของโซน POI โดยไม่รอสัญญาณยืนยัน CHoCH
i_showChoch: เปิด/ปิด การแสดงเส้น CHoCH บนกราฟ
การตั้งค่าการจัดการเทรด:
i_tpRatio: กำหนด อัตราส่วนกำไรต่อความเสี่ยง (Risk-to-Reward Ratio) เพื่อตั้งเป้าหมายทำกำไร (Take Profit) เช่น 2.0 หมายถึงระยะทำกำไรจะเป็น 2 เท่าของระยะตัดขาดทุน
i_slMode: (ฟีเจอร์ใหม่ V5.2) มี 4 รูปแบบในการคำนวณ Stop Loss:
โซน POI (ค่าเริ่มต้น): วาง SL ไว้ที่ขอบนอกสุดของโซน POI
Swing ล่าสุด: วาง SL ไว้ที่จุด Swing High/Low ล่าสุดของ Timeframe เล็ก (LTF) ก่อนเข้าเทรด
ATR: ใช้ค่า ATR (Average True Range) เพื่อกำหนด SL ตามระดับความผันผวนของราคา
แท่งเทียนก่อนหน้า: วาง SL ไว้ที่ราคา High/Low ของแท่งเทียนก่อนหน้าที่จะเข้าเทรด เป็นวิธีที่ SL แคบและเสี่ยงที่สุด
i_maxHistory: กำหนดจำนวนประวัติการเทรดที่จะแสดงย้อนหลังบนกราฟ
## ส่วนที่ 2: ประเภทข้อมูลและตัวแปร
ส่วนนี้เป็นการสร้างโครงสร้างข้อมูล (type) เพื่อจัดเก็บข้อมูลให้เป็นระบบ:
Poi: เก็บข้อมูลของโซน POI แต่ละโซน เช่น กรอบราคาบน-ล่าง, ทิศทาง (ขึ้น/ลง) และสถานะว่าถูกใช้งานไปแล้วหรือยัง (Mitigated)
Trade: เก็บรายละเอียดของแต่ละการเทรด เช่น ราคาเข้า, SL, TP, ผลลัพธ์ (Win/Loss/Active) และอ็อบเจกต์สำหรับวาดกล่องบนกราฟ
## ส่วนที่ 3: ตรรกะหลักและการคำนวณ
เป็นหัวใจสำคัญของ Indicator:
ดึงข้อมูลข้าม Timeframe: ใช้ฟังก์ชัน request.security เพื่อดึงข้อมูล EMA จาก M15 และข้อมูลแท่งเทียนจาก M5 มาใช้งาน
ระบุ POI: สคริปต์จะค้นหา FVG และ OB บน M5 ตลอดเวลา หากเจ้ารูปแบบที่สอดคล้องกับทิศทางหลักจาก M15 (เช่น เจอ Bullish OB ในขณะที่ M15 เป็นขาขึ้น) ก็จะวาดโซนนั้นไว้บนกราฟ
เงื่อนไขการเข้าเทรด:
เมื่อราคาใน Timeframe เล็ก (LTF) วิ่งเข้ามาในโซน POI ที่ยังไม่เคยถูกใช้งาน
สคริปต์จะรอสัญญาณตาม i_entryMode ที่เลือกไว้ (รอ CHoCH หรือเข้าแบบ Aggressive)
เมื่อเงื่อนไขครบ จะคำนวณ SL และ TP จากนั้นจึงบันทึกการเทรดใหม่
ติดตามการเทรด: สำหรับเทรดที่ยัง "Active" อยู่ สคริปต์จะคอยตรวจสอบทุกแท่งเทียนว่าราคาไปถึง SL หรือ TP แล้วหรือยัง เมื่อถึงจุดใดจุดหนึ่ง จะบันทึกผลและสิ้นสุดการวาดกล่องบนกราฟ
## ส่วนที่ 5: การแสดงผลบนหน้าจอ
ส่วนนี้จะสร้างตาราง "Performance Dashboard" ที่มุมขวาบนของกราฟ เพื่อสรุปผลการทำงานแบบ Real-time:
M15 Bias: แสดงทิศทางของตลาดในปัจจุบัน
Total Trades: จำนวนเทรดทั้งหมดที่เกิดขึ้นในประวัติ
Win Rate: อัตราชนะ คิดเป็นเปอร์เซ็นต์
Total R-Multiple: ผลตอบแทนรวมจากความเสี่ยง (R) ทั้งหมด (ผลรวม RRR ของเทรดที่ชนะ ลบด้วยจำนวนเทรดที่แพ้) หากเป็นบวกแสดงว่ามีกำไรโดยรวม
📋 ข้อแนะนำในการใช้งาน
Timeframe ที่เหมาะสม: Indicator นี้ถูกออกแบบมาให้ใช้กับ Timeframe เล็ก (LTF) เช่น M1, M3 หรือ M5 เนื่องจากมันดึงข้อมูลจาก M15 และ M5 มาเป็นหลักการอยู่แล้ว
สไตล์การเทรด:
Confirmation: เหมาะสำหรับผู้ที่ต้องการความปลอดภัยสูง รอการยืนยันก่อนเข้าเทรด อาจจะตกรถบ้าง แต่ลดความเสี่ยงจากการเข้าเทรดเร็วเกินไป
Aggressive: เหมาะสำหรับผู้ที่ยอมรับความเสี่ยงได้สูงขึ้น เพื่อให้ได้ราคาเข้าที่ดีที่สุด
การเลือก Stop Loss:
"Swing ล่าสุด" และ "โซน POI" เป็นวิธีมาตรฐานตามหลัก SMC
"ATR" เหมาะกับตลาดที่มีความผันผวนสูง เพราะ SL จะปรับตามสภาพตลาด
"แท่งเทียนก่อนหน้า" เป็นวิธีที่เสี่ยงที่สุด เหมาะกับการเทรดเร็วและต้องการ RRR สูงๆ แต่ก็มีโอกาสโดน SL ง่ายขึ้น
การบริหารความเสี่ยง: Indicator นี้เป็นเพียง เครื่องมือช่วยวิเคราะห์ ไม่ใช่สัญญาณซื้อขายอัตโนมัติ 100% ผู้ใช้ควรมีความเข้าใจในหลักการของ SMC และทำการบริหารความเสี่ยง (Risk Management) อย่างเคร่งครัดเสมอ
การทดสอบย้อนหลัง (Backtesting): ควรทำการทดสอบ Indicator กับสินทรัพย์และตั้งค่าต่างๆ เพื่อให้เข้าใจลักษณะการทำงานและประสิทธิภาพของมันก่อนนำไปใช้เทรดจริง
NEXGEN XNEXGEN X is a powerful multi-layered technical indicator developed by NexGen Trading Academy to give traders an edge by combining the strength of trend analysis (ADX) with the precision of momentum timing (MACD). This all-in-one tool is specially designed for those who want to identify strong trends and execute high-probability entries based on momentum shifts.
NEXGEN ADXNEXGEN ADX
NEXGEN ADX – Advanced Trend Strength & Directional Indicator
Purpose:
The NEXGEN ADX is a powerful trend analysis tool developed by NexGen Trading Academy to help traders identify the strength and direction of market trends with precision. Based on the Average Directional Index (ADX) along with +DI (Positive Directional Indicator) and –DI (Negative Directional Indicator), this custom indicator provides a reliable foundation for both trend-following strategies and trend reversal setups.
Wyckoff MAX Precision Signals (L+S)Updated wycoff indicator, this is to be used post 10AM PST
For SEED_ALEXDRAYM_SHORTINTEREST2:NQ and uses all of wycoff fundamentals into a bot
Multi-Timeframe S & R JACR# Multi-Timeframe Support & Resistance Indicator
## 🎯 Overview
The Multi-Timeframe Support & Resistance Indicator is a powerful technical analysis tool that displays support and resistance levels from up to 4 different timeframes simultaneously on your chart. This comprehensive indicator helps traders identify key price levels across multiple time horizons, providing a complete market structure analysis.
## 📊 Key Features
### ✨ **Multi-Timeframe Analysis**
- **4 Configurable Timeframes**: Analyze support and resistance levels from 4 different timeframes on a single chart
- **Default Settings**:
- Timeframe 1: 60 minutes (1H)
- Timeframe 2: 120 minutes (2H)
- Timeframe 3: 240 minutes (4H)
- Timeframe 4: 1 Day (1D)
- **Customizable**: Each timeframe can be adjusted to any desired interval
### 🎨 **Visual Customization**
- **Color-Coded Levels**: Each timeframe has its own color scheme for easy identification
- **Range Zones**: Optional support and resistance zones with customizable transparency
- **Dynamic Labels**: Timeframe identifiers automatically display next to each level
- **Clean Interface**: Professional styling with minimal chart clutter
### ⚙️ **Advanced Configuration**
- **Pivot Point Detection**: Customizable lookback and lookahead periods for precise level identification
- **Range Zones**: Adjustable percentage-based zones around key levels
- **Toggle Controls**: Enable/disable range zones for each timeframe independently
- **Extend Lines**: Support and resistance lines extend across the entire chart
## 🔧 Configuration Options
### **Support & Resistance Settings**
- **Support Look Back**: Number of bars to look back for pivot lows (default: 22)
- **Support Look Ahead**: Number of bars to look ahead for pivot lows (default: 26)
- **Resistance Look Back**: Number of bars to look back for pivot highs (default: 30)
- **Resistance Look Ahead**: Number of bars to look ahead for pivot highs (default: 27)
### **Individual Timeframe Settings**
For each of the 4 timeframes:
- **Timeframe Selection**: Choose any timeframe (minutes, hours, days, weeks, months)
- **Range Zones**: Enable/disable support and resistance zones
- **Support Range**: Percentage-based range around support levels (default: 0.25%)
- **Resistance Range**: Percentage-based range around resistance levels (default: 0.25%)
- **Color Customization**: Independent color settings for support and resistance levels
## 🎯 How It Works
The indicator uses pivot point analysis to identify significant support and resistance levels:
1. **Pivot Detection**: Identifies pivot highs and lows based on the configured lookback/lookahead periods
2. **Multi-Timeframe Analysis**: Requests data from each configured timeframe
3. **Level Tracking**: Maintains the most recent support and resistance levels for each timeframe
4. **Visual Display**: Draws lines, zones, and labels for all active levels
## 📈 Trading Applications
### **Trend Analysis**
- Identify key levels where price might reverse or consolidate
- Confirm trend strength by observing how price interacts with multi-timeframe levels
- Spot potential breakout opportunities
### **Entry and Exit Points**
- Use higher timeframe levels for strategic entries
- Lower timeframe levels for tactical entries and exits
- Confluence zones where multiple timeframe levels align
### **Risk Management**
- Place stop losses beyond key support/resistance levels
- Use range zones to account for price volatility around key levels
- Scale positions based on proximity to major levels
## 🔍 Best Practices
1. **Timeframe Selection**: Choose timeframes that align with your trading strategy
2. **Confluence Trading**: Look for areas where multiple timeframe levels converge
3. **Range Consideration**: Use percentage ranges to account for market volatility
4. **Clean Setup**: Toggle off unnecessary timeframes to avoid chart clutter
5. **Regular Updates**: Monitor how levels evolve as new pivot points form
## 📋 Technical Requirements
- **TradingView**: Compatible with TradingView's Pine Script v5
- **Chart Types**: Works on all chart types (candlestick, bar, line, etc.)
- **Instruments**: Compatible with all tradeable instruments (stocks, forex, crypto, commodities)
- **Timeframes**: Can be applied to any chart timeframe
## 🎨 Visual Elements
- **Solid Lines**: Main support and resistance levels
- **Shaded Zones**: Optional range areas around key levels
- **Labels**: Timeframe identifiers for easy reference
- **Color Coding**: Consistent green for support, red for resistance
- **Transparency**: Adjustable opacity for range zones
## 🚀 Performance Features
- **Efficient Processing**: Optimized for smooth chart performance
- **Memory Management**: Proper cleanup of drawing objects
- **Real-time Updates**: Levels update as new data becomes available
- **Scalable Design**: Works effectively on both small and large timeframes
This indicator is perfect for traders who want to incorporate multi-timeframe analysis into their trading strategy, providing a comprehensive view of market structure across different time horizons in a single, easy-to-use tool.
Auto YEAR High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current YEAR's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-year high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Yearly High & Low Tracking
Real-time dynamic update of the current year's intra-year high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between yearly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh yearly for clean, uncluttered information.
🧠 Use Cases
Identify intra-year support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Auto MONTH High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current MONTH's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-month high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Monthly High & Low Tracking
Real-time dynamic update of the current month's intra-month high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between monthly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh monthly for clean, uncluttered information.
🧠 Use Cases
Identify intramonth support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Auto WEEK High/Low with Fibonacci (MC) (Pub)This indicator automatically tracks and updates the current WEEK's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intra-week high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Weekly High & Low Tracking
Real-time dynamic update of the current week's intra-week high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between weekly high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh weekly for clean, uncluttered information.
🧠 Use Cases
Identify intra-week support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
Auto DAY High/Low with Fibonacci Levels (MC) (Pub)This indicator automatically tracks and updates the current DAY's HIGH and LOW levels in real-time. It calculates and plots key Fibonacci retracement and extension levels between the intraday high and low, helping traders visualize potential reversal, breakout, and pullback zones.
✨ Key Features:
✅ Daily High & Low Tracking
Real-time dynamic update of the current day's intraday high and low levels.
Lines can extend left, right, both, or none, based on user preference.
📐 Fibonacci Level Plotting
Computes Fibonacci levels between daily high and low.
Supports the following key retracement and extension levels:
88.6% Bear (Fib 11.4%)
78.6% Bear (Fib 23.6%)
61.8% Bear (Fib 38.2%)
50.0% Retracement
61.8% Bull
78.6% Bull
88.6% Bull
🧰 User Customization Options
Toggle visibility of each Fib level independently.
Selectable line extension behavior: left, right, both, or none.
Option to show/hide the high/low lines (with suggested enhancement).
Configurable line colors and styles for clarity.
🏷️ Informative Labels
Labels display price values for high, low, and each active Fibonacci level.
Positioned near the right of the chart for clear visibility.
Labels auto-refresh daily for clean, uncluttered information.
🧠 Use Cases
Identify intraday support/resistance zones.
Spot pullback or breakout points for entries and exits.
Enhance price action and confluence trading strategies
BOS INDICATOR )This indicator is used to mark out breaks of structures to the upside and the downside. It's used to easily determine which direction the market is breaking structure towards.
Crypto Pulse Strategy ActiveCrypto Pulse Strategy Active
Short-term crypto strategy for 1h-4h charts. Uses RSI, Bollinger Bands, and VWAP to spot buy/sell signals. Buy above VWAP with low BB or RSI < 25; sell below VWAP with high BB or RSI > 75. Risks 1% per trade with 1.5% stop-loss and 1.5x profit. Test on BTC/ETH first!
Hybrid candles by Marian BWill plot normal candles with the Heikin-Ashi colors.
You must bring the visiual order to front.
log.info() - 5 Exampleslog.info() is one of the most powerful tools in Pine Script that no one knows about. Whenever you code, you want to be able to debug, or find out why something isn’t working. The log.info() command will help you do that. Without it, creating more complex Pine Scripts becomes exponentially more difficult.
The first thing to note is that log.info() only displays strings. So, if you have a variable that is not a string, you must turn it into a string in order for log.info() to work. The way you do that is with the str.tostring() command. And remember, it's all lower case! You can throw in any numeric value (float, int, timestamp) into str.string() and it should work.
Next, in order to make your output intelligible, you may want to identify whatever value you are logging. For example, if an RSI value is 50, you don’t want a bunch of lines that just say “50”. You may want it to say “RSI = 50”.
To do that, you’ll have to use the concatenation operator. For example, if you have a variable called “rsi”, and its value is 50, then you would use the “+” concatenation symbol.
EXAMPLE 1
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
log.info(“RSI= ” + str.tostring(rsi))
Example Output =>
RSI= 50
Here, we use double quotes to create a string that contains the name of the variable, in this case “RSI = “, then we concatenate it with a stringified version of the variable, rsi.
Now that you know how to write a log, where do you view them? There isn’t a lot of documentation on it, and the link is not conveniently located.
Open up the “Pine Editor” tab at the bottom of any chart view, and you’ll see a “3 dot” button at the top right of the pane. Click that, and right above the “Help” menu item you’ll see “Pine logs”. Clicking that will open that to open a pane on the right of your browser - replacing whatever was in the right pane area before. This is where your log output will show up.
But, because you’re dealing with time series data, using the log.info() command without some type of condition will give you a fast moving stream of numbers that will be difficult to interpret. So, you may only want the output to show up once per bar, or only under specific conditions.
To have the output show up only after all computations have completed, you’ll need to use the barState.islast command. Remember, barState is camelCase, but islast is not!
EXAMPLE 2
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
if barState.islast
log.info("RSI=" + str.tostring(rsi))
plot(rsi)
However, this can be less than ideal, because you may want the value of the rsi variable on a particular bar, at a particular time, or under a specific chart condition. Let’s hit these one at a time.
In each of these cases, the built-in bar_index variable will come in handy. When debugging, I typically like to assign a variable “bix” to represent bar_index, and include it in the output.
So, if I want to see the rsi value when RSI crosses above 0.5, then I would have something like
EXAMPLE 3
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,0.5)
if rsiCrossedOver
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
bix=19964 - RSI=51.8449459867
bix=19972 - RSI=50.0975830828
bix=19983 - RSI=53.3529808079
bix=19985 - RSI=53.1595745146
bix=19999 - RSI=66.6466337654
bix=20001 - RSI=52.2191767466
Here, we see that the output only appears when the condition is met.
A useful thing to know is that if you want to limit the number of decimal places, then you would use the command str.tostring(rsi,”#.##”), which tells the interpreter that the format of the number should only be 2 decimal places. Or you could round the rsi variable with a command like rsi2 = math.round(rsi*100)/100 . In either case you’re output would look like:
bix=19964 - RSI=51.84
bix=19972 - RSI=50.1
bix=19983 - RSI=53.35
bix=19985 - RSI=53.16
bix=19999 - RSI=66.65
bix=20001 - RSI=52.22
This would decrease the amount of memory that’s being used to display your variable’s values, which can become a limitation for the log.info() command. It only allows 4096 characters per line, so when you get to trying to output arrays (which is another cool feature), you’ll have to keep that in mind.
Another thing to note is that log output is always preceded by a timestamp, but for the sake of brevity, I’m not including those in the output examples.
If you wanted to only output a value after the chart was fully loaded, that’s when barState.islast command comes in. Under this condition, only one line of output is created per tick update — AFTER the chart has finished loading. For example, if you only want to see what the the current bar_index and rsi values are, without filling up your log window with everything that happens before, then you could use the following code:
EXAMPLE 4
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
//@version=6
indicator("log.info()")
rsi = ta.rsi(close,14)
bix = bar_index
if barstate.islast
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
Example Output =>
bix=20203 - RSI=53.1103309071
This value would keep updating after every new bar tick.
The log.info() command is a huge help in creating new scripts, however, it does have its limitations. As mentioned earlier, only 4096 characters are allowed per line. So, although you can use log.info() to output arrays, you have to be aware of how many characters that array will use.
The following code DOES NOT WORK! And, the only way you can find out why will be the red exclamation point next to the name of the indicator. That, and nothing will show up on the chart, or in the logs.
// CODE DOESN’T WORK
//@version=6
indicator("MW - log.info()")
var array rsi_arr = array.new()
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50)
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
// No code errors, but will not compile because too much is being written to the logs.
However, after putting some time restrictions in with the i_startTime and i_endTime user input variables, and creating a dateFilter variable to use in the conditions, I can limit the size of the final array. So, the following code does work.
EXAMPLE 5
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
// CODE DOES WORK
//@version=6
indicator("MW - log.info()")
i_startTime = input.time(title="Start", defval=timestamp("01 Jan 2025 13:30 +0000"))
i_endTime = input.time(title="End", defval=timestamp("1 Jan 2099 19:30 +0000"))
var array rsi_arr = array.new()
dateFilter = time >= i_startTime and time <= i_endTime
rsi = ta.rsi(close,14)
bix = bar_index
rsiCrossedOver = ta.crossover(rsi,50) and dateFilter // <== The dateFilter condition keeps the array from getting too big
if rsiCrossedOver
array.push(rsi_arr, rsi)
if barstate.islast
log.info("rsi_arr:" + str.tostring(rsi_arr))
log.info("bix=" + str.tostring(bix) + " - RSI=" + str.tostring(rsi))
plot(rsi)
Example Output =>
rsi_arr:
bix=20210 - RSI=56.9030578034
Of course, if you restrict the decimal places by using the rounding the rsi value with something like rsiRounded = math.round(rsi * 100) / 100 , then you can further reduce the size of your array. In this case the output may look something like:
Example Output =>
rsi_arr:
bix=20210 - RSI=55.6947486019
This will give your code a little breathing room.
In a nutshell, I was coding for over a year trying to debug by pushing output to labels, tables, and using libraries that cluttered up my code. Once I was able to debug with log.info() it was a game changer. I was able to start building much more advanced scripts. Hopefully, this will help you on your journey as well.
Linton Price Targets (R)Linton Price Targets are effectively traditional 3-Box reversal Point and Figure vertical count targets applied to time-based charts.
This method is purely rules based in line with the original 3-Box Point and Figure technique. Unit size (box size) may be varied to change the sensitivity of the targets. Target Factor may also be varied.
Time Projection of the targets to a future date (something that is not possible on a Point and Figure chart) is also made possible with Linton Price Targets with five different methodologies where various factors may be set. Linton Price Targets negate the need for using Point and Figure charts and allows for time based Technical Analysis indicators (ie: RSI) to be shown on the same chart.
ABCD Pattern FinderThis is a basic version: more robust implementations use zigzag structures and advanced filtering.
You may want to filter by Fibonacci ratios like 61.8%, 78.6%, or 127.2% depending on your preferred ABCD variation.
SPX Optimized EMA+VWAP+RSI IndicatorOptimized SPX EMA+VWAP+RSI indicators.
EMA9 = Orange
EMA21 =Blue
EMA50=Purple
EMA200=Red
VWAP=Teal
Cryptomath Position CalculatorThe CryptoMath Position Calculator
makes it easy to calculate your position size by simply entering a few basic inputs.
It helps you determine the optimal position size without overcomplicating things
quick, simple, and accurate.