Engulfing Swing Low Strategy Indicatorcisd with fvg entry model on the 1min this will help with finding the swing low and helping those struggling.
Penunjuk dan strategi
Second Pullback Finderlion pull back rocks, by using a familiar trend trading strategy, i have enhance a little more to this. correct positioning of market structure will help make these signals come alive
Previous 10 Weekly Highs/Lowssrgeraheahdshje5hgarygsgwrsgrsfdsfagerhsdhesthstjhezdsthestdhsedtrheghshhsrhshnrhnrfdndytndyt
Byquan ADX RSI EMA9 Cross AlertThis indicator is used when the ADX exceeds the 40 threshold to look for potential reversals, confirmed by the crossover between the RSI and the RSI-based moving average, as well as the EMA 9.
Byquan ADX‑RSI Cross AlertThis indicator is used when the ADX exceeds the 40 threshold to look for potential reversals, confirmed by the crossover between the RSI and the RSI-based moving average, as well as the EMA 9.
User-Defined Volume Average ComparisonThe User-Defined Volume Average Comparison indicator empowers traders to analyze volume trends by comparing short-term and long-term volume moving averages. With customizable periods, visual cues, and built-in alerts, it’s a versatile tool for identifying volume-driven market shifts across any timeframe, ideal for stocks, forex, crypto, and more.Key Features: Customizable Periods: Set short and long periods (in bars) to match your trading strategy.
Conditional Highlighting:
Green Background: Short-period volume average ≥ long-period volume average, signaling strong short-term volume.
Red Background: Short-period volume average < long-period volume average / 2, indicating low short-term volume.
Optional Labels: Toggle labels to display conditions on the chart (default: off).
Alerts: Receive notifications for key conditions: “Short ≥ Long Alert” for high volume periods.
“Short < Long/2 Alert” for low volume periods.
Visualized Averages: Plots short-period (blue) and long-period (red) volume moving averages for easy analysis.
How It Works:
The indicator calculates the simple moving average (SMA) of volume over user-defined short and long periods, then compares them: A green background and alert trigger when the short-period average meets or exceeds the long-period average, suggesting increased volume activity.
A red background and alert trigger when the short-period average falls below half of the long-period average, indicating reduced volume.
Labels (if enabled) display “Short ≥ Long” or “Short < Long/2” for clarity.
Settings: Short Period (Bars): Number of bars for the short-term volume average (default: 3).
Long Period (Bars): Number of bars for the long-term volume average (default: 50).
Show Labels: Enable or disable condition labels (default: off).
Use Cases: Trend Confirmation: Use green alerts to confirm high volume during breakouts or trend continuations.
Divergence Detection: Identify low volume periods with red alerts to spot potential reversals or weak trends.
Multi-Timeframe Analysis: Apply on any timeframe (e.g., 4H, 1D), with periods based on bars (e.g., 3 bars on 4H = 12 hours).
Notes: Periods are based on the chart’s timeframe (bars). For shorter timeframes, consider increasing period values for more significant results.
Set alerts to “Once Per Bar Close” for reliable notifications.
Combine with price-based indicators to enhance trading decisions.
Why Use This Indicator?
This indicator offers a flexible, alert-driven approach to volume analysis, helping traders of all levels make informed decisions. Its intuitive design and customizable settings make it a valuable addition to any trading setup.
Improved Breakout-Retest Strategy (5M Entry)This strategy combines the strength of a higher timeframe structure with precision 5-minute entries. It identifies consolidation zones on the 4H chart, waits for a strong breakout in the direction of the trend, and then enters on a retest confirmed by an engulfing candle on the 5-minute timeframe. A 200 EMA filter ensures trades align with the dominant trend, while a strict 1:3 risk-to-reward ratio maximizes profitability. It's designed to reduce false breakouts and optimize small account growth with tight stop losses and high probability setups during active trading hours.
Short-Term Holder MVRVThis script calculates and visualizes the Market Value to Realized Value (MVRV) ratio for Bitcoin, specifically focusing on short-term holders (STH). The MVRV ratio is a key on-chain metric that compares Bitcoin's market cap to its realized cap (the aggregate cost basis of all coins). It helps traders identify overbought and oversold conditions in the market.
Key Features
1. Moving Averages (Customizable)
The script allows users to apply different moving averages to smooth the MVRV data:
EMA (Exponential Moving Average)
SMA (Simple Moving Average)
SMMA/RMA (Smoothed/Rolling Moving Average)
WMA (Weighted Moving Average)
VWMA (Volume-Weighted Moving Average)
HMA (Hull Moving Average)
2. Core Calculation
Fetches BTC_MVRV data from TradingView's security function.
Computes a moving average (default: 238-period WMA) of the MVRV values.
Calculates the Ratio_MVRV as:
text
Ratio_MVRV = Current MVRV / Moving Average of MVRV
A bullish signal is generated when Ratio_MVRV > 1 (market is heating up).
A bearish signal is generated when Ratio_MVRV < 1 (market is cooling down).
3. Visual Output
Main Plot:
A line chart showing Ratio_MVRV.
Orange when bullish (Ratio_MVRV > 1).
Purple when bearish (Ratio_MVRV < 1).
Horizontal Line:
A dotted white line at 1.0, acting as a threshold.
Table Display:
A small table in the top-right corner showing "↑ Bull" (green) or "↓ Bear" (red) based on the current market state.
4. Alerts
Triggers TradingView alerts when the market state changes between bullish and bearish.
Interpretation & Trading Signals
When Ratio_MVRV > 1 (Bullish):
Suggests Bitcoin is gaining momentum, possibly entering an overbought phase.
Could indicate a good time to hold or accumulate, but extreme highs may signal a potential top.
When Ratio_MVRV < 1 (Bearish):
Suggests Bitcoin is undervalued, possibly in an oversold phase.
Could indicate a buying opportunity, but prolonged lows may signal further downside.
Default Settings & Customization
Length: 238 (adjustable, default based on common long-term trend analysis).
Moving Average Type: WMA (Weighted Moving Average).
Users can modify these settings in the Inputs menu in TradingView.
Use Case
Helps traders identify market cycles by tracking short-term holder behavior.
Works best as a confirmation tool alongside other indicators (e.g., RSI, MACD).
Useful for swing traders and long-term investors looking for trend reversals.
Supertrend AT v1.0📌 Supertrend AT v1.0 — Strategy Overview
Overview
Supertrend AT v1.0 is a fully automated trading strategy based on the Supertrend indicator.
It identifies trend reversals and places long or short entries accordingly, with built-in position sizing, stop-loss/take-profit management, and commission-aware calculations.
🚀 Key Features
✅ Entry Signals Based on Trend Reversals
Long entry when Supertrend changes from downtrend to uptrend
Short entry when Supertrend changes from uptrend to downtrend
✅ Risk-Based Position Sizing
Calculates position size so that a stop-loss only risks a fixed percentage (RPT) of total capital
✅ Reward/Risk Ratio-Based Target Price Calculation
Take-profit price is computed not by price difference, but by actual loss and desired reward-to-risk (RR) ratio
✅ Fully Commission-Aware
Commission is factored into entry, stop-loss, and take-profit price calculations
Ensure commission settings match in both the input panel and the strategy properties tab
✅ Dual Language Support
Switch between English and Korean interface
✅ Visual Trade Levels & Info Display
Entry, stop, and target prices plotted on the chart
Real-time open PnL and equity shown in an on-screen table
⚙️ How to Use
Apply Strategy to Chart
Load the strategy and configure the following parameters in both the Input tab and the Properties tab:
Commission rate (e.g., 0.05%)
Market decimal precision (e.g., 4 for 0.0001)
Adjust Entry Parameters
RPT: Risk per trade as a percentage of your total equity (e.g., 2%)
RR: Reward-to-risk ratio (e.g., 3 = target profit is 3× the potential loss)
Choose whether to allow Long or Short trades
For Auto-Trading Integration
Make sure the minimum order size is valid for your exchange
If the calculated quantity is below the exchange's minimum unit, it may result in errors
⚠️ Important Notes
❗ Non-Repainting — Supertrend is based on confirmed candles and does not repaint
❗ Backtest-Only — The strategy is for signal generation only and does not execute real trades without external automation
❗ Margin-Based Calculations — Default settings assume margin trading; adjust accordingly
📄 License & Disclaimer
This strategy is licensed under the Mozilla Public License 2.0.
This script is not financial advice. Use at your own risk.
Always test thoroughly with backtesting and paper trading before using in live markets.
FVG MTF + 50%
// This indicator identifies Fair Value Gaps (FVGs) on M15, H1, and H4 timeframes, highlights them on the chart as colored boxes, draws the 50% median line,
// and displays price labels for the 0%, 50%, and 100% levels of each gap.
// It also tracks when gaps are “filled” (mitigated) and logs counts on a dashboard, providing real-time metrics on open/filled FVGs for liquidity analysis.
//
// Key Features:
// 1. Multi‐Timeframe Detection: Scans M15, H1, H4 for three‐bar FVG patterns using a configurable threshold.
// 2. Colored Zones and Median Lines: Draws bullish (green) and bearish (red) gap boxes, bordered in white, with a dashed white line at the midpoint.
// 3. Price Labels: Optionally annotates each gap with “0% FVG = $X,” “50% FVG = $Y,” and “100% FVG = $Z” at the moment of detection.
// 4. Gap Mitigation: Monitors price re‐entry into a gap; when filled, it removes the box and logs a dashed line at the fill price.
// 5. Dashboard: Counts total bullish/bearish FVGs and calculates the percentage filled on each timeframe.
// 6. Alerts: Configurable alerts for new gap creation and fill events at 0%, 50%, and 100% levels.
//
// Implementation Details:
// • Detection Logic: A three-bar gap occurs when the middle bar’s low is above the prior bar’s high (bullish) or its high is below the prior bar’s low (bearish).
// A “threshold” parameter filters minor gaps based on relative size.
// • Data Structures: Uses Pine v6’s user‐defined “fvg” type to store gap high, low, direction, and timestamp. Arrays track open boxes, lines, labels for each timeframe.
// • Drawing:
// – box.new() draws transparent rectangles spanning 500 bars into the future.
// – line.new() draws dashed median lines and mitigation lines when gaps are filled.
// – label.new() places price annotations at the current right edge with textalign=text.align_right.
// • Dashboard: table.new() creates a 3×3 panel showing “Bullish”/“Bearish” counts and “Mitigated” percentages in real time.
// • Alerts: alertcondition() triggers when new gaps form or are mitigated at specified percentages.
//
// Usage:
// • Add to chart: Apply the script; enable or disable timeframes via checkboxes (Enable FVG M15, H1, H4).
// • Configure text labels: Toggle “Text” to show or hide on‐chart price annotations.
// • Monitor dashboard: Observe counts and fill rates to gauge market liquidity pressure.
// • Set alerts: Enable alerts for specific levels (0%, 50%, 100%) and timeframes as needed.
//
// Potential Extensions:
// • Customizable lookback on fill monitoring (beyond “showLast” parameter).
// • Dynamic threshold based on ATR or volatility metrics instead of static percentage.
// • Integration with order‐flow or volume data to refine gap significance.
// • Expanded timeframes (D1, W, etc.) for higher‐timeframe liquidity profiling.
//
// =============================================================================
//
// © 2025. Licensed under CC BY‐NC‐SA 4.0 International.
// Feel free to reference academic works (Hasbrouck, Bouchaud, O’Hara) for theoretical context.
//
// End of Description.
Spot Overlapping FVG - [Fandesoft Trading Academy]🧠 Overview
This script plots Higher Timeframe Fair Value Gaps (FVGs) with full visibility and precise placement on lower timeframe charts. Each timeframe (1D–12M) has its own independent toggle, custom label, and box styling, allowing traders to analyze broader market structures across swing and long-term horizons.
🎯 Features
✅ Identifies Fair Value Gaps using a 3-candle logic (candle 1 high vs candle 3 low, and vice versa).
✅ Plots HTF FVG boxes aligned to lower timeframes for comprehensive multi-timeframe analysis.
✅ Supports custom timeframes: 1D to 12M, with individual toggles.
✅ Full visual customization: border color, bullish/bearish box opacity, label font size and color.
✅ Modular inputs to enable or disable specific timeframes for performance.
✅ Uses barstate.isconfirmed logic for stable, non-repainting plots.
⚙️ How It Works
The script requests higher timeframe data via request.security. For each confirmed bar, it checks for FVGs based on:
Bullish FVG: low >= high
Bearish FVG: low >= high
If a gap is detected, a box is plotted between candle 1 and candle 3 using box.new().
Timeframe toggles ensure calculations remain within the limit of 40 request.security calls.
📈 Use Cases
Swing traders analyzing daily to monthly imbalances for medium-term strategies.
Position traders seeking to identify long-term imbalance zones for entries or exits.
ICT methodology practitioners visualizing higher timeframe displacement and inefficiencies.
Traders layering multiple HTF FVGs to build confluence-based trading decisions.
Overlapping FVG - [Fandesoft Trading Academy]🧠 Overview
This script plots Higher Timeframe Fair Value Gaps (FVGs) with full visibility and precise placement on lower timeframe charts. Each timeframe (30s–15m) has its own independent toggle, custom label, and box styling, allowing traders to analyze market structures in detail.
🎯 Features
✅ Identifies Fair Value Gaps using a 3-candle logic (candle 1 high vs candle 3 low, and vice versa).
✅ Plots HTF FVG boxes aligned to lower timeframes for intraday analysis.
✅ Supports custom timeframes: 30s to 15m, with individual toggles.
✅ Full visual customization: border color, bullish/bearish box opacity, label font size and color.
✅ Modular inputs to enable or disable specific timeframes for performance.
✅ Uses barstate.isconfirmed logic for stable, non-repainting plots.
⚙️ How It Works
The script requests higher timeframe data via request.security. For each confirmed bar, it checks for FVGs based on:
Bullish FVG: low >= high
Bearish FVG: low >= high
If a gap is detected, a box is plotted between candle 1 and candle 3 using box.new().
Timeframe toggles ensure calculations remain within the limit of 40 request.security calls.
📈 Use Cases
Scalpers and intraday traders analyzing microstructure.
ICT methodology practitioners visualizing displacement and inefficiencies.
Traders layering multiple FVG timeframes for confluence.
3.RSI LIJO 45*55//@version=6
indicator(title="3.RSI LIJO 45*55", shorttitle="RSI-LIJO-45-55", format=format.price, precision=2, timeframe="", timeframe_gaps=true)
rsiLengthInput = input.int(9, minval=1, title="RSI Length", group="RSI Settings")
rsiSourceInput = input.source(close, "Source", group="RSI Settings")
calculateDivergence = input.bool(false, title="Calculate Divergence", group="RSI Settings", display=display.data_window, tooltip="Calculating divergences is needed in order for divergence alerts to fire.")
change = ta.change(rsiSourceInput)
up = ta.rma(math.max(change, 0), rsiLengthInput)
down = ta.rma(-math.min(change, 0), rsiLengthInput)
rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - (100 / (1 + up / down))
// Change RSI line color based on bands
rsiColor = rsi > 50 ? color.green : rsi < 50 ? color.red : color.white
rsiPlot = plot(rsi, "RSI", color=rsiColor)
rsiUpperBand = hline(55, "RSI Upper Band", color=color.rgb(5, 247, 22))
midline = hline(50, "RSI Middle Band", color=color.new(#787B86, 50))
rsiLowerBand = hline(45, "RSI Lower Band", color=color.rgb(225, 18, 14))
fill(rsiUpperBand, rsiLowerBand, color=color.rgb(126, 87, 194, 90), title="RSI Background Fill")
midLinePlot = plot(50, color=na, editable=false, display=display.none)
fill(rsiPlot, midLinePlot, 100, 55, top_color=color.new(color.green, 0), bottom_color=color.new(color.green, 100), title="Overbought Gradient Fill")
fill(rsiPlot, midLinePlot, 45, 0, top_color=color.new(color.red, 100), bottom_color=color.new(color.red, 0), title="Oversold Gradient Fill")
// Smoothing MA inputs
GRP = "Smoothing"
TT_BB = "Only applies when 'SMA + Bollinger Bands' is selected. Determines the distance between the SMA and the bands."
maTypeInput = input.string("SMA", "Type", options= , group=GRP, display=display.data_window)
maLengthInput = input.int(31, "Length", group=GRP, display=display.data_window)
bbMultInput = input.float(2.0, "BB StdDev", minval=0.001, maxval=50, step=0.5, tooltip=TT_BB, group=GRP, display=display.data_window)
var enableMA = maTypeInput != "None"
var isBB = maTypeInput == "SMA + Bollinger Bands"
// Smoothing MA Calculation
ma(source, length, MAtype) =>
switch MAtype
"SMA" => ta.sma(source, length)
"SMA + Bollinger Bands" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
// Smoothing MA plots
smoothingMA = enableMA ? ma(rsi, maLengthInput, maTypeInput) : na
smoothingStDev = isBB ? ta.stdev(rsi, maLengthInput) * bbMultInput : na
plot(smoothingMA, "RSI-based MA", color=color.yellow, display=enableMA ? display.all : display.none, editable=enableMA)
bbUpperBand = plot(smoothingMA + smoothingStDev, title="Upper Bollinger Band", color=color.green, display=isBB ? display.all : display.none, editable=isBB)
bbLowerBand = plot(smoothingMA - smoothingStDev, title="Lower Bollinger Band", color=color.green, display=isBB ? display.all : display.none, editable=isBB)
fill(bbUpperBand, bbLowerBand, color=isBB ? color.new(color.green, 90) : na, title="Bollinger Bands Background Fill", display=isBB ? display.all : display.none, editable=isBB)
// Divergence
lookbackRight = 5
lookbackLeft = 5
rangeUpper = 60
rangeLower = 5
bearColor = color.red
bullColor = color.green
textColor = color.white
noneColor = color.new(color.white, 100)
_inRange(bool cond) =>
bars = ta.barssince(cond)
rangeLower <= bars and bars <= rangeUpper
plFound = false
phFound = false
bullCond = false
bearCond = false
rsiLBR = rsi
if calculateDivergence
//------------------------------------------------------------------------------
// Regular Bullish
// rsi: Higher Low
plFound := not na(ta.pivotlow(rsi, lookbackLeft, lookbackRight))
rsiHL = rsiLBR > ta.valuewhen(plFound, rsiLBR, 1) and _inRange(plFound )
// Price: Lower Low
lowLBR = low
priceLL = lowLBR < ta.valuewhen(plFound, lowLBR, 1)
bullCond := priceLL and rsiHL and plFound
//------------------------------------------------------------------------------
// Regular Bearish
// rsi: Lower High
phFound := not na(ta.pivothigh(rsi, lookbackLeft, lookbackRight))
rsiLH = rsiLBR < ta.valuewhen(phFound, rsiLBR, 1) and _inRange(phFound )
// Price: Higher High
highLBR = high
priceHH = highLBR > ta.valuewhen(phFound, highLBR, 1)
bearCond := priceHH and rsiLH and phFound
plot(
plFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish",
linewidth = 2,
color = (bullCond ? bullColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bullCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bullish Label",
text = " Bull ",
style = shape.labelup,
location = location.absolute,
color = bullColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
plot(
phFound ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish",
linewidth = 2,
color = (bearCond ? bearColor : noneColor),
display = display.pane,
editable = calculateDivergence)
plotshape(
bearCond ? rsiLBR : na,
offset = -lookbackRight,
title = "Regular Bearish Label",
text = " Bear ",
style = shape.labeldown,
location = location.absolute,
color = bearColor,
textcolor = textColor,
display = display.pane,
editable = calculateDivergence)
alertcondition(bullCond, title='Regular Bullish Divergence', message="Found a new Regular Bullish Divergence, Pivot Lookback Right number of bars to the left of the current bar.")
alertcondition(bearCond, title='Regular Bearish Divergence', message='Found a new Regular Bearish Divergence, Pivot Lookback Right number of bars to the left of the current bar.')
我的策略
The specific implementation of the dominant_cycle function needs to be done using ta.ht_dominant_cycle_period or by calculating the rate of change of the phase, which requires detailed technical processing in actual coding.
How to use the "Market Mathieu Oscillator":
• Green background (stable zone): The market is likely to be in a consolidation or mean reversion state. Trend strategies are riskier, while range trading or option seller strategies may be more dominant.
• Yellow background (warning zone): The market has entered a "flammable" state where resonance may occur. Counter-trend trading should be reduced, and preparations for potential breakthroughs should be started, tightening stops.
• Red background (unstable/resonance zone): **Highest alert! ** This shows that the market is not only "flammable", but also has a "spark" (strong driving force). This is the stage where the trend is most likely to accelerate and sustain itself. Counter-trend operations should be strictly avoided, and trend-following strategies should be actively adopted.
• Q Oscillator:
• The rising q value means that emotions are moving to extremes and the "fuel" of the trend is increasing.
• The q-value is falling, indicating that sentiment is returning to neutrality and the "fuel" of the trend is decreasing, which may indicate the exhaustion of the trend or the beginning of consolidation.
• When the q-value exceeds the red threshold line, it indicates that the driving force is extremely strong, which is one of the necessary conditions for entering the red background.
The "Market Mathieu Oscillator" is an innovative attempt to transform a profound physical and financial theory into an intuitive decision-making aid available on TradingView through a proxy and simplified approach. It cannot make precise quantitative predictions like theoretical models, but it provides a whole new dimension to observe the market: it no longer focuses solely on the price itself, but on the relationship between the "force" that drives the price and the "rhythm" of the market itself. Through this lens, traders can better understand when the market may turn from stability to turbulence, and make more strategic decisions.
UT Bot + LinReg Candles (Dual Sensitivity)
Script Description:
This indicator combines the popular UT Bot Alerts system with Linear Regression Candles (open source) for enhanced trend detection and trading signals in one singel script. The UT Bot features independent, then 2 x ATR sensitivity and periods controls for buy and sell signals, allowing you to fine-tune entries and exits to match your strategy. The script also overlays colored Linear Regression Candles with an optional signal line, helping you visually identify trend strength and direction. All calculations are performed on standard chart prices (no Heikin Ashi). Suitable for all asset classes and timeframes.
Eample setting for usdjpy 5 min chart for repeated buy and sell singnals based on trend:
BUY ATR period 300 multiplier 1
SELL ATR period 1 multiplier 2
Disclaimer:
This script is for informational and educational purposes only. It is not financial advice. Use at your own risk; the author assumes no responsibility for any trading results or losses.
Credits goes to to Ugurvu for linreg candles and quantnomad for UT Bot alerts that make this script possible.
Author: Patrick
Jumping watermark# Jumping watermark
## Function description
- Dynamic watermark: Mainly used to add dynamic watermarks to prevent theft and transfer when recording videos.
- Static watermark: Sharing opinions can easily include information such as trading pairs, cycles, current time, and individual signatures.
### Static watermark:
Display the watermark related to the current trading pair in the center of the chart.
- Configuration items:
- You can choose to configure the display content: current trading pair code and name, cycle, date, time, and individual signature content
### Dynamic watermark
Display the configured watermark content in a dynamic random position.
- Configuration items:
- Turn on or off the display of watermark jumping
- Modify the display text content and style by yourself
----- 中文简介-----
# 跳动水印
## 功能描述
- 动态水印: 主要可用于视频录制时添加动态水印防盗、防搬运。
- 静态水印:观点分享是可方便的带上交易对、周期、当前时间、个签等信息。
### 静态水印:
在图表中心位置显示当前交易对相关信息水印。
- 配置项:
- 可选择配置显示内容:当前交易对代码及名称、周期、日期、时间、个签内容
### 动态水印
动态随机位置显示配置水印内容。
- 配置项:
- 开启或关闭显示水印跳动
- 自行修改配置显示文字内容和样式
AV BTC Top Cap ModelThe Bitcoin Top Cap
Developed by Willy Woo to identify market cycle tops. Top Cap is calculated by multiplying the Average Cap by 35. Average cap is calculated by taking the cumulative sum of daily market cap divided by the age of market in days. Additional Top Cap using 15x multiplier is included to show sensitivity and to gauge the effect of diminishing returns.
For the use on BTC Market Cap Chart : No changes necessary. Switching to logarithmic scale in recommended.
For the use on BTC Price Chart : After adding the indicator, enable Convert to price setting.
Customization of multipliers is enabled in the settings.
Data sources used: GLASSNODE:BTC_MARKETCAP and GLASSNODE:BTC_SUPPLY (for price conversion)
Note: Use with caution. I coded this for learning. This model might be past it's usefulness date. I am also seeing single digit % difference between this indicator values and top cap indicators available online.
Candle Emotion Oscillator [CEO]Candle Emotion Oscillator (CEO) - Revolutionary User Guide
🧠 World's First Market Psychology Oscillator
The Candle Emotion Oscillator (CEO) is a groundbreaking indicator that measures market emotions through pure candle price action analysis. This is the first oscillator ever created that translates candle patterns into psychological states, giving you unprecedented insight into market sentiment.
🚀 Revolutionary Concept
What Makes CEO Unique
100% Pure Price Action: No volume, no external data - just candle analysis
Market Psychology: Measures actual emotions: Fear, Greed, Panic, Euphoria
Never Been Done Before: First oscillator to analyze market emotions
Exhaustion Prediction: Detects emotional fatigue before reversals
Fast Response: Perfect for your 2-5 minute scalping setup
The Four Core Emotions
🟢 GREED (Positive Values)
What it measures: Market conviction and decisiveness
Candle Pattern: Large bodies, small wicks
Psychology: Traders are confident and decisive
Oscillator: Positive values (0 to +100)
Trading Implication: Trend continuation likely
🔴 FEAR (Negative Values)
What it measures: Market uncertainty and indecision
Candle Pattern: Small bodies, large wicks
Psychology: Traders are uncertain and hesitant
Oscillator: Negative values (0 to -100)
Trading Implication: Consolidation or reversal likely
🚀 EUPHORIA (Extreme Positive)
What it measures: Excessive optimism and buying pressure
Candle Pattern: Large green bodies with upper wicks
Psychology: Extreme bullish sentiment
Oscillator: Values above +60
Trading Implication: Overbought, reversal warning
💥 PANIC (Extreme Negative)
What it measures: Capitulation and selling pressure
Candle Pattern: Large red bodies with lower wicks
Psychology: Extreme bearish sentiment
Oscillator: Values below -60
Trading Implication: Oversold, reversal opportunity
📊 Visual Elements Explained
Main Components
Thick Colored Line: Primary emotion oscillator
Green: Greed (positive emotions)
Red: Fear (negative emotions)
Bright Green: Euphoria (extreme positive)
Dark Red: Panic (extreme negative)
Thin Blue Line: Emotion trend (longer-term context)
Background Gradient: Emotional intensity
Darker = stronger emotions
Lighter = weaker emotions
Diamond Signals: 🔶 Emotional exhaustion detected
Rocket Signals: 🚀 Extreme euphoria warning
Explosion Signals: 💥 Extreme panic warning
Information Table (Top Right)
Dynamic Gap Probability ToolDynamic Gap Probability Tool measures the percentage gap between price and a chosen moving average, then analyzes your chart history to estimate the likelihood of the next candle moving up or down. It dynamically adjusts its sample size to ensure statistical robustness while focusing on the exact deviation level.
Originality and Value:
• Combines gap-based analysis with dynamic sample aggregation to balance precision and reliability.
• Automatically extends the sample when exact matches are scarce, avoiding misleading signals on rare extreme moves.
• Provides real “next-candle” probabilities based on historical occurrences rather than fixed thresholds or untested heuristics.
• Adds value by giving traders an evidence-based edge: you see how similar past deviations actually played out.
How It Works:
1. Calculate gap = (close – moving average) / moving average * 100.
2. Round the absolute gap to nearest percent (X%).
3. Count historical bars where gap ≥ X% above or ≤ –X% below.
4. If exact X% count is below the minimum occurrences threshold, include gaps at X+1%, X+2%, etc., until threshold is reached.
5. Compute “next-candle” green vs. red probabilities from the aggregated sample.
6. Display current gap, sample size, green probability, and red probability in a table.
Inputs:
• Moving Average Type (SMA, EMA, WMA, VWMA, HMA, SMMA, TMA)
• Moving Average Period (default 200)
• Minimum Occurrences Threshold (default 50)
• Table position and styling options
Examples:
• If price is 3% above the 200-period SMA and 120 occurrences ≥3% are found, with 84 green next candles (70%) and 36 red (30%), the script displays “3% | 120 | 70% green | 30% red.”
• If price is 8% below the SMA but only 20 exact matches exist, the script will include 9% and 10% gaps until it reaches 50 samples, then calculate probabilities from that broader set.
Why It’s Useful:
• Mean-reversion traders see green-probability signals at extreme overbought or oversold levels.
• Trend-followers identify continuation likelihood when red probability is high.
• Risk managers gauge reliability by inspecting sample size before acting on any signal.
Limitations:
• Historical probabilities do not guarantee future performance.
• Results depend on timeframe and symbol, backtest with your data before trading.
• Use realistic slippage and commission when overlaying on strategy scripts.
Gann Octave 8 - Professional V 1.0Gann Octave 8 Indicator:
Core Concept: This indicator divides the price range between highest high and lowest low into 8 equal parts (octaves), creating support/resistance levels based on W.D. Gann's trading principles.
Key Components:
1. Price Range Calculation:
o Finds highest high and lowest low over a lookback period (default 50 bars)
o Divides this range into 8 equal segments (12.5% each)
2. 8 Octave Levels:
o 0% (Low Support) - Strongest support
o 12.5%, 25%, 37.5% - Minor levels
o 50% (CRITICAL) - Most important level
o 62.5%, 75%, 87.5% - Minor levels
o 100% (High Resistance) - Strongest resistance
3. Gann Angles: Projects trend lines from high/low points at various angles (1x1, 2x1, 1x2, etc.)
4. Visual Features:
o Color-coded levels
o Information table showing current position
o Background highlighting when near critical levels
o Trend analysis (bullish/bearish zones)
Trading Strategy
Entry Signals:
BULLISH TRADES:
• Price crosses above 50% level → Strong buy signal
• Price bounces from 25% or 37.5% levels → Support bounce
• Price in upper zone (above 50%) → Bullish bias
BEARISH TRADES:
• Price crosses below 50% level → Strong sell signal
• Price rejects at 75% or 87.5% levels → Resistance rejection
• Price in lower zone (below 50%) → Bearish bias
Key Trading Rules:
1. 50% Level is Critical: Most important for trend direction
2. Zone Trading:
o Above 50% = Bullish zone (look for longs)
o Below 50% = Bearish zone (look for shorts)
3. Strength Levels:
o Above 75% or below 25% = Strong moves
o Near 100% (high) or 0% (low) = Extreme levels
Risk Management:
• Stop Loss: Place below previous octave level
• Take Profit: Target next octave level
• Position Size: Reduce size near extreme levels (0%, 100%)
Example Trade:
If price breaks above 50% level:
• Entry: Long position
• Stop: Below 37.5% level
• Target: 75% level
• Risk: Monitor for rejection at resistance levels
The indicator works best in trending markets and helps identify high-probability reversal zones.
Works for both Stocks & Derivatives. Experiment with code and share your feedback in comments..
ITM 2x15// © 2025 Intraday Trading Machine
// This script is open-source. You may use and modify it, but please give credit.
// Colors the current 15-minute candle body green or red if the two previous candles were both bullish or bearish.
This script is designed for traders using the Scalping Intraday Trading Machine technique. It highlights when two consecutive 15-minute candles close in the same direction — either both bullish or both bearish.
For example, if you see two consecutive bearish candles, you might look for a long entry on a break above the high of the first bearish candle. This tool helps you visually identify these setups with clean, directional candle coloring — no clutter.
CM_VixFix_RSI_HMA200_TrailStop_vFinal📌 CM_VixFix_RSI_HMA200_TrailStop – vFinal | BTC 30-Minute Strategy (Long & Short)
This strategy combines volatility-based market shock detection (Williams Vix Fix), trend confirmation (HMA200), and momentum filtering (RSI) to generate high-probability trade entries. It is engineered for BTC/USDT on the 30-minute timeframe, with carefully tuned parameters through extensive backtesting.
🎯 Core Components:
WVF (Williams Vix Fix): Identifies volatility spikes, acting as a proxy for oversold conditions or panic drops.
RSI (Relative Strength Index): Generates directional momentum signals, with separate thresholds for long and short entries.
HMA200: Filters trades based on the prevailing market trend. Trades are only allowed in the direction of HMA slope and position.
ATR-Based Trailing Stop Engine: Activates after a minimum profit threshold is hit. Combines dynamic trailing logic with a Hard Stop (maximum loss limit) to mitigate risk.
⚠️ Short-Side Challenges & Solutions
During development, the short-side trades exhibited a lower win rate, a common behavior in crypto bull-biased markets. To address this, we implemented:
RSI trigger reduced to 20 to capture only high-momentum sell-offs.
Dual confirmation: RSI must also be below its EMA(21) and price below EMA(100).
MaxBars filter (10 candles): Prevents multiple short entries in tight ranges or low-volatility zones.
As a result:
Short trades now yield a Risk/Reward ratio above 3.4
Average short trade profit is ~3x the average loss, making short entries valuable despite lower hit rate.
📊 Performance Summary (Backtest: BTCUSDT, 30-Min, July 2024–July 2025)
Metric Long Short Overall
Total Trades 401 50 451
Win Rate 49.6% 30.0% 47.4%
Avg PnL 311 USDT 1,229 USDT 413 USDT
Risk/Reward (Avg K/L) 1.05 3.48 1.16
🚨 Disclaimer
This strategy is not a plug-and-play black box. While signals are statistically validated, we strongly recommend using this tool in conjunction with:
Volume and time-of-day filters
Fundamental/macro overlays (especially around Fed announcements or CPI data)
A broader risk management framework
Note: This strategy has been optimized exclusively for BTC/USDT on the 30-minute timeframe. If applied to other assets or timeframes, recalibration is necessary.
Kelly Optimal Leverage IndicatorThe Kelly Optimal Leverage Indicator mathematically applies Kelly Criterion to determine optimal position sizing based on market conditions.
This indicator helps traders answer the critical question: "How much capital should I allocate to this trade?"
Note that "optimal position sizing" does not equal the position sizing that you should have. The Optima position sizing given by the indicator is based on historical data and cannot predict a crash, in which case, high leverage could be devastating.
Originally developed for gambling scenarios with known probabilities, the Kelly formula has been adapted here for financial markets to dynamically calculate the optimal leverage ratio that maximizes long-term capital growth while managing risk.
Key Features
Kelly Position Sizing: Uses historical returns and volatility to calculate mathematically optimal position sizes
Multiple Risk Profiles: Displays Full Kelly (aggressive), 3/4 Kelly (moderate), 1/2 Kelly (conservative), and 1/4 Kelly (very conservative) leverage levels
Volatility Adjustment: Automatically recommends appropriate Kelly fraction based on current market volatility
Return Smoothing: Option to use log returns and smoothed calculations for more stable signals
Comprehensive Table: Displays key metrics including annualized return, volatility, and recommended exposure levels
How to Use
Interpret the Lines: Each colored line represents a different Kelly fraction (risk tolerance level). When above zero, positive exposure is suggested; when below zero, reduce exposure. Note that this is based on historical returns. I personally like to increase my exposure during market downturns, but this is hard to illustrate in the indicator.
Monitor the Table: The information panel provides precise leverage recommendations and exposure guidance based on current market conditions.
Follow Recommended Position: Use the "Recommended Position" guidance in the table to determine appropriate exposure level.
Select Your Risk Profile: Conservative traders should follow the Half Kelly or Quarter Kelly lines, while more aggressive traders might consider the Three-Quarter or Full Kelly lines.
Adjust with Volatility: During high volatility periods, consider using more conservative Kelly fractions as recommended by the indicator.
Mathematical Foundation
The indicator calculates the optimal leverage (f*) using the formula:
f* = μ/σ²
Where:
μ is the annualized expected return
σ² is the annualized variance of returns
This approach balances potential gains against risk of ruin, offering a scientific framework for position sizing that maximizes long-term growth rate.
Notes
The Full Kelly is theoretically optimal for maximizing long-term growth but can experience significant drawdowns. You should almost never use full kelly.
Most practitioners use fractional Kelly strategies (1/2 or 1/4 Kelly) to reduce volatility while capturing most of the growth benefits
This indicator works best on daily timeframes but can be applied to any timeframe
Negative Kelly values suggest reducing or eliminating market exposure
The indicator should be used as part of a complete trading system, not in isolation
Enjoy the indicator! :)
P.S. If you are really geeky about the Kelly Criterion, I recommend the book The Kelly Capital Growth Investment Criterion by Edward O. Thorp and others.