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.
Indicators and strategies
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.
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.
ATR Trailing Stop (Seemple)The ATR Trailing Stop (Seemple) is a clean and intuitive trend following indicator that helps traders visualise dynamic stop levels based on market volatility.
1. How it works:
Uses the Average True Range (ATR) to calculate trailing stop levels.
The stop dynamically adjusts with price movement:
Rises in an uptrend to lock in gains.
Falls in a downtrend to protect against reversals.
Incorporates a flip condition that identifies potential trend shifts when price crosses above or below the stop level.
2. Customisable Inputs:
ATR Period : Defines the sensitivity of the volatility calculation.
ATR Multiple : Sets how tight or wide the stop should be based on ATR.
3. Application:
Ideal for trend-following strategies, trailing stop placement, and visual guidance for exit signals.
15min intervalsindicator displays 4 15 minute intervals within the hour. this simple indicator can be used for effective scalping.
VWEMA-Based Trend Strength IndicatorThis script plots the strength and direction of a trend as the percentage difference between two volume weighted EMAs.
CipherMatrix Dashboard (MarketCipher B)Pre-compute MarketCipher-B values for each fixed timeframe (5 m, 15 m, 30 m, 60 m, 4 H, Daily).
Pass those values into plotRow() instead of calling request.security() inside the helper—removes the style warning.
Added explicit range parameters to table.clear(dash, 0, 0, 2, 6) to satisfy v6’s argument requirement.
This version should compile without the previous warnings/errors. Swap in your real MarketCipher-B histogram when you’re ready, and the dashboard is good to go!
Multi-Indicator PanelMulti-indicator panel that combines the following into one panel:
RSI2
RSI14
%K (for stochastics)
%D (for stochastics)
ADX
DI+
DI-
MACD
MACD signal
MACD histogram
All can be toggled on/off and parameters can be adjusted in settings.
KT Gaussian Bands🎯 Overview
KT Gaussian Bands is an advanced technical indicator that uses Gaussian-weighted smoothing to create dynamic support and resistance bands. This sophisticated algorithm provides high-quality buy and sell signals by filtering market noise and adapting to price volatility.
🔬 How It Works
The indicator employs a Gaussian weighting function to smooth price data, creating more accurate trend detection compared to traditional moving averages. The algorithm calculates:
Dynamic Upper Band (Resistance Level)
Dynamic Lower Band (Support Level)
Adaptive Signal Generation based on price interaction with bands
📊 Key Features
✨ Smart Signal Generation
🔺 BUY Signal: When price crosses below the lower band and bounces back up
🔻 SELL Signal: When price crosses above the upper band and drops back down
Real-time arrows displayed directly on the chart
⚙️ Customizable Parameters
Bandwidth (h): Controls the smoothness of the calculation (Default: 8.0)
Multiplier: Adjusts the sensitivity of the bands (Default: 3.0)
Source: Choose your preferred price source (Default: Close)
Repainting Mode: Toggle between real-time and historical accuracy
🎨 Visual Elements
Color-coded bands (Teal for upper, Red for lower)
Clear arrow signals for entry/exit points
Clean dashboard showing current mode status
📈 Trading Applications
Best Timeframes
Works effectively on all timeframes
Particularly strong on 15M, 1H, and 4H charts
Daily charts for swing trading setups
Trading Strategies
Trend Following: Use signals in the direction of the major trend
Mean Reversion: Trade bounces off the bands in ranging markets
Breakout Confirmation: Validate breakouts with band penetration
Risk Management
Use stop-loss below/above the opposite band
Position size based on band width (wider = higher volatility)
Combine with other indicators for confirmation
⚠️ Important Notes
Repainting Mode
Enabled: Shows the most accurate current analysis (may change on live bars)
Disabled: Historical signals remain fixed (recommended for backtesting)
Best Practices
Don't trade every signal - wait for high-probability setups
Consider market context and overall trend direction
Use proper risk management on every trade
Backtest on your preferred timeframes before live trading
🔧 Settings Guide
Bandwidth (8.0): Lower = More responsive, Higher = Smoother
Multiplier (3.0): Lower = More signals, Higher = Fewer but stronger signals
Repainting: Enable for live analysis, Disable for backtesting
📊 Performance Characteristics
Low Lag: Responds quickly to price changes
Noise Reduction: Filters out false signals effectively
Adaptive: Automatically adjusts to market volatility
Versatile: Works across different market conditions
🎓 Educational Value
This indicator demonstrates advanced mathematical concepts in trading:
Gaussian distribution applications in finance
Dynamic volatility adjustment
Weighted moving average techniques
⭐ Why Choose KT Gaussian Bands?
Mathematically Sound: Based on proven statistical methods
User-Friendly: Clear signals with minimal complexity
Flexible: Adapts to your trading style and timeframe
Reliable: Consistent performance across market conditions
Disclaimer: This indicator is for educational and informational purposes only. Always use proper risk management and never risk more than you can afford to lose. Past performance does not guarantee future results.
CipherMatrix Dashboard (MarketCipher B)does it work. A lightweight, multi-time-frame overlay that turns MarketCipher B data into an at-a-glance dashboard:
Time-frames shown: current chart TF first, then 5 m, 15 m, 30 m, 1 H, 4 H, Daily.
Bias icons:
🌙 = bullish (MCB > 0)
🩸 = bearish (MCB < 0)
Signal icons:
⬆️ = histogram crosses above 0 (potential long)
⬇️ = histogram crosses below 0 (potential short)
Table location: bottom-right of chart; updates on every confirmed bar.
Tao Bounce & Exit + Rip AlertsTao bounce long and short flags/alerts, plus exit alerts (both 2 and 3 ATR). Also includes "rip" indicators to try to flag when a strong trend is in process but all the Tao entry criteria aren't met.
Supports & Resistances with MomentumSupports & Resistances with Momentum is an advanced indicator for scalping and intraday trading It shows dynamic support and resistance levels, clear BUY/SELL signals with TP targets and stop-loss lines, plus optional RSI and volume plots Fully customizable and designed for quick, precise trade decisions.
10/21 EMA Cross10/21 EMA crossover and crossunder indicator. Not timeframe specific. Shows a small arrow at top and bottom of the chart indicating the crossover has occurred.