1-Min Scalping Strategy with Trailing Stop (1 Contract)This is a 1 min scalp strategy specifically written for NQ futures with consistency in mind and stop losses with trailing stops. Happy trading. *** Not an investment advice***
Penunjuk dan strategi
HMA 6/12 Crossover Strategy with 0.2% SLThis strategy ment only for XAUUSD with 3 min time frame and 0.15% SL
RS Triple MA Confluence Signal (Lower Pane)This indicator outputs a binary signal (1 or 0) based on triple moving average confluence of an asset’s relative strength vs a benchmark (e.g., SPY, BTC, etc).
✅ A value of 1 indicates full confluence, where the asset's relative strength is above three customizable moving averages (short, medium, and long).
❌ A value of 0 indicates confluence is off.
This version is designed to be used in a lower pane for:
Quick visual scanning
Dashboard-style layouts
Systematic filtering or alerting
Pairs perfectly with the main overlay tool:
👉 Relative Strength Triple MA Confluence
Use that version for candle coloring and price-level signals, and this version for clean signal tracking and screening support.
OHLC_yA customizable visualization of previous day's open high low close, premarket high low, and regular trading hours' high low.
For use to evaluate daily sentiment - in that if the range of premarket is rising higher than yesterday's close or remains above yesterday's open, could show signs of unchanged sentiment.
As well as the regular trading hours' range in relation to yesterday, offering potential levels of interest if it gets retested.
Fair Value Gaps (FVG) + ATR-Filtered Stoploss# Fair Value Gap (FVG) + ATR-Filtered Trailing Stop — TradingView Indicator
This TradingView Pine Script indicator detects institutional-style **Fair Value Gaps (FVGs)** and plots dynamic **trailing stop levels** based on significant price imbalances, filtered by ATR.
---
## 📌 Features
- ✅ Detects **Bullish** and **Bearish Fair Value Gaps (FVGs)** using proper 3-candle wick logic
- ✅ Draws **boxes** for each unmitigated FVG
- ✅ Removes FVG when price **mitigates 80%** into the zone
- ✅ Plots **FVG-based trailing stop loss lines**
- ✅ Includes **ATR filtering** to ignore weak/low-impact FVGs
---
## 🔍 Fair Value Gap Logic
- **Bullish FVG**: When `low > high `
- Gap is between `high ` and `low `
- **Bearish FVG**: When `high < low `
- Gap is between `low ` and `high `
---
## 📉 Trailing Stop Logic
- For **Bullish FVGs**: Stop = Bottom of gap
- For **Bearish FVGs**: Stop = Top of gap
- FVG must be **larger than ATR × multiplier** to be considered for stop loss
---
## ⚙️ Input Settings
| Input Name | Description |
|----------------------------|--------------------------------------------------------------|
| `Mitigation %` | % of the FVG that must be filled to consider it "mitigated" |
| `Show Bullish FVGs` | Toggle green FVG zones |
| `Show Bearish FVGs` | Toggle red FVG zones |
| `Show FVG-Based Stops` | Show/hide stop loss lines |
| `FVG Box Extension Bars` | Number of bars to extend FVG boxes to the right |
| `ATR Length` | Length of ATR used to filter FVGs |
| `Min FVG Size (x ATR)` | Minimum FVG size required to use it as a trailing stop |
---
## 🧠 Use Case
This indicator is designed for **Smart Money / ICT-style traders** who:
- Enter trades inside **unmitigated FVGs**
- Use the **bottom/top of FVGs as stop losses**
- Need dynamic, volatility-aware stop levels (ATR-filtered)
---
Pattern + Supertrend + Stoch RSI Signals**Strategy Description: Pattern + Supertrend + Stochastic RSI Filter**
This trading strategy combines three robust technical analysis methods to generate high-quality trade signals:
### 1. **Candlestick Patterns**
The script detects classic reversal patterns including:
* **Hammer** (bullish reversal)
* **Shooting Star** (bearish reversal)
* **Bullish Engulfing**
* **Bearish Engulfing**
* **Morning Star** (bullish reversal)
* **Evening Star** (bearish reversal)
These patterns are only valid when they occur in the direction of the prevailing trend confirmed by Supertrend.
### 2. **Supertrend Filter**
Supertrend acts as a trend filter:
* Only **long trades** are taken when Supertrend is **bullish**.
* Only **short trades** are taken when Supertrend is **bearish**.
This ensures that trades are not taken against the major market direction.
### 3. **Stochastic RSI Confirmation**
To refine entries, the strategy adds an oscillator-based filter:
* **Overbought (>80)** and **Oversold (<20)** zones must be met.
* A **Stochastic RSI crossover** is required:
* %K crossing above %D when oversold (for longs)
* %K crossing below %D when overbought (for shorts)
This helps in capturing entries only when momentum is likely to reverse, avoiding low-quality signals in flat markets.
### Trade Signals:
A trade signal is generated only when all three conditions are met:
1. A recognized candlestick pattern appears.
2. The Supertrend confirms the trade direction.
3. The Stochastic RSI confirms a crossover in overbought or oversold conditions.
This layered filtering system reduces false signals and focuses on higher-probability trade setups that align with trend and momentum.
**Use case:** Best suited for swing trading or intraday setups where market context and timing are crucial.
**Timeframes:** Works on multiple timeframes but performs better on 15m, 1H, or 4H for more reliable patterns and trend behavior.
Momentum Breakout Option Buyer🎯 What it does: MOMENTUM BREAKOUT FOR OPTION BUYER
# Detects momentum breakout zones
# Confirms breakout with volume and volatility
# Gives Buy signal only when the move is strong and fast — perfect for option buyers
🔧 Core Components:
# Supertrend – to define the trend
# RSI + EMA crossover – confirms strength
# Breakout candle + Volume spike
# ATR filter – confirms volatility is high enough to justify option buying
✅ Entry Criteria (Call Option):
# Price above Supertrend
# RSI > 60 and RSI > RSI EMA
# Volume > 1.5 × average volume
# ATR (last 5 candles) > minimum threshold (e.g., 1%)
❌ Exit / Stop Loss:
# RSI drops below 50 or
# Supertrend flips or
# Target hit (e.g., 1.5x risk)
3-SMA/EMA Ribbon### 3-MA Ribbon (EMA / SMA Switchable)
**What it is**
The 3-MA Ribbon overlays three configurable moving averages (Fast, Mid, Slow) and colours the space between them to show both *trend strength* and *trend clarity* at a glance. A single dropdown lets you choose whether those MAs are **EMAs** (react faster) or **SMAs** (smoother).
---
#### How the colour logic works
| MA order (Fast > Mid > Slow) | Ribbon | Meaning |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |
| **Fast > Mid > Slow** | **Vivid Green** | Strong bullish stack |
| **Fast < Mid < Slow** | **Vivid Red** | Strong bearish stack |
| Any other order | Upper gap is soft green/red if the *upper* MA is above/below the *lower* one; lower gap is evaluated separately. Mixed colours = indecision / transition phase. | |
Opacity is lower (more solid) when the stack is perfect, higher (more transparent) when it’s mixed, so you instantly see how clean the trend structure is.
---
#### Visual cues
* **Fast MA** – dotted line (circles)
* **Mid MA** – dashed-look (crosses)
* **Slow MA** – solid line
All three line colours are separately customisable and are chosen to stay readable over both red and green fills.
Tiny ▲/▼ markers optionally call out the exact bar where a full bullish or bearish stack first appears.
---
#### Inputs
* **Moving-average type** – *EMA* or *SMA*
* **Fast / Mid / Slow lengths** – default 21 / 50 / 200
* **Ribbon colours** – bullish, bearish, neutral
* **Opacity (stacked / mixed)** – adjust how strong the fills appear
* **Line colours** – fast, mid, slow
---
#### Typical uses
1. **Trend confirmation** – Trade only when the ribbon is vivid green (long) or red (short) to filter whipsaws.
2. **Early warning** – Mixed fills flag potential transitions before a full MA cross completes.
3. **Dynamic S/R** – Each MA can act as a moving support or resistance level.
4. **Multi-time-frame stacking** – Apply the ribbon to higher TFs (e.g., 4 h) while trading lower ones for structural bias.
---
#### Tips
* Short-term traders might prefer 9-21-55 lengths; long-term swing traders often use 20-50-200.
* If price chops sideways, the gaps will flip soft green/red frequently—treat this as a signal to stay patient.
* Combine with volume or momentum oscillators for added confirmation.
---
> **Disclaimer:** This script is for educational purposes only and should not be taken as financial advice. Always test thoroughly in a demo environment and use proper risk management.
SMA 200 High/Low with Buy/Sell Signals✅ Buy Rule:
Wait for the closing price of the candle (close) to cross above the EMA200 (from below to above).
This indicates that the trend may be shifting to an uptrend.
You may add confirmation from other indicators such as RSI, MACD, or Volume.
✅ Sell Rule:
Wait for the closing price to cross below the EMA200 (from above to below).
This suggests that the trend may be turning into a downtrend.
ETH Master Institutional IndicatorETH Master Institutional Indicator (1H)
Summary:
This strategy is a high-precision, professional-grade trading indicator for Ethereum (ETH), optimized specifically for the 1-hour timeframe. It is built to mirror the decision logic of institutional traders by combining multiple forms of market confirmation to filter out weak or false signals.
How It Works:
1. **Trend Confirmation**:
- Uses three Exponential Moving Averages (9, 21, 50) to confirm trend direction.
- Buy signals require price to be above all three EMAs (strong uptrend), sell signals below all three (strong downtrend).
2. **Momentum Confirmation**:
- MACD Line must be above Signal Line for buy signals (bullish momentum).
- MACD Line must be below Signal Line for sell signals (bearish momentum).
- Histogram must be positive for buys, negative for sells.
3. **RSI Filter**:
- Buy signals require RSI > 55 (indicating upward strength).
- Sell signals require RSI < 45 (indicating downward pressure).
4. **Volume Confirmation**:
- Requires volume to be at least 10% greater than the 20-bar average, signaling institutional activity.
5. **Price Breakout/Breakdown**:
- Buy signals only occur when price breaks above recent resistance.
- Sell signals only occur when price breaks below recent support.
6. **Visuals**:
- Smart Buy and Smart Sell markers are plotted on the chart when all conditions align.
- EMA trend guides are also plotted (9 in yellow, 21 in orange, 50 in blue).
7. **Alerts**:
- Alerts trigger when a qualified Smart Buy or Smart Sell signal appears, giving traders automated notifications.
This strategy is designed for clarity, professional use, and adaptability, with a strong emphasis on confluence across multiple indicators before acting.
Time//@version=5
indicator('Time', overlay=true, max_bars_back=1000, max_labels_count=500, max_lines_count=500, max_boxes_count=500)
// Asia
var GRP1 = "Asian Session"
extendLines = true
rangeTime = '1705-0101'
boxLineColor = input(color.new(color.rgb(212, 129, 4), int(80)), 'Line color', group=GRP1)
backgroundColor = input(color.new(color.rgb(221, 133, 0), int(90)), "Background color", group=GRP1)
// A session
inSession1 = not na(time(timeframe.period, rangeTime))
inExtend = not na(time(timeframe.period, "0100-0801"))
startTime = 0
startTime := inSession1 and not inSession1 ? time : startTime
var line lowHLine = na
var line topHLine = na
var line leftVLine = na
var line rightVLine = na
var line middleHLine = na
var box bgBox = na
var low_val = float(0.0)
var high_val = 0.0
if inSession1 and not inSession1
low_val := low
high_val := high
high_val
if inSession1 and timeframe.isintraday
if inSession1
line.delete(lowHLine)
line.delete(topHLine)
line.delete(middleHLine)
box.delete(bgBox)
if low < low_val
low_val := low
low_val
if high > high_val
high_val := high
high_val
if true and timeframe.multiplier <= 60
bgBox := box.new(startTime, high_val, time, low_val, xloc=xloc.bar_time, bgcolor=backgroundColor, border_width=0)
if true and timeframe.multiplier <= 60
lowHLine := line.new(startTime, low_val, time, low_val, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
topHLine := line.new(startTime, high_val, time, high_val, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
if true and timeframe.multiplier <= 60
middleHLine := line.new(startTime, (high_val + low_val) / 2, time, (high_val + low_val) / 2, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
else
if inExtend and extendLines and not inSession1 and timeframe.isintraday
time1 = line.get_x1(lowHLine)
time2 = line.get_x2(lowHLine)
price = line.get_y1(lowHLine)
line.delete(lowHLine)
lowHLine := line.new(time1, price, time, price, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
time1 := line.get_x1(topHLine)
time2 := line.get_x2(topHLine)
price := line.get_y1(topHLine)
line.delete(topHLine)
topHLine := line.new(time1, price, time, price, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
time1 := line.get_x1(middleHLine)
time2 := line.get_x2(middleHLine)
price := line.get_y1(middleHLine)
line.delete(middleHLine)
middleHLine := line.new(time1, price, time, price, xloc=xloc.bar_time, color=boxLineColor, style=line.style_solid, width=1)
middleHLine
// LDN & NY
remove(str, pos, length) =>
arr = str.split(str, "")
len = array.size(arr)
pos1 = pos >= 0 ? pos : len + pos
length_ = length >= 0 ? length : len - pos1
pos2 = pos1 + length_
if len > 0 and length_ > 0 and pos1 >= 0 and pos2 <= len
for i = 0 to length_ - 1
array.remove(arr, pos1)
res = array.join(arr, "")
CalcOffs(timeStr) =>
hourStartStr = remove(timeStr, 2, 7)
hourStart = str.tonumber(hourStartStr)
minStartTemp = remove(timeStr, 0, 2)
minStartStr = remove(minStartTemp, 2, 5)
minStart = str.tonumber(minStartStr)
timeEndStr = remove(timeStr, 0, 5)
hourEndStr = remove(timeEndStr, 2, 2)
hourEnd = str.tonumber(hourEndStr)
minEndStr = remove(timeEndStr, 0, 2)
minEnd = str.tonumber(minEndStr)
time_diff_minutes = str.tostring(math.abs((hourEnd * 60 + minEnd) - (hourStart * 60 + minStart)))
// Settings
isLondon = true
loSessionTime = input.session("0300-0400", title="Session", group = "London Session")
loBoxColor = input.color(color.new(#2962ff, 80), title="Background color", group = "London Session")
isNewYorkTrap = true
nytrapSessionTime = input.session("0900-1000", title="Session", group ="New York Trap Session")
nytrapBoxColor = input.color(color.new(#2962ff, 80), title="Background color", group = "New York Trap Session")
loOffs = math.round(str.tonumber(CalcOffs(loSessionTime)))
nytrapOffs = math.round(str.tonumber(CalcOffs(nytrapSessionTime)))
dayOffs = 1440
if timeframe.period == "S"
loOffs := loOffs * 60
nytrapOffs := nytrapOffs * 60
dayOffs := dayOffs * 60
if timeframe.period == "5S"
loOffs := loOffs * 60 / 5
nytrapOffs := nytrapOffs * 60/5
dayOffs := dayOffs * 60 / 5
if timeframe.period == "15S"
loOffs := loOffs * 60 / 15
nytrapOffs := nytrapOffs *60 / 15
dayOffs := dayOffs * 60 / 15
if timeframe.period == "30S"
loOffs := loOffs * 60 / 30
nytrapOffs := nytrapOffs *60 / 30
dayOffs := dayOffs * 60 / 30
if timeframe.period == "3"
loOffs := loOffs / 3
nytrapOffs := nytrapOffs /3
dayOffs := dayOffs / 3
if timeframe.period == "5"
loOffs := loOffs / 5
nytrapOffs := nytrapOffs / 5
dayOffs := dayOffs / 5
if timeframe.period == "15"
loOffs := loOffs / 15
nytrapOffs := nytrapOffs / 15
dayOffs := dayOffs / 15
if timeframe.period == "30"
loOffs := loOffs / 30
nytrapOffs := nytrapOffs / 30
dayOffs := dayOffs / 30
if timeframe.period == "45"
loOffs := loOffs / 45
nytrapOffs := nytrapOffs / 45
dayOffs := dayOffs / 45
if timeframe.period == "60"
loOffs := loOffs / 60
nytrapOffs := nytrapOffs / 60
dayOffs := dayOffs / 60
if timeframe.period == "120"
loOffs := loOffs / 120
nytrapOffs := nytrapOffs / 120
dayOffs := dayOffs / 120
if timeframe.period == "180"
loOffs := loOffs / 180
nytrapOffs := nytrapOffs / 180
dayOffs := dayOffs / 180
if timeframe.period == "240"
loOffs := loOffs / 240
nytrapOffs := nytrapOffs / 240
dayOffs := dayOffs / 240
if true and timeframe.multiplier <= 60
if isLondon
var sessionHighPrice = 0.0
var sessionLowPrice = 0.0
var sessionOpenPrice = 0.0
var box sessionBox = na
var line sessionTopLine = na
var line sessionLowLine = na
inSession = not na(time(timeframe.period, loSessionTime)) and timeframe.isintraday
sessionStart = inSession and not inSession
if sessionStart
sessionHighPrice := high
sessionLowPrice := low
sessionOpenPrice := open
else if inSession
sessionHighPrice := math.max(sessionHighPrice, high)
sessionLowPrice := math.min(sessionLowPrice, low)
if sessionStart
sessionBox := box.new(left=bar_index, top=na, right=bar_index+loOffs, bottom=na, border_color = color.new(#ffffff, 100), bgcolor=loBoxColor)
sessionTopLine := line.new(x1=bar_index, y1=na, x2=bar_index+loOffs, y2=na, style=line.style_solid, width=0)
sessionLowLine := line.new(x1=bar_index, y1=na, x2=bar_index+loOffs, y2=na, style=line.style_solid, width=0)
if inSession
box.set_top(sessionBox, sessionHighPrice)
box.set_bottom(sessionBox, sessionLowPrice)
if isNewYorkTrap
var sessionHighPrice = 0.0
var sessionLowPrice = 0.0
var sessionOpenPrice = 0.0
var box sessionBox = na
var line sessionTopLine = na
var line sessionLowLine = na
inSession = not na(time(timeframe.period, nytrapSessionTime)) and timeframe.isintraday
sessionStart = inSession and not inSession
if sessionStart
sessionHighPrice := high
sessionLowPrice := low
sessionOpenPrice := open
else if inSession
sessionHighPrice := math.max(sessionHighPrice, high)
sessionLowPrice := math.min(sessionLowPrice, low)
if sessionStart
sessionBox := box.new(left=bar_index, top=na, right=bar_index+nytrapOffs, bottom=na, border_color = color.new(#ffffff, 100), bgcolor=nytrapBoxColor)
sessionTopLine := line.new(x1= bar_index, y1=na, x2=bar_index+nytrapOffs, y2=na, style=line.style_solid, width=0)
sessionLowLine := line.new(x1= bar_index, y1=na, x2=bar_index+nytrapOffs, y2=na, style=line.style_solid, width=0)
if inSession
box.set_top(sessionBox, sessionHighPrice)
box.set_bottom(sessionBox, sessionLowPrice)
box.set_top(sessionBox, sessionHighPrice)
box.set_bottom(sessionBox, sessionLowPrice)
var GRPFF = 'Frankfurt Session'
ffsession = '0200-0201'
ffcolor = input.color(color.new(#787b86, 70), title='Line color', group=GRPFF)
var GRPMMM1 = 'Magic Manipulation Minute 1'
mmm1time = '0430-0431'
mmm1color = input.color(color.new(#787b86, 70), title="Line color",group=GRPMMM1)
var GRPMMM2 = 'Magic Manipulation Minute 2'
mmm2time = '0630-0631'
mmm2color = input.color(color.new(#787b86, 70), title="Line color", group=GRPMMM2)
var GRPNYO = 'New York Open'
nyosession = '0800-0801'
nyocolor = input.color(color.new(#787b86, 70),title="Line color", group=GRPNYO)
var GRPLC = 'London Close'
lcsession = '1100-1101'
lccolor = input.color(color.new(#787b86, 0),title="Line color", group=GRPLC)
asiansize = (high_val-low_val)/4
in_session_ff = time(timeframe.period, ffsession)
sessionffActive = in_session_ff and timeframe.multiplier <= 15
var line ff = na
if sessionffActive and sessionffActive == false
ff := line.new(bar_index, high+asiansize, bar_index, low-asiansize, color=ffcolor, style=line.style_solid)
in_session_mmm1 = time(timeframe.period, mmm1time)
sessionmmm1Active = in_session_mmm1 and timeframe.multiplier <= 15
var line mmm1 = na
if sessionmmm1Active and sessionmmm1Active == false
mmm1 := line.new(bar_index, high+asiansize, bar_index, low-asiansize, color=mmm1color, style=line.style_solid)
in_session_mmm2 = time(timeframe.period, mmm2time)
sessionmmm2Active = in_session_mmm2 and timeframe.multiplier <= 15
var line mmm2 = na
if sessionmmm2Active and sessionmmm2Active == false
mmm2 := line.new(bar_index, high+asiansize, bar_index, low-asiansize, color=mmm2color, style=line.style_solid)
in_session_nyo = time(timeframe.period, nyosession)
sessionnyoActive = in_session_nyo and timeframe.multiplier <= 15
var line nyo = na
if sessionnyoActive and sessionnyoActive == false
nyo := line.new(bar_index, high+asiansize, bar_index, low-asiansize, color=nyocolor, style=line.style_solid)
in_session_lc = time(timeframe.period, lcsession)
sessionlcActive = in_session_lc and timeframe.multiplier <= 15
var line lc = na
if sessionlcActive and sessionlcActive == false
lc := line.new(bar_index, high+asiansize, bar_index, low-asiansize, color=lccolor, style=line.style_solid)
Improved Stoch RSI + Supertrend Filter**Script Description: Improved Stoch RSI + Supertrend Filter**
This custom TradingView indicator combines two powerful tools—Stochastic RSI and Supertrend—to generate high-probability trade signals. It is designed for traders who prefer clear, filtered entries based on momentum and trend direction.
### Core Logic:
1. **Stochastic RSI Crossovers:**
* The indicator calculates a smoothed Stochastic RSI using user-defined lengths and smoothing parameters.
* Signals are only considered when a %K/%D crossover happens in extreme zones:
* **Bullish signal**: %K crosses above %D in the **oversold** zone.
* **Bearish signal**: %K crosses below %D in the **overbought** zone.
2. **Supertrend Filter:**
* The Supertrend indicator, based on ATR, filters trades by confirming the overall trend.
* Only **bullish crossovers** are signaled when the Supertrend is green (uptrend).
* Only **bearish crossovers** are signaled when the Supertrend is red (downtrend).
### Entry Conditions:
* **Long Entry:**
* %K crosses above %D in the oversold zone.
* Supertrend confirms an uptrend.
* **Short Entry:**
* %K crosses below %D in the overbought zone.
* Supertrend confirms a downtrend.
### Visual Aids:
* Buy and sell signals are plotted with green and red labels respectively.
* The Supertrend line is also plotted, switching color based on direction.
### Alerts:
* Custom alerts are set for both long and short conditions, making this script suitable for automated or alert-driven trading setups.
This script is ideal for swing and momentum traders looking to enter trades in strong trend conditions, filtering out noise and false reversals.
RBD/DBR Zone HelperUpdated ORB that builds on prvious rendetions and forward thinkers to beat the retail markets
Patrick BTC Exponential ModelA test of an exp reversion model, WIP
BTC(t) = a × e^(r × t)
Where:
- BTC(t) = Bitcoin price at time t
- a = Anchor coefficient (fitted parameter)
- r = Growth rate per year (fitted parameter)
- t = Years since anchor date
- e = Euler's number (2.71828...)
Credit to @GallantCryptoYT (but based on, no implication of endorsement either way)
RONALD SMA BUY and SELL Indicator//@version=6
indicator('RONALD SMA BUY and SELL Indicator', overlay=true, max_labels_count=500)
// 1. Instellingen met standaardwaarden
fastLength = input.int(3, 'Fast SMA Lengte', minval=1, tooltip='Kortere periode voor snellere SMA')
slowLength = input.int(40, 'Slow SMA Lengte', minval=1, tooltip='Langere periode voor tragere SMA')
signalColor = input.color(color.yellow, 'Signaalkleur', tooltip='Kleur voor alle signalen')
// 2. SMA berekeningen
fastSMA = ta.sma(close, fastLength)
slowSMA = ta.sma(close, slowLength)
// 3. Plot SMA lijnen
plot(fastSMA, 'Fast SMA', color.new(color.blue, 0), 2)
plot(slowSMA, 'Slow SMA', color.new(color.red, 0), 2)
// 4. Signaal detectie
bullish = ta.crossover(fastSMA, slowSMA)
bearish = ta.crossunder(fastSMA, slowSMA)
// 5. Geavanceerde label positioning
yPosBuy = low - (ta.tr(true) * 0.5)
yPosSell = high + (ta.tr(true) * 0.5)
// 6. Dynamische labels met vingers
if bullish
label.new(
bar_index, yPosBuy,
text='BUY', color=signalColor,
style=label.style_label_up, textcolor=color.white,
yloc=yloc.price, size=size.normal)
if bearish
label.new(
bar_index, yPosSell,
text='SELL', color=signalColor,
style=label.style_label_down, textcolor=color.white,
yloc=yloc.price, size=size.normal)
// 7. Alternatieve plotshapes (optioneel)
plotshape(bullish, style=shape.triangleup, location=location.belowbar, color=signalColor, size=size.small)
plotshape(bearish, style=shape.triangledown, location=location.abovebar, color=signalColor, size=size.small)
useTrendFilter = input(true, "Gebruik Trendfilter")
trendLength = input(50, "Trend SMA Lengte")
trendSMA = ta.sma(close, trendLength)
Wick Theory ChecklistA simple check list for Powell's Wick Theory with the following:
🔹 1. Liquidity Sweep
Has price taken out recent highs/lows (previous liquidity)?
Is the wick longer than usual, indicating a stop hunt?
Did the sweep occur during a key session (e.g., London, New York open)?
🔹 2. Imbalance
Is there a clear fair value gap (FVG) or imbalanced candle near the wick area?
Is price rejecting from the imbalance, not just sitting inside it?
Is the imbalance aligned with higher timeframe structure?
🔹 3. Rejection Block
Has a strong candle body rejected from the wick zone?
Is the rejection block respected on a retest?
Are there multiple rejections or confirmations at this block?
🔹 4. Engineered Liquidity
Was liquidity built up intentionally (e.g., equal highs/lows, tight consolidation)?
Did price fake out in one direction first before sweeping the opposite side?
Are retail traps evident (e.g., false breakouts, trendlines)?
🔹 5. SMT Divergence (Optional)
Are correlated instruments showing divergent liquidity grabs?
Is one instrument making a higher high while another makes a lower high?
Does this divergence happen at or near key zones (POI, FVG, OB)?
AWR Pearsons R & LR Oscillator MTF1. Overview
This indicator is designed to analyze the correlation between a price series (or any custom indicator) and the bar index using Pearson’s correlation coefficient. It performs multiple linear regressions over shifted periods and then aggregates these results to create an oscillator. In addition, it integrates a multi-timeframe (MTF) analysis by retrieving the same calculations on 3 different time intervals, providing a more comprehensive view of the trend evolution.
2. User Parameters
The indicator offers several configurable parameters that allow the user to adjust both the calculations and the display:
Source (Linear Regression): The data source on which the regressions are applied (by default, the closing price).
Number of Linear Regressions (numOfLinReg): Allows choosing the number of correlation calculations (up to 10) to be carried out on different shifted periods.
Start Period (startPeriod) and Period Increment (periodIncrement): These parameters define the reference window for each regression. The calculation starts with a base period and then increases with each regression by a fixed increment, creating several time windows to assess the relationship between price evolution and time progression.
Deviation (def_deviation): Although defined, this parameter is intended to control the sensitivity of the calculations. It can be used in further developments of the indicator.
For Multi Time Frames analysis, three additional timeframes are provided through inputs in addition of the current period:
Sum up :
Timeframe 1 = current
Timeframe 2 = 30-minute (default settings)
Timeframe 3 = 1-hour (default settings)
Timeframe 4 = 4-hour (default settings)
These different timeframes allow you to obtain consistent or divergent signals over multiple resolutions, thereby enhancing the confidence of trading decisions.
3. Calculation Logic
At the core of the indicator is the f_calcConditions() function, which performs several essential tasks:
Calculating Pearson's Coefficients For each linear regression, the script uses ta.correlation() to measure the correlation between the chosen source (for example, the closing price) and the chronological index (bar_index). Up to 10 coefficients are computed over shifted windows, providing an evolving view of the linear relationship over different intervals.
Averaging the Results Once the coefficients are calculated, they are stored in an array and averaged to produce a global correlation value called avgPR_local.
Applying Moving Averages
The resulting average is then smoothed using several moving averages (SMA):
A short-term SMA (period of 14),
An intermediate SMA (period of 100),
A long-term SMA (period of 400).
These moving averages help to highlight the underlying trend of the oscillator by indicating the direction in which the correlation is moving.
Defining Trading Conditions Based on avgPR_local and its associated SMAs, multiple conditions are set to generate buy or sell signals:
Simple SMA Conditions :
Small signal :
Light blue below bar signal :
When the averaged coefficients lie between -1 and -0.63, are above the short-term SMA (14 periods), and are increasing, it may indicate a bullish dynamic (buy signal).
Orange above bar signal :
Conversely, when the value is higher (between 0.63 and 1) and below its SMA (14 periods), and are decreasing the trend is considered bearish (sell signal).
Medium signal :
Dark green signal
When the averaged coefficients lie between -1 and -0.45, are above the short-term SMA (14 periods), and are increasing, and also the average 100 is increasing. It may indicate a bullish dynamic (buy signal).
Light red signal :
Conversely, when the value is higher (between 0.45 and 1) and below its SMA (14 periods), the trend and are decreasing, and also the average 100 is decreasing. It may indicate a bearish dynamic(sell signal).
Light green signal :
When the averaged coefficients lie between -1 and -0.15, are above the short-term SMA (14 periods), and are increasing, and also the average 100 & 400 is increasing . It may indicate a bullish dynamic (buy signal).
Dark red signal :
Conversely, when the value is higher (between 0.45 and 1) and below its SMA (14 periods), the trend and are decreasing, and also the average 100 & 400 is decreasing. It may indicate a bearish dynamic(sell signal).
These additional conditions further refine the signals by verifying the consistency of the movement over longer periods. They check that the trends from the respective averages (intermediate and long-term) are in line with the direction indicated by the initial moving average.
These conditions are designed to capture moments when the oscillator's dynamics change, which can be interpreted as opportunities to enter or exit a trade.
4. Multi-Timeframes and Display
One of the main strengths of this indicator is its multi-timeframe approach.
This offers several advantages:
Comparative Analysis: Compare short-term dynamics with broader trends.
Enhanced Signal Reliability: A signal confirmed across multiple timeframes has a higher probability of success.
To visually highlight these signals on the chart, the indicator uses the plotchar() function with distinct symbols for each timeframe:
Current Timeframe: Signals are represented by the character "1"
30-Minute Timeframe: Displayed with the character "2".
1-Hour Timeframe: Displayed with the character "3".
4-Hour Timeframe: Displayed with the character "4".
The colors used are various shades of green for buy signals and shades of red/orange for sell signals, making it easy to distinguish between the different alerts.
5. Integrated Alerts
To avoid missing any trading opportunities, the indicator includes an alert condition via the alertcondition() function. This alert is triggered if any buy or sell signal is generated on any of the analyzed timeframes. The message "MTF valide" indicates that multiple timeframes are confirming the signal, enabling more informed decision-making.
6. How to Use This Indicator
Installation and Configuration: Copy the script into the TradingView Pine Script editor and add it to your chart. The default parameters can be tuned according to market behavior or personal preferences regarding sensitivity and responsiveness.
Interpreting the Signals:
Watch for the symbols on the chart corresponding to each timeframe.
A buy signal appears as a specific symbol below the bar (indicating a bullish condition based on a rising or less negative correlation), while a sell signal appears above the bar.
Multi-Timeframe Analysis: By comparing signals across timeframes, you can filter out false signals. For example, if the short-term timeframe shows a buy signal but the 4-hour timeframe indicates a bearish trend, you may need to reassess your position.
Adjusting the Settings: Depending on the asset type or market volatility, you might need to tweak the periods (startPeriod, periodIncrement) or the number of linear regressions to generate signals that better align with the price dynamics.
Using Alerts: Activate the built-in alert feature so that TradingView notifies you as soon as a multi-timeframe signal is detected. This ensures you stay informed even if you are not continuously monitoring the chart.
In Conclusion
The AWR Pearsons R & LR Oscillator MTF is a powerful tool for traders seeking a detailed understanding of market trends by combining statistical rigor (via Pearson's correlation coefficient) with a multi-timeframe approach. It is capable of generating clear entry and exit signals, visualized with specific symbols and colors depending on the timeframe. By adjusting the parameters to match your trading strategy and leveraging the alert system, you now have a robust instrument for making well-informed market decisions.
Feel free to dive deeper into each component and experiment with different configurations to see how the oscillator integrates with your overall technical analysis strategy. Enjoy exploring its potential and refining your trading approach!
High Volume + High Price Change Candles (Relative to Volume SMA)The indicator marks days on which high volume was accompanied by high price change. Important to see where there was aggressive buying or selling. The High and Low of these candles may act as crucial support/resistance price points for a better interpretation of the price action.
GER40 BIAS Forecast [ML-Based]🎯 Purpose:
This indicator provides a daily directional bias (LONG / SHORT / FLAT) for the German DAX40 index (GER40) using a statistically optimized scoring model, developed with 6 years of historical data and verified through machine learning analysis.
🧠 How the Score Works (ML-derived):
Each trading day receives a bias score (0–3) for both long and short setups, based on these 3 factors from the daily candle:
Condition Long Score Logic Short Score Logic
1. Candle Direction Close > Open → +1 Close < Open → +1
2. VWAP Slope VWAP > VWAP → +1 VWAP < VWAP → +1
3. Volatility Strength Range > SMA(20) → +1 Close < Yesterday's Low → +1 (Rejection)
➡️ A score of 2 or more triggers a Long or Short Bias for the day.
These scoring rules are derived from a machine learning model trained on 6 years of DAX data, identifying the most predictive features for directional follow-through.
📘 Bias Interpretation:
Score Result Daily Bias Background Color
Long Score ≥ 2 LONG Green
Short Score ≥ 2 SHORT Red
Both < 2 FLAT Gray
📍 Indicator Features:
🎨 Background coloring to visualize daily bias directly on intraday charts
🔢 Optional score labels (e.g. “Long: 2 | Short: 1”) per calendar day
📈 VWAP line plotted for additional intraday context
❌ Entry signals removed – this version focuses solely on forecasting directional bias
💡 Use Case:
Morning planning aid
Filtering for high-probability intraday setups
Combining with session-based entry systems
OBV PanelOBV Panel – Volume-Based Price Prediction & Signal Dashboard
Powered by Pine Script v6
🔍 Overview
This multi-functional indicator is designed around the On-Balance Volume (OBV) concept, enhancing it with prediction models, trend tracking, and actionable buy/sell signals. It uses a combination of real-time OBV movement, smoothed OBV with EMA, and linear regression-based OBV forecasts to deliver both intraday and weekly insights — all neatly displayed in a table panel and directly plotted on your chart.
⚙️ Core Components
📌 1. OBV Core
OBV is calculated based on volume flowing into or out of a stock as price moves up or down.
Tracks raw OBV and its EMA (Exponential Moving Average) for smoother trend reading.
Computes a Predicted OBV using Linear Regression (ta.linreg) over a user-defined number of bars.
🔮 2. Predicted Price Forecast
Uses OBV percentage changes combined with a user-set sensitivity factor to project next day’s expected price.
Offers an AI-style price forecast based on OBV strength, not just price action.
💹 3. Buy/Sell Signal Logic
Daily Signals: Triggered when OBV, OBV EMA, and Predicted OBV all move upward or downward from the previous day.
Weekly Signals: Based on EMA changes over a 5-bar period (approx. 1 week).
Signal markers are drawn on the chart for visual reference.
📊 Table Panel (Top-Right Overlay)
A detailed visual panel shows:
Metric Description
OBV, OBV EMA, Predicted OBV From previous close to current value
OBV - Predicted OBV Difference In lakhs (scaled for readability)
% Change Stats Daily percentage change in OBV, EMA, and Predicted OBV
Weekly OBV EMA Change Actual & % change over 5 bars
Signal Summary BUY/SELL or HOLD based on logic
OBV Dominance Whether OBV > EMA and Predicted OBV
Predicted Price (Next Day) Based on OBV dynamics and sensitivity
📊 VWAP + 시가선 + 필터 전략 (완성형)This is an indicator that generates trading signals by applying the market price + VWAP.
📊 Trend Table (EMA20/50) PROThis script displays a color-coded trend dashboard based on the relationship between the EMA 20 and EMA 50 moving averages across multiple timeframes:
🕐 1m, 5m, 15m, 1h, 4h.
📌 Features:
✅ Green = Bullish Trend (EMA20 > EMA50)
✅ Red = Bearish Trend (EMA20 < EMA50)
🎨 Fully customizable text and background color
📍 Selectable table position (left / center / right, top / bottom)
🔁 Auto-refreshes every few bars for real-time accuracy
📈 Use Case:
Perfect as a multi-timeframe trend dashboard for scalpers and swing traders – ideal for XAUUSD, US30, NAS100 and more. Helps you instantly assess trend alignment across key timeframes.
HMA 6/12 Crossover Strategy with 0.1% SL & Reverse on SLBest Strategy for BTCUSD works best with 3 min time frame