Reversal Detection v3.0 - Real-Time Pro (Non-Repainting)Here is a **professional, public-friendly description** you can use for TradingView or any indicator marketplace:
---
### 🔁 Reversal Detection v3.0 – Real-Time Pro (Non-Repainting)
**Reversal Detection v3.0 – Real-Time Pro** is an advanced price-action–based indicator designed to identify **high-probability market reversals in real time**. Built with a **100% non-repainting logic**, this tool delivers reliable signals that remain fixed once printed, making it suitable for both **live trading and back-testing**.
This indicator continuously analyzes **market structure, momentum behavior, and exhaustion zones** to detect potential trend changes at key price levels. It helps traders catch **early reversals** while avoiding late entries and false breakouts.
---
### 🚀 Key Features
✔ **Real-Time Reversal Signals**
Signals are generated instantly as market conditions form — no delay, no future repainting.
✔ **Non-Repainting Technology**
Once a signal appears, it will never disappear or change, ensuring full transparency and trust.
✔ **Trend Exhaustion Detection**
Identifies weakening trends and potential turning points before major reversals occur.
✔ **Works on All Timeframes**
Scalping, intraday, swing, or positional trading — fully compatible with **all markets and timeframes**.
✔ **Multi-Market Support**
Suitable for **Forex, Crypto, Stocks, Indices, and Commodities**.
✔ **Clean & Easy-to-Read Signals**
Minimal chart clutter with clear visual markers for bullish and bearish reversals.
---
### 📈 Best Use Cases
• Trend reversal entries
• Market top and bottom identification
• Confluence with support & resistance
• Confirmation tool with RSI, MACD, or moving averages
• High-accuracy entries near key zones
---
### ⚠ Disclaimer
This indicator is a **technical analysis tool**, not financial advice. Always apply proper **risk management** and confirm signals with market structure and volume.
---
If you want, I can also:
* Shorten this for **TradingView public script**
* Rewrite in **simple Hinglish**
* Create **promo text**, **tooltips**, or **user instructions**
Just tell me 👍
ابحث في النصوص البرمجية عن "Candlestick"
Fixing Volume Visualization (only fixing candles)This simple script shows only the fixing candles (by default, 5 PM UTC) and attaches a label with the volume value on each of them. It’s useful if you want to analyze volume behavior specifically during the fixing – for example, to compare institutional activity across days, Wednesdays, or months.
You can:
• set a custom date range (from–to),
• change the fixing hour if needed,
• easily modify colors, labels, or volume thresholds.
It hides everything except the fixing candles – giving you a clean, focused view.
Bullmart VWAP [LTF STR]Bullmart Discounted Momentum in conjunction with VWAP is an indicator for identifying areas of increased liquidity on lower timeframes, where stop losses and liquidations are most likely to occur.
The indicator is not designed to search for entry points "by signal". Its main task is to provide a context in which it is possible to understand where the price is moving due to liquidity.
Use Bullmart VWAP only in conjunction with Bullmart Discounted momentum
All OB + FVG + Overlap Zones + Alerts (v6 safe)//@version=6
indicator(
"All OB + FVG + Overlap Zones + Alerts (v6 safe)",
overlay = true
)
// === USER INPUTS ===
maxBarsBack = input.int(500, "Max Bars Back to Display OB/FVG", minval = 1)
extendBars = input.int(10, "Extend OB/FVG Boxes Forward", minval = 1)
// === COLORS ===
bullOBColor = color.rgb(139, 0, 0) // Deep Red
bearOBColor = color.rgb(75, 0, 130) // Deep Purple
bullFVGColor = color.rgb(0, 100, 0) // Deep Green
bearFVGColor = color.rgb(184, 134, 11) // Deep Yellow
overlapColor = color.rgb(0, 255, 255) // Cyan for OB+FVG overlap
// === HELPER FUNCTION ===
inRange(offset) =>
bar_index - offset >= last_bar_index - maxBarsBack
// === ORDER BLOCK LOGIC ===
bullOB = close < open and close > open
bearOB = close > open and close < open
// === COLOR OB CANDLE ===
barcolor(
bullOB and inRange(1) ? bullOBColor :
bearOB and inRange(1) ? bearOBColor :
na,
offset = -1
)
// === DRAW EXTENDED OB BOXES ===
if bullOB and inRange(1)
box.new(
left = bar_index - 1,
right = bar_index - 1 + extendBars,
top = high ,
bottom = low ,
bgcolor = color.new(bullOBColor, 70),
border_color = bullOBColor
)
if bearOB and inRange(1)
box.new(
left = bar_index - 1,
right = bar_index - 1 + extendBars,
top = high ,
bottom = low ,
bgcolor = color.new(bearOBColor, 70),
border_color = bearOBColor
)
// === FVG LOGIC (3-candle imbalance) ===
bullFVGFormed = low > high
bearFVGFormed = high < low
// === DRAW FVG BOXES AND STORE TOP/BOTTOM ===
var float bullFVGTop = array.new_float()
var float bullFVGBot = array.new_float()
var float bearFVGTop = array.new_float()
var float bearFVGBot = array.new_float()
var box bullFVGBoxes = array.new_box()
var box bearFVGBoxes = array.new_box()
if bullFVGFormed and inRange(2)
fvgBox = box.new(
left = bar_index - 2,
right = bar_index - 2 + extendBars,
top = low,
bottom = high ,
bgcolor = color.new(bullFVGColor, 80),
border_color = bullFVGColor
)
array.push(bullFVGBoxes, fvgBox)
array.push(bullFVGTop, low)
array.push(bullFVGBot, high )
if bearFVGFormed and inRange(2)
fvgBox = box.new(
left = bar_index - 2,
right = bar_index - 2 + extendBars,
top = high,
bottom = low ,
bgcolor = color.new(bearFVGColor, 80),
border_color = bearFVGColor
)
array.push(bearFVGBoxes, fvgBox)
array.push(bearFVGTop, high)
array.push(bearFVGBot, low )
// === CHECK AND HIGHLIGHT OB + FVG OVERLAPS ===
var float overlapLevelsTop = array.new_float()
var float overlapLevelsBot = array.new_float()
if bullOB and inRange(1) and array.size(bullFVGBoxes) > 0
for i = 0 to array.size(bullFVGBoxes) - 1
obTop = high
obBot = low
fvgTop = array.get(bullFVGTop, i)
fvgBot = array.get(bullFVGBot, i)
overlapTop = math.min(obTop, fvgTop)
overlapBot = math.max(obBot, fvgBot)
if overlapTop > overlapBot
box.new(
left = bar_index - 1,
right = bar_index - 1 + extendBars,
top = overlapTop,
bottom = overlapBot,
bgcolor = color.new(overlapColor, 80),
border_color = overlapColor
)
array.push(overlapLevelsTop, overlapTop)
array.push(overlapLevelsBot, overlapBot)
if bearOB and inRange(1) and array.size(bearFVGBoxes) > 0
for i = 0 to array.size(bearFVGBoxes) - 1
obTop = high
obBot = low
fvgTop = array.get(bearFVGTop, i)
fvgBot = array.get(bearFVGBot, i)
overlapTop = math.min(obTop, fvgTop)
overlapBot = math.max(obBot, fvgBot)
if overlapTop > overlapBot
box.new(
left = bar_index - 1,
right = bar_index - 1 + extendBars,
top = overlapTop,
bottom = overlapBot,
bgcolor = color.new(overlapColor, 80),
border_color = overlapColor
)
array.push(overlapLevelsTop, overlapTop)
array.push(overlapLevelsBot, overlapBot)
// === ALERT CONDITIONS ===
overlapAlert = false
for i = 0 to array.size(overlapLevelsTop) - 1
if close <= array.get(overlapLevelsTop, i) and close >= array.get(overlapLevelsBot, i)
overlapAlert := true
// === ALERTCONDITION (v6 compatible) ===
alertcondition(overlapAlert, "OB + FVG Overlap", "⚡ Price entered an OB + FVG overlap zone! ⚡")
alertcondition(bullOB, "Bullish OB Formed", "🔴 Bullish OB formed!")
alertcondition(bearOB, "Bearish OB Formed", "🟣 Bearish OB formed!")
Son Fiyat, Limitler ve RVOL (Garantili)This script shows you the status/condition of the latest (current) bar and the previous bar.
If your platform/package includes RVOL (Relative Volume) data, it also displays that information
My script// @version=6
indicator("ORB-FVG-Sweep Alert", overlay=true)
start = input.session("2300-2330", title="ORB session UTC")
level = input.float(2.0, "Min FVG size ($)")
// ---- ORB box ----
t = time(timeframe.period, start)
inRange = not na(t)
h = ta.valuewhen(inRange, high, 0)
l = ta.valuewhen(inRange, low, 0)
plot(inRange ? h : na, color=color.gray, style=plot.style_linebr)
plot(inRange ? l : na, color=color.gray, style=plot.style_linebr)
// ---- FVG detection (simplified) ----
fvg = (high < low and close < open ) or (low > high and close > open )
plotshape(fvg and math.abs(high -low ) >= level, style=shape.triangleup, location=location.belowbar, color=color.green, size=size.tiny, title="Bull FVG")
plotshape(fvg and math.abs(low -high ) >= level, style=shape.triangledown,location=location.abovebar, color=color.red, size=size.tiny, title="Bear FVG")
// ---- Sweep of ORB high/low ----
sweepHigh = high > h and close < h and high <= h
sweepLow = low < l and close > l and low >= l
plotshape(sweepHigh, style=shape.arrowdown, location=location.abovebar, color=color.maroon, size=size.small, title="Sweep High")
plotshape(sweepLow, style=shape.arrowup, location=location.belowbar, color=color.green, size=size.small, title="Sweep Low")
// ---- Combined alert condition ----
alertcondition(sweepHigh and fvg, title="Short setup", message="ORB sweep+FVG short")
alertcondition(sweepLow and fvg, title="Long setup", message="ORB sweep+FVG long")
Historical Price LevelsHistorical Price Levels is a lightweight indicator that visualizes key price extremes over multiple recent time windows.
The indicator automatically calculates and displays the highest high and lowest low for the following periods:
• Last 1 Day
• Last 7 Days
• Last 15 Days
• Last 30 Days
Core Purpose
• Quickly identify recent support and resistance zones
• Provide objective historical context without subjective drawing
• Help traders assess range expansion, compression, and breakout potential
Hammer Alert by Marcos TavaresIndicador que sinaliza quando uma vela martelo fecha próximo das médias móveis de 20 e 200
FX Momentum Breakout Detector# FX Momentum Breakout Strategy
A TradingView Pine Script indicator that detects momentum breakouts in forex pairs and automatically executes trades via SignalStack integration. The strategy uses EMA crossovers, swing structure breaks, and Fibonacci retracement levels for entry, stop loss, and take profit placement.
## Overview
This strategy identifies bullish and bearish momentum breakouts by combining:
- **EMA (Exponential Moving Average)** for trend direction
- **Swing High/Low** structure breaks for entry signals
- **Fibonacci retracement levels** for stop loss and take profit
- **Volume and time filters** to improve signal quality
- **Dynamic position sizing** based on Fibonacci stop distance and risk percentage
### Key Features
- ✅ **Automated Order Execution**: Direct integration with SignalStack for hands-free trading
- ✅ **Risk-Based Position Sizing**: Automatically calculates lot size based on stop distance and account risk
- ✅ **Fibonacci-Based TP/SL**: Uses Fibonacci 0.5 levels for take profit and stop loss
- ✅ **Time Window Filter**: Only trades during active market hours (7AM-7PM Japan Time)
- ✅ **Volume Filter**: Requires volume above 10-day moving average
- ✅ **Single Alert System**: One alert handles both long and short signals
## Strategy Logic
### Entry Conditions
**Long (Buy) Signal:**
- Price crosses above EMA 20, OR
- Price breaks above swing high structure
- AND: Minimum 3 consecutive bull bars (strong momentum)
- AND: Price is above EMA 20 (if EMA filter enabled)
- AND: Volume is above 10-day MA
- AND: Time is within 7AM-7PM JST window
**Short (Sell) Signal:**
- Price crosses below EMA 20, OR
- Price breaks below swing low structure
- AND: Minimum 3 consecutive bear bars (strong momentum)
- AND: Price is below EMA 20 (if EMA filter enabled)
- AND: Volume is above 10-day MA
- AND: Time is within 7AM-7PM JST window
### Stop Loss & Take Profit
- **Long Positions:**
- Take Profit: Fibonacci 0.5 level above entry (`fib_up_0_5`)
- Stop Loss: Fibonacci 0.5 level below entry (`fib_dn_0_5`)
- **Short Positions:**
- Take Profit: Fibonacci 0.5 level below entry (`fib_dn_0_5`)
- Stop Loss: Fibonacci 0.5 level above entry (`fib_up_0_5`)
### Position Sizing
Position size is calculated dynamically based on:
1. **Account Balance**: Your account size in USD (default: $125,000)
2. **Risk Percentage**: Risk per trade (default: 1.0%)
3. **Stop Loss Distance**: Distance from entry to Fibonacci stop level (in pips)
**Formula:**
```
Risk in Dollars = Account Balance × (Risk % / 100)
Stop Loss (pips) = |Entry Price - Stop Loss Price| / Pip Size
Position Size (lots) = Risk $ / (Stop Loss (pips) × $10 per pip per lot)
```
The strategy rounds to 0.01 lot increments (micro lots) for precise position sizing.
## Setup Instructions
### Prerequisites
1. **TradingView Account**: Pro plan or higher (required for webhook alerts)
2. **SignalStack Account**: Active account with connected broker (e.g., OANDA)
3. **SignalStack Webhook URL**: Get this from your SignalStack dashboard
### Step 1: Add Strategy to TradingView
1. Open TradingView and navigate to your chart
2. Click "Pine Editor" (bottom panel)
3. Copy the code from `v2.0_fx_breakout_strategy.md`
4. Paste into Pine Editor
5. Click "Save" and then "Add to Chart"
### Step 2: Configure Strategy Inputs
In the strategy settings panel, configure:
**Technical Parameters:**
- **EMA Length**: Default 20 (trend filter)
- **Swing High/Low Lookback**: Default 7 bars
- **Min Consecutive Bull/Bear Bars**: Default 3 (momentum requirement)
- **Require EMA Filter**: Default `true` (price must be on correct side of EMA)
**Risk Management:**
- **Account Balance (USD)**: Your account size (default: 125,000)
- **Risk Per Trade (%)**: Risk percentage per trade (default: 1.0%)
- **ATR Length**: Default 14 (for informational ATR display)
**Filters:**
- **Volume MA Length**: Default 10 (volume filter period)
- **Enable Webhook Alerts**: Set to `true` for automated trading
- **Alert Frequency**: `once_per_bar_close` (recommended)
- **Asset Label**: Leave empty to use chart symbol, or override if needed
### Step 3: Create TradingView Alert
1. Click the "Alerts" icon (bell) at the top of the chart, or press `Alt+A` (Windows) / `Option+A` (Mac)
2. Click "Create Alert" or the "+" button
3. Select the chart with your strategy
**Alert Configuration:**
**Condition Tab:**
- **Condition**: Select "FX Momentum Breakout Detector" (your strategy name)
- **Trigger**: "Once Per Bar Close" (matches strategy setting)
- **Expiration**: Set as needed (or leave unlimited)
**Notifications Tab:**
- **Webhook URL**: Paste your SignalStack webhook URL
- **Message**: Leave as default (strategy generates JSON automatically)
4. Save the alert with a descriptive name (e.g., "EURUSD Breakout SignalStack")
### Step 4: Verify SignalStack Connection
1. Check your SignalStack dashboard for incoming webhooks
2. Verify the broker connection is active
3. Test with a paper trading account first
For detailed SignalStack setup, see (./SIGNALSTACK_SETUP.md).
## Webhook Payload Format
The strategy sends a JSON payload in SignalStack format. Primary fields:
```json
{
"symbol": "EURUSD",
"action": "buy",
"quantity": 2.78,
"take_profit": 1.0895,
"stop_loss": 1.0805,
"ticker": "EURUSD",
"ticker_id": "OANDA:EURUSD",
"base": "EUR",
"quote": "USD",
"timeframe": "15",
"price": 1.0850,
"ema20": 1.0820,
"range": 0.0050,
"breakout_price": 1.0850,
"fib_up_0_5": 1.0895,
"fib_dn_0_5": 1.0805,
"atr_pips": 25.0,
"stop_loss_pips": 45.0,
"position_size_lots": 2.78,
"risk_dollars": 1250.0,
"signal": "bullish momentum breakout",
"bar_time": "2024-01-15T10:30:00"
}
```
**SignalStack Required Fields:**
- `symbol`: Trading symbol
- `action`: "buy" or "sell"
- `quantity`: Position size in lots
- `take_profit`: Take profit price
- `stop_loss`: Stop loss price
## Testing
Use the included test script to verify webhook integration:
```bash
# Test both Discord and SignalStack
python test_webhook.py
# Test Discord only
python test_webhook.py --discord
# Test SignalStack only
python test_webhook.py --signalstack
```
The test script sends sample payloads matching the strategy format and verifies webhook delivery.
## Configuration Examples
### Conservative Setup (Lower Risk)
- Account Balance: 125,000 USD
- Risk Per Trade: 0.5%
- EMA Length: 20
- Min Bull/Bear Bars: 4
- Require EMA Filter: `true`
### Aggressive Setup (Higher Risk)
- Account Balance: 125,000 USD
- Risk Per Trade: 2.0%
- EMA Length: 15
- Min Bull/Bear Bars: 2
- Require EMA Filter: `false`
### Multiple Currency Pairs
To trade multiple pairs:
1. Add the strategy to each chart
2. Create a separate alert for each pair
3. Use the same SignalStack webhook URL for all alerts
4. SignalStack routes orders based on the `symbol` field
## Time Window Filter
The strategy only trades during **7AM-7PM Japan Time (JST)**, which corresponds to:
- **UTC**: 22:00 (previous day) to 10:00 (same day)
- This covers the Asian and early European trading sessions
To modify the time window, edit the `timeWindowFilter` calculation in the strategy code.
## Position Sizing Examples
### Example 1: EURUSD Long
- Account Balance: $125,000
- Risk: 1.0% = $1,250
- Entry Price: 1.0850
- Stop Loss (fib_dn_0_5): 1.0805
- Stop Distance: 45 pips
- Position Size: $1,250 / (45 pips × $10) = **2.78 lots**
### Example 2: GBPUSD Short
- Account Balance: $125,000
- Risk: 1.0% = $1,250
- Entry Price: 1.2650
- Stop Loss (fib_up_0_5): 1.2700
- Stop Distance: 50 pips
- Position Size: $1,250 / (50 pips × $10) = **2.50 lots**
## Troubleshooting
### Alert Not Triggering
1. **Check Strategy Settings:**
- Ensure "Enable Webhook Alerts" is `true`
- Verify time window (7AM-7PM JST)
- Check volume filter (must be above 10-day MA)
2. **Check Alert Settings:**
- Verify webhook URL is correct
- Ensure alert is active (not expired)
- Check alert frequency matches strategy setting
### Webhook Not Received by SignalStack
1. **Verify URL:**
- Check SignalStack dashboard for correct webhook URL
- Ensure URL is complete (no truncation)
2. **Check Payload Format:**
- SignalStack expects `symbol`, `action`, `quantity`, `take_profit`, `stop_loss`
- Verify these fields are present in the payload
3. **Test Webhook:**
- Use TradingView's "Test Alert" feature
- Check SignalStack logs for incoming requests
- Run `test_webhook.py` to verify format
### OANDA Authentication Error
If you receive a 401 Unauthorized error:
1. **Check OANDA API Token Permissions:**
- Log in to OANDA
- Go to "My Account" > "My Services" > "Manage API Access"
- Ensure token has **Trading** permissions (not just read-only)
2. **Update SignalStack Configuration:**
- Go to SignalStack dashboard
- Navigate to OANDA broker connection settings
- Update API token with a token that has trading permissions
- Verify account ID matches your OANDA account
For detailed troubleshooting, see (./SIGNALSTACK_SETUP.md).
### Position Size Issues
1. **Check Account Balance Input:**
- Verify account balance matches your actual account size
- Ensure risk percentage is appropriate (1% recommended)
2. **Verify Stop Loss Calculation:**
- Stop loss is based on Fibonacci 0.5 level
- Position size automatically adjusts to maintain risk percentage
- Check that pip size is correct for your currency pair
## Files
- **v2.0_fx_breakout_strategy.md**: Pine Script strategy code
- **test_webhook.py**: Python test script for webhook validation
- **SIGNALSTACK_SETUP.md**: Detailed SignalStack configuration guide
- **design.md**: Strategy design notes and considerations
## Risk Disclaimer
⚠️ **Trading forex involves substantial risk of loss. This strategy is provided for educational purposes only.**
- Always test with paper trading before using real funds
- Past performance does not guarantee future results
- Use appropriate risk management (1-2% risk per trade recommended)
- Monitor positions and adjust stop losses as needed
- This strategy does not guarantee profits
## Support
- **SignalStack Documentation**: Check SignalStack's official docs for webhook requirements
- **TradingView Support**: For alert/webhook issues in TradingView
- **Strategy Issues**: Review the strategy code comments for configuration options
## License
This strategy is provided as-is for personal use. Modify and adapt as needed for your trading requirements.
Prop Firm EMA RSI Pullback (HTF Bias)by ShuvoHigher Timeframe (HTF) Bias — The Boss Sets the Rules
Purpose:
You don’t fight institutions. You follow their footprints.
Logic:
Use a Higher Timeframe (usually H4 or D1)
Apply:
EMA 200 (trend ruler)
Optional: EMA 50 for confirmation
Bias Rules:
Bullish Bias
Price above EMA 200
EMA 200 sloping up
Bearish Bias
Price below EMA 200
EMA 200 sloping down
🚫 If price is chopping around EMA 200 → NO TRADE
Prop firms love discipline, not gamblers.
NASDAQ PREDICTION RANGE ADR projection for the US session based on previous Price Action and session
Hazmeed HTF Candles Aligned)HTF Candles Overlay (v6, Aligned + Accurate Wicks)
This indicator overlays higher timeframe candles on your current chart.
It allows you to visually compare HTF price action directly on your lower timeframe chart without switching timeframes.
⭐ Features
Displays Higher Timeframe (HTF) candles on the current chart
Fully aligned to HTF candle start time
Option to show accurate wicks
Supports configurable:
HTF timeframe (e.g., 1D, 4H, 1W)
Number of HTF candles displayed
Candle width (in bars)
Bull/Bear colors and wick color















