VX-Time Quadrant Overlay (Quarterly Cycles) by Ikaru-s-The Time Quadrant Overlay is a purely time-based visualization tool designed to structure market time into repeating quarterly cycles across multiple timeframes.
It does not generate trade signals, entries, or bias.
Its sole purpose is to provide time context, so price action can be interpreted within a clear cyclical framework.
What this indicator does
The indicator divides time into four repeating quarters (Q1–Q4) and displays them simultaneously across different time horizons, such as:
Weekly
Daily (6-hour quarters)
90-minute cycles
Micro cycles (within 90-minute structure)
Each row represents a different time cycle, allowing traders to see time alignment, transitions, and overlaps at a glance.
Quarter Structure
Each cycle follows the same repeating sequence:
Q1 – Early phase
Q2 – Expansion / “True Open” phase
Q3 – Continuation
Q4 – Late phase / Transition
The quarters are visualized using color-coded boxes, making it easy to see:
where the market currently is in time
when a new quarter begins
when multiple cycles align or diverge
Quarter Start Marker
An optional Quarter Start Marker (vertical dashed line) can be enabled to highlight the start of a selected quarter (default: Q2).
This is intended as a time reference, not a signal:
useful for planning
useful for contextualizing reactions to levels
useful for session and cycle awareness
How to use it (practical)
This tool is best used to:
provide time structure to existing analysis
plan around upcoming time transitions
contextualize reactions to levels or areas
understand where price is acting within a cycle
It works well alongside:
discretionary price action
session-based trading
futures and index markets
any methodology that respects time as a variable
Customization
The indicator is fully customizable:
Enable / disable individual cycles
Adjust box transparency and history depth
Toggle labels and pane labels
Enable / disable quarter start markers
Select which quarter to highlight
This allows the tool to remain clean on higher timeframes and detailed on lower ones.
Important Notes
This is a visual framework, not a strategy.
No claims of predictive power are made.
Time structure does not replace risk management or execution logic.
The indicator is designed to adapt across markets, but interpretation remains discretionary.
Final Thoughts
Time is often treated as secondary to price.
This tool exists to make time visible, structured, and easy to work with — nothing more, nothing less.
Trendanalyse
X-trend Volume Anomaly 📊 X-TREND Volume Anomaly: Advanced VSA Analysis
Effective market analysis requires understanding the relationship between Price Action and Volume. X-Trend Volume Anomaly is a technical instrument that simplifies Volume Spread Analysis (VSA) into a clear, visual system. It allows traders to instantly decode the footprint of "Smart Money" by analyzing the correlation between Relative Volume (RVOL) and Candle Range.
The algorithm automatically classifies market behavior into three distinct states:
1. 🟢🔴 Impulse (Trend Validation)
Logic: High Relative Volume + High Price Range.
Interpretation: Represents genuine market intent. Institutional aggregators are aggressively pushing price. This confirms the validity of a breakout or trend continuation.
2. 🟠 Absorption / Churn (Reversal Warning)
Logic: Ultra-High Relative Volume + Low Price Range (Doji, Pin-bar).
Interpretation: The critical signal. This indicates a major divergence between Effort (Volume) and Result (Price Movement). Large players are absorbing liquidity via limit orders, halting the trend. This is often a precursor to an immediate reversal. (See the Orange candle in the chart examples).
3. 👻 Ghost Mode (Noise Reduction)
Logic: Candles with low/insignificant volume are rendered in a transparent gray scale.
Utility: Eliminates visual noise, allowing the trader to focus exclusively on significant liquidity events and institutional activity.
⚙️ SYSTEM SYNERGY
While this indicator provides robust standalone volume analysis, it is engineered to function as the Volume Confirmation Layer within the X-Trend Ecosystem. For a complete institutional trading setup, we recommend pairing this tool with:
X-Trend Reversal (PRO): For precise, non-repainting entry signals.
X-Trend Liquidation Heatmap: For identifying high-probability price targets.
Renko Average Bricks This indicator calculates the average RENKO brick streaks. Streaks=consecutive bricks of the same color. EX. G= 1 streak of 1. GGG = 1 streak of 3. RR 1 streak of 2. Single bricks count. There is the option for look back period which can be changed but Defaults to 50. Calculates the last 50 completed green streaks and then averages them. Same with red streaks. Only closed bricks count.
Very Simple and can be used for targets, ect.
Cheers
FreeSisters - System v1.8System v1.8
Marks out high time frame levels.
Market Structure defined by quarters theory, based on the lowest price within a 12 month period.
HMM Trend Exhaust Detector (Partial TP Areas)🔹 HMM Trend Exhaust Detector (Partial TP Areas)
HMM Trend Exhaust Detector is a professional risk-management and partial profit awareness tool, designed to highlight moments when price becomes over-extended within a strong trend.
This indicator is not an entry system and not a reversal predictor.
It is built to help traders protect profits, manage open positions, and avoid chasing price when the market is already stretched.
🧠 How it works (Simple Explanation)
When price moves aggressively away from its trend structure:
The candle color changes in real time, warning that price is entering a potential exhaustion zone.
A dotted guide level appears at the exact threshold price, showing where profit pressure begins.
After the candle closes, Partial TP Areas are marked on the chart to provide structure and context.
This two-step approach ensures:
Live awareness during the candle
Confirmed visual zones after close
🎯 What this indicator is best used for
✔ Partial profit booking
✔ Risk reduction during strong trends
✔ Avoiding late entries into extended moves
✔ Trade management & discipline
⚙️ Sensitivity Modes
The indicator includes a single Sensitivity setting to adapt to different trading styles:
Relaxed → Earlier warnings, more frequent partial TP zones
Strict → Balanced, institutional default
Very Strict → Only major, extreme exhaustion moves
(All internal calculations are handled automatically.)
📌 Important Notes
This indicator does not generate buy or sell signals.
Rectangle height is just based on candle heights at that time (Not strength based)
Partial TP Areas are confirmed after candle close by design.
Live candle highlighting and guide levels provide real-time awareness, not prediction.
Best used alongside your existing strategy or entries.
🧩 Recommended Use
Scalping / Fast markets → Relaxed
Intraday trading → Strict
Swing / News / Higher timeframes → Very Strict
🚀 About HMM
House of Market Minds -(HMM) indicators focus on clarity, discipline, and decision support — not hype or unrealistic promises.
This is the first public release in the HMM series, built with a long-term professional vision.
Tailwind(XMR)Tailwind is a staggered level breakout strategy (Grid Breakout), apparently designed to trade Monero (XMR), although the logic can be applied to any asset.
In this case, traditional indicators are not used. Instead, the price is divided into a grid based on a step size (step_size), which defaults to 27 points.
The strategy looks for the exact moment when the price "breaks out" or crosses upward one of these invisible steps (since there is an upward bias). It buys if the current candle closed above the step, but the previous candle closed below that same level. In other words, it detects when the price crosses a grid line.
Once it enters a trade (buy), it sets fixed and symmetric targets based on the step size.
• Entry: The price of the base level (the multiple of 27) is assumed.
• Take Profit: entry_level + step_size. It aims to gain exactly one step upward.
• Stop Loss: entry_level - step_size. It cuts losses if the price falls exactly one step downward.
The code includes advanced visual logic (line.new and line.set_x2):
• When a trade is opened, it draws a dashed green line on the chart indicating where your Take Profit is.
• It draws a dashed red line indicating your Stop Loss.
• These lines extend to the right as long as the trade remains open.
Capital Configuration
• Initial Capital: 20,000 USDT (or the base currency).
• Position Size: Risks 10% of your total capital on each trade.
• Commission: Simulates a 0.1% cost per trade.
The system operates on timeframes of 5 minutes, 15 minutes, 30 minutes, 45 minutes, 4 hours...
RSI WMA Crossover Momentum w/ HighlightRSI WMA Crossover Momentum
This is a momentum indicator that tracks the RSI. Its principle is to use the WMA line to determine the trend of the RSI, and from the RSI, the price trend can be determined.
UNDETECTED FX - 250 Pip LevelsIndicator Description – UNDETECTED FX: 250-Pip Psychological Levels
This indicator automatically plots major 250-pip psychological levels on XAUUSD and highlights the price zones around them. These levels act as strong reaction points where liquidity, reversals, and institutional activity commonly occur.
What the Indicator Does
✔ Plots every 250-pip level starting from a user-defined base (e.g., 4050 → 4075 → 4100 → 4125 → …)
✔ Each level is represented by a thick black horizontal line for maximum visual clarity
✔ Around every 250-pip level, the indicator draws a liquidity zone
Top of zone: +200 pips
Bottom of zone: –200 pips
(configured as ± zoneHalf in settings)
✔ Uses extend: both, so levels stretch across the entire chart and stay fixed, no matter how far you scroll
✔ Zones are filled with a customizable color for clear premium/discount visualization
✔ The indicator never repaints and requires no updates after drawing — all levels are fixed on their price coordinates
Why It’s Useful
🔹 Helps quickly identify institutional levels where gold often reacts
🔹 Acts as a framework for scalping, intraday trading, and swing bias
🔹 Makes it easy to spot liquidity sweeps, rejections, and premium/discount areas
🔹 Clearly shows market structure breaks around key psychological levels
🔹 Forces discipline by creating predefined, fixed levels for trading decisions
Best Use Case
XAUUSD scalpers
Intraday traders who rely on precision entries
Traders who use psychological levels, liquidity grabs, or smart-money concepts
Anyone wanting a clean, non-cluttered chart with high-impact levels only
Reversal Strength with Momentum Ratings on 4hr charts Here's a quick breakdown of what you'll see on your chart and how to actually use the indicator!
Reversal Labels:
↑ = Bullish reversal (price reversing upward)
↓ = Bearish reversal (price reversing downward)
STRONG (bright green/red) = High-confidence reversal (score > 65)
weak (faded green/red) = Low-confidence reversal (score ≤ 65)
Number on label = Reversal strength score (0-100)
Momentum Table (Top Right):
Overall Score (0-100) = Total momentum strength
Green (80+) = Very strong momentum
Yellow (40-60) = Moderate momentum
Orange/Red (<40) = Weak/stalling momentum
Individual Momentum Scores (each worth 0-20 points):
Volume = How much trading activity vs average
Price ROC = How fast price is moving (rate of change)
MA Spacing = How spread out the moving averages are (trend strength)
ADX = Directional movement indicator (trend conviction)
RSI Mom. = How far RSI is from neutral 50 (momentum extreme)
Status Indicators:
🔥 STRONG = Momentum > 70 (strong move happening)
📈 BUILDING = Momentum 50-70 (gaining strength)
⚠️ WEAK = Momentum 30-50 (losing steam)
💤 STALLING = Momentum < 30 (very weak/choppy)
Background Tint:
Light green background = Strong momentum (>70)
Light red background = Very weak momentum (<30)
The key is: look for STRONG reversal labels when momentum is building/strong for the best trade setups! Also this is mainly for the 4hr time frame.
strongResistanceActually it is education purpose. This indicator is designed to help traders clearly identify strong Support & Resistance (SNR) levels along with high-probability Buy & Sell..
The indicator works smoothly on lower timeframes for binary trading.
ETIQUETAS DE ANCLAJE.INTERVALO 9:00 AM/4.15PMThis indicator displays labels on the candlestick that range from 9:00 am to 4:15 pm, with 5-minute intervals, indicating the 5M periods on the chart.
RMA Trend
indicator("RMA Trend İndikatörü", overlay=true, timeframe="", timeframe_gaps=true)
length = input.int(14, "RMA Periyodu", minval=1)
src = input(close, "Kapanış Kaynağı")
rma_val = ta.rma(src, length)
rma_color = rma_val > rma_val ? color.new(color.lime, 0) : color.new(color.red, 0)
plot(rma_val, title="RMA", color=rma_color, linewidth=3
longSignal = ta.crossover(src, rma_val)
shortSignal = ta.crossunder(src, rma_val)
plotshape(longSignal, title="AL Sinyali", style=shape.triangleup, location=location.belowbar, color=color.new(color.lime, 0), size=size.large, text="AL")
plotshape(shortSignal, title="SAT Sinyali", style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.large, text="SAT")
bgcolor(rma_val > rma_val ? color.new(color.lime, 90) : color.new(color.red, 90))
Dynamic Pivot Point [MarkitTick]Title: Dynamic Pivot Point MarkitTick
Concept
Unlike traditional Pivot Points, which plot static horizontal levels based on the previous period's High, Low, and Close, this script introduces a dynamic element by applying an Exponential Moving Average (EMA) to the calculated pivot levels. This approach allows the Support and Resistance zones to adapt more fluidly to recent price action, reducing the jagged steps often seen in standard multi-timeframe pivot indicators.
How It Works
The script operates in two distinct phases of calculation:
1. Data Extraction and Core Math:
The indicator first requests the High, Low, and Close data from a user-defined timeframe (e.g., Daily, Weekly). Using this data, it calculates the standard Pivot Point (P) alongside three levels of Support (S1, S2, S3) and three levels of Resistance (R1, R2, R3) using standard geometric formulas:
Pivot = (High + Low + Close) / 3
R1 = 2 * Pivot - Low
S1 = 2 * Pivot - High
(Subsequent levels follow standard Floor Pivot logic).
2. Dynamic Smoothing:
Instead of plotting these raw values directly, the script processes each calculated level (P, S1-S3, R1-R3) through an Exponential Moving Average (EMA). The length of this EMA is controlled by the Pivot Length input. This smoothing process filters out minor volatility and creates curved, dynamic trajectories for the pivot levels rather than static straight lines.
How to Use
Traders can use this tool to identify dynamic areas of interest where price may react.
The White Line represents the Central Pivot. Price action relative to this line helps determine the immediate bias (above for bullish, below for bearish).
Green Lines (Support 1, 2, 3) indicate potential demand zones where price may bounce during a downtrend.
Red Lines (Resistance 1, 2, 3) indicate potential supply zones where price may reject during an uptrend.
Because the levels are smoothed, they can also act as dynamic trend followers, similar to moving averages, but derived from pivot geometry.
Settings
Show Pivot Points: Toggles the visibility of the plot lines on the chart.
Pivot Length: Defines the lookback period for the EMA smoothing applied to the pivot levels. A higher number results in smoother, slower-reacting lines.
Timeframe: Determines the timeframe used for the underlying High/Low/Close data (e.g., selecting "D" calculates pivots based on Daily data while viewing a lower timeframe chart).
Disclaimer This tool is for educational and technical analysis purposes only. Breakouts can fail (fake-outs), and past geometric patterns do not guarantee future price action. Always manage risk and use this tool in conjunction with other forms of analysis.
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)
Prev TF CLOSE EMA Box (Resets Every TF)⚙️ Key Features
✅ Custom reset timeframe (independent of chart TF)
✅ Uses previous CLOSED EMA (no lookahead)
✅ Box instead of line (clearer structure)
✅ Optional “disrespected → gray” logic
✅ Wick-based or close-based validation
✅ Works on futures, crypto, forex, equities
📈 How to Use
Treat the box as a dynamic support / resistance zone
Best used for:
Trend continuation
Mean reversion
Bias filtering (above = bullish, below = bearish)
When the box turns gray, the EMA level has lost structural validity
❗ Important Notes
This is not a signal indicator
No entries or exits are generated
Designed for context, bias, and structure
Combine with price action, liquidity, or session logic
🧩 Inputs Explained
Reset / EMA TF → timeframe used for EMA calculation & box reset
EMA Length → standard EMA length (default 9)
Box Height → thickness of the EMA zone
Disrespect Logic → optional invalidation behavior
Round Strike Price, Levels Options Series➤ Strike Price Range Mode:
➤ Exact Strike Price Mode:
⭐ Overview and How It Works
Round Strike Price or Levels is a precision-focused visual tool designed for options and index traders.
It dynamically plots round strike levels around the current price and presents them either as:
⠀ — Exact strike prices, or
⠀ — Strike price ranges, where each zone represents the midpoint between two adjacent strikes.
The indicator continuously recalculates the base strike using the current price and aligns all surrounding levels using a fixed step size.
All lines and labels are updated only on the last bar for optimal performance and stability.
This makes StrikePrice ideal for:
🔹 Identifying key option strikes.
🔹 Visualizing price acceptance zones.
🔹 Understanding strike-to-strike movement during intraday trading.
⭐ Key Features and Functionality
Strike Price Range:
⠀ — Treats each pair of strike lines as a price zone.
⠀ — Labels are plotted at the midpoint between two lines.
⠀ — Last label is intentionally hidden (no upper range exists)
Exact Strike Price:
⠀ — Labels are plotted directly on each strike line.
⠀ — Useful for precise strike-based analysis.
Dynamic Base Calculation:
⠀ — Automatically snaps price to the nearest round strike.
⠀ — Re-centers the entire grid as price moves.
⠀ — No manual adjustment required.
Efficient Object Management:
⠀ — Uses persistent arrays for lines and labels.
⠀ — Objects are reused instead of recreated.
⠀ — Prevents flickering and avoids TradingView object limits.
🎨 Visualizations and User Experience
Clean horizontal strike grid with configurable:
⠀ — Line width, Line color, Line style (Solid / Dashed / Dotted), Extension direction (Left / Right / Both / None).
Labels are:
⠀ — Positioned to the right of price, Size-adjustable, Fully customizable in text color and background color.
Designed to stay visually clear even on:
⠀ — Fast-moving intraday charts, Options-focused layouts, Multi-indicator setups.
Tip: Increase Right Bars Margin in chart settings to give labels proper spacing.
⭐ Settings and Customization
🔹 Strike Settings:
⠀ — Step (points): Distance between adjacent strike levels (e.g., 50, 100)
⠀ — Levels per side: Number of strike levels plotted above and below the base.
⠀ — Strike Mode: Strike Price Range, Exact Strike Price.
🔹 Line Settings:
⠀ — Line width, Line color, Line style (Solid / Dashed / Dotted), Line extension direction.
🔹 Label Settings:
⠀ — Show / hide labels, Label distance (bars to the right), Label size, Label text color, Label background color.
All label properties are updated dynamically, allowing real-time UI tuning without reloading the script.
⭐ Uniqueness of the Concept:
Unlike generic round-number indicators, StrikePrice:
⠀ — Understands option-style strike structure.
⠀ — Separates range-based thinking from exact price levels.
⠀ — Uses midpoint logic to visualize strike-to-strike movement.
⠀ — Maintains strict performance discipline by updating only when necessary.
This makes it especially useful for:
⠀ • NIFTY / BANKNIFTY options.
⠀ • Index and futures traders.
⠀ • Intraday strike rotation analysis.
⠀ • Premium decay and range-bound setups.
🚀 Conclusion:
StrikePrice is a focused, professional-grade indicator for traders who think in strikes, ranges, and levels rather than arbitrary prices.
It offers:
⠀ • Clear structure
⠀ • Accurate strike alignment
⠀ • Clean visuals
⠀ • Zero repainting logic
EMA Cross BUY SELL
ema1Length = input.int(10, "EMA1 Periyodu")
ema2Length = input.int(20, "EMA2 Periyodu")
emaLineWidth = input.int(3, "EMA Çizgi Kalınlığı", minval=1, maxval=10)
bgTransparency = input.int(85, "Arka Plan Saydamlığı", minval=0, maxval=100)
ema1 = ta.ema(close, ema1Length)
ema2 = ta.ema(close, ema2Length)
longSignal = ta.crossover(ema1, ema2)
shortSignal = ta.crossunder(ema1, ema2)
var int trend = 0
trend := longSignal ? 1 : shortSignal ? -1 : trend
barcolor(trend == 1 ? color.green : trend == -1 ? color.red : na)
bgcolor(trend == 1 ? color.new(color.green, bgTransparency) : trend == -1 ? color.new(color.red, bgTransparency) : na)
plot(ema1, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA1")
plot(ema2, color=trend == 1 ? color.green : trend == -1 ? color.red : color.gray, linewidth=emaLineWidth, title="EMA2")
plotshape(longSignal, title="Al Ok", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Sat Ok", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
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)
Parabolic SAR (PSAR) - Basit//@version=5
indicator("Parabolic SAR (PSAR) - Basit", overlay=true)
start = input.float(0.02, "Start (Step)", step=0.01)
increment = input.float(0.02, "Increment", step=0.01)
maximum = input.float(0.2, "Maximum", step=0.01)
showDots = input.bool(true, "Dotları Göster")
showLine = input.bool(false, "PSAR Çizgisi Göster")
bgTrend = input.bool(true, "Arka planı trende göre renklendir")
psar = ta.sar(start, increment, maxim
bull = close > psar
bear = close < psar
psarColor = bull ? color.green : color.
plot(showLine ? psar : na, title="PSAR Line", color=psarColor, linewi
plotshape(showDots and bull, title="PSAR Bull Dot", location=location.belowbar, style=shape.circle, size=size.tiny, color=color.green)
plotshape(showDots and bear, title="PSAR Bear Dot", location=location.abovebar, style=shape.circle, size=size.tiny, color=color.red)
bgcolor(bgTrend ? (bull ? color.new(color.green, 90) : color.new(color.red, 90)) : n
buySignal = ta.crossover(close, psar)
sellSignal = ta.crossunder(close, psa
plotshape(buySignal, title="AL Sinyali", location=location.belowbar, style=shape.triangleup, size=size.small, color=color.green)
plotshape(sellSignal, title="SAT Sinyali", location=location.abovebar, style=shape.triangledown, size=size.small, color=color.red)
alertcondition(buySignal, title="AL (PSAR flip)", message="PSAR flip: AL sinyali")
alertcondition(sellSignal, title="SAT (PSAR flip)", message="PSAR flip: SAT sinyali")
Tailwind.(BTC)Imagine the price of Bitcoin is like a person climbing a staircase.
The Steps (Grid): Instead of watching every single price movement, the strategy divides the market into fixed steps. In your configuration, each step measures **3,000 points**. (Examples: 60,000, 63,000, 66,000...).
The Signal: We buy only when the price climbs a full step decisively.
The "Expensive Price" Filter: If the price jumps the step but lands too far away (the candle closes too high), we do not buy. It is like trying to board a train that has already started moving too fast; the risk is too high.
Rigid Exits: The Take Profit (TP) and Stop Loss (SL) are calculated from the edge of the step , not from the specific price where you managed to buy. This preserves the geometric structure of the market.
The Code Logic (Step-by-Step)
A. The Math of the Grid (`math.floor`)
pinescript
level_base = math.floor(close / step_size) * step_size
This is the most important line.
What does it do? It rounds the price down to the nearest multiple of 3,000.
Example: If BTC is at 64,500 and the step size is 3,000:
1. Divide: $64,500 / 3,000 = 21.5$
2. `math.floor` (Floor): Removes the decimals $\rightarrow$ remains $21$.
3. Multiply: $21 * 3,000 = 63,000$.
Result: The code knows that the current "floor" is **63,000**, regardless of whether the price is at 63,001 or 65,999.
B. The Strict Breakout (`strict_cross`)
pinescript
strict_cross = (open < level_base) and (close > level_base)
Most strategies only check if `close > level`. We do things slightly differently:
`open < level_base`: Requires the candle to have "born" *below* the line (e.g., opened at 62,900).
`close > level_base`: Requires the candle to have *finished* above the line (e.g., closed at 63,200).
Why? This avoids entering on gaps (price jumps where the market opens already very high) and confirms that there was real buying power crossing the line.
C. The "Expensive Price" Filter (`max_dist_pct`)
pinescript
limit_price_entry = level_base + (step_size * (max_dist_pct / 100.0))
price_is_valid = close <= limit_price_entry
Here you apply the percentage rule:
-If the level is 63,000 and the next is 66,000 (a difference of 3,000).
-If `max_dist_pct` is **60%**, the limit is $63,000 + (60\% \text{ of } 3,000) = 64,800$.
-If the breakout candle closes at **65,000**, the variable `price_is_valid` will be **false** and it will not enter the trade. This avoids buying at the ceiling.
D. TP and SL Calculation (Anchored to the Level)
pinescript
take_profit = level_base + (step_size * tp_mult)
stop_loss = level_base - (step_size * sl_mult)
Note that we use `level_base` and not `close`.
-If you entered because the price broke 63,000, your SL is calculated starting from 63,000.
-If your SL is 1.0x, your stop will be exactly at 60,000.
This is crucial: If you bought "expensive" (e.g., at 63,500), your real stop is wider (3,500 points) than if you bought cheap (63,100). Because you filter out expensive entries, you protect your Risk/Reward ratio.
E. Visual Management (`var line`)
The code uses `var` variables to remember the TP and SL lines and the `line.set_x2` function to stretch them to the right while the operation remains open, providing that visual reference on the chart until the trade ends.
Workflow Summary
Strategy Parameters:
Total Capital: $20,000
We will use 10% of total capital per trade.
Commissions: 0.1% per trade.
TP: 1.4
SL : 1
Step Size (Grid): 3,000
We use the 200 EMA as a trend filter.
Feel free to experiment with the parameters to your liking. Cheers.
EMA Color Cross + Trend Bars//@version=5
indicator("EMA Color Cross + Trend Bars", overlay=true)
// EMA ayarları
shortEMA = input.int(9, "Short EMA")
longEMA = input.int(21, "Long EMA")
emaShort = ta.ema(close, shortEMA)
emaLong = ta.ema(close, longEMA)
// Trend yönü
trendUp = emaShort > emaLong
trendDown = emaShort < emaLong
// EMA çizgileri trend yönüne göre renk değiştirsin
plot(emaShort, color=trendUp ? color.green : color.red, linewidth=2)
plot(emaLong, color=trendUp ? color.green : color.red, linewidth=2)
// Barları trend yönüne göre renklendir
barcolor(trendUp ? color.green : color.red)
// Kesişim sinyalleri ve oklar
longSignal = ta.crossover(emaShort, emaLong)
shortSignal = ta.crossunder(emaShort, emaLong)
plotshape(longSignal, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.large)
plotshape(shortSignal, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.large)
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)
previous day/week high and lowsThis scrip plots the previous day high and lows, pre market high and lows, previous week high and low.






















