Apex Wallet - Ultimate Multi-Oscillator (9-in-1) & Market TrendThe Apex Wallet Multi-Oscillator is a powerful "All-in-One" technical analysis tool designed to clean up your charts by combining nine of the most effective momentum and trend indicators into a single workspace. This script is engineered to adapt to different trading styles—Scalping, Day-Trading, or Swing-Trading—with a single click.
+4
Whether you are looking for trend exhaustion, momentum shifts, or volatility breakouts, this indicator provides a clear, visual summary of market dynamics.
+1
Key Features
9 Indicators in 1: Access RSI, Stochastic, StochRSI, MACD, Zero-Lag MACD, Andean Oscillator, and the Traders Dynamic Index (TDI).
+1
Smart Layout Modes:
Raw (Brut): Classic view with original values.
+1
Stacked (Empilé): Organizes indicators into fixed vertical zones to prevent overlapping.
+1
Proportional Stacking: Automatically calculates and adjusts the height of blocks based on active oscillators.
+2
Trading Presets: Switch between Scalping, Day-Trading, and Swing-Trading modes. The script automatically adjusts periods and lengths (e.g., RSI 7 for Scalping vs. 21 for Swing) to match the market speed.
+3
Included Oscillators
Stochastic & RSI: Standard momentum tools with color-coded signals.
Traders Dynamic Index (TDI): A full suite including the RSI Price Line, Signal Line, and Market Base Line with optional Bollinger Bandwidth columns.
+1
MACD & Zero-Lag MACD: Includes histogram fills and trend-colored lines for faster reaction to price movement.
+2
Andean Oscillator: An advanced tool to identify Bull/Bear dominance and market "Range" or "Reversal" states.
Visual Signals & Alerts
Market Trend: Optional visual coloring based on indicator crosses to quickly spot bullish or bearish momentum.
+3
Customizable UI: High-fidelity rendering with dashed levels and proportional fills for a professional, clean interface.
+1
Integrated Alerts: Pre-configured alerts for Andean Oscillator trend changes (Bullish, Bearish, or Reversal).
How to use
Select your Trading Mode in the settings based on your timeframe.
Toggle the indicators you want to see.
Use the Stacked mode if you want to keep your sub-window organized without lines crossing each other.
Indikatoren und Strategien
KDJ在 TradingView 发表脚本时,**描述(Description)** 非常重要。审核员要求描述必须详细说明脚本的**原理、独特性以及用法**,否则容易被驳回。
由于你的参数 (63, 21, 5) 非常特殊,属于“长周期/季度线”级别的设置,我在撰写描述时重点突出了它**“过滤噪音”**和**“捕捉中长期趋势”**的特点。
以下是为你准备的发布文案,包含**标题**和**正文(中英双语)**。你可以直接复制使用。
---
### 标题 (Title)
**KDJ Trend Filter (63, 21, 5) **
### 描述正文 (Description)
*(复制以下内容到 TradingView 的描述框中)*
** **
**Overview**
This is a custom KDJ indicator designed for **medium-to-long term trend analysis**. Unlike the default parameters (9, 3, 3) which are often too sensitive and prone to false signals in volatile markets, this script uses a specific set of parameters **(63, 21, 5)** to smooth out the noise.
**Why these parameters?**
* **N = 63 (Calculation Period):** Represents approximately one quarter (3 months) of trading days. This aligns the indicator with the quarterly trend rather than weekly fluctuations.
* **M1 = 21 (Smooth K):** A significantly higher smoothing factor for the K-line. This reduces the "jitter" and ensures that a crossover usually indicates a genuine shift in momentum.
* **M2 = 5 (Smooth D):** The smoothing period for the D-line.
**How to use**
1. **Trend Identification:** Due to the long period, this KDJ acts more like a trend-following tool than a typical oscillator.
2. **Crossovers:**
* **Golden Cross (K > D):** Suggests a potential start of a medium-term bullish trend.
* **Dead Cross (K < D):** Suggests a potential start of a medium-term bearish trend.
3. **Filtering:** This setup is excellent for filtering out market noise. It will react slower than standard KDJ but provides more reliable signals for swing traders.
**Settings**
* Calculation Period: 63
* MAC1 (K Smoothing): 21
* MAC2 (D Smoothing): 5
---
** **
**概述**
这是一个专为**中长期趋势分析**设计的 KDJ 指标。标准的 KDJ 参数(9, 3, 3)在震荡行情中过于敏感,容易产生虚假信号。本脚本采用了特定的长周期参数 **(63, 21, 5)**,旨在过滤短期市场噪音,捕捉更稳健的趋势方向。
**参数逻辑**
* **计算周期 (N) = 63:** 大约对应一个季度(3个月)的交易日。这意味着指标关注的是季度级别的价格位置,而非短期波动。
* **MAC1 (M1) = 21:** K值的平滑周期。相比默认值,21的平滑度极高,这使得 K 线非常平稳,只有在趋势发生实质性改变时才会转向。
* **MAC2 (M2) = 5:** D值的平滑周期。
**使用方法**
1. **趋势识别:** 由于周期较长,该指标具有“钝化”的特性,更适合作为趋势跟踪工具,而非短线超买超卖指标。
2. **交叉信号:**
* **金叉 (K上穿D):** 通常意味着中级行情的启动。
* **死叉 (K下穿D):** 通常意味着中级调整的开始。
3. **过滤噪音:** 在横盘震荡期间,该参数设置能有效减少频繁的交叉信号,帮助交易者拿住波段。
**默认设置**
* 计算周期:63
* MAC1:21
* MAC2:5
---
### 💡 发表前的检查清单 (Checklist)
1. **代码确认**:确保你的 Pine Script 代码中 `overlay=false`(因为 KDJ 是副图指标)。
2. **图表展示**:在点击发表前,最好在图表上画几条线或标记,展示一下金叉和死叉的位置,这样更容易通过审核,也能让用户一眼看懂。
3. **分类 (Category)**:建议选择 **"Trend Analysis" (趋势分析)** 和 **"Oscillators" (震荡指标)**。
如果你需要我帮你微调代码以符合上述描述(例如添加颜色填充或特定的信号标记),请告诉我!
COMD - Candle Coloring Logic V2 Custom KAMA Ribbon is an early-stage trend analysis system built around five adaptive moving averages stacked into a ribbon that colors price candles in real time. It was created by xqweasdzxcv during a phase of aggressive strategy experimentation, back when throwing clever math at the market still felt like it might solve everything (spoiler alert, it did, and all the world will see soon in the following few years). The tool visualizes shifting trend strength through adaptive smoothing, giving a cleaner read than standard moving averages, but it eventually got outclassed by more advanced, structure-driven models.
This version survives as a fossil from the evolutionary path of project Patron (the Core Of My Desire is just a base). It still matters, not because it is the best, but because this is part of a true legend and because it shows how adaptive moving average stacking was used to build smarter trend filters before the really serious weapons came online.
jaems_Combo: StochRSI + MACD + ADX [QuantDev]//@version=6
strategy("jaems_Combo: StochRSI + MACD + ADX ", overlay=false, initial_capital=10000, currency=currency.USD, commission_type=strategy.commission.percent, commission_value=0.05, slippage=1)
// ==========================================
// 1. 사용자 입력 (User Inputs)
// ==========================================
//
grp_time = "Backtest Period"
useDateFilter = input.bool(true, "기간 필터 적용", group=grp_time)
startDate = input.time(timestamp("2023-01-01 00:00"), "시작일", group=grp_time)
endDate = input.time(timestamp("2099-12-31 23:59"), "종료일", group=grp_time)
inDateRange = not useDateFilter or (time >= startDate and time <= endDate)
//
grp_stoch = "1. Stochastic RSI Settings"
stoch_len = input.int(14, "RSI Length", group=grp_stoch)
stoch_k = input.int(3, "K", group=grp_stoch)
stoch_d = input.int(3, "D", group=grp_stoch)
rsi_len = input.int(14, "Stochastic Length", group=grp_stoch)
//
grp_macd = "2. MACD Settings (Normalized)"
macd_fast = input.int(12, "Fast Length", group=grp_macd)
macd_slow = input.int(26, "Slow Length", group=grp_macd)
macd_sig = input.int(9, "Signal Length", group=grp_macd)
macd_norm_len = input.int(100, "Normalization Lookback", group=grp_macd)
//
grp_adx = "3. ADX Settings"
adx_len = input.int(14, "ADX Smoothing", group=grp_adx)
di_len = input.int(14, "DI Length", group=grp_adx)
adx_thresh = input.int(25, "ADX Threshold", group=grp_adx)
//
grp_risk = "4. Risk Management"
stopLossPct = input.float(2.0, "손절매 (Stop Loss %)", step=0.1, group=grp_risk) / 100
takeProfitPct = input.float(4.0, "익절매 (Take Profit %)", step=0.1, group=grp_risk) / 100
// - 신규 추가 (Alert Configuration)
grp_alert = "5. Alert Configuration"
msg_long_entry = input.string("Long Entry Triggered", "Long 진입 메시지", group=grp_alert)
msg_short_entry = input.string("Short Entry Triggered", "Short 진입 메시지", group=grp_alert)
msg_long_exit = input.string("Long Position Closed", "Long 청산 메시지", group=grp_alert)
msg_short_exit = input.string("Short Position Closed", "Short 청산 메시지", group=grp_alert)
// ==========================================
// 2. 데이터 처리 및 지표 계산
// ==========================================
// Stoch RSI
rsi_val = ta.rsi(close, rsi_len)
k = ta.sma(ta.stoch(rsi_val, rsi_val, rsi_val, stoch_len), stoch_k)
d = ta.sma(k, stoch_d)
// ADX
= ta.dmi(di_len, adx_len)
// Normalized MACD (0~100 Scale)
= ta.macd(close, macd_fast, macd_slow, macd_sig)
highest_macd = ta.highest(macd_line, macd_norm_len)
lowest_macd = ta.lowest(macd_line, macd_norm_len)
// 분모가 0이 되는 예외 처리
denom = (highest_macd - lowest_macd)
norm_macd = denom != 0 ? (macd_line - lowest_macd) / denom * 100 : 50
norm_signal = denom != 0 ? (macd_signal - lowest_macd) / denom * 100 : 50
// ==========================================
// 3. 시각화 (Dark Mode Optimized Colors)
// ==========================================
color gridColor = color.new(#787B86, 50)
hline(0, "Bottom", color=gridColor)
hline(50, "Middle", color=gridColor, linestyle=hline.style_dotted)
hline(100, "Top", color=gridColor)
plot(k, "Stoch K", color=color.new(#00E5FF, 0), linewidth=1) // Neon Cyan
plot(d, "Stoch D", color=color.new(#EA00FF, 0), linewidth=1) // Neon Magenta
plot(adx, "ADX", color=color.new(#FFEB3B, 0), linewidth=2)
hline(adx_thresh, "ADX Threshold", color=color.new(#FFEB3B, 50), linestyle=hline.style_dashed)
plot(norm_macd, "Norm MACD", color=color.new(#76FF03, 60), style=plot.style_area)
plot(norm_signal, "Norm Signal", color=color.new(#FF1744, 20), linewidth=1)
// ==========================================
// 4. 전략 로직 (Strategy Logic) - 요청하신 내용으로 전면 수정
// ==========================================
// 조건: K가 D보다 크고(AND) K가 Norm Signal보다 큰 상태
bool is_bullish = (k > d) and (k > norm_signal)
// 조건: K가 D보다 작고(AND) K가 Norm Signal보다 작은 상태
bool is_bearish = (k < d) and (k < norm_signal)
// 진입 신호: "이전 봉에는 아니었는데, 지금 봉에서 두 조건을 동시에 만족했을 때" (돌파 순간)
longCondition = is_bullish and not is_bullish
shortCondition = is_bearish and not is_bearish
// 주문 실행 (Confirmed Bar Only) + Alert Message 연결
if inDateRange and barstate.isconfirmed
if longCondition
strategy.entry("Long", strategy.long, alert_message=msg_long_entry)
if shortCondition
strategy.entry("Short", strategy.short, alert_message=msg_short_entry)
// ==========================================
// 5. 청산 및 신호 강조 (Alert Message 추가)
// ==========================================
if strategy.position_size > 0
strategy.exit("Long Exit", "Long", stop=strategy.position_avg_price * (1 - stopLossPct), limit=strategy.position_avg_price * (1 + takeProfitPct), alert_message=msg_long_exit)
if strategy.position_size < 0
strategy.exit("Short Exit", "Short", stop=strategy.position_avg_price * (1 + stopLossPct), limit=strategy.position_avg_price * (1 - takeProfitPct), alert_message=msg_short_exit)
// 배경 신호
bgcolor(longCondition ? color.new(#76FF03, 90) : na, title="Long Signal BG")
bgcolor(shortCondition ? color.new(#FF1744, 90) : na, title="Short Signal BG")
Institutional Engine SAFEThis indicator is designed for traders who want to visualize institutional-level market execution patterns across multiple timeframes. It combines high-timeframe trend analysis, liquidity sweeps, fair value gaps (FVG), intermarket divergence (SMT), inverse FVGs, and change-in-state-of-delivery (CSID) to identify high-probability long and short setups.
eBacktesting: MultieBacktesting: Multi is an all-in-one chart toolkit built for structured day-trading study: multi-timeframe levels, “clean” movement zones, session context, bias, candle normalization, gaps, and a powerful alert system — all from one indicator.
What it can show on your chart
1) Multi-timeframe Support/Resistance (S/R) markup
- Detects and plots S/R levels from up to 8 configurable timeframes (mix HTF + LTF).
- Optional labeling styles: Simple, Type (S/R), or Directional.
- Optional price labels next to levels.
- Levels cleanup (decongestion): hides clustered levels to keep the chart readable
- Grouping: can group timeframes that share the same level into a single line.
- Level invalidation: levels can disappear after X passthroughs (with a “getting weaker” dashed style when close to invalidation).
2) Psychological levels (round numbers)
- Automatically draws round-number lines at a practical interval (with optional manual interval control).
- Has smart defaults for common markets (e.g., indices, BTC, metals).
3) Levels heatmap
- Shows level density as shaded “pressure areas”: areas where an agglomeration of S/R levels are present
- Can be simple or persisted (so you can study where price repeatedly reacts)
4) Repeated levels highlight
- Highlights “same area again” levels using a tolerance setting.
- Can require same direction (support with support / resistance with resistance) or allow any direction.
5) LTAs (Low Traffic Areas)
- Marks “air pockets” between levels where price can travel fast.
- Can be built from:
- S/R spacing (between detected levels), or
- Candle sequences (clean directional runs).
- Optional filters:
- By how “untouched” the boundary levels are (passthrough filter)
- By number of candles
- By size (points)
6) Clean zones (candle-based)
- Detects strong same-direction runs and boxes them as “clean zones” for study and backtesting practice.
7) Session Bias
- Computes a bias score from selected timeframes and shows it as a %.
- Can be weighted, inverted weight, or not weighted across timeframes (e.g. HTF candles having more weight towards bias calculation).
- Optional color coded “bias candles” overlay + option to dim weak candles so the signal is clearer.
- Alert when bias flips bullish/bearish/neutral.
8) Candles tools
- Smooth candles: removes candle gaps by drawing candles with open = previous close (useful for price action analysis).
- Ghost current candle: de-emphasizes the still-forming candle until it’s near completion (useful for not going in FOMO).
- Highlight no-wick candles: helps spot strong displacement / clean opens/closes.
- Snap candles: rounds candles to a chosen interval (ATR % or fixed), for cleaner structure reading.
- Optional candle stats: ATR & Average candle size
- Candle score: rates the last candle’s strength (body/wicks/size + context), useful for quick quality checks.
- Gaps: highlights unfilled gaps and optionally removes them once filled.
9) Sessions
- Up to 4 customizable sessions, each with its own color and optional background highlight.
- Option to hide candles outside session hours (great for focused session study).
10) Notifications
- Before session start alerts (X minutes early).
- Before session end alerts (X minutes early).
- Closing beyond detected S/R levels
- Closing beyond custom prices: type your prices (one per line)
- Proximity allowance + “advance notice” option for getting notified 30s/1m/5m before the candle closes based on your preferences
- Timer alerts (“check chart every X minutes”) with a custom message template.
eBacktesting integration (the important part)
This indicator fully integrates with the eBacktesting extension to automatically detect “important moments” during backtesting, so it can auto-pause, tag, and allow you to practice them step-by-step.
- When bias changed
- When a candle closed beyond an automatically detected S/R level
- When a candle closed beyond your custom price
- When new LTAs & clean zones are detected or invalidated
These indicator is built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
HL Zone + Vol Alert (Complete) + Vol Explosion Alertabc
a
kfsdkfjaighhguhgdfndnfdinfdndgdsgdsgdgdfsjgndfjgnsjfgnsdjgnjsgnjdfngsdfgs
Custom Long ProjectionDo custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
Do custom Long Projection
FranPL - Psychological LevelsIt automatically draws horizontal lines fixed to the right-hand price scale at every price level ending in 00, 20, 50, and 80. These levels are commonly watched by traders as areas where price often reacts, pauses, or reverses.
The lines remain anchored to price, updating dynamically as the market moves, and stay aligned with the price scale rather than drifting with time. The indicator works across all markets and timeframes.
FranPL is fully customizable through the settings, allowing the user to adjust the line color, thickness, and length, making it easy to match personal chart preferences while keeping the chart clean and uncluttered.
Overall, FranPL provides a clear, consistent visual framework for identifying important psychological levels to support entries, exits, and risk management.
Range Fade Strategy [RFS v2]Range Fade Strategy By Meet Patel
Total Trades — Number of completed trades
Win Rate — Percentage of winning trades
Win/Loss Count — Breakdown of results
Profit Factor — Gross profit ÷ Gross loss (>1.5 is good)
Average Win/Loss — Mean profit vs loss per trade
Expectancy — Expected value per trade
Max Drawdown — Largest equity decline
Net P&L — Total profit/loss in currency
Return % — Percentage return on initial capital
james S/R Trend Pro v6//@version=6
strategy("jaems_MACD+RSI ", shorttitle="jaems_MACD+RSI ", overlay=false, initial_capital=10000, currency=currency.USD, default_qty_type=strategy.percent_of_equity, default_qty_value=10, commission_type=strategy.commission.percent, commission_value=0.05, calc_on_every_tick=false)
// =============================================================================
// 1. 설정 (Inputs)
// =============================================================================
group_macd = "📊 MACD 설정"
fastLen = input.int(12, "Fast Length", group=group_macd)
slowLen = input.int(26, "Slow Length", group=group_macd)
sigLen = input.int(9, "Signal Smoothing", group=group_macd)
src = input.source(close, "Source", group=group_macd)
group_col = "🎨 시각화 색상"
col_up = input.color(color.new(#00E676, 0), "상승 (Neon Green)", group=group_col)
col_dn = input.color(color.new(#FF1744, 0), "하락 (Red)", group=group_col)
col_sig = input.color(color.new(#FFEA00, 0), "Signal 기본색", group=group_col)
// =============================================================================
// 2. 계산 (Calculations)
// =============================================================================
fastMA = ta.ema(src, fastLen)
slowMA = ta.ema(src, slowLen)
macd = fastMA - slowMA
signal = ta.ema(macd, sigLen)
hist = macd - signal
// 교차 확인 (Crossovers)
bool crossUp = ta.crossover(macd, signal)
bool crossDn = ta.crossunder(macd, signal)
// 추세 상태 확인
bool isBullish = macd >= signal
// =============================================================================
// 3. 전략 실행 (Execution)
// =============================================================================
if crossUp
strategy.entry("Long", strategy.long)
if crossDn
strategy.entry("Short", strategy.short)
// =============================================================================
// 4. 시각화 (Visualization) - 수정된 부분
// =============================================================================
// 4.1 MACD 라인 색상 동적 변경
color macdDynamicColor = isBullish ? col_up : col_dn
// 4.2 라인 그리기
plot(macd, title="MACD Line", color=macdDynamicColor, linewidth=2)
plot(signal, title="Signal Line", color=col_sig, linewidth=1)
// 4.3 교차점 도트 (Thick Dots) - 괄호 오류 방지를 위해 명시적 변수 할당
float dotLevelUp = crossUp ? signal : na
float dotLevelDn = crossDn ? signal : na
plot(dotLevelUp, title="Golden Cross Dot", style=plot.style_circles, color=col_up, linewidth=5)
plot(dotLevelDn, title="Dead Cross Dot", style=plot.style_circles, color=col_dn, linewidth=5)
// 4.4 히스토그램 색상 (오류 수정: 중첩 삼항연산자 제거 -> if-else 변환)
color histColor = na
if isBullish
// 상승 추세일 때: 히스토그램이 직전보다 커지면 진한색, 작아지면 연한색
if hist < hist
histColor := col_up
else
histColor := color.new(col_up, 50)
else
// 하락 추세일 때: 히스토그램이 직전보다 커지면(덜 음수면) 연한색, 작아지면 진한색
if hist < hist
histColor := color.new(col_dn, 50)
else
histColor := col_dn
plot(hist, title="Histogram", style=plot.style_columns, color=histColor)
// 4.5 기준선
hline(0, "Zero Line", color=color.gray, linestyle=hline.style_dotted)
Open Range BreakoutOpen Range Breakout is a volatility harvesting tool designed to exploit directional expansion following major market opens. It isolates price action during initial liquidity injections to project institutional-grade zones that define a session's structural bias.
Core Methodology
The script uses a time-anchored engine to map critical supply and demand boundaries:
Anchor Identification: The algorithm captures the absolute High and Low within a user-defined window at the start of Tokyo, London, or New York sessions.
Structural Projection: It generates a Neutrality Box. A breach via candle close signals the transition from consolidation to expansion.
Mathematical Risk Modeling: Upon breakout, it calculates a 3:1 Risk-Reward framework based on fixed percentage volatility.
Session Dynamics
The system is optimized for the global liquidity cycle:
Session 1 (Asia): Maps early-day consolidation and range-bound liquidity.
Session 2 (Europe): Captures the London Move to identify the trend.
Session 3 (US): Analyzes high-volume New York opens for maximum momentum.
Key Features
Dynamic Price Mitigation: TP/SL zones stop extending the moment price touches the target or invalidation level to keep charts clean.
Volatility-Adjusted Levels: Stop Loss parameters are normalized to price percentage for consistency across Indices, Forex, or Crypto.
Minimalist Interface: Professional aesthetic with high-contrast visual cues for instant scannability.
Use Cases
Momentum Trading: Identifying the Origin of the Move post-open.
Mean Reversion: Recognizing failed breakouts when price returns inside the range.
Quantitative Backtesting: Benchmarking 3.0 RR targets across different session anchors.
Institutional Scanner FixHere is a professional Pine Script (Version 5) for TradingView. It is optimized to precisely identify the "Absorption" and "Reversal" signals.
What this script does for you:
Auto-Fibonacci: It automatically calculates the 0.618 Golden Ratio of the last 50 candles.
Volume Delta Check: It calculates the delta (buy volume minus sell volume) per candle.
Signal: It marks a "Buy Absorption" when the price touches the 0.618 level but the delta turns positive (green arrow).
The Volume Multiplier is your scanner's "sensitivity knob." It determines how much more volume compared to the average must flow for a signal to be classified as institutionally relevant. Here is the bank standard for calibration, based on your trading strategy and the asset's liquidity:
The rule-of-thumb values for the multiplier
Strategy Type | Recommended Value | Logic
Conservative (High Conviction) | 2.0 to 2.5 | Only extreme volume spikes are marked. Good for swing trades on a daily basis.
Standard (Day Trading) | 1.5 to 1.8 | The "sweet spot." Marks volume that is approximately 50-80% above average.
Aggressive (Scalping) | 1.2 to 1.3 | Reacts very quickly to small order flow changes but produces more "noise" (false signals).
SIV Trading LightSmartInVisions Trading Light (SIV Trading Light) is an open-source, multi-factor market regime and trade bias indicator developed by SmartInVisions GmbH.
The indicator combines:
- trend structure (fast/slow MAs + slope)
- momentum (RSI)
- choppiness (ADX)
- volatility risk (ATR%)
- volume participation
- optional higher-timeframe market regime filtering
into a single, easy-to-interpret LONG / NEUTRAL / SHORT bias score.
Built-in Presets
- Day-Trading (USA / Europe)
- Swing-Trading (USA / Europe)
- Investing (USA / Europe)
- Custom mode for advanced experimentation
Key Features
Multi-timeframe regime filter
Two MA overlays (Fast / Slow) with independent EMA / SMA selection
Clear on-chart badge and optional detailed breakdown table
Alert-ready score output
Usage Notes
For stable alerts, use “Once per bar close”
Presets override effective weights and thresholds; timeframes and MA settings remain manual
Credits
- Publisher: SmartInVisions GmbH
- Concept & design: Reiner Ernst (Founder & Managing Director, SmartInVisions GmbH)
- Implementation & iterative development: SmartInVisions GmbH + ChatGPT (OpenAI)
License
Mozilla Public License 2.0 (MPL-2.0)
This indicator is provided for research and educational purposes only.
No financial advice. Use at your own risk.
CURRY HEDGEFUND PRO (MTF/VWAP/ADX + Tight Trail) [no ta.adx]Improved HedgeFund Pro Script by Tony Curry for momentum and reversal trading. Primarily focused on ADX and directional movement.
jaems_Double BB[Alert]/W-Bottom/Dashboard// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © Kingjmaes
//@version=6
strategy("jaems_Double BB /W-Bottom/Dashboard", shorttitle="jaems_Double BB /W-Bottom/Dashboard", overlay=true, commission_type=strategy.commission.percent, commission_value=0.05, slippage=1, process_orders_on_close=true)
// ==========================================
// 1. 사용자 입력 (Inputs)
// ==========================================
group_date = "📅 백테스트 기간 설정"
startTime = input.time(timestamp("2024-01-01 00:00"), "시작일", group=group_date)
endTime = input.time(timestamp("2099-12-31 23:59"), "종료일", group=group_date)
group_bb = "📊 더블 볼린저 밴드 설정"
bb_len = input.int(20, "길이 (Length)", minval=5, group=group_bb)
bb_mult_inner = input.float(1.0, "내부 밴드 승수 (Inner A)", step=0.1, group=group_bb)
bb_mult_outer = input.float(2.0, "외부 밴드 승수 (Outer B)", step=0.1, group=group_bb)
group_w = "📉 W 바닥 패턴 설정"
pivot_left = input.int(3, "피벗 좌측 봉 수", minval=1, group=group_w)
pivot_right = input.int(1, "피벗 우측 봉 수", minval=1, group=group_w)
group_dash = "🖥️ 대시보드 설정"
show_dash = input.bool(true, "대시보드 표시", group=group_dash)
comp_sym = input.symbol("NASDAQ:NDX", "비교 지수 (GS Trend)", group=group_dash, tooltip="S&P500은 'SP:SPX', 비트코인은 'BINANCE:BTCUSDT' 등을 입력하세요.")
rsi_len = input.int(14, "RSI 길이", group=group_dash)
group_risk = "🛡 리스크 관리"
use_sl_tp = input.bool(true, "손절/익절 사용", group=group_risk)
sl_pct = input.float(2.0, "손절매 (%)", step=0.1, group=group_risk) / 100
tp_pct = input.float(4.0, "익절매 (%)", step=0.1, group=group_risk) / 100
// ==========================================
// 2. 데이터 처리 및 계산 (Calculations)
// ==========================================
// 기간 필터
inDateRange = time >= startTime and time <= endTime
// 더블 볼린저 밴드
basis = ta.sma(close, bb_len)
dev_inner = ta.stdev(close, bb_len) * bb_mult_inner
dev_outer = ta.stdev(close, bb_len) * bb_mult_outer
upper_A = basis + dev_inner
lower_A = basis - dev_inner
upper_B = basis + dev_outer
lower_B = basis - dev_outer
percent_b = (close - lower_B) / (upper_B - lower_B)
// W 바닥형 (W-Bottom) - 리페인팅 방지
pl = ta.pivotlow(low, pivot_left, pivot_right)
var float p1_price = na
var float p1_pb = na
var float p2_price = na
var float p2_pb = na
var bool is_w_setup = false
if not na(pl)
p1_price := p2_price
p1_pb := p2_pb
p2_price := low
p2_pb := percent_b
// 패턴 감지
bool cond_w = (p1_price < lower_B ) and (p2_price > p1_price) and (p2_pb > p1_pb)
is_w_setup := cond_w ? true : false
w_bottom_signal = is_w_setup and close > open and close > lower_A
if w_bottom_signal
is_w_setup := false
// GS 트렌드 (나스닥 상대 강도)
ndx_close = request.security(comp_sym, timeframe.period, close)
rs_ratio = close / ndx_close
rs_sma = ta.sma(rs_ratio, 20)
gs_trend_bull = rs_ratio > rs_sma
// RSI & MACD
rsi_val = ta.rsi(close, rsi_len)
= ta.macd(close, 12, 26, 9)
macd_bull = macd_line > signal_line
// ==========================================
// 3. 전략 로직 (Strategy Logic)
// ==========================================
long_cond = (ta.crossover(close, lower_A) or ta.crossover(close, basis) or w_bottom_signal) and inDateRange and barstate.isconfirmed
short_cond = (ta.crossunder(close, upper_B) or ta.crossunder(close, upper_A) or ta.crossunder(close, basis)) and inDateRange and barstate.isconfirmed
// 진입 실행 및 알람 발송
if long_cond
strategy.entry("Long", strategy.long, comment="Entry Long")
alert("Long Entry Triggered | Price: " + str.tostring(close), alert.freq_once_per_bar_close)
if short_cond
strategy.entry("Short", strategy.short, comment="Entry Short")
alert("Short Entry Triggered | Price: " + str.tostring(close), alert.freq_once_per_bar_close)
// 청산 실행
if use_sl_tp
if strategy.position_size > 0
strategy.exit("Exit Long", "Long", stop=strategy.position_avg_price * (1 - sl_pct), limit=strategy.position_avg_price * (1 + tp_pct), comment_loss="L-SL", comment_profit="L-TP")
if strategy.position_size < 0
strategy.exit("Exit Short", "Short", stop=strategy.position_avg_price * (1 + sl_pct), limit=strategy.position_avg_price * (1 - tp_pct), comment_loss="S-SL", comment_profit="S-TP")
// 별도 알람: W 패턴 감지 시
if w_bottom_signal
alert("W-Bottom Pattern Detected!", alert.freq_once_per_bar_close)
// ==========================================
// 4. 대시보드 시각화 (Dashboard Visualization)
// ==========================================
c_bg_head = color.new(color.black, 20)
c_bg_cell = color.new(color.black, 40)
c_text = color.white
c_bull = color.new(#00E676, 0)
c_bear = color.new(#FF5252, 0)
c_neu = color.new(color.gray, 30)
get_trend_color(is_bull) => is_bull ? c_bull : c_bear
get_pos_text() => strategy.position_size > 0 ? "LONG 🟢" : strategy.position_size < 0 ? "SHORT 🔴" : "FLAT ⚪"
get_pos_color() => strategy.position_size > 0 ? c_bull : strategy.position_size < 0 ? c_bear : c_neu
var table dash = table.new(position.top_right, 2, 7, border_width=1, border_color=color.gray, frame_color=color.gray, frame_width=1)
if show_dash and (barstate.islast or barstate.islastconfirmedhistory)
table.cell(dash, 0, 0, "METRIC", bgcolor=c_bg_head, text_color=c_text, text_size=size.small)
table.cell(dash, 1, 0, "STATUS", bgcolor=c_bg_head, text_color=c_text, text_size=size.small)
table.cell(dash, 0, 1, "GS Trend", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 1, gs_trend_bull ? "Bullish" : "Bearish", bgcolor=c_bg_cell, text_color=get_trend_color(gs_trend_bull), text_size=size.small)
rsi_col = rsi_val > 70 ? c_bear : rsi_val < 30 ? c_bull : c_neu
table.cell(dash, 0, 2, "RSI (14)", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 2, str.tostring(rsi_val, "#.##"), bgcolor=c_bg_cell, text_color=rsi_col, text_size=size.small)
table.cell(dash, 0, 3, "MACD", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 3, macd_bull ? "Bullish" : "Bearish", bgcolor=c_bg_cell, text_color=get_trend_color(macd_bull), text_size=size.small)
w_status = w_bottom_signal ? "DETECTED!" : is_w_setup ? "Setup Ready" : "Waiting"
w_col = w_bottom_signal ? c_bull : is_w_setup ? color.yellow : c_neu
table.cell(dash, 0, 4, "W-Bottoms", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 4, w_status, bgcolor=c_bg_cell, text_color=w_col, text_size=size.small)
table.cell(dash, 0, 5, "Position", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 5, get_pos_text(), bgcolor=c_bg_cell, text_color=get_pos_color(), text_size=size.small)
last_sig = long_cond ? "BUY SIGNAL" : short_cond ? "SELL SIGNAL" : "HOLD"
last_col = long_cond ? c_bull : short_cond ? c_bear : c_neu
table.cell(dash, 0, 6, "Signal", bgcolor=c_bg_cell, text_color=c_text, text_halign=text.align_left, text_size=size.small)
table.cell(dash, 1, 6, last_sig, bgcolor=c_bg_cell, text_color=last_col, text_size=size.small)
// ==========================================
// 5. 시각화 (Visualization)
// ==========================================
p_upper_B = plot(upper_B, "Upper B", color=color.new(color.red, 50))
p_upper_A = plot(upper_A, "Upper A", color=color.new(color.red, 0))
p_basis = plot(basis, "Basis", color=color.gray)
p_lower_A = plot(lower_A, "Lower A", color=color.new(color.green, 0))
p_lower_B = plot(lower_B, "Lower B", color=color.new(color.green, 50))
fill(p_upper_B, p_upper_A, color=color.new(color.red, 90))
fill(p_lower_A, p_lower_B, color=color.new(color.green, 90))
plotshape(long_cond, title="Long", style=shape.triangleup, location=location.belowbar, color=color.green, size=size.small)
plotshape(short_cond, title="Short", style=shape.triangledown, location=location.abovebar, color=color.red, size=size.small)
james S/R Trend Pro v6//@version=6
strategy("james S/R Trend Pro v6", overlay=true,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=100,
commission_type=strategy.commission.percent,
commission_value=0.05,
slippage=1)
// --- 사용자 입력 (Inputs) ---
group_date = "1. 백테스트 기간"
start_date = input.time(timestamp("2024-01-01 00:00:00"), "시작일", group=group_date)
end_date = input.time(timestamp("2026-12-31 23:59:59"), "종료일", group=group_date)
is_within_date = time >= start_date and time <= end_date
group_main = "2. 지표 설정 (S/R & Trend)"
lookback_sr = input.int(15, "지지/저항 탐색 기간", minval=5, group=group_main)
atr_period = input.int(14, "ATR 기간", group=group_main)
atr_mult = input.float(3.5, "추세선 민감도", step=0.1, group=group_main)
group_color = "3. 다크모드 색상 설정"
trend_up_color = input.color(color.rgb(200, 200, 200), "상승 추세선 (밝은 회색)", group=group_color)
trend_down_color = input.color(color.rgb(255, 255, 255), "하락 추세선 (흰색)", group=group_color)
res_color = input.color(#ff1100, "저항선 (네온 레드)", group=group_color)
sup_color = input.color(#00e1ff, "지지선 (네온 사이언)", group=group_color)
// --- 데이터 처리 (Calculations) ---
// 1. 추세선 (검은색 배경용 고대비 설정)
= ta.supertrend(atr_mult, atr_period)
// 2. 지지/저항선 (피벗 기반)
ph = ta.pivothigh(high, lookback_sr, lookback_sr)
pl = ta.pivotlow(low, lookback_sr, lookback_sr)
var float res_line = na
var float sup_line = na
if not na(ph)
res_line := high
if not na(pl)
sup_line := low
// --- 전략 로직 (Condition) ---
long_condition = direction < 0 and ta.crossover(close, sup_line)
short_condition = direction > 0 and ta.crossunder(close, res_line)
// --- 주문 실행 (Execution) ---
if is_within_date
if long_condition
strategy.entry("Long", strategy.long, comment="BUY")
if short_condition
strategy.entry("Short", strategy.short, comment="SHORT")
// 청산 로직
if strategy.position_size > 0
strategy.exit("TP-L", "Long", limit=res_line, qty_percent=50, comment="분할익절")
if ta.crossunder(close, trend_line)
strategy.close("Long", comment="추세이탈")
if strategy.position_size < 0
strategy.exit("TP-S", "Short", limit=sup_line, qty_percent=50, comment="분할익절")
if ta.crossover(close, trend_line)
strategy.close("Short", comment="추세이탈")
// --- 시각화 (Visualization - 다크 모드 최적화) ---
// 1. 추세선: 검은 배경에서 잘 보이도록 하얀색/회색 계열 사용
plot(trend_line, color=direction < 0 ? trend_up_color : trend_down_color, linewidth=2, title="Trend Line")
// 2. 지지/저항선: 네온 컬러로 시인성 극대화
plot(res_line, color=color.new(res_color, 0), style=plot.style_linebr, linewidth=2, title="Resistance")
plot(sup_line, color=color.new(sup_color, 0), style=plot.style_linebr, linewidth=2, title="Support")
// 3. 진입 시그널 라벨
plotshape(long_condition, style=shape.triangleup, location=location.belowbar, color=sup_color, size=size.small, title="Buy Label")
plotshape(short_condition, style=shape.triangledown, location=location.abovebar, color=res_color, size=size.small, title="Short Label")
// 4. 추세 배경색 (매우 옅게 설정하여 캔들을 방해하지 않음)
fill_color = direction < 0 ? color.new(sup_color, 90) : color.new(res_color, 90)
fill(plot(trend_line), plot(close), color=fill_color, title="Trend Fill")
Premium Trading Dashboard 💎 Premium Trading Dashboard - Comprehensive Description
This Pine Script v5 indicator is an elite-level all-in-one trading system designed for sophisticated traders on Bursa Malaysia. It combines institutional-grade analysis with smart money detection in a premium visual dashboard.
🎯 Core Purpose:
A comprehensive decision-making tool that analyzes 10+ technical dimensionssimultaneously to provide clear BUY/SELL signals, position sizing recommendations, and complete trade plans with entry/exit levels.

🔥 Key Features & Analysis Systems:
1. 📊 Multi-Dimensional Scoring System
Technical Rating (0-100)
• Moving Average Signals (25 pts): Price vs SMA20/50/200, MA alignment
• RSI Analysis (15 pts): Optimal 50-60 range, avoid extremes
• MACD Signals (15 pts): Line crossovers, histogram momentum
• Bollinger Bands (10 pts): Price position relative to bands
• Stochastic (10 pts): Oversold/overbought conditions
• Volume Confirmation (10 pts): Above MA20 and MA50
• ADX Trend Strength (15 pts): Strong trends above 25
Rating Levels:
• 🚀 80+: STRONG BUY
• 📈 65-79: BUY
• ↔️ 50-64: NEUTRAL
• 📉 35-49: WEAK
• 🔻 <35: VERY WEAK

Shark/Smart Money Rating (0-100)
Detects institutional and smart money activity:
• Volume Spikes (30 pts): 2x+ above MA20
• Large Candles (20 pts): 1.5x+ average range
• Strong Candles (25 pts): 70%+ body-to-range ratio
• Accumulation/Distribution (15 pts): A/D line momentum
Shark Signals:
• 🦈💰 BUYING HARD (70+): Aggressive institutional accumulation
• 🦈📈 BUYING (50+): Smart money entering
• 🦈💸 SELLING HARD (70+): Distribution phase
• 🦈📉 SELLING (50+): Smart money exiting
• ⚡ ACTIVE (40+): Moderate activity
• 😴 QUIET (<40): Low institutional interest

Momentum Score (0-100)
Measures price acceleration across multiple timeframes:
• 1-Day Change (15 pts): >3% = strong, >1% = moderate
• 5-Day Change (15 pts): >5% = strong, >2% = moderate
• 20-Day Change (20 pts): >10% = strong, >5% = moderate
• RSI Momentum (25 pts): 60-70 optimal zone
• MACD Momentum (25 pts): Histogram rising + line above signal
Momentum Levels:
• 🚀 80+: VERY STRONG
• ⬆️ 65-79: STRONG
• ➡️ 50-64: MODERATE
• ⬇️ 35-49: WEAK
• 💤 <35: VERY WEAK

Quality Rating (QR Score 0-100)
Fundamental quality indicators:
• Price vs Key MAs (30 pts): Above SMA50 & SMA200
• MA Alignment (20 pts): Perfect 7>20>50>200 hierarchy
• Volume Consistency (20 pts): Above MA50, positive growth
• 52W Position (15 pts): Price in upper range (70%+)
• Trend Strength ADX (15 pts): Above 40
QR Rating:
• ⭐⭐⭐⭐⭐ 80+: EXCELLENT
• ⭐⭐⭐⭐ 65-79: GOOD
• ⭐⭐⭐ 50-64: AVERAGE
• ⭐⭐ 35-49: BELOW AVG
• ⭐ <35: POOR

2. 🔄 Market Phase Detection (Wyckoff Cycle)
Advanced cycle analysis identifying the 4 key market phases:
• 1️⃣ ACCUMULATION 🌊: "Smart money accumulating"
◦ Sideways at bottom, increasing volume, A/D rising
◦ Best phase for building positions
• 2️⃣ MARKUP 🚀: "Active buying phase"
◦ Strong uptrend, price above all MAs
◦ Momentum building, breakouts occurring
• 3️⃣ DISTRIBUTION ⚠️: "Smart money distributing"
◦ Sideways at top, high volume, A/D falling
◦ Warning phase - prepare to exit
• 4️⃣ MARKDOWN 📉: "Active selling phase"
◦ Downtrend, price below MAs
◦ Avoid new entries
• ↔️ TRANSITION: Between phases

3. 💎 Conviction Level (Composite Score)
Weighted combination of all ratings:
• Technical (30%) + Shark (25%) + Momentum (25%) + QR (20%)
Conviction Levels:
• 💎💎💎 80+: VERY HIGH - Maximum confidence
• 💎💎 65-79: HIGH - Strong confidence
• 💎 50-64: MODERATE - Reasonable confidence
• ⚠️ 35-49: LOW - Weak conviction
• ❌ <35: VERY LOW - Avoid

4. 📋 Analyst Rating (Overall Score)
Final composite recommendation:
• Technical (35%) + Shark (25%) + Momentum (25%) + QR (15%)
Analyst Ratings:
• ⭐⭐⭐⭐⭐ 80+: STRONG BUY
• ⭐⭐⭐⭐ 65-79: BUY
• ⭐⭐⭐ 50-64: HOLD
• ⭐⭐ 35-49: WEAK
• ⭐ <35: AVOID

5. 🎯 Trading Signal Generation (LONG Only)
Smart signal logic with multiple confirmations:
• 🚀 STRONG BUY: Tech 70+, Momentum 60+, Volume spike, Price > SMA20, RSI < 70
• 📈 BUY: Tech 60+, Momentum 50+, Price > SMA20, RSI < 65
• ⏳ WAIT & WATCH: Tech/Conviction 50+
• 🛑 AVOID: Below thresholds

6. 💰 Position Size Recommendation
Risk-based position sizing (% of capital):
• 💰 FULL (5%): Conviction 75+ - Highest confidence
• 💵 LARGE (3-4%): Conviction 60-74 - Strong confidence
• 💳 MEDIUM (2-3%): Conviction 45-59 - Moderate confidence
• 💸 SMALL (1-2%): Conviction 30-44 - Low confidence
• 🚫 AVOID: Conviction <30

7. 📊 Volume Analysis
Real-time volume assessment:
• 🔥🔥🔥 EXTREME: 3x+ above MA20
• 🔥🔥 VERY HIGH: 2x+ above MA20
• 🔥 HIGH: 1.5x+ above MA20
• ⬆️ ABOVE AVG: 1x-1.5x MA20
• ➡️ NORMAL: 0.7x-1x MA20
• ⬇️ LOW: Below 0.7x MA20

8. 📈 Trend Analysis
Dynamic trend detection with duration tracking:
• 📈 STRONG BULLISH: All MAs perfectly aligned (7>20>50>200)
• 📈 BULLISH: Major MAs aligned (20>50>200)
• 📉 STRONG BEARISH: All MAs reversed (7<20<50<200)
• 📉 BEARISH: Major MAs reversed
• ↔️ SIDEWAYS: Mixed alignment
Trend Duration Counter: Shows how many bars trend has persisted

9. 🔥 Catalysts Detection
Identifies multiple positive triggers simultaneously:
• 52-week high breakout
• Smart money buying
• Volume spike (2x+)
• Strong daily move (3%+)
• Bollinger Band breakout
Catalyst Status:
• 🔥🔥🔥 MULTIPLE (4-5): Explosive setup
• 🔥🔥 STRONG (3): Strong setup
• 🔥 PRESENT (2): Good setup
• ⚡ MINOR (1): Weak setup
• ➖ NONE (0): No catalysts

10. 🎮 Trading Mode Recommendation
Suggests optimal trading strategy:
• 🎯 TREND FOLLOW: ADX 40+, strong uptrend
• 📊 RANGE TRADE: ADX <20, sideways between SMAs
• 🦈 SMART MONEY: Following institutional activity
• 🚀 BREAKOUT: Breaking 52W or period high
• ⚡ MOMENTUM: Strong momentum score
• ⏸️ WAIT: No clear opportunity

11. ✅ Overall Status
Clear action recommendation:
• ✅ READY TO BUY: Analyst 75+, Conviction 70+
• 🟢 GOOD TO BUY: Analyst 60+, Conviction 55+
• 🟡 MONITOR: Analyst 45+
• 🟠 CAUTION: Analyst 30-44
• 🔴 AVOID: Analyst <30

12. 💰 Complete Trade Plan
Automatically calculates:
• 🎯 Entry Price: Current close
• 🛑 Stop Loss: ATR-based (2x for big cap, 2.5x for penny stocks)
• 💚 TP1: 1.5R risk-reward
• 💎 TP2: 2.5R risk-reward
• 🏆 TP3: 4.0R risk-reward
• 📊 Risk/Share: Amount risked per share

🎨 Visual Components:
Premium Dashboard (24-Row Table)
• Dark theme with blue frame (#0a0e27 bg, #1e88e5 frame)
• Gold headers (#ffd54f) for section labels
• Color-coded values based on conditions
• Customizable position: 4 corner options
• Real-time updates on every bar
Additional Indicators:
• Moving Averages: SMA 7/20/50/200, EMA 9/21
• Bollinger Bands: 20-period, 2 std dev
• 52-Week High/Low: 252 trading days
• Breakout Lines: Customizable period

🔔 Built-in Alerts:
1. Strong Buy Signal: Tech + Momentum + Volume aligned
2. Shark Buy Alert: Institutional buying detected
3. Multiple Catalysts: 3+ triggers present
4. Strong Buy Rating: Analyst score reaches 80+

⚙️ Customizable Parameters:
• Technical: RSI period, MACD settings
• Shark Detection: Volume multiplier, candle size
• Breakout: Lookback period
• TP/SL: Separate multipliers for big cap vs penny stocks
• Display: Dashboard on/off, position
• Risk-Reward Ratios: Customize TP1/2/3 levels

🎯 Best Use Cases:
✅ Bursa Malaysia LONG-only trading
✅ Swing trading with institutional confirmation
✅ Multi-timeframe analysis (Daily, 4H, 1H)
✅ Position sizing and risk management
✅ Identifying accumulation phases early
✅ High-probability breakout trading
✅ Avoiding distribution zones

🚀 Trading Workflow:
1. Check Overall Status - Ready to buy?
2. Review Analyst Rating - Overall score
3. Confirm Market Phase - Accumulation/Markup best
4. Verify Shark Activity - Smart money buying?
5. Check Catalysts - Multiple triggers?
6. Review Trade Plan - Entry/SL/TP levels
7. Set Position Size - Based on conviction
8. Monitor Trend and Volume - Stay aligned

This is a professional-grade institutional analysis tool condensed into one powerful indicator, perfect for serious traders who want data-driven decisions with smart money confirmation. 💎📈
Bullish Trend DiamondTo create a Blue Diamond that specifically signals when a trend is turning bullish, we usually look for a "confluence" of factors (price action + momentum).
A common and effective way to define a bullish reversal is using a Moving Average Crossover combined with the RSI moving out of the oversold zone.






















