NeoChartLabs TrixxOne of our Favorite Indicators - The Trixx - The Trix with K & J lines for extra crossovers and trend analysis. Best when used on the 4hr and above.
Shout out to fauxlife for the original script, we updated to v6.
The TRIX indicator (Triple Exponential Average) is a momentum oscillator used in technical analysis to show the percentage rate of change of a triple-smoothed exponential moving average, helping traders identify overbought/oversold conditions and potential trend reversals by filtering out minor price fluctuations. It plots as a line oscillating around a zero line, often with a signal line (an EMA of TRIX) for crossovers, and traders look for divergence with price or signal line crosses for buy/sell signals
Análisis de tendencia
The Reaper WhistleThe Reaper Whistle is a high-precision RSI momentum system engineered for scalpers and intraday traders.
It combines a customizable RSI with a dynamic moving average signal line to detect micro-shifts in momentum, early reversals, and continuation setups with extreme speed.
The indicator includes five key zones used by liquidity and SMC-style traders:
• Strong Sell (90) – Extreme momentum exhaustion
• Sell (80) – Overextension area
• TP Zone (50) – Momentum balance / decision point
• Buy (20) – Discount area
• Strong Buy (10) – Extreme sell-side exhaustion
By tracking how RSI interacts with its MA inside these zones, traders can identify high-probability sniper entries on the 1m, 3m, and 5m charts.
⸻
⭐ HOW IT WORKS (Quick Breakdown)
• RSI Period: defines momentum sensitivity
• MA Period: smooths RSI noise and clarifies direction shifts
• MA Type: SMA, EMA, or WMA for different reaction speeds
• Crossovers: show momentum flips or trend continuation
• Zones: filter out weak signals and highlight only premium setups
⸻
⚡ STRATEGY EXAMPLES
1️⃣ Liquidity Sweep Reversal (Most Powerful Setup)
Use case: Gold, NAS100, NQ, US30
1. Price sweeps a previous high/low
2. RSI spikes into Strong Sell (90) or Strong Buy (10)
3. RSI crosses its MA back inside the zone
4. Enter on candle confirmation
5. TP at the next imbalance, VWAP, or volume cluster
This setup catches V-shaped reversals and trap plays.
⸻
2️⃣ Trend Continuation Pullback
Use case: Trending markets
1. Identify trend direction (EMA 200, structure, etc.)
2. Wait for RSI to pull back to the TP (50) zone
3. Watch for RSI crossing its MA in trend direction
4. Enter with trend
5. TP at previous swing high/low
This setup filters out weak pullbacks and catches clean momentum continuation.
⸻
3️⃣ Breakout Confirmation
Use case: Range breakouts, opening range breaks
1. Price breaks a consolidation high/low
2. RSI holds above Sell (80) in uptrend or below Buy (20) in downtrend
3. RSI crosses its MA with momentum
4. Enter breakout
5. TP at HTF zone or liquidity target
Perfect for fast markets like NAS100 and Bitcoin.
⸻
4️⃣ Divergence + Whistle Flip
Use case: Slow markets or pre-session moves
1. Look for bullish or bearish RSI divergence
2. Wait for RSI to cross the MA in direction of divergence
3. Enter once momentum confirms
4. TP at imbalance, FVG, or mid-range
This increases divergence accuracy dramatically.
⸻
🔥 RECOMMENDED SETTINGS
• Scalping (1m–3m):
• RSI: 5
• MA: 3
• Type: EMA
• Intraday 5m–15m:
• RSI: 7–14
• MA: 5
• Type: SMA
⸻
⭐ WHO IT’S BUILT FOR
• Liquidity + SMC traders
• Scalpers who need fast confirmation
• Traders who want clean, simple entries
• Beginners who want visual guidance
• Professionals who want momentum precision
The Reaper Whistle is intentionally designed for speed, clarity, and reliability — no clutter, no lag, just pure momentum read.
— Created by TheTrendSniper (ChartReaper)
“When the market whispers… the Reaper whistles.”
The Abramelin Protocol [MPL]"Any sufficiently advanced technology is indistinguishable from magic." — Arthur C. Clarke
🌑 SYSTEM OVERVIEW
The Abramelin Protocol is not a standard technical indicator; it is a "Technomantic" trading algorithm engineered to bridge the gap between 15th-century esoteric mathematics and modern high-frequency markets.
This script is the flagship implementation of the MPL (Magic Programming Language) project—an open-source experimental framework designed to compile metaphysical intent into executable Python and Pine Script algorithms.
Unlike traditional indicators that rely on arbitrary constants (like the 14-period RSI or 200 SMA), this protocol calculates its parameters using "Dynamic Entity Gematria." We utilize a custom Python backend to analyze the ASCII vibrational frequencies of specific metaphysical archetypes, reducing them via Tesla's 3-6-9 harmonic principles to derive market-responsive periods.
🧬 WHAT IS ?
MPL (Magic Programming Language) is a domain-specific language and research initiative created to explore Technomancy—the art of treating code as a spellbook and the market as a chaotic entity to be tamed.
By integrating the logic of ancient Grimoires (such as The Book of Abramelin) with modern Data Science, MPL aims to discover hidden correlations in price action that standard tools overlook.
🔗 CONNECT WITH THE PROJECT:
If you are a developer, a trader, or a seeker of hidden knowledge, examine the source code and join the order:
• 📂 Official Project Site: hakanovski.github.io
• 🐍 MPL Source Code (GitHub): github.com
• 👨💻 Developer Profile (LinkedIn): www.linkedin.com
🔢 THE ALGORITHM: 452 - 204 - 50
The inputs for this script are mathematically derived signatures of the intelligence governing the system:
1. THE PAIMON TREND (Gravity)
• Origin: Derived from the ASCII summation of the archetype PAIMON (King of Secret Knowledge).
• Function: This 452-period Baseline acts as the market's "Event Horizon." It represents the deep, structural direction of the asset.
• Price > Line: Bullish Domain.
• Price < Line: Bearish Void.
2. THE ASTAROTH SIGNAL (Trigger)
• Origin: Derived from the ASCII summation of ASTAROTH (Knower of Past & Future), reduced by Tesla’s 3rd Harmonic.
• Function: This is the active trigger line. It replaces standard moving averages with a precise, gematria-aligned trajectory.
3. THE VOLATILITY MATRIX (Scalp)
• Origin: Based on the 9th Harmonic reduction.
• Function: Creates a "Cloud" around the signal line to visualize market noise.
🛡️ THE MILON GATE (Matrix Filter)
Unique to this script is the "MILON Gate" toggle found in the settings.
• ☑️ Active (Default): The algorithm applies the logic of the MILON Magic Square. Signals are ONLY generated if Volume and Volatility align with the geometric structure of the move. This filters out ~80% of false signals (noise).
• ⬜ Inactive: The algorithm operates in "Raw Mode," showing every mathematical crossover without the volume filter.
⚠️ OPERATIONAL USAGE
• Timeframe: Optimized for 4H (The Builder) and Daily (The Architect) charts.
• Strategy: Use the Black/Grey Line (452) as your directional bias. Take entries only when the "EXECUTE" (Long) or "PURGE" (Short) sigils appear.
Use this tool wisely. Risk responsibly. Let the harmonics guide your entries.
— Hakan Yorganci
Technomancer & Full Stack Developer
Core Suite Essentials This script provides institutional-grade, multi-factor market analysis in a unified toolkit. Its true sophistication lies in its ability to reveal the critical interplay—the "dance"—between its core components, offering a profound view of market structure, momentum, and trend health that goes far beyond standard indicators.
Core Differentiators
Reveals the Core Trend "Dance":
The script masterfully visualizes the critical interaction between three foundational elements:
Ichimoku (Tenkan Sen & Kijun Sen): The leading actors defining momentum and equilibrium.
Bollinger Middle Band (BBM): The dynamic stage of support/resistance.
This interaction provides an institutional-grade read on trend integrity:
Strong Trend: A clean, bullish alignment with the Tenkan Sen leading, the Kijun Sen following, and the BBM acting as firm support confirms a powerful, unified move.
Trend Break Warning: The BBM moving between the Tenkan and Kijun signals convergence and compression, a critical alert of weakening momentum and a potential reversal.
Multi-Timeframe Momentum Confirmation:
This core trend analysis is fortified with a layered momentum gauge, providing a robust, institutional-style confirmation system:
Proprietary RSI-Based Bands across weekly, daily, and intraday frames.
Stochastic Channels (Sto12/Sto50) for additional context on price position.
Strategic Filters for Swing & Position Traders:
For higher-timeframe analysis, it delivers essential quantitative tools:
AnEMA29 Angle: Objectively quantifies trend strength and direction.
PDMDR (DMI Ratio): Measures directional dominance to filter low-conviction markets.
Integrated Cross-Asset Intelligence:
Completing the institutional perspective is a Correlation & Hedging Assistant, contextualizing price action against peers and identifying strategic opportunities based on RSI divergences.
Conclusion
This is not a mere collection of indicators; it is a consolidated analytical workstation. It captures the nuanced "dance" of the core trend triad, layers on multi-timeframe momentum confirmation, and provides strategic filters for timing and cross-asset context. This holistic, institutional-grade approach delivers a definitive and actionable market narrative.
ICHIMOKU
@insomniac_vampire
Dynamische Open/Close Levels mit Historie🎯 Key Features
This indicator provides clean, configurable horizontal lines showing the Open and Close prices of a higher chosen timeframe (e.g., the last 5-minute candle), serving as dynamic support and resistance levels.
Unlike traditional indicators that draw messy "steps" across your entire chart, this tool is designed for clarity and precise control.
Controlled History: Easily define how many of the last completed periods (e.g., 5-minute blocks) should remain visible on the chart. Set to 0 for only the current, active levels.
No Stepladder Effect: Uses advanced drawing methods (line.new and object management) to ensure the historical levels remain static and do not clutter your chart history.
Dynamic Labels: The labels (e.g., "Open (5)") automatically adjust to show the timeframe you configured in the indicator settings, eliminating confusion when switching timeframes.
Customizable: Full control over colors, line length, and label positioning/size.
💡 Ideal Use Case
Perfect for scalpers and day traders operating on lower timeframes (1m, 3m) who want to quickly visualize and respect crucial price action levels from a higher context (e.g., 5m, 15m, 1h).
VCAI RSI Divergence +VCAI RSI Divergence+ is an RSI that shows trend, momentum, and divergence using V-CoresAI colour logic instead of a single white line.
What it shows:
Yellow RSI line → bullish momentum (RSI above its MA; buy-side pressure in control)
Purple RSI line → bearish momentum (RSI below its MA; sell-side pressure in control)
Thin blue line → fast RSI moving average that drives the colour flips
Dashed 70/30 lines → classic OB/OS zones
Background bands → soft purple in OB, soft yellow in OS to mark exhaustion areas
How to read it:
Yellow & rising → momentum shifting bullish; pullbacks into yellow OS band can be accumulation zones
Purple & falling → momentum shifting bearish; pushes into purple OB band can be distribution/sell zones
Hard colour flips (yellow ↔ purple) mark trend regime changes, not minor RSI noise
Divergence mode (on/off)
The divergence engine scans RSI and price pivot structure:
Bullish divergence (yellow) → price lower low + RSI higher low
Bearish divergence (purple) → price higher high + RSI lower high
Lines and tags appear only where a meaningful disagreement between price and RSI exists, giving early context for potential reversals or fade setups.
Together, the momentum colours + optional divergence mapping give a far clearer market read than a standard RSI, with zero clutter and no guesswork.
DR/IDR fractals break candle (ChadAnt)This indicator is an Opening Range Breakout (ORB) tool. It identifies the high and low price range established during a specific time window (e.g., the first hour of trading, 9:30–10:30 AM NY time). Once that time window closes, it watches for the price to "break out" of that range and projects profit targets based on the size of the initial range.
Key Features & How They Work
1. The Opening Range (The Box)
Time Window: The indicator waits for your specific start time (default 9:30 AM NY). It does not draw anything before this time.
The "Wicks": It tracks the absolute highest and lowest prices reached during this time (the Wicks). These act as your Breakout Triggers.
The "Body": It tracks the highest and lowest candle closes/opens during this time. This creates a shaded "zone" on your chart, representing the core area where most trading occurred.
Shading: To keep your chart clean, the background shading only appears during the forming time window.
2. Breakout Signals
Once the time window ends (e.g., 10:30 AM), the indicator "locks" the levels.
It then waits for a candle to move above the Wick High or below the Wick Low.
The Signal: When this happens, a label ("BREAK") appears on the chart.
Green Label: Bullish breakout (price went above the range).
Red Label: Bearish breakout (price went below the range).
Note: It only signals the first breakout of the day to avoid false alarms during choppy markets.
3. Extension Targets (Profit Levels)
When a breakout signal occurs, the indicator automatically draws target lines (extensions).
Calculation: These targets are based on the height of the "Body" zone (the shaded area).
Example: If your setting is 1.0, the indicator measures the height of the shaded body range and projects that exact distance above the breakout point. This is often used as a "Measured Move" target.
You can customize how many lines appear and how far apart they are (e.g., 0.5, 1.0, 1.5 times the range size).
4. Williams Fractals
During the opening range time, the indicator looks for specific price patterns called "Williams Fractals" (a 5-candle pattern that highlights potential turning points).
If a fractal peak or valley occurs inside your opening range, it marks it with a small triangle (▲ or ▼). Traders often use these as early signs of support or resistance forming inside the range.
5. Clean Visuals
Line Cutoff: You can set a "Stop Time" (e.g., 16:00 or 4:00 PM). The lines will stop drawing at that time so they don't clutter your chart overnight.
Gap Handling: The lines are programmed to break cleanly between days, so you don't see messy diagonal lines connecting yesterday's close to today's open.
Summary of Settings You Can Change
Session Time: When the range starts and ends.
Line Stop Time: When the lines should disappear for the day.
Visuals: Colors, line width, and style (solid, dotted, dashed).
Extensions: How many target lines to draw and the step size (e.g., 0.5x, 1.0x).
Fractals: Toggle the triangle icons on/off.
VCAI Stochastic RSI+VCAI Stoch RSI+ is a cleaned-up Stochastic RSI built with V-Core colours for faster, clearer momentum reads and more reliable OB/OS signals.
What it shows:
Purple %K line → bearish momentum strengthening
Yellow %D line → bullish momentum building and smoothing
Soft purple/yellow background bands → OB/OS exhaustion zones, not just raw 80/20 triggers
Midline at 50 → balance point where momentum shifts between bull- and bear-side control
Optional HTF mode → run Stoch RSI from any timeframe while viewing it on your current chart
How to read it:
Both lines rising out of OS → early bullish shift; pullbacks that hold direction favour continuation
Both lines falling from OB → early bearish shift; bounces into the purple OB zone can become fade setups
Lines stacked and moving together → strong, cleaner momentum
Lines crossing repeatedly → low-conviction, choppy conditions
OB/OS shading highlights exhaustion so you focus on moves with context, not every 80/20 tick
Why it’s different:
Classic Stoch RSI is hyper-sensitive and mostly noise.
VCAI Stoch RSI+ applies V-Core’s colour-driven regime logic, controlled OB/OS shading, and optional HTF smoothing so you see momentum structure instead of clutter — making it easier to judge when momentum is genuinely shifting and when it’s just another wiggle.
POWER INDICATOR - PRO PREMIUM by OeZKAN 👑 POWER INDICATOR PRO PREMIUM V24: Predictive Intelligence Meets Precision ExecutionThe POWER INDICATOR PRO PREMIUM V24 is the pinnacle of algorithmic trading intelligence. This system transcends traditional indicators by utilizing a sophisticated framework of advanced mathematical equations to predict the impending trend direction before the market moves. It combines Smart Money Concepts (SMC), Multi-Timeframe (MTF) convergence, and Dynamic Risk Management to deliver unparalleled clarity and execution confidence.If you seek a trading partner that provides leading, predictive signals and high-probability entries, this system is your definitive solution.🧠 The Core Element: Predictive Market Context & Directional ForecastThe foundational strength of the POWER INDICATOR is its ability to forecast the market's bias through advanced quantification:🚀 Directional Pre-Cognition (LRC & Mathematical Models):The system utilizes the Linear Regression Curve (LRC) and proprietary statistical models as its core mathematical engine. This process extrapolates the probable trend path and generates a Directional Forecast for the coming bars, enabling you to anticipate moves rather than react to them. This forecast serves as the ultimate bias filter.🧠 The Convictional Filter: Quantifying Probability ($60\%$ Confidence):This filter is our proprietary Probability Brain. It eliminates market noise by forcing convergence across multiple high-level factors (MTF agreement, Momentum, SMC levels).High-Conviction Threshold: Independent analysis confirms that the Conviction Filter provides an exceptionally high win rate and signal quality starting at just $60\%$. Setting your threshold at this level ensures you only consider trades where the predictive mathematical components are in strong alignment.🌊 FVG & GP Predictive Zones:The system automatically identifies and projects critical Fair Value Gaps (FVG/LSOB) and the Golden Pocket (GP) Re-Test Zone. These zones are algorithmically identified as high-probability targets for pullbacks and reversals, providing a clear map of where liquidity will be sought.💡 The Convictional Trading Workflow: A 3-Step Guide to ExecutionContext Check: Confirm the LRC Directional Forecast aligns with your trade and the Conviction Score Meter is above your desired threshold (minimum $60\%$).Optimal Entry: Wait for the signal to trigger at a high-R:R entry point (GP, FVG, or Aggressive Impulse), guided by your chosen trading mode.Dynamic Management: Let the system handle risk, utilizing Structural SL and automatic Multi-Method Trailing Stops post-TP1.🎯 Mode Selection: Matching Strategy to MarketThe indicator's power lies in its Modularity. Selecting the correct mode is crucial for optimizing your results.Trading StyleRecommended ModesPrimary Rationale & Entry LogicHigh-Frequency ScalpingCT Scalp-OnlyDesigned for counter-trend entries in a pullback towards the Golden Pocket (GP). Uses tighter SL/TP multipliers for quick profit-taking. (Fast, high-R:R)ATR Channel Scalp (ACS)Utilizes volatility channels (ATR bands) for quick mean-reversion trades when price overextends.Strategic Day Trading / Swing TradingUltimate Fusion Mode (UFM)The highest probability mode. Best for catching major shifts confirmed by SMC (LRC, GP, FVG, MSS). Waits for a deep, high-R:R Re-Test Entry.Haupttrend & Scalp (Kombi)Excellent general-purpose mode. Focuses on trend continuation but allows for high-R:R pullback entries at key levels (GP/FVG). (Balanced)FVG Mitigation Entry (FME)Ideal for SMC traders. Waits for the price to precisely re-test and mitigate an unmitigated Fair Value Gap (FVG) or Liquidity Sweep (LSOB) zone before entry.Breakout & Momentum TradingBand Breakout-OnlyTriggers an entry only when price decisively breaks outside the SMA Volatility Bands (configurable). Filtered by momentum requirements.Dynamic Range Expansion (DRE)Specifically detects low-volatility consolidation before an anticipated high-momentum expansion phase.🔔 The Master Alert System: Your Execution EdgeThe powerful Alert functionality ensures you can monitor multiple assets and timeframes without being glued to the screen.1. ✅ Dynamic MASTER ALARM (Compact Text)The core alert uses a compact, dynamic JSON/text message that contains all necessary information for quick execution:Action: BUY / SELLMode Used: Conviction Score: Key Level: 2. LRC/GP Combo-Alert (High-R:R)This is the most valuable alert for strategic traders. It triggers only when the LRC direction is confirmed and the price enters the Golden Pocket (GP) Re-Test Zone, indicating an optimal high-R:R pullback opportunity.Final Note: To maximize the predictive power, ensure the useConvictionFilter is set to a minimum of $60\%$ and the useStructureSL is activated to protect your capital with intelligent stop placement.Stop reacting. Start predicting. Activate the POWER INDICATOR PRO PREMIUM V24 and lead the market today!
Titan VSA + SMC Prime (Professional Institutional System)Titan VSA + SMC Prime is a comprehensive, hybrid trading system designed to bridge the gap between Volume Spread Analysis (VSA) and Smart Money Concepts (SMC) By Sultan of Multan. This script is built for traders who want to identify institutional activity, spot liquidity traps, and trade in harmony with the "Smart Money."
Unlike standard indicators that repaint or lag, Titan Prime focuses on price action, structural shifts, and volume anomalies to generate high-probability setups.
🔥 Key Features
1. Smart Money Concepts (SMC) Suite
Market Structure: Automatically maps BOS (Break of Structure) and CHoCH (Change of Character) with real-time trend identification (Bullish/Bearish).
Institutional Zones: clearly plots Order Blocks (OB), Breaker Blocks (BB), Fair Value Gaps (FVG), and Supply/Demand Zones.
Mitigation Tracking: Zones are automatically marked as "Mitigated" or removed once price has tested them, keeping your chart clean.
Premium & Discount Zones: Automatically draws the Equilibrium (EQ) to help you sell in Premium and buy in Discount areas.
2. Advanced Liquidity & Traps
Liquidity Sweeps (⚔): Identifies when key Highs or Lows are swept to grab liquidity.
Inducement (IDM 🪤): Highlights short-term highs/lows that act as "traps" for retail traders before the real move occurs. This helps you avoid false breakouts.
3. Volume Spread Analysis (VSA) Engine
Volume Bar Coloring: Candles are color-coded based on volume intensity:
🟨 Yellow: Ultra High Volume (Institutional Activity).
⬜ Gray: Low Volume (Lack of interest).
VSA Signals: Automatically detects powerful VSA patterns including:
No Demand (ND) / No Supply (NS)
Stopping Volume & Climaxes (SC/BC)
UpThrusts (UT) & Springs
Effort to Rise / Fall
Absorption
4. The "Smart Entry" System
This is the core of the indicator. It does not spam signals. It waits for a specific institutional sequence:
Liquidity Sweep: Price grabs liquidity.
Displacement: Price reverses aggressively.
Retest: The system waits for a pullback to the Order Block or FVG.
Confirmation: Only then does it display a "RETEST COMPLETE ✅ - SMART ENTRY" label with suggested TP/SL levels.
5. Professional Dashboards
Trade Status Panel (Top-Right): Monitors active signals, Entry, Stop Loss, Take Profit, and VSA Trend Score.
SMC Status Panel (Bottom-Right): A live scanner showing the status of Supply/Demand, FVGs, Structure, and overall Market Bias at a glance.
How to Use
Identify Trend: Use the dashboard to check if the market structure is Bullish or Bearish.
Wait for Traps: Look for IDM or Liquidity Sweep (⚔) labels. Smart moves usually happen after these traps.
Entry Confirmation: Do not enter blindly. Wait for the "RETEST COMPLETE" label which confirms that price has respected a Smart Money Zone.
Confluence: The best trades occur when an SMC Zone aligns with a VSA Signal (e.g., A Buying Climax inside a Demand Zone).
Customization
Visual Control: Fully adjustable text sizes, colors, and box lengths to fit your charting style.
Zoom Stability: Labels and text are pinned to ensure they remain readable when zooming in or out.
Disclaimer
This tool is for educational and analytical purposes. Always manage your risk and do not rely solely on any single indicator for financial decisions.
FTL Context - Public TeaserFTL Context (Teaser) – Public
FTL Context (Teaser) is a visual market context layer designed to highlight periods of increased market risk and structural tension.
This script does NOT provide trading signals and is NOT intended for standalone trading decisions.
It serves as a contextual overlay only, helping traders visually identify when market conditions shift away from equilibrium.
The teaser version is intentionally limited and does not expose the underlying logic or decision framework.
Full functionality, advanced filters, and integrated decision logic are available in the invite-only FTL Context Layer (PRO).
Educational & informational use only.
Razzere Cloned! EzAlgo V.8.1showBuySell = input(true, "Show Buy & Sell", group="BUY & SELL SIGNALS")
hassasiyet = input.float(3, "Hassasiyet (1-6)", 0.1, 99999, group="BUY & SELL SIGNALS")
percentStop = input.float(1, "Stop Loss % (0 to Disable)", 0, group="BUY & SELL SIGNALS")
offsetSignal = input.float(5, "Signals Offset", 0, group="BUY & SELL SIGNALS")
showRibbon = input(true, "Show Trend Ribbon", group="TREND RIBBON")
smooth1 = input.int(5, "Smoothing 1", 1, group="TREND RIBBON")
smooth2 = input.int(8, "Smoothing 2", 1, group="TREND RIBBON")
showreversal = input(true, "Show Reversals", group="REVERSAL SIGNALS")
showPdHlc = input(false, "Show P.D H/L/C", group="PREVIOUS DAY HIGH LOW CLOSE")
lineColor = input.color(color.yellow, "Line Colors", group="PREVIOUS DAY HIGH LOW CLOSE")
lineWidth = input.int(1, "Width Lines", group="PREVIOUS DAY HIGH LOW CLOSE")
lineStyle = input.string("Solid", "Line Style", )
labelSize = input.string("normal", "Label Text Size", )
labelColor = input.color(color.yellow, "Label Text Colors")
showEmas = input(false, "Show EMAs", group="EMA")
srcEma1 = input(close, "Source EMA 1")
lenEma1 = input.int(7, "Length EMA 1", 1)
srcEma2 = input(close, "Source EMA 2")
lenEma2 = input.int(21, "Length EMA 2", 1)
srcEma3 = input(close, "Source EMA 3")
lenEma3 = input.int(144, "Length EMA 3", 1)
showSwing = input(false, "Show Swing Points", group="SWING POINTS")
prdSwing = input.int(10, "Swing Point Period", 2, group="SWING POINTS")
colorPos = input(color.new(color.green, 50), "Positive Swing Color")
colorNeg = input(color.new(color.red, 50), "Negative Swing Color")
showDashboard = input(true, "Show Dashboard", group="TREND DASHBOARD")
locationDashboard = input.string("Middle Right", "Table Location", , group="TREND DASHBOARD")
tableTextColor = input(color.white, "Table Text Color", group="TREND DASHBOARD")
tableBgColor = input(#2A2A2A, "Table Background Color", group="TREND DASHBOARD")
sizeDashboard = input.string("Normal", "Table Size", , group="TREND DASHBOARD")
showRevBands = input.bool(true, "Show Reversal Bands", group="REVERSAL BANDS")
lenRevBands = input.int(30, "Length", group="REVERSAL BANDS")
// Fonksiyonlar
smoothrng(x, t, m) =>
wper = t * 2 - 1
avrng = ta.ema(math.abs(x - x ), t)
smoothrng = ta.ema(avrng, wper) * m
rngfilt(x, r) =>
rngfilt = x
rngfilt := x > nz(rngfilt ) ? x - r < nz(rngfilt ) ? nz(rngfilt ) : x - r : x + r > nz(rngfilt ) ? nz(rngfilt ) : x + r
percWidth(len, perc) => (ta.highest(len) - ta.lowest(len)) * perc / 100
securityNoRep(sym, res, src) => request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on)
swingPoints(prd) =>
pivHi = ta.pivothigh(prd, prd)
pivLo = ta.pivotlow (prd, prd)
last_pivHi = ta.valuewhen(pivHi, pivHi, 1)
last_pivLo = ta.valuewhen(pivLo, pivLo, 1)
hh = pivHi and pivHi > last_pivHi ? pivHi : na
lh = pivHi and pivHi < last_pivHi ? pivHi : na
hl = pivLo and pivLo > last_pivLo ? pivLo : na
ll = pivLo and pivLo < last_pivLo ? pivLo : na
f_chartTfInMinutes() =>
float _resInMinutes = timeframe.multiplier * (
timeframe.isseconds ? 1 :
timeframe.isminutes ? 1. :
timeframe.isdaily ? 60. * 24 :
timeframe.isweekly ? 60. * 24 * 7 :
timeframe.ismonthly ? 60. * 24 * 30.4375 : na)
f_kc(src, len, hassasiyet) =>
basis = ta.sma(src, len)
span = ta.atr(len)
wavetrend(src, chlLen, avgLen) =>
esa = ta.ema(src, chlLen)
d = ta.ema(math.abs(src - esa), chlLen)
ci = (src - esa) / (0.015 * d)
wt1 = ta.ema(ci, avgLen)
wt2 = ta.sma(wt1, 3)
f_top_fractal(src) => src < src and src < src and src > src and src > src
f_bot_fractal(src) => src > src and src > src and src < src and src < src
f_fractalize (src) => f_top_fractal(src) ? 1 : f_bot_fractal(src) ? -1 : 0
f_findDivs(src, topLimit, botLimit) =>
fractalTop = f_fractalize(src) > 0 and src >= topLimit ? src : na
fractalBot = f_fractalize(src) < 0 and src <= botLimit ? src : na
highPrev = ta.valuewhen(fractalTop, src , 0)
highPrice = ta.valuewhen(fractalTop, high , 0)
lowPrev = ta.valuewhen(fractalBot, src , 0)
lowPrice = ta.valuewhen(fractalBot, low , 0)
bearSignal = fractalTop and high > highPrice and src < highPrev
bullSignal = fractalBot and low < lowPrice and src > lowPrev
// Bileşen...
source = close
smrng1 = smoothrng(source, 27, 1.5)
smrng2 = smoothrng(source, 55, hassasiyet)
smrng = (smrng1 + smrng2) / 2
filt = rngfilt(source, smrng)
up = 0.0, up := filt > filt ? nz(up ) + 1 : filt < filt ? 0 : nz(up )
dn = 0.0, dn := filt < filt ? nz(dn ) + 1 : filt > filt ? 0 : nz(dn )
bullCond = bool(na), bullCond := source > filt and source > source and up > 0 or source > filt and source < source and up > 0
bearCond = bool(na), bearCond := source < filt and source < source and dn > 0 or source < filt and source > source and dn > 0
lastCond = 0, lastCond := bullCond ? 1 : bearCond ? -1 : lastCond
bull = bullCond and lastCond == -1
bear = bearCond and lastCond == 1
countBull = ta.barssince(bull)
countBear = ta.barssince(bear)
trigger = nz(countBull, bar_index) < nz(countBear, bar_index) ? 1 : 0
ribbon1 = ta.sma(close, smooth1)
ribbon2 = ta.sma(close, smooth2)
rsi = ta.rsi(close, 21)
rsiOb = rsi > 70 and rsi > ta.ema(rsi, 10)
rsiOs = rsi < 30 and rsi < ta.ema(rsi, 10)
dHigh = securityNoRep(syminfo.tickerid, "D", high )
dLow = securityNoRep(syminfo.tickerid, "D", low )
dClose = securityNoRep(syminfo.tickerid, "D", close )
ema1 = ta.ema(srcEma1, lenEma1)
ema2 = ta.ema(srcEma2, lenEma2)
ema3 = ta.ema(srcEma3, lenEma3)
= swingPoints(prdSwing)
ema = ta.ema(close, 144)
emaBull = close > ema
equal_tf(res) => str.tonumber(res) == f_chartTfInMinutes() and not timeframe.isseconds
higher_tf(res) => str.tonumber(res) > f_chartTfInMinutes() or timeframe.isseconds
too_small_tf(res) => (timeframe.isweekly and res=="1") or (timeframe.ismonthly and str.tonumber(res) < 10)
securityNoRep1(sym, res, src) =>
bool bull_ = na
bull_ := equal_tf(res) ? src : bull_
bull_ := higher_tf(res) ? request.security(sym, res, src, barmerge.gaps_off, barmerge.lookahead_on) : bull_
bull_array = request.security_lower_tf(syminfo.tickerid, higher_tf(res) ? str.tostring(f_chartTfInMinutes()) + (timeframe.isseconds ? "S" : "") : too_small_tf(res) ? (timeframe.isweekly ? "3" : "10") : res, src)
if array.size(bull_array) > 1 and not equal_tf(res) and not higher_tf(res)
bull_ := array.pop(bull_array)
array.clear(bull_array)
bull_
TF1Bull = securityNoRep1(syminfo.tickerid, "1" , emaBull)
TF3Bull = securityNoRep1(syminfo.tickerid, "3" , emaBull)
TF5Bull = securityNoRep1(syminfo.tickerid, "5" , emaBull)
TF15Bull = securityNoRep1(syminfo.tickerid, "15" , emaBull)
TF30Bull = securityNoRep1(syminfo.tickerid, "30" , emaBull)
TF60Bull = securityNoRep1(syminfo.tickerid, "60" , emaBull)
TF120Bull = securityNoRep1(syminfo.tickerid, "120" , emaBull)
TF240Bull = securityNoRep1(syminfo.tickerid, "240" , emaBull)
TF480Bull = securityNoRep1(syminfo.tickerid, "480" , emaBull)
TFDBull = securityNoRep1(syminfo.tickerid, "1440", emaBull)
= f_kc(close, lenRevBands, 3)
= f_kc(close, lenRevBands, 4)
= f_kc(close, lenRevBands, 5)
= f_kc(close, lenRevBands, 6)
= wavetrend(hlc3, 9, 12)
= f_findDivs(wt2, 15, -40)
= f_findDivs(wt2, 45, -65)
wtDivBull = wtDivBull1 or wtDivBull2
wtDivBear = wtDivBear1 or wtDivBear2
// Renkler
cyan = #00DBFF, cyan30 = color.new(cyan, 70)
pink = #E91E63, pink30 = color.new(pink, 70)
red = #FF5252, red30 = color.new(red , 70)
// Plotlar
off = percWidth(300, offsetSignal)
plotshape(showBuySell and bull ? low - off : na, "Buy Label" , shape.labelup , location.absolute, cyan, 0, "Buy" , color.white, size=size.normal)
plotshape(showBuySell and bear ? high + off : na, "Sell Label", shape.labeldown, location.absolute, pink, 0, "Sell", color.white, size=size.normal)
plotshape(ta.crossover(wt1, wt2) and wt2 <= -53, "Mild Buy" , shape.xcross, location.belowbar, cyan, size=size.tiny)
plotshape(ta.crossunder(wt1, wt2) and wt2 >= 53, "Mild Sell", shape.xcross, location.abovebar, pink, size=size.tiny)
plotshape(wtDivBull, "Divergence Buy ", shape.triangleup , location.belowbar, cyan, size=size.tiny)
plotshape(wtDivBear, "Divergence Sell", shape.triangledown, location.abovebar, pink, size=size.tiny)
barcolor(up > dn ? cyan : pink)
plotshape(showreversal and rsiOs, "Reversal Buy" , shape.diamond, location.belowbar, cyan30, size=size.tiny)
plotshape(showreversal and rsiOb, "Reversal Sell", shape.diamond, location.abovebar, pink30, size=size.tiny)
lStyle = lineStyle == "Solid" ? line.style_solid : lineStyle == "Dotted" ? line.style_dotted : line.style_dashed
lSize = labelSize == "small" ? size.small : labelSize == "normal" ? size.normal : size.large
dHighLine = showPdHlc ? line.new(bar_index, dHigh, bar_index + 1, dHigh , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dHighLine )
dLowLine = showPdHlc ? line.new(bar_index, dLow , bar_index + 1, dLow , xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dLowLine )
dCloseLine = showPdHlc ? line.new(bar_index, dClose, bar_index + 1, dClose, xloc.bar_index, extend.both, lineColor, lStyle, lineWidth) : na, line.delete(dCloseLine )
dHighLabel = showPdHlc ? label.new(bar_index + 100, dHigh , "P.D.H", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dHighLabel )
dLowLabel = showPdHlc ? label.new(bar_index + 100, dLow , "P.D.L", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dLowLabel )
dCloseLabel = showPdHlc ? label.new(bar_index + 100, dClose, "P.D.C", xloc.bar_index, yloc.price, #000000, label.style_none, labelColor, lSize) : na, label.delete(dCloseLabel )
plot(showEmas ? ema1 : na, "EMA 1", color.green , 2)
plot(showEmas ? ema2 : na, "EMA 2", color.purple, 2)
plot(showEmas ? ema3 : na, "EMA 3", color.yellow, 2)
plotshape(showSwing ? hh : na, "", shape.triangledown, location.abovebar, color.new(color.green, 50), -prdSwing, "HH", colorPos, false)
plotshape(showSwing ? hl : na, "", shape.triangleup , location.belowbar, color.new(color.green, 50), -prdSwing, "HL", colorPos, false)
plotshape(showSwing ? lh : na, "", shape.triangledown, location.abovebar, color.new(color.red , 50), -prdSwing, "LH", colorNeg, false)
plotshape(showSwing ? ll : na, "", shape.triangleup , location.belowbar, color.new(color.red , 50), -prdSwing, "LL", colorNeg, false)
srcStop = close
atrBand = srcStop * (percentStop / 100)
atrStop = trigger ? srcStop - atrBand : srcStop + atrBand
lastTrade(src) => ta.valuewhen(bull or bear, src, 0)
entry_y = lastTrade(srcStop)
stop_y = lastTrade(atrStop)
tp1_y = (entry_y - lastTrade(atrStop)) * 1 + entry_y
tp2_y = (entry_y - lastTrade(atrStop)) * 2 + entry_y
tp3_y = (entry_y - lastTrade(atrStop)) * 3 + entry_y
labelTpSl(y, txt, color) =>
label labelTpSl = percentStop != 0 ? label.new(bar_index + 1, y, txt, xloc.bar_index, yloc.price, color, label.style_label_left, color.white, size.normal) : na
label.delete(labelTpSl )
labelTpSl(entry_y, "Entry: " + str.tostring(math.round_to_mintick(entry_y)), color.gray)
labelTpSl(stop_y , "Stop Loss: " + str.tostring(math.round_to_mintick(stop_y)), color.red)
labelTpSl(tp1_y, "Take Profit 1: " + str.tostring(math.round_to_mintick(tp1_y)), color.green)
labelTpSl(tp2_y, "Take Profit 2: " + str.tostring(math.round_to_mintick(tp2_y)), color.green)
labelTpSl(tp3_y, "Take Profit 3: " + str.tostring(math.round_to_mintick(tp3_y)), color.green)
lineTpSl(y, color) =>
line lineTpSl = percentStop != 0 ? line.new(bar_index - (trigger ? countBull : countBear) + 4, y, bar_index + 1, y, xloc.bar_index, extend.none, color, line.style_solid) : na
line.delete(lineTpSl )
lineTpSl(entry_y, color.gray)
lineTpSl(stop_y, color.red)
lineTpSl(tp1_y, color.green)
lineTpSl(tp2_y, color.green)
lineTpSl(tp3_y, color.green)
var dashboard_loc = locationDashboard == "Top Right" ? position.top_right : locationDashboard == "Middle Right" ? position.middle_right : locationDashboard == "Bottom Right" ? position.bottom_right : locationDashboard == "Top Center" ? position.top_center : locationDashboard == "Middle Center" ? position.middle_center : locationDashboard == "Bottom Center" ? position.bottom_center : locationDashboard == "Top Left" ? position.top_left : locationDashboard == "Middle Left" ? position.middle_left : position.bottom_left
var dashboard_size = sizeDashboard == "Large" ? size.large : sizeDashboard == "Normal" ? size.normal : sizeDashboard == "Small" ? size.small : size.tiny
var dashboard = showDashboard ? table.new(dashboard_loc, 2, 15, tableBgColor, #000000, 2, tableBgColor, 1) : na
dashboard_cell(column, row, txt, signal=false) => table.cell(dashboard, column, row, txt, 0, 0, signal ? #000000 : tableTextColor, text_size=dashboard_size)
dashboard_cell_bg(column, row, col) => table.cell_set_bgcolor(dashboard, column, row, col)
if barstate.islast and showDashboard
dashboard_cell(0, 0 , "EzAlgo")
dashboard_cell(0, 1 , "Current Position")
dashboard_cell(0, 2 , "Current Trend")
dashboard_cell(0, 3 , "Volume")
dashboard_cell(0, 4 , "Timeframe")
dashboard_cell(0, 5 , "1 min:")
dashboard_cell(0, 6 , "3 min:")
dashboard_cell(0, 7 , "5 min:")
dashboard_cell(0, 8 , "15 min:")
dashboard_cell(0, 9 , "30 min:")
dashboard_cell(0, 10, "1 H:")
dashboard_cell(0, 11, "2 H:")
dashboard_cell(0, 12, "4 H:")
dashboard_cell(0, 13, "8 H:")
dashboard_cell(0, 14, "Daily:")
dashboard_cell(1, 0 , "V.8.1")
dashboard_cell(1, 1 , trigger ? "Buy" : "Sell", true), dashboard_cell_bg(1, 1, trigger ? color.green : color.red)
dashboard_cell(1, 2 , emaBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 2, emaBull ? color.green : color.red)
dashboard_cell(1, 3 , str.tostring(volume))
dashboard_cell(1, 4 , "Trends")
dashboard_cell(1, 5 , TF1Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 5 , TF1Bull ? color.green : color.red)
dashboard_cell(1, 6 , TF3Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 6 , TF3Bull ? color.green : color.red)
dashboard_cell(1, 7 , TF5Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 7 , TF5Bull ? color.green : color.red)
dashboard_cell(1, 8 , TF15Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 8 , TF15Bull ? color.green : color.red)
dashboard_cell(1, 9 , TF30Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 9 , TF30Bull ? color.green : color.red)
dashboard_cell(1, 10, TF60Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 10, TF60Bull ? color.green : color.red)
dashboard_cell(1, 11, TF120Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 11, TF120Bull ? color.green : color.red)
dashboard_cell(1, 12, TF240Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 12, TF240Bull ? color.green : color.red)
dashboard_cell(1, 13, TF480Bull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 13, TF480Bull ? color.green : color.red)
dashboard_cell(1, 14, TFDBull ? "Bullish" : "Bearish", true), dashboard_cell_bg(1, 14, TFDBull ? color.green : color.red)
plot(showRevBands ? upperKC1 : na, "Rev.Zone Upper 1", red30)
plot(showRevBands ? upperKC2 : na, "Rev.Zone Upper 2", red30)
plot(showRevBands ? upperKC3 : na, "Rev.Zone Upper 3", red30)
plot(showRevBands ? upperKC4 : na, "Rev.Zone Upper 4", red30)
plot(showRevBands ? lowerKC4 : na, "Rev.Zone Lower 4", cyan30)
plot(showRevBands ? lowerKC3 : na, "Rev.Zone Lower 3", cyan30)
plot(showRevBands ? lowerKC2 : na, "Rev.Zone Lower 2", cyan30)
plot(showRevBands ? lowerKC1 : na, "Rev.Zone Lower 1", cyan30)
fill(plot(showRibbon ? ribbon1 : na, "", na, editable=false), plot(showRibbon ? ribbon2 : na, "", na, editable=false), ribbon1 > ribbon2 ? cyan30 : pink30, "Ribbon Fill Color")
// Alarmlar
alert01 = ta.crossover(ribbon1, ribbon2)
alert02 = bull
alert03 = wtDivBull
alert04 = wtDivBear
alert05 = bull or bear
alert06 = ta.crossover(wt1, wt2) and wt2 <= -53
alert07 = ta.crossunder(wt1, wt2) and wt2 >= 53
alert08 = ta.crossunder(ribbon1, ribbon2)
alert09 = rsiOb or rsiOs
alert10 = bear
alert11 = ta.cross(ribbon1, ribbon2)
alerts(sym) =>
if alert02 or alert03 or alert04 or alert06 or alert07 or alert10
alert_text = alert02 ? "Buy Signal EzAlgo" : alert03 ? "Strong Buy Signal EzAlgo" : alert04 ? "Strong Sell Signal EzAlgo" : alert06 ? "Mild Buy Signal EzAlgo" : alert07 ? "Mild Sell Signal EzAlgo" : "Sell Signal EzAlgo"
alert(alert_text, alert.freq_once_per_bar_close)
alerts(syminfo.tickerid)
alertcondition(alert01, "Blue Trend Ribbon Alert", "Blue Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert02, "Buy Signal", "Buy Signal EzAlgo")
alertcondition(alert03, "Divergence Buy Alert", "Strong Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert04, "Divergence Sell Alert", "Strong Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert05, "Either Buy or Sell Signal", "EzAlgo Signal")
alertcondition(alert06, "Mild Buy Alert", "Mild Buy Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert07, "Mild Sell Alert", "Mild Sell Signal EzAlgo, TimeFrame={{interval}}")
alertcondition(alert08, "Red Trend Ribbon Alert", "Red Trend Ribbon, TimeFrame={{interval}}")
alertcondition(alert09, "Reversal Signal", "Reversal Signal")
alertcondition(alert10, "Sell Signal", "Sell Signal EzAlgo")
alertcondition(alert11, "Trend Ribbon Color Change Alert", "Trend Ribbon Color Change, TimeFrame={{interval}}")
EMA Color Buy/Sell
indicator("EMA Color & Buy/Sell Signals", overlay=true, max_lines_count=500, max_labels_count=500)
EMA
emaShortLen = input.int(9, "Kısa EMA")
emaLongLen = input.int(21, "Uzun EMA")
EMA
emaShort = ta.ema(close, emaShortLen)
emaLong = ta.ema(close, emaLongLen)
EMA renkleri (trend yönüne göre)
emaShortColor = emaShort > emaShort ? color.green : color.red
emaLongColor = emaLong > emaLong ? color.green : color.red
EMA
plot(emaShort, color=emaShortColor, linewidth=3, title="EMA Short")
plot(emaLong, color=emaLongColor, linewidth=3, title="EMA Long")
buySignal = ta.crossover(emaShort, emaLong)
sellSignal = ta.crossunder(emaShort, emaLong)
plotshape(buySignal, title="Buy", location=location.belowbar, color=color.lime, style=shape.triangleup, size=size.large)
plotshape(sellSignal, title="Sell", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.large)
barcolor(close > open ? color.new(color.green, 0) : color.new(color.red, 0))
var line buyLine = na
var line sellLine = na
if buySignal
buyLine := line.new(bar_index, low, bar_index, high, color=color.lime, width=2)
if sellSignal
sellLine := line.new(bar_index, high, bar_index, low, color=color.red, width=2)
Heikin-Ashi Bar & Line with Signals//@version=6
indicator("Heikin-Ashi Bar & Line with Signals", overlay=true)
// Heikin-Ashi hesaplamaları
var float haOpen = na // İlk değer için var kullanıyoruz
haClose = (open + high + low + close) / 4
haOpen := na(haOpen) ? (open + close)/2 : (haOpen + haClose )/2
haHigh = math.max(high, haOpen, haClose)
haLow = math.min(low, haOpen, haClose)
// Renkler
haBull = haClose >= haOpen
haColor = haBull ? color.new(color.green, 0) : color.new(color.red, 0)
// HA Barları
plotcandle(haOpen, haHigh, haLow, haClose, color=haColor, wickcolor=haColor)
// HA Line
plot(haClose, title="HA Close Line", color=color.yellow, linewidth=2)
// Trend arka planı
bgcolor(haBull ? color.new(color.green, 85) : color.new(color.red, 85))
// Al/Sat sinyalleri
longSignal = haBull and haClose > haOpen and haClose < haOpen
shortSignal = not haBull and haClose < haOpen and haClose > haOpen
plotshape(longSignal, title="Al Sinyali", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(shortSignal, title="Sat Sinyali", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
ZLSMA//@version=5
indicator("T3 Al-Sat Sinyalli", overlay=true, shorttitle="T3 Signal")
// Kullanıcı ayarları
length = input.int(14, minval=1, title="Periyot")
vFactor = input.float(0.7, minval=0.0, maxval=1.0, title="Volatility Factor (0-1)")
// EMA hesaplamaları
ema1 = ta.ema(close, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
// T3 hesaplaması
c1 = -vFactor * vFactor * vFactor
c2 = 3 * vFactor * vFactor + 3 * vFactor * vFactor * vFactor
c3 = -6 * vFactor * vFactor - 3 * vFactor - 3 * vFactor * vFactor * vFactor
c4 = 1 + 3 * vFactor + vFactor * vFactor * vFactor + 3 * vFactor * vFactor
t3 = c1 * ema3 + c2 * ema2 + c3 * ema1 + c4 * close
// T3 çizimi
plot(t3, color=color.new(color.blue, 0), linewidth=2, title="T3")
// Mum renkleri
barcolor(close > t3 ? color.new(color.green, 0) : color.new(color.red, 0))
// Al-Sat sinyalleri
buySignal = ta.crossover(close, t3)
sellSignal = ta.crossunder(close, t3)
// Okları çiz
plotshape(buySignal, title="Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
EMA Color Cross + Trend Arrows//@version=5
indicator("T3 Al-Sat Sinyalli", overlay=true, shorttitle="T3 Signal")
// Kullanıcı ayarları
length = input.int(14, minval=1, title="Periyot")
vFactor = input.float(0.7, minval=0.0, maxval=1.0, title="Volatility Factor (0-1)")
// EMA hesaplamaları
ema1 = ta.ema(close, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
// T3 hesaplaması
c1 = -vFactor * vFactor * vFactor
c2 = 3 * vFactor * vFactor + 3 * vFactor * vFactor * vFactor
c3 = -6 * vFactor * vFactor - 3 * vFactor - 3 * vFactor * vFactor * vFactor
c4 = 1 + 3 * vFactor + vFactor * vFactor * vFactor + 3 * vFactor * vFactor
t3 = c1 * ema3 + c2 * ema2 + c3 * ema1 + c4 * close
// T3 çizimi
plot(t3, color=color.new(color.blue, 0), linewidth=2, title="T3")
// Mum renkleri
barcolor(close > t3 ? color.new(color.green, 0) : color.new(color.red, 0))
// Al-Sat sinyalleri
buySignal = ta.crossover(close, t3)
sellSignal = ta.crossunder(close, t3)
// Okları çiz
plotshape(buySignal, title="Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
T3 Al-Sat Sinyalli//@version=5
indicator("T3 Al-Sat Sinyalli", overlay=true, shorttitle="T3 Signal")
// Kullanıcı ayarları
length = input.int(14, minval=1, title="Periyot")
vFactor = input.float(0.7, minval=0.0, maxval=1.0, title="Volatility Factor (0-1)")
// EMA hesaplamaları
ema1 = ta.ema(close, length)
ema2 = ta.ema(ema1, length)
ema3 = ta.ema(ema2, length)
// T3 hesaplaması
c1 = -vFactor * vFactor * vFactor
c2 = 3 * vFactor * vFactor + 3 * vFactor * vFactor * vFactor
c3 = -6 * vFactor * vFactor - 3 * vFactor - 3 * vFactor * vFactor * vFactor
c4 = 1 + 3 * vFactor + vFactor * vFactor * vFactor + 3 * vFactor * vFactor
t3 = c1 * ema3 + c2 * ema2 + c3 * ema1 + c4 * close
// T3 çizimi
plot(t3, color=color.new(color.blue, 0), linewidth=2, title="T3")
// Mum renkleri
barcolor(close > t3 ? color.new(color.green, 0) : color.new(color.red, 0))
// Al-Sat sinyalleri
buySignal = ta.crossover(close, t3)
sellSignal = ta.crossunder(close, t3)
// Okları çiz
plotshape(buySignal, title="Al", location=location.belowbar, color=color.green, style=shape.triangleup, size=size.small)
plotshape(sellSignal, title="Sat", location=location.abovebar, color=color.red, style=shape.triangledown, size=size.small)
C2 Closure Alert From Key Level (FVG & Swings)This indicator is designed based on the C2 Closure Trader, specifically focusing on identifying high-probability C2 Candle Closures and Key Level Sweeps. It automates the detection of "Candle 2" setups where price sweeps a key level (Swing High/Low or FVG) and closes back inside, signaling a potential reversal or continuation.
Key Features :
Advanced C2 Detection:
Detects when the current candle (C2) sweeps the previous candle (C1).
Deep Context Check: It validates the setup by checking if C1 was interacting with a Key Level (Swing High/Low or FVG) OR if C1 just created a Fresh FVG.
Logic: Ensures no valid setup is missed, even if the sweep happens instantly after FVG creation.
Straight Sweep Lines (Visuals):
Draws a clean, straight horizontal line from the C1 High/Low to the C2 candle.
Helps you visualize exactly which level was swept.
Customization: You can change the line color and width from settings.
Smart FVG & Swing Levels:
Automatically plots Active Bullish/Bearish FVGs and Swing Highs/Lows.
Mitigation Logic: Levels remain active until a valid signal is generated or price invalidates them. Once used, they turn gray (mitigated) to keep the chart clean.
Mechanical Settings Menu:
Fully customizable inputs organized into clean groups (Algorithm, Signal, Visuals, Limits).
Label Size Control: Adjust the signal label size (Tiny to Huge) to fit your screen.
Transparent Labels: Clean "C2" text without background boxes for a professional look.
Robust Alert System:
Three specific alert options added for automation:
Bullish C2 Closure: Fires only on valid Long setups.
Bearish C2 Closure: Fires only on valid Short setups.
Any C2 Close: Fires on any valid setup.
Note: Alerts are strictly set to trigger Once Per Bar Close to avoid false signals during running candles.
How to Use:
Add to Chart: Apply the indicator to your timeframe (Recommended: 15m, 1H, 4H for narrative).
Identify Signals: Look for the "C2" text label.
Green C2: Bullish Setup (Sweep of Low + Close Up).
Red C2: Bearish Setup (Sweep of High + Close Down).
Validation: The indicator automatically checks if the sweep occurred at a valid Swing Point or FVG. If you see the signal, the context is valid.
Entry: Use the close of the C2 candle as your confirmation to frame a trade or look for lower timeframe entries.
Settings Guide:
Algorithm Sensitivity: Adjust Pivot Left/Right Bars to define how strict the Swing Highs/Lows should be.
Signal Appearance: Change the text (e.g., "Entry") or adjust the Label Size.
Active/History Limits: Control how many active or old (mitigated) lines/boxes stay on the chart to manage clutter.
Visuals: Customize colors for Bull/Bear FVGs, Highs/Lows, and Sweep Lines to match your chart theme.
Disclaimer: This tool is for educational and analytical purposes only. Always manage your risk properly.
EMA COLOR BUY SELL
indicator("Sorunsuz EMA Renk + AL/SAT", overlay=true)
length = input.int(20, "EMA Periyodu")
src = input.source(close, "Kaynak")
emaVal = ta.ema(src, length)
isUp = emaVal > emaVal
emaCol = isUp ? color.green : color.red
plot(emaVal, "EMA", color=emaCol, linewidth=2)
buy = isUp and not isUp // kırmızı → yeşil
sell = not isUp and isUp // yeşil → kırmızı
plotshape(buy, style=shape.arrowup, location=location.belowbar, color=color.green, size=size.large, text="AL")
plotshape(sell, style=shape.arrowdown, location=location.abovebar, color=color.red, size=size.large, text="SAT")
alertcondition(buy, "EMA AL", "EMA yukarı döndü")
alertcondition(sell, "EMA SAT", "EMA aşağı döndü")
Renkli EMA BAR//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Cross Color Buy/Sell//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)
EMA Color Cross + Trend Arrows V6//@version=5
indicator("EMA Color Cross + Trend Arrows V6", overlay=true, max_bars_back=500)
// === Inputs ===
fastLen = input.int(9, "Hızlı EMA")
slowLen = input.int(21, "Yavaş EMA")
// === EMA Hesapları ===
emaFast = ta.ema(close, fastLen)
emaSlow = ta.ema(close, slowLen)
// Trend Yönü
trendUp = emaFast > emaSlow
trendDown = emaFast < emaSlow
// === Çizgi Renkleri ===
lineColor = trendUp ? color.new(color.green, 0) : color.new(color.red, 0)
// === EMA Çizgileri (agresif kalın) ===
plot(emaFast, "Hızlı EMA", lineColor, 4)
plot(emaSlow, "Yavaş EMA", color.new(color.gray, 70), 2)
// === Ok Sinyalleri ===
buySignal = ta.crossover(emaFast, emaSlow)
sellSignal = ta.crossunder(emaFast, emaSlow)
// Büyük Oklar
plotshape(buySignal, title="AL", style=shape.triangleup, color=color.green, size=size.large, location=location.belowbar)
plotshape(sellSignal, title="SAT", style=shape.triangledown, color=color.red, size=size.large, location=location.abovebar)
// === Trend Bar Color ===
barcolor(trendUp ? color.green : color.red)






















