US Liquidity-Weighted Business Cycle📈 BTC Liquidity-Weighted Business Cycle
This indicator models the Bitcoin macro cycle by comparing its logarithmic price against a log-transformed liquidity proxy (e.g., US M2 Money Supply). It helps visualize cyclical tops and bottoms by measuring the relative expansion of Bitcoin price versus fiat liquidity.
🧠 How It Works:
Transforms both BTC and M2 using natural logarithms.
Computes a liquidity ratio: log(BTC) – log(M2) (i.e., log(BTC/M2)).
Runs MACD on this ratio to extract business cycle momentum.
Plots:
🔴 Histogram bars showing cyclical growth or contraction.
🟢 Top line to track the relative price-to-liquidity trend.
🔴 Cycle peak markers to flag historical market tops.
⚙️ Inputs:
Adjustable MACD lengths
Toggle for liquidity trend line overlay
🔍 Use Cases:
Identifying macro cycle tops and bottoms
Timing long-term Bitcoin accumulation or de-risking
Confirming global liquidity's influence on BTC price movement
Note: This version currently uses US M2 (FRED:M2SL) as the liquidity base. You can easily expand it with other global M2 sources or adjust the weights.
Penunjuk dan strategi
ICT Macro Time Window NYThis script highlights the typical ICT “macro” algorithm activity windows on your chart. It marks 10 minutes before to 10 minutes after each full hour, based on New York time (NY). The display is restricted to the 00:00 – 16:00 NY time range.
Overlay on chart with semi-transparent background
Automatically adjusts to the chart timeframe
Customizable: window start/end minutes, hours, and background color
Ideal for traders following ICT concepts to visually identify high-probability algorithm activity periods.
Latest Lime CherryLatest Lime Cherry is an indicator based on EMA that you can use to try to discern whether the current trend is up or down
Lime Cherry IndicatorThe Lime Cherry Indicator is a version of an EMA that may help you to better determine whether the overall trend is up or down
PanelWithGrid v1.7PanelWithGrid v1.7 - Advanced Multi-Timeframe Grid and Panel Indicator
DESCRIPTION:
PanelWithGrid v1.7 is a comprehensive tool for traders who want to monitor multiple timeframes simultaneously while operating based on a customizable price grid. This indicator combines two essential functionalities in a single script:
🎯 MAIN FEATURES:
✅ CUSTOMIZABLE GRID SYSTEM
Configurable timeframe for the grid base (1M to Monthly)
Selection of the reference candlestick level (0 = current, 1 = previous, etc.)
NEW: Custom price as the grid base
Adjustable distance between lines in points
Colored lines (red = base, blue = above, gold = below)
Informative label with the base value
✅ COMPLETE MULTI-TIMEFRAME DASHBOARD
Monitoring of 11 timeframes: 1M, 5M, 15M, 30M, 1H, 2H, 3H, 4H, 6H, 12H, and 1D
Real-time data: open, close, difference, and candlestick type
Countdown to close Each candle
Intuitive colors (green for bullish, red for bearish)
✅ CONFLUENCE SYSTEM
Visual and audio alerts for bullish/bearish confluence on all timeframes
Special confluence analysis for 1H candles after 30 minutes of formation
Buy/sell arrows on the chart for clear signals
⚙️ MAIN SETTINGS:
Grid Settings:
Timeframe for Grid: Select the period for the baseline
Candle Level: 0 (current candle), 1 (last candle), etc.
Grid Distance: Distance between lines in points
NEW: Use Custom Price - Enables manual price as a base
Custom Close Price - Sets the manual value for the grid
🎨 VISUAL:
Grid with lines extended to the right
Panel positioned in the upper left corner
Colors organized for easy interpretation
Informative labels directly on the chart
🔔 ADVANCED FEATURES:
Alerts configured for confluences
Optimized for performance
Real-time updates
Compatible with all pairs and markets
PERFECT FOR:
Scalpers and day traders
Level-based trading
Multiple timeframe analysis
Reversal and breakout strategies
UPDATE v1.7:
Added custom price option for the grid
Improved line stability
Performance optimization
Bug fixes minors
INSTRUCTIONS FOR USE:
Apply the indicator to the chart
Set the desired timeframe and level for the grid
Adjust the distance between lines according to your strategy
Use the custom price if you want a specific basis
Monitor the dashboard to see the convergence between timeframes
Trade based on the identified confluences
Smart Money Concepts //@deepak
//@version=5
indicator(title='Custom Also Builder - v1', shorttitle="Custom Also Builder - v1", overlay=true, max_bars_back=500)
ma(_source, _length, _type) =>
switch _type
"SMA" => ta.sma (_source, _length)
"EMA" => ta.ema (_source, _length)
"RMA" => ta.rma (_source, _length)
"WMA" => ta.wma (_source, _length)
"VWMA" => ta.vwma(_source, _length)
alarm(_osc, _message) =>
alert(syminfo.ticker + ' ' + _osc + ' : ' + _message + ', price (' + str.tostring(close, format.mintick) + ')')
//Conditional Sampling EMA Function
Cond_EMA(x, cond, n) =>
var val = array.new_float(0)
var ema_val = array.new_float(1)
if cond
array.push(val, x)
if array.size(val) > 1
array.remove(val, 0)
if na(array.get(ema_val, 0))
array.fill(ema_val, array.get(val, 0))
array.set(ema_val, 0, (array.get(val, 0) - array.get(ema_val, 0)) * (2 / (n + 1)) + array.get(ema_val, 0))
EMA = array.get(ema_val, 0)
EMA
//Conditional Sampling SMA Function
Cond_SMA(x, cond, n) =>
var vals = array.new_float(0)
if cond
array.push(vals, x)
if array.size(vals) > n
array.remove(vals, 0)
SMA = array.avg(vals)
SMA
//Standard Deviation Function
Stdev(x, n) =>
math.sqrt(Cond_SMA(math.pow(x, 2), 1, n) - math.pow(Cond_SMA(x, 1, n), 2))
//Range Size Function
rng_size(x, scale, qty, n) =>
ATR = Cond_EMA(ta.tr(true), 1, n)
AC = Cond_EMA(math.abs(x - x ), 1, n)
SD = Stdev(x, n)
rng_size = scale == 'Pips' ? qty * 0.0001 : scale == 'Points' ? qty * syminfo.pointvalue : scale == '% of Price' ? close * qty / 100 : scale == 'ATR' ? qty * ATR : scale == 'Average Change' ? qty * AC : scale == 'Standard Deviation' ? qty * SD : scale == 'Ticks' ? qty * syminfo.mintick : qty
rng_size
//Two Type Range Filter Function
rng_filt(h, l, rng_, n, type, smooth, sn, av_rf, av_n) =>
rng_smooth = Cond_EMA(rng_, 1, sn)
r = smooth ? rng_smooth : rng_
var rfilt = array.new_float(2, (h + l) / 2)
array.set(rfilt, 1, array.get(rfilt, 0))
if type == 'Type 1'
if h - r > array.get(rfilt, 1)
array.set(rfilt, 0, h - r)
if l + r < array.get(rfilt, 1)
array.set(rfilt, 0, l + r)
if type == 'Type 2'
if h >= array.get(rfilt, 1) + r
array.set(rfilt, 0, array.get(rfilt, 1) + math.floor(math.abs(h - array.get(rfilt, 1)) / r) * r)
if l <= array.get(rfilt, 1) - r
array.set(rfilt, 0, array.get(rfilt, 1) - math.floor(math.abs(l - array.get(rfilt, 1)) / r) * r)
rng_filt1 = array.get(rfilt, 0)
hi_band1 = rng_filt1 + r
lo_band1 = rng_filt1 - r
rng_filt2 = Cond_EMA(rng_filt1, rng_filt1 != rng_filt1 , av_n)
hi_band2 = Cond_EMA(hi_band1, rng_filt1 != rng_filt1 , av_n)
lo_band2 = Cond_EMA(lo_band1, rng_filt1 != rng_filt1 , av_n)
rng_filt = av_rf ? rng_filt2 : rng_filt1
hi_band = av_rf ? hi_band2 : hi_band1
lo_band = av_rf ? lo_band2 : lo_band1
ma_function(source, length, type) =>
if type == 'RMA'
ta.rma(source, length)
else if type == 'SMA'
ta.sma(source, length)
else if type == 'EMA'
ta.ema(source, length)
else if type == 'WMA'
ta.wma(source, length)
else if type == 'HMA'
if(length<2)
ta.hma(source,2)
else
ta.hma(source, length)
else
ta.vwma(source, length)
// Get Table Size
table_size(s) =>
switch s
"Auto" => size.auto
"Huge" => size.huge
"Large" => size.large
"Normal" => size.normal
"Small" => size.small
=> size.tiny
setup_group= "████████ Indicator Setup ████████"
signalexpiry = input.int(defval=3, title='Signal Expiry Candle Count',group=setup_group, inline='expiry',tooltip="Number of candles to wait for all indicators to confirm a signal. Default is 3 which means if leading indicator print the signal, it will wait for max 3 more candles for rest of the indicators to print signal, if not then this setup is invalided and will have to wait for another signal form the leading indicator.")
alternatesignal = input.bool (true, "Alternate Signal", group=setup_group, inline='alternate')
showsignal = input.bool (true, "Show Long/Short Signal", group=setup_group,inline='showsignal',tooltip="Option to turn on/off the Long/Short signal shown on the chart. by default it will print Long/ Short signal on the chart.")
showdashboard = input.bool (true, "Show Dashboard", group=setup_group,inline='dashboard')
string i_tab1Ypos = input.string('bottom', 'Dashboard Position',group=setup_group, inline='dashboard2', options= )
string i_tab1Xpos = input.string('right', '', inline='dashboard2', group=setup_group,options= )
in_dashboardtab_size = input.string(title="Dashboard Size ", defval="Normal",
options= ,
group= setup_group , inline= "dashboard3")
///////////////////////////////////////////////
///// Signal filters
/////////////////////////////////////////////
leadingindicator = input.string(title="Leading Indicator", defval="Range Filter",
options= , group='████████ Main Indicator (signal) ████████', inline='li')
confirmation_group = "████████ Confirmation Indicators (filter) ████████ "
ema_tooltip = "EMA filter for confirmation. Validates Long signal if price is above the EMA FILTER level, and validates Short signal if price is below the EMA FILTER level. Default is 200, you can change that to meet your requiremnt."
respectema = input.bool (false, "EMA Filter", group=confirmation_group, inline='respectema')
respectemaperiod = input.int(defval=200, minval=1, title='', group=confirmation_group, inline='respectema', tooltip=ema_tooltip)
ema2_tooltip = "Generates Long signal if Fast EMA cross above Slow EMA. Generates Short signal when Fast EMA cross below the Slow EMA. Default values are 50 and 200. you can change that to meet your requirement."
respect2ma = input.bool (false, "2 EMA Cross : ", group=confirmation_group, inline='2ma')
respect2maperiod_1 = input.int(defval=50, title='',group=confirmation_group, inline='2ma')
respect2maperiod_2 = input.int(defval=200, title='',group=confirmation_group, inline='2ma',tooltip=ema2_tooltip)
ema3_tooltip = "Generates Long signal if first EMA (Fastest) cross above 2nd and 3rd EMA and 2nd EMA cross above 3rd EMA. Generates Short signal if first EMA (Fastest) cross below 2nd and 3rd EMA and 2nd EMA cross below 3rd EMA . Default values are 9,21 and 55. you can change that to meet your requirement."
respect3ma = input.bool (false, "3 EMA Cross : ", group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_1 = input.int(defval=9, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_2 = input.int(defval=21, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respect3maperiod_3 = input.int(defval=55, title='',group=confirmation_group, inline='3ma',tooltip=ema3_tooltip)
respectrf = input.bool (false, "Range Filter", group=confirmation_group, inline='rf')
rftype = input.string(title="", defval="Default", options= , group=confirmation_group, inline='rf')
respectrqk = input.bool (true, "Rational Quadratic Kernel (RQK)", group=confirmation_group, inline='rqk',tooltip="Nadaraya Watson: Rational Quadratic Kernel (RQK)")
respectst = input.bool (false, "SuperTrend", group=confirmation_group, inline='st')
respectht = input.bool (false, "Half Trend", group=confirmation_group, inline='ht')
respectdonchian = input.bool (false, "Donchian Trend Ribbon", group=confirmation_group, inline='donchian')
respectroc = input.bool (false, "Rate of Change (ROC)", group=confirmation_group, inline='roc')
respecttsi = input.bool (false, "True Strength Indicator (TSI)", group=confirmation_group, inline='tsi')
tsitooltip = "Signal Crossover: TSI crossover or greater than signal line for long, and TSI crossunder signal line for short. Zero Line Cross: TSI cross above zero line and signal line for long signal. Tsi Cross below zero and signal line for short signal."
tsitype = input.string(title="", defval="Signal Cross", options= ,tooltip=tsitooltip, group=confirmation_group, inline='tsi')
respecttdfi = input.bool (false, "Trend Direction Force Index (TDFI)", group=confirmation_group, inline='tdfi')
respectmd = input.bool (false, "McGinley Dynamic", group=confirmation_group, inline='md')
respectdpo = input.bool (false, "Detrended Price Oscillator (DPO)", group=confirmation_group, inline='dpo')
respectichi = input.bool (false, "Ichimoku Cloud", group=confirmation_group, inline='ichi')
respectsuperichi = input.bool (false, "SuperIchi", group=confirmation_group, inline='ichi',tooltip="Ichimoku Cloud Conditions: 1. Candle above cloud 2. Converstion Line above base line 3. Leading 26 bar cloud is green 4. lagging span is above the cloud")
respecttrendline_breakout = input.bool (false, "Trendline Breakout", group=confirmation_group, inline='tb')
respectrd = input.bool (false, "Range Detector", group=confirmation_group, inline='rd',tooltip="Range Detector: if used as leading indicator, it will be based on range breakout. If used as confirmation indicator, it will be used to filter entries within the active range area.")
respecthacolt = input.bool (false, "Heiken-Ashi Candlestick Oscillator", group=confirmation_group, inline='hacolt',tooltip="Vervoort LongTerm Heiken-Ashi Candlestick Oscillator: If oscilliation is above 0 line, then long signal is issued and if below zero line, short signal is issued.")
respectbx = input.bool (false, "B-Xtrender", group=confirmation_group, inline='bx')
bxtype = input.string(title="", defval="Short and Long term trend", options= , group=confirmation_group, inline='bx', tooltip = "Short term trend: ===================== For buy signal the short term trend line must turn green, and for the sell signal, the short term trend line must turn red. Short and Long term trend: ===================== For buy signal, the short term trend must change from red to green and long term trend cross above zero line, for Sell signal the short term trend must turn red and long term trend line cross down the zero line..")
respectbbpt = input.bool (false, "Bull bear Power Trend", group=confirmation_group, inline='bbpt')
bbpttype = input.string(title="", defval="Follow Trend", options= , group=confirmation_group, inline='bbpt', tooltip = "Follow Trend: ===================== Buy signal will be validated if the BBPT trend line is above 2, and Sell signal will be validated if BBPT trend line is below -2. Without Trend: ===================== Ignore the BBPT trend line.")
respectvwap = input.bool (false, "VWAP", group=confirmation_group, inline='vwap')
respectbbosc = input.bool (false, "BB Oscillator", group=confirmation_group, inline='bbosc')
bbtype = input.string(title="", defval="Entering Lower/Upper Band", options= , group=confirmation_group, inline='bbosc')
respecttm = input.bool (false, "Trend Meter", group=confirmation_group, inline='tm')
tmtype = input.string(title="", defval="3 TM and 2 TB change to same color", options= , group=confirmation_group, inline='tm')
respectce = input.bool (false, "Chandelier Exit", group=confirmation_group, inline='ce')
respectcci = input.bool (false, "CCI", group=confirmation_group, inline='cci')
respectao = input.bool (false, "Awesome Oscillator", group=confirmation_group, inline='ao')
aotype = input.string(title="", defval="Zero Line Cross", options= , group=confirmation_group, inline='ao', tooltip = "Zero Line Cross: If AO value cross the zero line up, Buy signal will be generated, and if AO value cross down the zero line, sell signal will be generated.")
respectadx = input.bool (false, "DMI (ADx)", group=confirmation_group, inline='adx')
adxtype = input.string(title="", defval="Adx & +Di -Di", options= , group=confirmation_group, inline='adx', tooltip = "Adx Only: If Adx value is above the defined level. Adx & +Di -DI : When Adx value is above the defined level and croseeover between +di and -di. Di will determine the direction of the movement. Advance: ")
respectsar = input.bool (false, "Parabolic SAR (PSAR)", group=confirmation_group, inline='sar')
respectwae = input.bool (false, "Waddah Attar Explosion", group=confirmation_group, inline='wae')
vo_tooltip = "Volatility Oscillator: ======================= If the spike line is above the upper line, buy signal is generated (or validated). If the spike line is below the lower line, sell signal is generated (or validated)."
respectvo = input.bool (false, "Volatility Oscillator", group=confirmation_group, inline='vo', tooltip = vo_tooltip)
ci_tooltip = "Choppiness index: ======================= If the index is below the defined threshold (default 61.8) then asset is considered trending and signal will be validated, if index is above 61.8 then asset is considered having sideway movement."
respectci = input.bool (false, "Choppiness Index ", group=confirmation_group, inline='ci')
ci_limit = input.float(61.8,title=" ", inline='ci',group=confirmation_group, tooltip = ci_tooltip)
respectdv = input.bool (false, "Damiani Volatility (DV)", group=confirmation_group, inline='dv')
dvtype = input.string(title="", defval="Simple", options= , group=confirmation_group, inline='dv', tooltip = "Simple Volatility is green. Threshold Volatility green and >1.1")
stochtooltip="CrossOver: ------------------ CrossOver of K and D line at any level. CrossOver in OB & OS levels: Generate buy signal if crossover happens in oversold area and crossing up oversold level. Generate sell signal on crossover in overbought area and cross down upper level. ------------------ %K above/below %D ------------------ : Generate Buy signal or validate other signal if %K is above %D and opposite for Sell Signal."
respectstochastic = input.bool (false, "Stochastic", group=confirmation_group, inline='stoch')
stochtype = input.string(title="", defval="CrossOver", options= ,tooltip=stochtooltip, group=confirmation_group, inline='stoch')
rsi_tooltip = "RSI MA Cross: ============= Generate buy signal when RSI cross up RSI MA line and sell signal when RSI cross down RSI MA line. RSI Exits OB/OS zones: ================== Generate Buy signal when RSI crosses down the overbough zone and sell signal when RSI crosses up the oversold zone. RSI Level: ========== Generate buy signal if RSI cross above the specific level and sell signal when RSI crossdown the level. +++++ You can change the setting to define the OB/OS and MidLine Levels"
respectrsi = input.bool (false, "RSI", group=confirmation_group, inline='rsi')
rsitype = input.string(title="", defval="RSI MA Cross", options= , tooltip=rsi_tooltip, group=confirmation_group, inline='rsi')
rsima_tooltip = "RSI MA Direction: ============= The buy and sell signal will respect the RSI MA direction. For buy signal, the RSI MA should be increasing or same compared to previous RSI MA. for SHORT, the RSI MA should be same or decreasing compared to last RSI MA"
respectrsima = input.bool (false, "RSI MA Direction", group=confirmation_group, inline='rsi2',tooltip=rsima_tooltip)
rsilimit_tooltip = "RSI Limit: ============= This is to allow you to set limit for the RSI value for long and short. default value for long is 40, which means if the RSI is 40 or above, only then BUY signal will be validated. for short if RSI is 60 or less, only then sell signal willbe validated."
respectrsilimit = input.bool (false, "RSI Limit : ", group=confirmation_group, inline='rsi3',tooltip=rsilimit_tooltip)
rsilimitup = input.int(40, title="Long",inline='rsi3', group=confirmation_group)
rsilimitdown = input.int(60, title="short",inline='rsi3', group=confirmation_group)
rsimalimit_tooltip = "RSI MA Limit: ============= This is to allow you to set limit for the RSI MA value for long and short. default value for long is 40, which means if the RSI MA is 40 or above, only then BUY signal will be validated. for short if RSI MA is 60 or less, only then sell signal willbe validated."
respectrsimalimit = input.bool (false, "RSI MA Limit : ", group=confirmation_group, inline='rsi4',tooltip=rsimalimit_tooltip)
rsimalimitup = input.int(40, title="Long",inline='rsi4', group=confirmation_group)
rsimalimitdown = input.int(60, title="short",inline='rsi4', group=confirmation_group)
macdtooltip="MACD Crossover: ------------------ CrossOver of MACD and the Signal line. Generates Long signal when MACD cross up Signal line and Short signal when MACD cross down Signal Line. . Zero line crossover: ------------------ Generate buy signal when MACD cross up the zero line and Sell signal when MACD cross down the zero line."
respectmacd = input.bool (false, "MACD", group=confirmation_group, inline='macd')
macdtype = input.string(title="", defval="MACD Crossover", options= ,tooltip=macdtooltip, group=confirmation_group, inline='macd')
respectssl = input.bool (false, "SSL Channel", group=confirmation_group, inline='ssl')
respectstc = input.bool (false, "Schaff Trend Cycle (STC)", group=confirmation_group, inline='stc')
respectchaikin = input.bool (false, "Chaikin Money Flow", group=confirmation_group, inline='chaikin')
respectvol = input.bool (false, "Volume", group=confirmation_group, inline='volume')
volumetype = input.string(title="", defval="volume above MA", options= , group=confirmation_group, inline='volume', tooltip = "Simple volume is comparing the up/down volme with previous candle. Volume delta will compare the delta or difference between up and down volume with previous candle. Example: up volume = 100 Down volume=-1100 Delta = -1000 Satisfy the bear flag condition if previous -ve delta is lower")
respectwolf = input.bool (false, "Wolfpack Id", group=confirmation_group, inline='wolf')
respectqqe = input.bool (false, "QQE Mod", group=confirmation_group, inline='qqe')
qqetype = input.string(title="", defval="Line", options= , group=confirmation_group, inline='qqe', tooltip = "Line: signal generated when QQE line is above or below 0. Bar: when Blue bar is above 0 or Red bar below 0 Line & Bar: Both Bar and Line to be above(bullist) or below (beari
ST-Stochastic DashboardST-Stochastic Dashboard: User Manual & Functionality
1. Introduction
The ST-Stochastic Dashboard is a comprehensive tool designed for traders who utilize the Stochastic Oscillator. It combines two key features into a single indicator:
A standard, fully customizable Stochastic Oscillator plotted directly on your chart.
A powerful Multi-Timeframe (MTF) Dashboard that shows the status of the Stochastic %K value across three different timeframes of your choice.
This allows you to analyze momentum on your current timeframe while simultaneously monitoring for confluence or divergence on higher or lower timeframes, all without leaving your chart.
Disclaimer: In accordance with TradingView's House Rules, this document describes the technical functionality of the indicator. It is not financial advice. The indicator provides data based on user-defined parameters; all trading decisions are the sole responsibility of the user. Past performance is not indicative of future results.
2. How It Works (Functionality)
The indicator is divided into two main components:
A. The Main Stochastic Indicator (Chart Pane)
This is the visual representation of the Stochastic Oscillator for the chart's current timeframe.
%K Line (Blue): This is the main line of the oscillator. It shows the current closing price in relation to the high-low range over a user-defined period. A high value means the price is closing near the top of its recent range; a low value means it's closing near the bottom.
%D Line (Black): This is the signal line, which is a moving average of the %K line. It is used to smooth out the %K line and generate trading signals.
Overbought Zone (Red Area): By default, this zone is above the 75 level. When the Stochastic lines are in this area, it indicates that the asset may be "overbought," meaning the price is trading near the peak of its recent price range.
Oversold Zone (Blue Area): By default, this zone is below the 25 level. When the Stochastic lines are in this area, it indicates that the asset may be "oversold," meaning the price is trading near the bottom of its recent price range.
Crossover Signals:
Buy Signal (Blue Up Triangle): A blue triangle appears below the candles when the %K line crosses above the Oversold line (e.g., from 24 to 26). This suggests a potential shift from bearish to bullish momentum.
Sell Signal (Red Down Triangle): A red triangle appears above the candles when the %K line crosses below the Overbought line (e.g., from 76 to 74). This suggests a potential shift from bullish to bearish momentum.
B. The Multi-Timeframe Dashboard (Table on Chart)
This is the informational table that appears on your chart. Its purpose is to give you a quick, at-a-glance summary of the Stochastic's condition on other timeframes.
Function: The script uses TradingView's request.security() function to pull the %K value from three other timeframes that you specify in the settings.
Efficiency: The table is designed to update only on the last (most recent) bar (barstate.islast) to ensure the script runs efficiently and does not slow down your chart.
Columns:
Timeframe: Displays the timeframe you have selected (e.g., '5', '15', '60').
Stoch %K: Shows the current numerical value of the %K line for that specific timeframe, rounded to two decimal places.
Status: Interprets the %K value and displays a clear status:
OVERBOUGHT (Red Background): The %K value is above the "Upper Line" setting.
OVERSOLD (Blue Background): The %K value is below the "Lower Line" setting.
NEUTRAL (Black/Dark Background): The %K value is between the Overbought and Oversold levels.
3. Settings / Parameters in Detail
You can access these settings by clicking the "Settings" (cogwheel) icon on the indicator name.
Stochastic Settings
This group controls the behavior and appearance of the main Stochastic indicator plotted in the pane.
Stochastic Period (length)
Description: This is the lookback period used to calculate the Stochastic Oscillator. It defines the number of past bars to consider for the high-low range.
Default: 9
%K Smoothing (smoothK)
Description: This is the moving average period used to smooth the raw Stochastic value, creating the %K line. A higher value results in a smoother, less sensitive line.
Default: 3
%D Smoothing (smoothD)
Description: This is the moving average period applied to the %K line to create the %D (signal) line. A higher value creates a smoother signal line that lags further behind the %K line.
Default: 6
Lower Line (Oversold) (ul)
Description: This sets the threshold for the oversold condition. When the %K line is below this value, the dashboard will show "OVERSOLD". It is also the level the %K line must cross above to trigger a Buy Signal triangle.
Default: 25
Upper Line (Overbought) (ll)
Description: This sets the threshold for the overbought condition. When the %K line is above this value, the dashboard will show "OVERBOUGHT". It is also the level the %K line must cross below to trigger a Sell Signal triangle.
Default: 75
Dashboard Settings
This group controls the data and appearance of the multi-timeframe table.
Timeframe 1 (tf1)
Description: The first timeframe to be displayed in the dashboard.
Default: 5 (5 minutes)
Timeframe 2 (tf2)
Description: The second timeframe to be displayed in the dashboard.
Default: 15 (15 minutes)
Timeframe 3 (tf3)
Description: The third timeframe to be displayed in the dashboard.
Default: 60 (1 hour)
Dashboard Position (table_pos)
Description: Allows you to select where the dashboard table will appear on your chart.
Options: top_right, top_left, bottom_right, bottom_left
Default: bottom_right
4. How to Use & Interpret
Configuration: Adjust the Stochastic Settings to match your trading strategy. The default values (9, 3, 6) are common, but feel free to experiment. Set the Dashboard Settings to the timeframes that are most relevant to your analysis (e.g., your entry timeframe, a medium-term timeframe, and a long-term trend timeframe).
Analysis with the Dashboard: The primary strength of this tool is confluence. Look for situations where multiple timeframes align. For example:
If the dashboard shows OVERSOLD on the 15-minute, 60-minute, and your current 5-minute chart, a subsequent Buy Signal on your 5-minute chart may carry more weight.
Conversely, if your 5-minute chart shows OVERSOLD but the 60-minute chart is strongly OVERBOUGHT, it could indicate that you are looking at a minor pullback in a larger downtrend.
Interpreting States:
Overbought is not an automatic "sell" signal. It simply means momentum has been strong to the upside, and the price is near its recent peak. It could signal a potential reversal, but the price can also remain overbought for extended periods in a strong uptrend.
Oversold is not an automatic "buy" signal. It means momentum has been strong to the downside. While it can signal a potential bounce, prices can remain oversold for a long time in a strong downtrend.
Use the signals and dashboard states as a source of information to complement your overall trading strategy, which should include other forms of analysis such as price action, support/resistance levels, or other indicators.
Renko Open Range 𝛥
Delta Renko-Style Indicator Guide (NQ Focus)
This indicator takes inspiration from the Renko Chart concept and is optimized for the RTH session (New York time zone), specifically applied to the Nasdaq futures (NQ) product.
If you’re unfamiliar with Renko charts, it may help to review their basics first, as this indicator borrows their clean, block-based perspective to simplify price interpretation.
⸻
🔧 How the Indicator Works
• At market open (9:30 AM EST), the indicator plots a horizontal open price line, referred to as 0 delta.
• From this anchor, it plots 10 incremental levels (deltas) both above and below the open, each spaced by 62.5 NQ points.
Why 62.5?
• With NQ currently trading in the 23,000–24,000 range, a 62.5-point move represents roughly 0.26% of the daily average range.
• This makes each delta step significant enough to capture movement while filtering out smaller noise.
A mini table (location adjustable) displays:
• Current delta zone
• Last touched delta level
This gives you a quick snapshot of where price sits relative to the open.
⸻
📈 How to Read the Market
• At the open, price typically oscillates between 0 and +1 / -1 delta.
• A break beyond this zone often signals stronger directional intent:
• Trending day: price can push into +2, +3, +4, +5 (or the inverse for downside).
• Range day: expect price to bounce between +1, 0, -1 deltas.
⚠️ Note: This is a visualization tool, not a trading system. Its purpose is to help you quickly recognize range vs. trend conditions.
⸻
📊 Example
• In this case, NQ reached +1 delta shortly after open.
• A retest of 0 delta followed, and price later surged to +5/+6 deltas (helped by Fed news).
⸻
🛠️ Practical Uses
This indicator can help you:
• Define profit targets
• Place hard stop levels
• Gauge whether a counter-trend trade is worth the risk
⚠️ Caution: Avoid counter-trend trades if price is aggressively pushing toward +5/+6 or -5/-6 deltas, as trend exhaustion usually hasn’t set in yet.
⸻
🔄 Adapting for ES (S&P Futures)
• On NQ, 62.5 points ≈ $1,250 per contract.
• For ES, this translates to 25 points.
• Since 1 NQ contract ≈ 2 ES contracts in dollar terms, an optimized ES delta step would be 12.5 points.
You may also experiment with different delta values (e.g., 50 or 31.25 for NQ) to align with your risk profile and trading style.
⸻
🧪 Extending Beyond NQ
You can experiment with applying this indicator to ES or even stocks, but non-futures assets may require additional calibration and testing.
⸻
✅ Bottom line: This tool provides a clean, Renko-inspired framework for quickly gauging trend vs. range conditions, setting realistic profit targets, and avoiding poor counter-trend setups.
Simple EMA Cross Fill (Custom Lengths)Creating helpfull clouds for direction bias
Green cloud for bullish trends
Red for bearish
Simple yet effective
AYUSH ALGO TRAGING STRATEGY TEST VERSION 1)Very good strategy , it uses two moving avg crossovers and also rsi and atr for confirmation, this strategy is fully automated
MACD Momentum Slowdown Alert (Bullish + Bearish)little arrows showing on chart when MACD histogram has a slowdown (change of color) in momentum
VWAP with period (rajib127)VWAP with Adjustable Period (rajib127)
This advanced VWAP (Volume Weighted Average Price) indicator offers enhanced functionality with customizable anchor periods and multiple standard deviation bands.
Key Features:
Adjustable Anchor Period: Unlike standard VWAP that resets daily, this indicator allows you to set custom anchor timeframes (Daily, Weekly, Monthly) to match your trading strategy
Multiple Deviation Bands: Display up to 3 sets of bands with customizable multipliers for better support/resistance identification
Dual Calculation Modes: Choose between Standard Deviation or Percentage-based band calculations
Flexible Price Sources: Select from 7 different price calculation methods (Typical, Close, High, Low, Median, Weighted, Open)
Timeframe Visibility Control: Option to hide VWAP on higher timeframes (Daily and above) for cleaner charts
Visual Enhancements: Color-coded bands with fill areas and real-time value display table
Trading Applications:
Identify dynamic support and resistance levels
Spot mean reversion opportunities when price deviates from bands
Use different anchor periods for swing trading vs day trading strategies
Combine with other indicators for confluence-based entries
Unique Advantage:
The ability to adjust the VWAP reset period makes this indicator versatile for various trading styles - from intraday scalping with hourly resets to swing trading with weekly anchors.
Perfect for traders who want more control over their VWAP analysis beyond the standard daily reset limitation.
RSI-MACD-trade"Strategic trading strategy using RSI and MASCD
Highest returns when applied to weekly charts"
Advanced Trend Momentum [Alpha Extract]The Advanced Trend Momentum indicator provides traders with deep insights into market dynamics by combining exponential moving average analysis with RSI momentum assessment and dynamic support/resistance detection. This sophisticated multi-dimensional tool helps identify trend changes, momentum divergences, and key structural levels, offering actionable buy and sell signals based on trend strength and momentum convergence.
🔶 CALCULATION
The indicator processes market data through multiple analytical methods:
Dual EMA Analysis: Calculates fast and slow exponential moving averages with dynamic trend direction assessment and ATR-normalized strength measurement.
RSI Momentum Engine: Implements RSI-based momentum analysis with enhanced overbought/oversold detection and momentum velocity calculations.
Pivot-Based Structure: Identifies and tracks dynamic support and resistance levels using pivot point analysis with configurable level management.
Signal Integration: Combines trend direction, momentum characteristics, and structural proximity to generate high-probability trading signals.
Formula:
Fast EMA = EMA(Close, Fast Length)
Slow EMA = EMA(Close, Slow Length)
Trend Direction = Fast EMA > Slow EMA ? 1 : -1
Trend Strength = |Fast EMA - Slow EMA| / ATR(Period) × 100
RSI Momentum = RSI(Close, RSI Length)
Momentum Value = Change(Close, 5) / ATR(10) × 100
Pivot Support/Resistance = Dynamic pivot arrays with configurable lookback periods
Bullish Signal = Trend Change + Momentum Confirmation + Strength > 1%
Bearish Signal = Trend Change + Momentum Confirmation + Strength > 1%
🔶 DETAILS
Visual Features:
Trend EMAs: Fast and slow exponential moving averages with dynamic color coding (bullish/bearish)
Enhanced RSI: RSI oscillator with color-coded zones, gradient fills, and reference bands at overbought/oversold levels
Trend Fill: Dynamic gradient between EMAs indicating trend strength and direction
Support/Resistance Lines: Horizontal levels extending from pivot-based calculations with configurable maximum levels
Momentum Candles: Color-coded candlestick overlay reflecting combined trend and momentum conditions
Divergence Markers: Diamond-shaped signals highlighting bullish and bearish momentum divergences
Analysis Table: Real-time summary of trend direction, strength percentage, RSI value, and momentum reading
Interpretation:
Trend Direction: Bullish when Fast EMA crosses above Slow EMA with strength confirmation
Trend Strength > 1%: Strong trending conditions with institutional participation
RSI > 70: Overbought conditions, potential selling opportunity
RSI < 30: Oversold conditions, potential buying opportunity
Momentum Divergence: Price and momentum moving opposite directions signal potential reversals
Support/Resistance Proximity: Dynamic levels provide optimal entry/exit zones
Combined Signals: Trend changes with momentum confirmation generate high-probability opportunities
🔶 EXAMPLES
Trend Confirmation: Fast EMA crossing above Slow EMA with trend strength exceeding 1% and positive momentum confirms strong bullish conditions.
Example: During institutional accumulation phases, EMA crossovers with momentum confirmation have historically preceded significant upward moves, providing optimal long entry points.
15min
4H
Momentum Divergence Detection: RSI reaching overbought levels while momentum decreases despite rising prices signals potential trend exhaustion.
Example: Bearish divergence signals appearing at resistance levels have marked major market tops, allowing traders to secure profits before corrections.
Support/Resistance Integration: Dynamic pivot-based levels combined with trend and momentum signals create high-probability trading zones.
Example: Bullish trend changes occurring near established support levels offer optimal risk-reward entries with clearly defined stop-loss levels.
Multi-Dimensional Confirmation: The indicator's combination of trend, momentum, and structural analysis provides comprehensive market validation.
Example: When trend direction aligns with momentum characteristics near key structural levels, the confluence creates institutional-grade trading opportunities with enhanced probability of success.
🔶 SETTINGS
Customization Options:
Trend Analysis: Fast EMA Length (default: 12), Slow EMA Length (default: 26), Trend Strength Period (default: 14)
Support & Resistance: Pivot Length for level detection (default: 10), Maximum S/R Levels displayed (default: 3), Toggle S/R visibility
Momentum Settings: RSI Length (default: 14), Oversold Level (default: 30), Overbought Level (default: 70)
Visual Configuration: Color schemes for bullish/bearish/neutral conditions, transparency settings for fills, momentum candle overlay toggle
Display Options: Analysis table visibility, divergence marker size, alert system configuration
The Advanced Trend Momentum indicator provides traders with comprehensive insights into market dynamics through its sophisticated integration of trend analysis, momentum assessment, and structural level detection. By combining multiple analytical dimensions into a unified framework, this tool helps identify high-probability opportunities while filtering out market noise through its multi-confirmation approach, enabling traders to make informed decisions across various market cycles and timeframes.
Size & LeverageSize and Leverage calculator for trading, using market orders. It will calculate maximum possible leverage by default in order to prioritize capital efficiency. If you wish to use manual leverage you need to manually enter it in the settings. The script rounds both auto leverage and size to your liking. Entry price is always last price. Size is the actual size you need to input, adjusted to your leverage, cost means the margin required to open the trade. I made this indicator as a binance futures user.
BB KC Triangle SignalsBased on Trader Oracle's engulfing candle off Bolinger Band.
I added keltner channels as well. So this prints a symbol ( I use triangles) over the engulfing candle at or near the bolinger band/ keltner channel. Don't have to have the bands printed on the screen for them to work. Seems to work on renko too.
Price Linearity (R²) — Multi Lookback AverageMulti R^2 Linearity. Price change filter is based off the longest lookback
US100 Liquidity Precision StrategyScalping strategy 5-10 point sl / 17 points tp
Automatic BE
Consistent money over time
Shooting Star & Hammer mod.Indicator for identifying hammer and shooting stars in a modified version;
The body is larger than the classic version.
You can modify the size of the drill bits if you're looking for a specific pattern.
Use in conjunction with your analysis and/or other charting tools.
Triple EMA Trend TP Strategy (Filtered Entries + Dynamic Exit)Overview
The Triple EMA Trend TP Strategy is a robust trend-following approach designed for clear, disciplined entries and exits. It leverages a triple EMA crossover for entry signals, combined with a long‑term SMA trend filter, a fixed take‑profit percentage, and a dynamic dual‑EMA exit mechanism to optimize performance and risk management.
Key Features
Triple EMA Crossover Entry
Detects momentum shifts by waiting for the fast EMA to cross above the slow EMA, signaling bullish momentum buildup.
Trend Filter (SMA)
Ensures trades are only taken when price is above the long-term trend (SMA), filtering out low-probability setups.
Take Profit (TP)
Applies a customizable fixed TP, e.g., defaulting to 9.8%, allowing disciplined profit-taking.
Dual EMA Exit
Uses two EMAs on a separate exit logic—if the short exit EMA undercuts the mid exit EMA, the strategy closes the position.
Adjustable Parameters
All key lengths—including fast, mid, slow entry EMAs, trend SMA, exit EMAs, and TP percentage—are user-configurable to suit different assets and timeframes.
Date Range Control
Users can define a backtest window with start and end dates, preventing misleading performance outside intended periods.
Flexible Position Management
Supports full‑equity position sizing, pyramiding up to 10 entries, and runs every tick for high precision.
Setup & Inputs
fastLen: Entry Fast EMA
midLen: Entry Mid EMA
slowLen: Entry Slow EMA
trendLen: Trend Filter SMA
tpPercent: Take Profit Percentage
exitFastLen: Exit Fast EMA
exitMidLen: Exit Mid EMA
startDate / endDate: Backtest time range
Why This Strategy Stands Out
This strategy marries classic trend-following principles with modern risk-control tactics, making it both intuitive and advanced. It balances aggressive entry signals with safety checks via trend validation and layered exit logic. The inclusion of a TP ensures profits are locked in, while the dual EMA exit adds adaptive flexibility to close positions when momentum fades.
How to Use & Customize
Configure Inputs
Adjust EMAs, trend length, and TP percentage to fit your asset and timeframe. For example, shorter EMAs suit intraday trading; longer ones work well for swing strategies.
Set Backtest Range
Use the start/end date fields to limit your testing to the most relevant data, reducing noise from irrelevant market periods.
Backtest & Optimize
Review the Strategy Tester’s performance metrics—Equity curve, drawdown, profit factor, trade list—to assess effectiveness.
Fine‑Tune
Tweak TP, EMAs, or trend length to optimize drawdowns, win rate, or return profile.
Filter EMA200 (HTF) + Trigger HMA (with HTF)Trend Filter: EMA200 calculated on the 5-minute timeframe, plotted on the current chart. It acts as the main directional filter.
Trigger: Hull Moving Average (HMA) with adjustable length and selectable source timeframe (default HMA24 on 1-minute). It provides faster entries and exits.
Trading logic is simple:
Only take long signals when price closes above both the filter EMA and the trigger HMA.
Only take short signals when price closes below both lines.
This combination helps reduce false breakouts while keeping entries fast and responsive.