Индикаторы и стратегии
Alert candle Bull/BearThis simple indicator allows you to be notified if the candle closes long or short, according to your timeframe.
GOLD 5m Buy/Sell Pro//@version=5
indicator("GOLD 5m Buy/Sell Pro", overlay = true, timeframe = "5", timeframe_gaps = true)
猛の掟・初動スクリーナー_完成版//@version=5
indicator("猛の掟・初動スクリーナー_完成版", overlay=true)
// =============================
// 入力パラメータ
// =============================
emaLenShort = input.int(5, "短期EMA", minval=1)
emaLenMid = input.int(13, "中期EMA", minval=1)
emaLenLong = input.int(26, "長期EMA", minval=1)
macdFastLen = input.int(12, "MACD Fast", minval=1)
macdSlowLen = input.int(26, "MACD Slow", minval=1)
macdSignalLen = input.int(9, "MACD Signal", minval=1)
macdZeroTh = input.float(0.2, "MACDゼロライン近辺とみなす許容値", step=0.05)
volMaLen = input.int(5, "出来高平均日数", minval=1)
volMinRatio = input.float(1.3, "出来高倍率(初動判定しきい値)", step=0.1)
volStrongRatio = input.float(1.5, "出来高倍率(本物/三点シグナル用)", step=0.1)
highLookback = input.int(60, "直近高値の参照本数", minval=10)
pullbackMin = input.float(5.0, "押し目最小 ", step=0.5)
pullbackMax = input.float(15.0, "押し目最大 ", step=0.5)
breakLookback = input.int(15, "レジブレ後とみなす本数", minval=1)
wickBodyMult = input.float(2.0, "ピンバー:下ヒゲが実体の何倍以上か", step=0.5)
// ★ シグナル表示 ON/OFF
showMou = input.bool(true, "猛シグナルを表示")
showKaku = input.bool(true, "確シグナルを表示")
// =============================
// 基本指標計算
// =============================
emaShort = ta.ema(close, emaLenShort)
emaMid = ta.ema(close, emaLenMid)
emaLong = ta.ema(close, emaLenLong)
= ta.macd(close, macdFastLen, macdSlowLen, macdSignalLen)
volMa = ta.sma(volume, volMaLen)
volRatio = volMa > 0 ? volume / volMa : 0.0
recentHigh = ta.highest(high, highLookback)
prevHigh = ta.highest(high , highLookback)
pullbackPct = recentHigh > 0 ? (recentHigh - close) / recentHigh * 100.0 : 0.0
// ローソク足
body = math.abs(close - open)
upperWick = high - math.max(open, close)
lowerWick = math.min(open, close) - low
// =============================
// A:トレンド条件
// =============================
emaUp = emaShort > emaShort and emaMid > emaMid and emaLong > emaLong
goldenOrder = emaShort > emaMid and emaMid > emaLong
aboveEma2 = close > emaLong and close > emaLong
trendOK = emaUp and goldenOrder and aboveEma2
// =============================
// B:MACD条件
// =============================
macdGC = ta.crossover(macdLine, macdSignal)
macdNearZero = math.abs(macdLine) <= macdZeroTh
macdUp = macdLine > macdLine
macdOK = macdGC and macdNearZero and macdUp
// =============================
// C:出来高条件
// =============================
volInitOK = volRatio >= volMinRatio // 8条件用
volStrongOK = volRatio >= volStrongRatio // 三点シグナル用
volumeOK = volInitOK
// =============================
// D:ローソク足パターン
// =============================
isBullPinbar = lowerWick > wickBodyMult * body and lowerWick > upperWick and close >= open
isBullEngulf = close > open and open < close and close > open
isBigBullCross = close > emaShort and close > emaMid and open < emaShort and open < emaMid and close > open
candleOK = isBullPinbar or isBullEngulf or isBigBullCross
// =============================
// E:価格帯(押し目&レジブレ)
// =============================
pullbackOK = pullbackPct >= pullbackMin and pullbackPct <= pullbackMax
isBreakout = close > prevHigh and close <= prevHigh
barsSinceBreak = ta.barssince(isBreakout)
afterBreakZone = barsSinceBreak >= 0 and barsSinceBreak <= breakLookback
afterBreakPullbackOK = afterBreakZone and pullbackOK and close > emaShort
priceOK = pullbackOK and afterBreakPullbackOK
// =============================
// 8条件の統合
// =============================
allRulesOK = trendOK and macdOK and volumeOK and candleOK and priceOK
// =============================
// 最終三点シグナル
// =============================
longLowerWick = lowerWick > wickBodyMult * body and lowerWick > upperWick
macdGCAboveZero = ta.crossover(macdLine, macdSignal) and macdLine > 0
volumeSpike = volStrongOK
finalThreeSignal = longLowerWick and macdGCAboveZero and volumeSpike
buyConfirmed = allRulesOK and finalThreeSignal
// =============================
// 描画
// =============================
plot(emaShort, color=color.new(color.yellow, 0), title="EMA 短期(5)")
plot(emaMid, color=color.new(color.orange, 0), title="EMA 中期(13)")
plot(emaLong, color=color.new(color.blue, 0), title="EMA 長期(26)")
// シグナル表示(ON/OFF付き)
plotshape(showMou and allRulesOK, title="猛の掟 8条件クリア候補", location=location.belowbar, color=color.new(color.lime, 0), text="猛")
plotshape(showKaku and buyConfirmed, title="猛の掟 最終三点シグナル確定", location=location.belowbar, color=color.new(color.yellow, 0), text="確")
// =============================
// アラート条件
// =============================
alertcondition(allRulesOK, title="猛の掟 8条件クリア候補", message="猛の掟 8条件クリア候補シグナル発生")
alertcondition(buyConfirmed, title="猛の掟 最終三点シグナル確定", message="猛の掟 最終三点シグナル=買い確定")
ZigZag + Fibonacci
⚙️ Main Features
• Automatic ZigZag: Detects the latest high and low pivots based on an adjustable period.
• Dynamic Fibonacci: Automatically draws the 38.2%, 50%, and 61.8% levels based on the last ZigZag movement.
• Display Control:
o Enable or disable the blue line connecting the pivots (ZigZag line).
o Adjust the horizontal length of the Fibonacci lines (in number of bars).
• Customizable Colors:
o Choose different colors for each Fibonacci level.
o Customize the color of the ZigZag line.
________________________________________
🧑🏫 How to Use
1. Add the indicator to your chart on TradingView.
2. Configure the parameters according to your strategy:
o ZigZag Period: defines the sensitivity of the pivots (higher values = wider movements).
o Fibonacci Line Length: how many bars the horizontal lines should extend.
o Show ZigZag Line: check or uncheck to display the blue line between pivots.
o Colors: customize the visual appearance of the Fibonacci levels and ZigZag line.
3. Interpret the Fibonacci levels:
o Use the levels as possible support and resistance zones.
o Combine with other technical signals for more assertive entries and exits.
Regular Volume Indicator with 30-Day Average PointsRegular Volume Indicator with past 30-days average lines.
If the day's trading volume is more than that, it will have a dot pop out.
Katik EMA BUY SELLThis strategy uses EMA 9, EMA 20, and EMA 200 to generate Buy and Sell signals.
BUY Conditions
EMA 9 crosses above EMA 20
Stoploss: Recent Swing Low
Target: EMA 9 touches or crosses EMA 200
SELL Conditions
EMA 9 crosses below EMA 20
Stoploss: Recent Swing High
Target: EMA 9 touches or crosses EMA 200
Features
Automatic Long & Short entries
Dynamic swing-based stoploss
Clear EMA plots with line width 3
Works on all timeframes
Mirpapa_Lib_LineLibrary "Mirpapa_Lib_Line"
CreateLine(_breachMode, _isBull, _leftTime, _rightTime, _price, _lineColor, _lineWidth, _lineStyle, _text)
CreateLine
@description 라인 생성 (값 전달 방식 - 모든 좌표 직접 지정).\
호출자가 모든 좌표와 시간을 계산하여 전달.\
breachMode: "price"(고가/저가 돌파) 또는 "close"(종가 돌파).\
Parameters:
_breachMode (string) : 돌파 처리 방식: "price" 또는 "close"
_isBull (bool) : 상승(true) 또는 하락(false)
_leftTime (int) : 라인 시작 시간
_rightTime (int) : 라인 종료 시간
_price (float) : 라인 가격
_lineColor (color) : 라인 색상
_lineWidth (int) : 라인 두께
_lineStyle (string) : 라인 스타일 (line.style_solid, line.style_dashed 등)
_text (string) : 라인 텍스트
Returns: 성공 여부와 라인 데이터
ProcessLineDatas(_openLines, _closedLines, _closeCount, _colorClose, _currentBarIndex, _currentLow, _currentHigh, _currentTime)
ProcessLineDatas
@description 라인 확장 및 돌파 처리.\
열린 라인들을 현재 bar까지 확장하고, 돌파 조건 체크.\
_closeCount: 돌파 횟수 (이 횟수만큼 돌파 시 라인 종료).\
breachMode에 따라 돌파 체크 방식 다름 (price/close).\
종료된 라인은 _closedLines로 이동하고 _colorClose 색상 적용.\
barstate.islast와 barstate.isconfirmed에서 호출 권장.
Parameters:
_openLines (array) : 열린 라인 배열
_closedLines (array) : 닫힌 라인 배열
_closeCount (int) : 돌파 카운트 (이 횟수만큼 돌파 시 종료)
_colorClose (color) : 종료된 라인 색상
_currentBarIndex (int) : 현재 bar_index
_currentLow (float) : 현재 low
_currentHigh (float) : 현재 high
_currentTime (int) : 현재 time
Returns: bool 항상 true
BreachMode
BreachMode
Fields:
PRICE (series string)
CLOSE (series string)
LineData
LineData
Fields:
_breachMode (series string) : 돌파 처리 방식
_isBull (series bool) : 상승(true) 또는 하락(false) 방향
_line (series line) : 라인 객체
_price (series float) : 라인 가격
_text (series string) : 라인 텍스트
_breached (series bool) : 돌파 여부
_breakCount (series int) : 돌파 카운트
M20M60_win10_libLibrary "M20M60_win10_lib"
f_m20m60_win10_features(srcOpen, srcHigh, srcLow, srcClose, bandCenter, bandWidth)
Parameters:
srcOpen (float)
srcHigh (float)
srcLow (float)
srcClose (float)
bandCenter (float)
bandWidth (float)
f_m20m60_win10_is_cluster5(bodyMean, rangeMean, cBandDiff, insideRatio, maxAbove)
Parameters:
bodyMean (float)
rangeMean (float)
cBandDiff (float)
insideRatio (float)
maxAbove (float)
f_m20m60_win10_is_cluster1(bodyMean, rangeMean, cBandDiff, insideRatio, maxAbove)
Parameters:
bodyMean (float)
rangeMean (float)
cBandDiff (float)
insideRatio (float)
maxAbove (float)
IDX Sector Monitor - RRG
// ═══════════════════════════════════════════════════════════════════════════════
// IDX SECTOR MONITOR - RRG EDITION
// ═══════════════════════════════════════════════════════════════════════════════
// Track Indonesian stock sectors with Relative Rotation Graph (RRG) analysis.
//
// Features:
// • Custom sector indices (equal-weighted)
// • Multi-timeframe performance (1D, 1W, 1M, etc.)
// • RRG status vs IHSG/LQ45 benchmark
//
// RRG Quadrants:
// 💚 Leading - Outperforming, strong momentum (BUY zone)
// 💛 Weakening - Still strong but slowing down (TAKE PROFIT)
// 💙 Improving - Weak but gaining momentum (WATCHLIST)
// ❤️ Lagging - Underperforming, avoid (SELL zone)
//
// ═══════════════════════════════════════════════════════════════════════════════
Manual Zones SafeUse cases:
Support and resistance levels
Supply and demand zones
Price action areas for manual trading strategies
Crypto Market Pulse: Dom vs Vol AnalyzerConcept & Methodology
The core logic of this indicator is based on the "Money Flow" theory. It aggregates data from multiple sources (CRYPTOCAP:TOTAL, BTC.D, BINANCE:BTCUSDT) to provide a comprehensive market overview in a single panel.
Key Calculations:
Total Market Cap & Volume: Fetches real-time data to determine the overall health of the market.
Inverse Dominance Logic: Unlike standard indicators, this script applies inverse color coding to Bitcoin Dominance (BTC.D).
When BTC Dominance drops, it is colored Green (indicating liquidity flowing into Altcoins).
When BTC Dominance rises, it is colored Red (indicating risk for Altcoins).
Volume Delta: Compares the current timeframe's volume against the previous candle to calculate the percentage change, highlighting sudden liquidity injections.
█ Features
Real-time Dashboard: Displays Cap, Volume, BTC Price, and BTC Dominance.
Altcoin-Focus Coloring: Automatically interprets data to favor Altcoin traders (Green Signals = Good for Alts).
Dynamic Alerts:
Volume Surge Alert: Triggers when volume exceeds a user-defined threshold (default +50%), signaling potential breakout activity.
Dominance Drop Alert: Triggers when BTC Dominance falls significantly, signaling the start of potential Altcoin movement.
█ How to Use
Look for Confluence: The ideal "Altseason" signal is when the Total Cap is Green (Market up) AND BTC Dominance is Green (Dominance down). This indicates money is moving from BTC to Alts.
Volume Confirmation: Use the Volume row to confirm the strength of the move. A price rise without volume is often a fakeout.
Customization: You can adjust the table position and text size from the settings menu to fit your screen setup.
Magic Moving AveragesThis indicator plots up to three adaptive “Magic MAs” plus a weighted combo line, with optional traditional SMAs for comparison.
Instead of averaging only closes, each Magic MA:
looks at the midpoints of highs/lows and opens/closes
decides whether recent behaviour favours the highs or the lows
builds a series of either highs or lows, then smooths it over your chosen length
You can run:
Short / Medium / Long Magic MAs
A weighted combo line (using 1–10 weights)
Optional traditional short/long SMAs on close
How I use it:
Price above the combo line → bullish bias
Price below the combo line → bearish bias
Short/medium/long Magic MAs together → dynamic support/resistance and trend structure
Traditional SMAs on for comparison with “classic” moving average behaviour
Inputs:
Magic MA lengths control how reactive vs smooth each regime is
Weights (1–10) let you emphasise short, medium or long regimes in the combo
This is a free / educational version of the Magic MAs.
It’s not financial advice – always manage your own risk.
Trading Session IL7 Session-Based Intraday Momentum IndicatorOverview
This indicator is designed to support discretionary traders by highlighting intraday momentum phases based on price behavior and trading session context.
It is intended as a confirmation tool and not as a standalone trading system or automated strategy.
Core Concept
The script combines multiple market observations, including:
- Directional price behavior within the current timeframe
- Structural consistency in recent price movement
- Session-based filtering to focus on periods with higher activity and liquidity
Signals are only displayed when internal conditions align, helping traders avoid low-quality setups during sideways or low-momentum market phases.
How to Use
This indicator should be used to confirm existing trade ideas rather than generate trades on its own.
It can help traders:
- Identify periods where momentum is more likely to continue
- Filter out trades during unfavorable market conditions
- Align intraday execution with higher-timeframe bias
Best results are achieved when used alongside key price levels, higher-timeframe structure and proper risk management.
Limitations
This indicator does not predict future price movements.
Signals may change during active candles.
Market conditions may reduce effectiveness during extremely low volatility periods.
Language Notice
The indicator’s user interface labels are displayed in German.
This English description is provided first to comply with TradingView community script publishing rules.
n-Day Stock Return with MAs and SlopesThis indicator calculates the n-day percentage return of a stock and visualizes it either as a histogram or line, with optional moving averages (MA1 and MA2) of the return and their slopes. The script highlights trend changes in the slopes of these moving averages by drawing colored horizontal markers at each reversal point—green for upward slope shifts, red for downward shifts, and gray when the slope turns flat—allowing users to quickly identify strengthening, weakening, or neutral return trends over time. It also includes optional slope plots for additional trend context and a zero reference line for distinguishing positive and negative performance.
TomTrades Candle Behavior & Timing + TP + Alertsgreen mean sell red mean buy if prices breaks above green its a buy same for red if price stay below red its a sell white line is hourly trend line
EMA Market Structure [BOSWaves]// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// Join our channel for more free tools: t.me
// This Pine Script® code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// © BOSWaves
//@version=6
indicator("EMA Market Structure ", overlay=true, max_lines_count=500, max_labels_count=500, max_boxes_count=500)
// ============================================================================
// Inputs
// ============================================================================
// Ema settings
emaLength = input.int(50, "EMA Length", minval=1, tooltip="Period for the Exponential Moving Average calculation")
emaSource = input.source(close, "EMA Source", tooltip="Price source for EMA calculation (close, open, high, low, etc.)")
colorSmooth = input.int(3, "Color Smoothing", minval=1, group="EMA Style", tooltip="Smoothing period for the EMA color gradient transition")
showEmaGlow = input.bool(true, "EMA Glow Effect", group="EMA Style", tooltip="Display glowing halo effect around the EMA line for enhanced visibility")
// Structure settings
swingLength = input.int(5, "Swing Detection Length", minval=2, group="Structure", tooltip="Number of bars to the left and right to identify swing highs and lows")
swingCooloff = input.int(10, "Swing Marker Cooloff (Bars)", minval=1, group="Structure", tooltip="Minimum number of bars between consecutive swing point markers to reduce visual clutter")
showSwingLines = input.bool(true, "Show Structure Lines", group="Structure", tooltip="Display lines connecting swing highs and swing lows")
showSwingZones = input.bool(true, "Show Structure Zones", group="Structure", tooltip="Display shaded zones between consecutive swing points")
showBOS = input.bool(true, "Show Break of Structure", group="Structure", tooltip="Display BOS labels and stop loss levels when price breaks structure")
bosCooloff = input.int(15, "BOS Cooloff (Bars)", minval=5, maxval=50, group="Structure", tooltip="Minimum number of bars required between consecutive BOS signals to avoid signal spam")
slExtension = input.int(20, "SL Line Extension (Bars)", minval=5, maxval=100, group="Structure", tooltip="Number of bars to extend the stop loss line into the future for visibility")
slBuffer = input.float(0.1, "SL Buffer %", minval=0, maxval=2, step=0.05, group="Structure", tooltip="Additional buffer percentage to add to stop loss level for safety margin")
// Background settings
showBG = input.bool(true, "Show Trend Background", group="EMA Style", tooltip="Display background color based on EMA trend direction")
bgBullColor = input.color(color.new(#00ff88, 96), "Bullish BG", group="EMA Style", tooltip="Background color when EMA is in bullish trend")
bgBearColor = input.color(color.new(#ff3366, 96), "Bearish BG", group="EMA Style", tooltip="Background color when EMA is in bearish trend")
// ============================================================================
// Ema trend filter with gradient color
// ============================================================================
ema = ta.ema(emaSource, emaLength)
// Calculate EMA acceleration for gradient color
emaChange = ema - ema
emaAccel = ta.ema(emaChange, colorSmooth)
// Manual tanh function for normalization
tanh(x) =>
ex = math.exp(2 * x)
(ex - 1) / (ex + 1)
accelNorm = tanh(emaAccel / (ta.atr(14) * 0.01))
// Map normalized accel to hue (60 = green, 120 = yellow/red)
hueRaw = 60 + accelNorm * 60
hue = na(hueRaw ) ? hueRaw : (hueRaw + hueRaw ) / 2
sat = 1.0
val = 1.0
// HSV to RGB conversion
hsv_to_rgb(h, s, v) =>
c = v * s
x = c * (1 - math.abs((h / 60) % 2 - 1))
m = v - c
r = 0.0
g = 0.0
b = 0.0
if (h < 60)
r := c
g := x
b := 0
else if (h < 120)
r := x
g := c
b := 0
else if (h < 180)
r := 0
g := c
b := x
else if (h < 240)
r := 0
g := x
b := c
else if (h < 300)
r := x
g := 0
b := c
else
r := c
g := 0
b := x
color.rgb(int((r + m) * 255), int((g + m) * 255), int((b + m) * 255))
emaColor = hsv_to_rgb(hue, sat, val)
emaTrend = ema > ema ? 1 : ema < ema ? -1 : 0
// EMA with enhanced glow effect using fills
glowOffset = ta.atr(14) * 0.25
emaGlow8 = plot(showEmaGlow ? ema + glowOffset * 8 : na, "EMA Glow 8", color.new(emaColor, 100), 1, display=display.none)
emaGlow7 = plot(showEmaGlow ? ema + glowOffset * 7 : na, "EMA Glow 7", color.new(emaColor, 100), 1, display=display.none)
emaGlow6 = plot(showEmaGlow ? ema + glowOffset * 6 : na, "EMA Glow 6", color.new(emaColor, 100), 1, display=display.none)
emaGlow5 = plot(showEmaGlow ? ema + glowOffset * 5 : na, "EMA Glow 5", color.new(emaColor, 100), 1, display=display.none)
emaGlow4 = plot(showEmaGlow ? ema + glowOffset * 4 : na, "EMA Glow 4", color.new(emaColor, 100), 1, display=display.none)
emaGlow3 = plot(showEmaGlow ? ema + glowOffset * 3 : na, "EMA Glow 3", color.new(emaColor, 100), 1, display=display.none)
emaGlow2 = plot(showEmaGlow ? ema + glowOffset * 2 : na, "EMA Glow 2", color.new(emaColor, 100), 1, display=display.none)
emaGlow1 = plot(showEmaGlow ? ema + glowOffset * 1 : na, "EMA Glow 1", color.new(emaColor, 100), 1, display=display.none)
emaCore = plot(ema, "EMA Core", emaColor, 3)
emaGlow1b = plot(showEmaGlow ? ema - glowOffset * 1 : na, "EMA Glow 1b", color.new(emaColor, 100), 1, display=display.none)
emaGlow2b = plot(showEmaGlow ? ema - glowOffset * 2 : na, "EMA Glow 2b", color.new(emaColor, 100), 1, display=display.none)
emaGlow3b = plot(showEmaGlow ? ema - glowOffset * 3 : na, "EMA Glow 3b", color.new(emaColor, 100), 1, display=display.none)
emaGlow4b = plot(showEmaGlow ? ema - glowOffset * 4 : na, "EMA Glow 4b", color.new(emaColor, 100), 1, display=display.none)
emaGlow5b = plot(showEmaGlow ? ema - glowOffset * 5 : na, "EMA Glow 5b", color.new(emaColor, 100), 1, display=display.none)
emaGlow6b = plot(showEmaGlow ? ema - glowOffset * 6 : na, "EMA Glow 6b", color.new(emaColor, 100), 1, display=display.none)
emaGlow7b = plot(showEmaGlow ? ema - glowOffset * 7 : na, "EMA Glow 7b", color.new(emaColor, 100), 1, display=display.none)
emaGlow8b = plot(showEmaGlow ? ema - glowOffset * 8 : na, "EMA Glow 8b", color.new(emaColor, 100), 1, display=display.none)
// Create glow layers with fills (from outermost to innermost)
fill(emaGlow8, emaGlow7, showEmaGlow ? color.new(emaColor, 97) : na)
fill(emaGlow7, emaGlow6, showEmaGlow ? color.new(emaColor, 95) : na)
fill(emaGlow6, emaGlow5, showEmaGlow ? color.new(emaColor, 93) : na)
fill(emaGlow5, emaGlow4, showEmaGlow ? color.new(emaColor, 90) : na)
fill(emaGlow4, emaGlow3, showEmaGlow ? color.new(emaColor, 87) : na)
fill(emaGlow3, emaGlow2, showEmaGlow ? color.new(emaColor, 83) : na)
fill(emaGlow2, emaGlow1, showEmaGlow ? color.new(emaColor, 78) : na)
fill(emaGlow1, emaCore, showEmaGlow ? color.new(emaColor, 70) : na)
fill(emaCore, emaGlow1b, showEmaGlow ? color.new(emaColor, 70) : na)
fill(emaGlow1b, emaGlow2b, showEmaGlow ? color.new(emaColor, 78) : na)
fill(emaGlow2b, emaGlow3b, showEmaGlow ? color.new(emaColor, 83) : na)
fill(emaGlow3b, emaGlow4b, showEmaGlow ? color.new(emaColor, 87) : na)
fill(emaGlow4b, emaGlow5b, showEmaGlow ? color.new(emaColor, 90) : na)
fill(emaGlow5b, emaGlow6b, showEmaGlow ? color.new(emaColor, 93) : na)
fill(emaGlow6b, emaGlow7b, showEmaGlow ? color.new(emaColor, 95) : na)
fill(emaGlow7b, emaGlow8b, showEmaGlow ? color.new(emaColor, 97) : na)
// ============================================================================
// Swing high/low detection
// ============================================================================
// Swing High/Low Detection
swingHigh = ta.pivothigh(high, swingLength, swingLength)
swingLow = ta.pivotlow(low, swingLength, swingLength)
// Cooloff tracking
var int lastSwingHighPlot = na
var int lastSwingLowPlot = na
// Check if cooloff period has passed
canPlotHigh = na(lastSwingHighPlot) or (bar_index - lastSwingHighPlot) >= swingCooloff
canPlotLow = na(lastSwingLowPlot) or (bar_index - lastSwingLowPlot) >= swingCooloff
// Store swing points
var float lastSwingHigh = na
var int lastSwingHighBar = na
var float lastSwingLow = na
var int lastSwingLowBar = na
// Track previous swing for BOS detection
var float prevSwingHigh = na
var float prevSwingLow = na
// Update swing highs with cooloff
if not na(swingHigh) and canPlotHigh
prevSwingHigh := lastSwingHigh
lastSwingHigh := swingHigh
lastSwingHighBar := bar_index - swingLength
lastSwingHighPlot := bar_index
// Update swing lows with cooloff
if not na(swingLow) and canPlotLow
prevSwingLow := lastSwingLow
lastSwingLow := swingLow
lastSwingLowBar := bar_index - swingLength
lastSwingLowPlot := bar_index
// ============================================================================
// Structure lines & zones
// ============================================================================
var line swingHighLine = na
var line swingLowLine = na
var box swingHighZone = na
var box swingLowZone = na
if showSwingLines
// Draw line connecting swing highs with zones
if not na(swingHigh) and canPlotHigh and not na(prevSwingHigh)
if not na(lastSwingHighBar)
line.delete(swingHighLine)
swingHighLine := line.new(lastSwingHighBar, lastSwingHigh, bar_index - swingLength, swingHigh, color=color.new(#ff3366, 0), width=2, style=line.style_solid)
// Create resistance zone
if showSwingZones
box.delete(swingHighZone)
zoneTop = math.max(lastSwingHigh, swingHigh)
zoneBottom = math.min(lastSwingHigh, swingHigh)
swingHighZone := box.new(lastSwingHighBar, zoneTop, bar_index - swingLength, zoneBottom, border_color=color.new(#ff3366, 80), bgcolor=color.new(#ff3366, 92))
// Draw line connecting swing lows with zones
if not na(swingLow) and canPlotLow and not na(prevSwingLow)
if not na(lastSwingLowBar)
line.delete(swingLowLine)
swingLowLine := line.new(lastSwingLowBar, lastSwingLow, bar_index - swingLength, swingLow, color=color.new(#00ff88, 0), width=2, style=line.style_solid)
// Create support zone
if showSwingZones
box.delete(swingLowZone)
zoneTop = math.max(lastSwingLow, swingLow)
zoneBottom = math.min(lastSwingLow, swingLow)
swingLowZone := box.new(lastSwingLowBar, zoneTop, bar_index - swingLength, zoneBottom, border_color=color.new(#00ff88, 80), bgcolor=color.new(#00ff88, 92))
// ============================================================================
// Break of structure (bos)
// ============================================================================
// Track last BOS bar for cooloff
var int lastBullishBOS = na
var int lastBearishBOS = na
// Check if cooloff period has passed
canPlotBullishBOS = na(lastBullishBOS) or (bar_index - lastBullishBOS) >= bosCooloff
canPlotBearishBOS = na(lastBearishBOS) or (bar_index - lastBearishBOS) >= bosCooloff
// Bullish BOS: Price breaks above previous swing high while EMA is bullish
bullishBOS = showBOS and canPlotBullishBOS and emaTrend == 1 and not na(prevSwingHigh) and close > prevSwingHigh and close <= prevSwingHigh
// Bearish BOS: Price breaks below previous swing low while EMA is bearish
bearishBOS = showBOS and canPlotBearishBOS and emaTrend == -1 and not na(prevSwingLow) and close < prevSwingLow and close >= prevSwingLow
// Update last BOS bars
if bullishBOS
lastBullishBOS := bar_index
if bearishBOS
lastBearishBOS := bar_index
// Plot BOS with enhanced visuals and SL at the candle wick
if bullishBOS
// Calculate SL at the low of the current candle (bottom of wick) with buffer
slLevel = low * (1 - slBuffer/100)
// BOS Label with shadow effect
label.new(bar_index, low, "BOS", style=label.style_label_up, color=color.new(#00ff88, 0), textcolor=color.black, size=size.normal, tooltip="Bullish Break of Structure SL: " + str.tostring(slLevel))
// Main SL line at candle low
line.new(bar_index, slLevel, bar_index + slExtension, slLevel, color=color.new(#00ff88, 0), width=2, style=line.style_dashed, extend=extend.none)
// SL zone box for visual emphasis
box.new(bar_index, slLevel + (slLevel * 0.002), bar_index + slExtension, slLevel - (slLevel * 0.002), border_color=color.new(#00ff88, 60), bgcolor=color.new(#00ff88, 85))
// S/R label
label.new(bar_index + slExtension, slLevel, "S/R", style=label.style_label_left, color=color.new(#00ff88, 0), textcolor=color.black, size=size.tiny)
if bearishBOS
// Calculate SL at the high of the current candle (top of wick) with buffer
slLevel = high * (1 + slBuffer/100)
// BOS Label with shadow effect
label.new(bar_index, high, "BOS", style=label.style_label_down, color=color.new(#ff3366, 0), textcolor=color.white, size=size.normal, tooltip="Bearish Break of Structure SL: " + str.tostring(slLevel))
// Main SL line at candle high
line.new(bar_index, slLevel, bar_index + slExtension, slLevel, color=color.new(#ff3366, 0), width=2, style=line.style_dashed, extend=extend.none)
// SL zone box for visual emphasis
box.new(bar_index, slLevel + (slLevel * 0.002), bar_index + slExtension, slLevel - (slLevel * 0.002), border_color=color.new(#ff3366, 60), bgcolor=color.new(#ff3366, 85))
// S/R label
label.new(bar_index + slExtension, slLevel, "S/R", style=label.style_label_left, color=color.new(#ff3366, 0), textcolor=color.white, size=size.tiny)
// ============================================================================
// Dynamic background zones
// ============================================================================
bgcolor(showBG and emaTrend == 1 ? bgBullColor : showBG and emaTrend == -1 ? bgBearColor : na)
// ============================================================================
// Alerts
// ============================================================================
alertcondition(bullishBOS, "Bullish BOS", "Bullish Break of Structure detected!")
alertcondition(bearishBOS, "Bearish BOS", "Bearish Break of Structure detected!")
alertcondition(emaTrend == 1 and emaTrend != 1, "EMA Bullish", "EMA turned bullish")
alertcondition(emaTrend == -1 and emaTrend != -1, "EMA Bearish", "EMA turned bearish")
// ╔════════════════════════════════╗
// ║ Download at ║
// ╚════════════════════════════════╝
// ███████╗██╗███╗ ███╗██████╗ ██╗ ███████╗
// ██╔════╝██║████╗ ████║██╔══██╗██║ ██╔════╝
// ███████╗██║██╔████╔██║██████╔╝██║ █████╗
// ╚════██║██║██║╚██╔╝██║██╔═══╝ ██║ ██╔══╝
// ███████║██║██║ ╚═╝ ██║██║ ███████╗███████╗
// ╚══════╝╚═╝╚═╝ ╚═╝╚═╝ ╚══════╝╚══════╝
// ███████╗ ██████╗ ██████╗ ███████╗██╗ ██╗
// ██╔════╝██╔═══██╗██╔══██╗██╔════╝╚██╗██╔╝
// █████╗ ██║ ██║██████╔╝█████╗ ╚███╔╝
// ██╔══╝ ██║ ██║██╔══██╗██╔══╝ ██╔██╗
// ██║ ╚██████╔╝██║ ██║███████╗██╔╝ ██╗
// ╚═╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
// ████████╗ ██████╗ ██████╗ ██╗ ███████╗
// ╚══██╔══╝██╔═══██╗██╔═══██╗██║ ██╔════╝
// ██║ ██║ ██║██║ ██║██║ ███████╗
// ██║ ██║ ██║██║ ██║██║ ╚════██║
// ██║ ╚██████╔╝╚██████╔╝███████╗███████║
// ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝╚══════╝
// ==========================================================================================
KC/BB Squeeze Scanner (10/20>50 EMA, $10–$500, Vol > 1M)High volume, up trending, and compression occurring.
CRR SELL BOX MICROWhat it analyzes
Multi-TF:
1m, 5m, 15m, 30m (tf1–tf4).
In each timeframe it looks at:
EMA 15 / 30 / 200 → trend.
MACD → momentum.
RSI → strength.
From this it derives:
t1, t2, t3, t4 = +1 bullish, -1 bearish, 0 neutral.
A bearScore = how many TFs are bearish → multiTfBear.
Volatility / momentum:
ATR in pips (atrPips) → checks for sufficient movement (sufAtr).
1m candlestick body in pips → momentumBear1
(large bearish candle + MACD bearish + RSI bearish).
Strong downward candle in ticks (bigDrop) → type of large vertical red candle.
Global sensitivity:
Mode: Normal / High / Turbo
Automatically adjusts:
Minimum drop in ticks,
Minimum candlestick body,
Minimum ATR.
2️⃣ Main Sell Signal
SELL WITHOUT PULLBACK 1m
sellNoPull:
EMA 15 < EMA 30 < EMA 200 (strong bearish trend 1m),
MACD crosses bearish,
Price below EMA30 1m.
Multi-TF Bear
multiTfBear:
Normal Mode: 1m bearish and 5m–15m–30m not bullish,
High/Turbo Mode: at least 2 bearish TFs (bearScore >= 2).
Final condition (what triggers the setup)
Conservative:
condSellConservative = sellNoPull + multiTfBear + sufAtr + momentumBear1
Aggressive:
condSellAggressive = (t1 == -1 or bigDrop) + 15m not bullish + sufAtr
Final:
condSellFinal
If aggressiveMicro = true → uses aggressive logic.
Otherwise → uses conservative logic.
When condSellFinal is true:
It is considered a valid sell setup for scalping / micro. 3️⃣ States it shows you
Depending on what it detects:
🔴 "MICRO SELL 10-20p"
(aggressive mode ON + everything aligned for a quick drop).
🟥 "SCALPING SELL"
(if you're in conservative mode).
🟧 "NORMAL SELL"
(multi-timeframe bearish but without a strong trigger).
⚪ "NEUTRAL (NO SELL)"
(no setup).
Extra info (below the light bulb):
"STRONG DROP" if there's a large red candlestick indicating a sharp decline.
"MULTI TF BEARISH" if several timeframes are bearish.
"NO SETUP" if conditions are not met.
4️⃣ HUD + Session Clock
Compact HUD at the top center:
Row 1: STATUS: MICRO SELL / NORMAL SELL / NEUTRAL.
Row 2: Light bulb ● (red, orange, or gray) + extra info text.
New York Clock:
Detects session: TOKYO / LONDON / NEW YORK
(for trading time context only).
5️⃣ Alerts
When condSellFinal is met, it triggers:
"CRR SCALPING/MICRO SELL - sell signal activated"
🧠 In simple terms:
It's your specialized SELL radar:
It combines multi-timeframe analysis, momentum, ATR, and strong bearish candlesticks to alert you when gold is ready for a quick 10-20 pip short trade or a more serious bearish scalp.
CRR BUY What it analyzes
4 timeframes:
1m, 5m, 15m, and 30m.
In each timeframe it looks at:
EMA 15 / 30 / 200 → trend.
MACD → momentum.
RSI → strength.
From this it derives:
t1, t2, t3, t4 = +1 bullish, -1 bearish, 0 neutral.
A multi-timeframe bullScore (how many timeframes are bullish).
2️⃣ Volatility / momentum filters
ATR in pips → checks if there is enough movement (suffAtr).
1m candlestick body in pips → momentumBull1
(strong bullish candle with bullish MACD + bullish RSI).
Strong upward candle (bigPump) measured in ticks/pips.
Sensitivity mode:
Normal / High / Turbo → loosens or tightens filters for:
Strong candle,
Minimum body,
Minimum ATR.
3️⃣ Buy logic
There are three levels:
condBuyConservative
CLASSIC BUY WITHOUT RETRACEMENT:
Strong 1m trend, bullish MACD crossover, price above EMA30, + 1m momentum, + sufficient ATR, + multi-timeframe bullish.
condBuyAggressive (if using aggressive mode):
It's enough to have:
1m bullish (t1 == 1) or bigPump,
15m not bearish,
Sufficient ATR.
condBuyFinal
If aggressiveMicro = true → uses condBuyAggressive.
Otherwise → uses condBuyConservative.
Based on this, it displays states:
✅ "MICRO BUY 10-20p" (aggressive mode ON and everything aligned)
✅ "SCALPING BUY" (conservative mode with confirmations)
✅ "NORMAL BUY" (multi-timeframe bullish but without a strong trigger)
⛔ "NEUTRAL (NO BUY)" (no setup)
And triggers an alert:
CRR SCALPING BUY when condBuyFinal is met.
4️⃣ HUD and sessions
Detects session by New York time:
TOKYO / LONDON / NEW YORK (different color). Compact HUD at the top center with:
STATUS (buy or neutral text),
Green/teal/gray light bulb icon (●),
Extra info:
"STRONG UPTREND" if there's a big pump,
"MULTI TF BULLISH" if many timeframes are bullish,
"NO SETUP" if there's nothing.
🧠 In simple terms:
It's a BUY ONLY bullish radar for scalping/micro trading, which combines multi-timeframe analysis + momentum + ATR + strong candlestick patterns, summarizes it in a HUD, and sends you an alert when there's a real setup to go long.Qué analiza
4 marcos de tiempo:
1m, 5m, 15m y 30m.
En cada TF mira:
EMA 15 / 30 / 200 → tendencia.
MACD → impulso.
RSI → fuerza.
De ahí saca:
t1, t2, t3, t4 = +1 toro, -1 oso, 0 neutro.
Un bullScore multi–TF (cuántos TF están alcistas).
2️⃣ Filtros de volatilidad / momentum
ATR en pips → comprueba si hay suficiente movimiento (sufAtr).
Cuerpo de la vela 1m en pips → momentumBull1
(vela alcista fuerte con MACD bull + RSI bull).
Vela de subida fuerte (bigPump) medida en ticks/pips.
Modo sensibilidad:
Normal / Alta / Turbo → relaja o endurece filtros de:
Vela fuerte,
Cuerpo mínimo,
ATR mínimo.
3️⃣ Lógica de compra
Hay tres niveles:
condBuyConservador
BUY SIN RETRO clásico:
Tendencia 1m fuerte, cruce MACD bull, precio sobre EMA30, + momentum 1m, + ATR ok, + multi–TF bull.
condBuyAgresivo (si usas modo agresivo):
Basta con:
1m toro (t1 == 1) o bigPump,
15m no bajista,
ATR suficiente.
condBuyFinal
Si aggressiveMicro = true → usa condBuyAgresivo.
Si no → usa condBuyConservador.
Según eso, muestra estados:
✅ "COMPRA MICRO 10-20p" (modo agresivo ON y todo alineado)
✅ "COMPRA SCALPING" (modo conservador con confirmaciones)
✅ "COMPRA NORMAL" (multi–TF alcista pero sin trigger fuerte)
⛔ "NEUTRO (NO COMPRA)" (no hay setup)
Y dispara alerta:
CRR COMPRA SCALPING cuando condBuyFinal se cumple.
4️⃣ HUD y sesiones
Detecta sesión por hora de New York:
TOKIO / LONDRES / NEW YORK (color distinto).
HUD compacto arriba al centro con:
ESTADO (texto de compra o neutro),
Bombillo (●) verde/teal/gris,
Info extra:
"SUBIDA FUERTE" si hay bigPump,
"MULTI TF ALCISTA" si muchos TF están bull,
"SIN SETUP" si no hay nada.
🧠 En simple:
Es un radar de COMPRA SOLO BULL para scalping/micro, que mezcla multi–TF + momentum + ATR + vela fuerte, te lo resume en un HUD y te manda alerta cuando hay setup real para disparar largo.
CRR Nemesis Fear & Greed ProIt measures 4 market indicators:
ATR → volatility.
Relative Volume (rVOL) → whether there is more or less volume than average.
Price distance from the moving average (SMA 50) in ATR → how much the trend has extended.
Candlestick shape → size of the body and wicks (who is dominating, bulls or bears).
It calculates two scores (0–100):
Greed → when:
The candlestick is bullish,
The price is above the SMA 50 (uptrend),
There is a good body, good rVOL, the price is far from the average, high volatility,
A longer upper wick adds a little more.
Fear → when:
The candlestick is bearish,
The price is below the SMA 50 (downtrend),
Similarly: strong body, rVOL, distance from the average, volatility,
A longer lower wick adds a little more.
Both scores are smoothed with a 3-period EMA (greedSmoothed and fearSmoothed).
It determines the overall market sentiment (HUD):
ANGEL (greed dominates):
Greed ≥ 55 and Greed − Fear ≥ 10.
DEVIL (fear dominates):
Fear ≥ 55 and Fear − Greed ≥ 10.
If neither condition is met → NEUTRAL.
HUD on screen (table in the upper right corner):
Displays:
STATUS: ANGEL / DEVIL / NEUTRAL (with color).
FEAR: smoothed fear value.
GREED: smoothed greed value.
🧠 In simple terms:
It's a market sentiment engine: it combines volume, ATR, distance from the trend, and candlestick shape to tell you if the market is experiencing strong fear, strong greed, or is neutral, and displays it clearly in a HUD.
RiskCraft - Advanced Risk Management SystemRiskCraft – Risk Intelligence Dashboard
Trade like you actually respect risk
"I know the setup looks good… but how much am I actually risking right now?"
RiskCraft is an open-source Pine Script v6 indicator that keeps risk transparent directly on the chart. It is not a signal generator; it is a risk desk that calculates size, frames volatility, and reminds you when your behaviour drifts away from the plan.
Core utilities
Calculates professional-style position sizing in real time.
Reads volatility and market regime before position size is confirmed.
Adjusts risk based on the trader’s emotional state and confidence inputs.
Maps session risk across Asian, London, and New York hours.
Draws exactly one stop line and one target line in the preferred direction.
Provides rotating education tips plus contextual warnings when risk escalates.
It is intentionally conservative and keeps you in the game long enough for any separate entry logic to matter.
---
Chart layout checklist
Use a clean chart on a liquid symbol (e.g., AMEX:SPY or major FX pairs).
Main RiskCraft dashboard placed on the right edge.
Session Risk box on the left with UTC time visible.
Floating risk badge above price.
Stop/target guide lines enabled.
Education panel visible in the bottom-right corner.
---
1. On-chart components
Right-side dashboard : account risk %, position size/value, stop, target, risk/reward, regime, trend strength, emotional state, behavioural score, correlation, and preferred trade direction.
Session Risk box : highlights active session (Asian, London, NY), current UTC time, and risk label (High/Med/Low) per session.
Floating risk badge : keeps actual account risk percent visible with colour-coded wording from Ultra Cautious to Very Aggressive.
Stop/target lines : exactly one dashed stop and one dashed target aligned with the preferred bias.
Education panel : rotates core principles and AI-style warnings tied to volatility, risk %, and behaviour flags.
---
2. Volatility engine – ATR with context 📈
atr = ta.atr(atrLength)
atrPercent = (atr / close) * 100
atrSMA = ta.sma(atr, atrLength)
volatilityRatio = atr / atrSMA
isHighVol = volatilityRatio > volThreshold
ATR vs ATR SMA shows how wild price is relative to recent history.
Volatility ratio above the threshold flips isHighVol , which immediately trims risk.
An ATR percentile rank over the last 100 bars indicates calm versus chaotic regimes.
Daily ATR sampling via request.security() gives higher time-frame context for intraday sessions.
When volatility spikes the script dials position size down automatically instead of cheering for maximum exposure.
---
3. Market regime radar – Danger or Drift 🌊
ema20 = ta.ema(close, 20)
ema50 = ta.ema(close, 50)
ema200 = ta.ema(close, 200)
trendScore = (close > ema20 ? 1 : -1) +
(ema20 > ema50 ? 1 : -1) +
(ema50 > ema200 ? 1 : -1)
= ta.dmi(14, 14)
Regimes covered:
Danger : high volatility with weak trend.
Volatile : volatility elevated but structure still directional.
Choppy : low ADX and noisy action.
Trending : directional flows without extreme volatility.
Mixed : anything between.
Each regime maps to a 1–10 risk score and a multiplier that feeds the final position size. Danger and Choppy clamp size; Trending restores normal risk.
---
4. Behaviour engine – trader inputs matter 🧠
You provide:
Emotional state : Confident, Neutral, FOMO, Revenge, Fearful.
Confidence : slider from 1 to 10.
Toggle for behavioural adjustment on/off.
Behind the scenes:
Each state triggers an emotional multiplier .
Confidence produces a confidence multiplier .
Combined they form behavioralFactor and a 0–100 Behavioural Score .
High-risk emotions or low conviction clamp the final risk. Calm inputs allow normal size. The dashboard prints both fields to keep accountability on-screen.
---
5. Correlation guardrail – avoid stacking identical risk 📊
Optional correlation mode compares the active symbol to a reference (default AMEX:SPY ):
corrClose = request.security(correlationSymbol, timeframe.period, close)
priceReturn = ta.change(close) / close
corrReturn = ta.change(corrClose) / corrClose
correlation = calcCorrelation()
Absolute correlation above the threshold applies a correlation multiplier (< 1) to reduce size.
Dashboard row shows the live correlation and reference ticker.
When disabled, the row simply echoes the current symbol, keeping the table readable.
---
6. Position sizing engine – heart of the script 💰
baseRiskAmount = accountSize * (baseRiskPercent / 100)
adjustedRisk = baseRiskAmount * behavioralFactor *
regimeAdjustment * volAdjustment *
correlationAdjustment
finalRiskAmount = math.min(adjustedRisk,
accountSize * (maxRiskCap / 100))
stopDistance = atr * atrStopMultiplier
takeProfit = atr * atrTargetMultiplier
positionSize = stopDistance > 0 ? finalRiskAmount / stopDistance : 0
positionValue = positionSize * close
Outputs shown on the dashboard:
Position size in units and value in currency.
Actual risk % back on account after adjustments.
Risk/Reward derived from ATR-based stop and target.
---
7. Intelligent trade direction – bias without signals 🎯
Direction score ingredients:
EMA stack alignment.
Price versus EMA20.
RSI momentum relative to 50.
MACD line vs signal.
Directional Movement (DI+/DI–).
The resulting Trade Direction row prints LONG, SHORT, or NEUTRAL. No orders are generated—this is guidance so you only risk capital when the structure supports it.
---
8. Stop/target guide lines – two lines only ✂️
if showStopLines
if preferLong
// long stop below, target above
else if preferShort
// short stop above, target below
Lines refresh each bar to keep clutter low.
When the direction score is neutral, no lines appear.
Use them as visual anchors, not auto-orders.
---
9. Session Risk map – global volatility clock 🌍
Tracks Asian, London, and New York windows via UTC.
Computes average ATR per session versus global ATR SMA.
Labels each session High/Med/Low and colours the cells accordingly.
Top row shows the active session plus current UTC time so you always know the regime you are trading.
One glance tells you whether you are trading quiet drift or the part of the day that hunts stops.
---
10. Floating risk badge – honesty above price 🪪
Text ranges from Ultra Cautious through Very Aggressive.
Colour matches the risk palette inputs (High/Med/Low).
Updates on the last bar only, keeping historical clutter off the chart.
Account risk becomes impossible to ignore while you stare at price.
---
11. Education engine & warnings 📚
Rotates evergreen principles (risk 1–2%, journal trades, respect plan).
Triggers contextual warnings when volatility and risk % conflict.
Flags when emotional state = FOMO or Revenge.
Highlights sub-standard risk/reward setups.
When multiple danger flags stack, an AI-style warning overrides the tip text so you can course-correct before capital is exposed.
---
12. Alerts – hard guard rails 🚨
Excessive Risk Alert : actual risk % crosses custom threshold.
High Volatility Alert : ATR behaviour signals danger regime.
Emotional State Warning : FOMO or Revenge selected.
Poor Risk/Reward Alert : risk/reward drops below your standard.
All alerts reinforce discipline; none suggest entries or exits.
---
13. Multi-market behaviour 🕒
Intraday (1m–1h): session box and badge react quickly; ideal for scalpers needing constant risk context.
Higher time frames (1D–1W): dashboard shifts slowly, supporting swing planning.
Asset classes confirmed in validation: crypto majors, large-cap equities, indices, major FX pairs, and liquid commodities.
Risk logic is price-based, so it adapts across markets without bespoke tuning.
15. Key inputs & recommended defaults
Account Size : 10,000 (modify to match actual account; min 100).
Base Risk % : 1.0 with a Maximum Risk Cap of 2.5%.
ATR Period : 14, Stop Multiplier 2.0, Target Multiplier 3.0.
High Vol Threshold : 1.5 for ATR ratio.
Behavioural Adjustment : enabled by default; disable for fixed risk.
Correlation Check : optional; default symbol AMEX:SPY , threshold 0.7.
Display toggles : main dashboard, risk badge, session map, education panel, and stop lines can be individually disabled to reduce clutter.
16. Usage notes & limits
Indicator mode only; no automated entries or exits.
Trade history panel intentionally disabled (requires strategy context).
Correlation analysis depends on additional data requests and may lag slightly on illiquid symbols.
Session timing uses UTC; adjust expectations if you trade localized instruments.
HTF ATR sampling uses daily data, so bar replay on lower charts may show brief data gaps while HTF loads.
What does everyone think RISK really means?






















