Candlestick Strength and Volatility ReadoutDisplays a readout on the top right corner of the screen displaying a two basic calculations (volatility and strength; i.e. candlestick size and how close to the highs or lows it closed) for more convenient candlestick (price action) analysis.
Due to restrictions with Pine Script (or my knowledge thereof) only the current and previous candlestick data is shown, rather than the one currently hovered over.
The data is derived via two simple calculations; volatility being division between the range of the candlestick's high and low by the ATR; 'strength' (what I like to call it) being the range of the body by the range of the open to high or low, depending on the facing direction (positive or negative candlestick). These are expressed as percentages and will turn green depending on the set threshold.
Using this, one can effectively automate calculations you'd have to do by hand otherwise. I personally use these as entry filters in my trading, so it helps to not have to measure, remeasure, and divide before each potential entry.
Settings are implemented to change certain variables to your liking.
インジケーターとストラテジー
Trend Flow Line (TFL)The Trend Flow Line (TFL) is a versatile moving average indicator that dynamically adjusts to trends using a combination of Hull and Weighted Moving Averages, with optional color coding for bullish and bearish trends.
Introduction
The Trend Flow Line (TFL) is a powerful indicator designed to help traders identify and follow market trends with precision. It combines multiple moving average techniques to create a responsive yet smooth trendline. Whether you're a beginner or an experienced trader, the TFL can enhance your chart analysis by highlighting key price movements and trends.
Detailed Description
The Trend Flow Line (TFL) goes beyond traditional moving averages by leveraging a hybrid approach to calculate trends.
Here's how it works:
.........
Combination of Hull and Weighted Moving Averages
The TFL integrates the Hull Moving Average (HMA), known for its fast responsiveness, and the Double Weighted Moving Average (DWMA), which offers smooth transitions.
The HMA is adjusted dynamically based on the user-defined length, ensuring adaptability to various trading styles and timeframes.
.....
Dynamic Smoothing
The TFL calculates its value by averaging the HMA and DWMA, creating a balanced line that responds to market fluctuations without excessive noise.
This balance makes it ideal for identifying both short-term reversals and long-term trends.
.....
Customizable Features
Timeframe: Analyze the indicator on custom timeframes, independent of the chart's current timeframe.
Color Coding: Optional color settings visually differentiate bullish (uptrend) and bearish (downtrend) phases.
Line Width: Adjust the line thickness to suit your chart preferences.
Color Smoothness: Fine-tune how quickly the color changes to reflect trend shifts, providing a visual cue for potential reversals.
The TFL's algorithm ensures a blend of precision and adaptability, making it suitable for any market or trading strategy.
.........
The Trend Flow Line (TFL) is an essential tool for traders looking to stay ahead of market trends while maintaining a clear and visually intuitive charting experience. It combines HMA and DWMA for trend sensitivity and smoothness.
Daily PlayDaily Play Indicator
The Daily Play Indicator is a clean and versatile tool designed to help traders organize and execute their daily trading plan directly on their charts. This indicator simplifies your workflow by visually displaying key inputs like market trend, directional bias, and key levels, making it easier to focus on your trading strategy.
Features
Dropdown Selection for Trend and Bias:
• Set the overall market trend (Bullish, Bearish, or Neutral) and your directional bias (Long, Short, or Neutral) using intuitive dropdown menus. No more manual typing or guesswork!
Key Levels:
Quickly input and display the Previous Day High and Previous Day Low. These levels are essential for many trading strategies, such as breakouts.
Real-Time News Notes:
Add a quick note about impactful news or market events (e.g., “Fed meeting today” or “Earnings season”) to keep contextual awareness while trading.
Simple On-Chart Display:
The indicator creates a “table-like” structure on the chart, aligning your inputs in an easy-to-read format. The data is positioned dynamically so it doesn’t obstruct the price action.
Customisable Visual Style:
Simple labels with clear text to ensure that your chart remains neat and tidy.
----
Use Case
The Daily Play Indicator is ideal for:
• Day traders and scalpers who rely on precise planning and real-time execution.
• Swing traders looking to mark critical levels and develop a trade plan before the session begins.
• Anyone who needs a structured way to stay focused and disciplined during volatile market conditions.
By integrating this tool into your workflow, you can easily align your daily preparation with live market action.
----
How to Use
Open the indicator settings to configure your inputs:
• Trend: Use the dropdown to choose between Bullish, Bearish, or Neutral.
• Bias: Select Long, Short, or Neutral to align your personal bias with the market.
• Previous Day Levels: Enter the High and Low of the previous trading session for key reference points.
• News: Add a short description of any relevant market-moving events.
High and Retracement Finder
This Pine Script indicator, titled "High and Retracement Finder," is designed to identify significant highs and lows on a price chart based on a user-defined starting point and retracement threshold. It begins analysis from a manually set bar index and tracks the highest high until the price retraces by a specified percentage (retracement threshold). Once this retracement occurs, it switches focus to finding the lowest low. If the price surpasses the previous high during this phase, the cycle resets, and the script resumes tracking a new highest high. The script visually marks these significant highs and lows with arrows on the chart, helping traders identify potential turning points or retracements in the market.
Relative Momentum StrengthThe Relative Momentum Strength (RMS) indicator is designed to help traders and investors identify tokens with the strongest momentum over two customizable timeframes. It calculates and plots the percentage price change over 30-day and 90-day periods (or user-defined periods) to evaluate a token's relative performance.
30-Day Momentum (Green Line): Short-term price momentum, highlighting recent trends and movements.
90-Day Momentum (Blue Line): Medium-term price momentum, providing insights into broader trends.
This tool is ideal for comparing multiple tokens or assets to identify those showing consistent strength or weakness. Use it to spot outperformers and potential reversals in a competitive universe of assets.
How to Use:
Apply this indicator to your TradingView chart for any token or asset.
Look for tokens with consistently high positive momentum for potential strength.
Use the plotted values to compare relative performance across your watchlist.
Customization:
Adjust the momentum periods to suit your trading strategy.
Overlay it with other indicators like RSI or volume for deeper analysis.
vika //@version=5
indicator("Auto Anchored Moving Average", "Anchored MA", overlay = true, max_bars_back = 5000, max_lines_count = 500)
// Inputs
auto = input.bool(true, "Enable Auto Anchor")
anchor = input.timeframe('D', 'Anchor Period')
source = input(hlc3, "Source")
showPP = input.bool(true, "Show Prev. Period MA")
highlightAnc = input.bool(true, "Highlight Anchor Change")
wma_show = input.bool(true, "WMA", inline = "WMA", group = "Styles")
sma_show = input.bool(true, "SMA", inline = "SMA", group = "Styles")
vwap_show = input.bool(true, "VWAP", inline = "VWAP", group = "Styles")
wma_style = input.string("──────", "", options = , inline = "WMA", group = "Styles")
sma_style = input.string("──────", "", options = , inline = "SMA", group = "Styles")
vwap_style = input.string("──────", "", options = , inline = "VWAP", group = "Styles")
wma_color = input.color(color.lime, "WMA Color", inline = "WMA", group = "Styles")
sma_color = input.color(color.red, "SMA Color", inline = "SMA", group = "Styles")
vwap_color = input.color(color.blue, "VWAP Color", inline = "VWAP", group = "Styles")
// Determine anchor period automatically
autoAnchor = switch
timeframe.isintraday => timeframe.multiplier <= 15 ? "1D" : "1W"
timeframe.isdaily => "1M"
=> "12M"
// Override auto-anchor if 'auto' is off
if auto
anchor := autoAnchor
// Anchor change detection
isNewAnchor = timeframe.change(anchor)
var length = 1
length := isNewAnchor ? 1 : length + 1
// Calculate MAs
wma = ta.wma(source, length)
sma = ta.sma(source, length)
vwap = nz(ta.vwma(source, length))
// Previous MAs (for prev period plot)
p_wma = ta.valuewhen(isNewAnchor, wma , 0)
p_sma = ta.valuewhen(isNewAnchor, sma , 0)
p_vwap = ta.valuewhen(isNewAnchor, vwap , 0)
// Plot styles
get_style(style) =>
switch style
"──────" => line.style_solid
"─ ─ ─ ─" => line.style_dashed
"· · · · ·" => line.style_dotted
// Draw moving averages
draw(show, ma, _c, style) =>
var line _l = na
var label _lb = na
var label _lbc = na
_l.set_x2(bar_index)
if show and isNewAnchor and showPP
_l := line.new(bar_index - 1, ma , bar_index, ma , color = _c, style = style)
show = not isNewAnchor
plot(show and wma_show ? wma : na, "WMA", wma_color, style=plot.style_linebr)
plot(show and sma_show ? sma : na, "SMA", sma_color, style=plot.style_linebr)
plot(show and vwap_show ? vwap : na, "VWAP", vwap_color, style=plot.style_linebr)
// Highlight anchor change
hlight = isNewAnchor and highlightAnc
plotshape(hlight and wma_show ? wma : na, 'WMA Highlight', shape.circle, location.absolute, color.new(wma_color, 50), -1)
plotshape(hlight and sma_show ? sma : na, 'SMA Highlight', shape.circle, location.absolute, color.new(sma_color, 50), -1)
plotshape(hlight and vwap_show ? vwap : na, 'VWAP Highlight', shape.circle, location.absolute, color.new(vwap_color, 50), -1)
// Draw lines for each moving average
draw(wma_show, wma, wma_color, get_style(wma_style))
draw(sma_show, sma, sma_color, get_style(sma_style))
draw(vwap_show, vwap, vwap_color, get_style(vwap_style))
Bostian Intraday Intensity Index (BII)The Bostian Intraday Intensity Index (BII) is a metric used to analyze the trading volume and price movements of a specific stock or asset, measuring the strength and pressure of the market. BII captures buy and sell signals by examining the relationship between trading volume and price fluctuations. Below is an explanation of the key components and calculation method for BII:
○ BII Formula:
sum(V*((C-L)^2-(H-C)^2))/(H-L)))
V (Volume): Trading volume
C (Close): Closing price
L (Low): Lowest price
H (High): Highest price
○ Meaning of the Indicator:
Positive Values: When BII is positive, it indicates strong buying pressure. The closer the closing price is to the high, the stronger the buying pressure.
Negative Values: When BII is negative, it indicates strong selling pressure. The closer the closing price is to the low, the stronger the selling pressure.
○ How to Use:
Buy Signal: When the BII value is positive and trending upwards, it may be considered a buying opportunity.
Sell Signal: When the BII value is negative and trending downwards, it may be considered a selling opportunity.
The BII indicator is useful for analyzing the strength and pressure of the market through the correlation of price movements and trading volume. It helps investors capture buy and sell signals to make better investment decisions.
Intraday Strategy with AlertsKey Features of the Script
Indicators Used:
EMA (Exponential Moving Average) : Fast and slow EMAs detect trend changes.
RSI (Relative Strength Index) : Confirms overbought/oversold conditions to refine entries.
Conditions for Buy/Sell Signals:
Buy : Fast EMA crosses above Slow EMA + RSI is below the oversold level.
Sell : Fast EMA crosses below Slow EMA + RSI is above the overbought level.
Plotting Signals:
Green arrows indicate buy signals.
Red arrows indicate sell signals.
Alerts:
Alerts are triggered when buy or sell conditions are met.
Smartrz CVO & NPVT CombinedTwo combination of the Cumulative Volume Oscillator based on OBV and the Price Volume Trend where both indicators are normalized between -100 and +100.
Thanksgiving Day MarkerA simple indicator that marks Thanksgiving Days (4th Thursday of November) with a turkey emoji (🦃) on your chart. Helps you easily spot historical Thanksgiving dates for seasonal analysis.
Fisher Transform with Conditional Trigger ColorChỉ báo Fisher Transform with Conditional Trigger Color là một công cụ kỹ thuật mạnh mẽ được thiết kế để giúp nhà giao dịch nhận diện các điểm đảo chiều tiềm năng trên thị trường. Dựa trên Fisher Transform, chỉ báo này chuyển đổi giá thành phân phối chuẩn hóa, giúp dễ dàng nhận ra các tín hiệu mua và bán.
Tính năng chính:
Fisher Transform Smoothing: Sử dụng thuật toán làm mượt để giảm nhiễu và cải thiện độ chính xác của tín hiệu.
Màu sắc điều kiện: Đổi màu các thanh Fisher Transform dựa trên các điều kiện cụ thể như:
Màu xanh lá: Khi Fisher tăng trên ngưỡng (tín hiệu xu hướng tăng).
Màu đỏ: Khi Fisher giảm dưới ngưỡng (tín hiệu xu hướng giảm).
Màu xám: Khi không có xu hướng rõ ràng.
Đường kích hoạt (Trigger Line): So sánh Fisher Transform với đường kích hoạt để xác định các điểm cắt, là dấu hiệu của sự thay đổi động lượng.
Tùy chỉnh linh hoạt: Người dùng có thể điều chỉnh các tham số như độ dài chu kỳ, mức ngưỡng và tùy chọn màu sắc để phù hợp với chiến lược giao dịch cá nhân.
Ứng dụng:
Xác định xu hướng đảo chiều: Dựa trên sự chuyển đổi của Fisher qua các mức quan trọng.
Lọc tín hiệu giao dịch: Sử dụng màu sắc để nhận biết nhanh chóng tín hiệu mạnh hoặc yếu.
Tối ưu hóa chiến lược giao dịch: Kết hợp Fisher Transform với các công cụ khác như RSI hoặc MACD để tăng hiệu quả.
Chỉ báo này phù hợp cho cả nhà giao dịch ngắn hạn và dài hạn, trên nhiều khung thời gian, từ 1 phút đến 1 ngày. Fisher Transform with Conditional Trigger Color giúp bạn đưa ra quyết định giao dịch nhanh hơn và chính xác hơn.
Hãy thử ngay trên biểu đồ TradingView của bạn để trải nghiệm!
merge_code// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo & Jesse.Lau
//@version=5
indicator("Pivot Points High Low & Missed Reversal Levels with Supertrend and Fibonacci", overlay=true, max_labels_count=500, max_lines_count=500, max_bars_back=500)
// Inputs for pivot points and missed reversal levels
length = input(50, 'Pivot Length')
show_reg = input.bool(true, 'Regular Pivots', inline='inline1')
reg_ph_css = input.color(#ef5350, 'High', inline='inline1')
reg_pl_css = input.color(#26a69a, 'Low', inline='inline1')
show_miss = input.bool(true, 'Missed Pivots', inline='inline2')
miss_ph_css = input.color(#ef5350, 'High', inline='inline2')
miss_pl_css = input.color(#26a69a, 'Low', inline='inline2')
label_css = input.color(color.white, 'Text Label Color')
// Inputs for Supertrend and Fibonacci
atrPeriod = input(10, "ATR Length")
factor = input.float(3, "Factor", step = 0.1)
atrline = input.float(1.5, "Premium/Discount", step = 0.1)
show_zigzag = input(true, "Show Zigzag", group="Show")
show_fib = input(true, "Show Fibonacci", group="Show")
show_supertrend = input(true, "Show Supertrend", group="Show")
show_premiumdiscount = input(true, "Show Premium/Discount Line", group="Show")
// Supertrend calculation
= ta.supertrend(factor, atrPeriod)
ATR = ta.atr(atrPeriod)
upatrline = supertrend + atrline * ATR
dnatrline = supertrend - atrline * ATR
bodyMiddle = (open + close) / 2
bodyMiddlePlot = plot(bodyMiddle)
// Plotting Supertrend and Premium/Discount levels
upTrend = plot(direction < 0 and show_supertrend ? supertrend : na, "Up Trend", color=color.green, style=plot.style_linebr)
downTrend = plot(direction > 0 and show_supertrend ? supertrend : na, "Down Trend", color=color.red, style=plot.style_linebr)
fill(bodyMiddlePlot, upTrend, show_supertrend ? color.new(color.green, 90) : na, fillgaps=false)
fill(bodyMiddlePlot, downTrend, show_supertrend ? color.new(color.red, 90) : na, fillgaps=false)
plot(direction < 0 and show_premiumdiscount ? upatrline : na, "Up ATR", color=color.white, style=plot.style_linebr)
plot(direction > 0 and show_premiumdiscount ? dnatrline : na, "Dn ATR", color=color.white, style=plot.style_linebr)
// Pivot points calculations
n = bar_index
ph = ta.pivothigh(length, length)
pl = ta.pivotlow(length, length)
// Fibonacci levels
h1 = ta.highest(high, 50)
l2 = ta.lowest(low, 50)
mid_val = (h1 + l2) / 2
// Plotting Fibonacci levels
var line hhLine = na
var line llLine = na
var line midline = na
if barstate.islast and show_fib
hhLine := line.new(bar_index - 50, h1, bar_index, h1, color=color.purple, width=1)
llLine := line.new(bar_index - 50, l2, bar_index, l2, color=color.purple, width=1)
midline := line.new(bar_index - 50, mid_val, bar_index, mid_val, color=color.purple, width=1)
// Plot missed pivots and regular pivots
var line zigzag = na
var line ghost_level = na
var max = 0., min = 0.
var max_x1 = 0, min_x1 = 0
var follow_max = 0., follow_max_x1 = 0
var follow_min = 0., follow_min_x1 = 0
var os = 0, py1 = 0., px1 = 0
if ph
if show_miss
if os == 1
label.new(min_x1, min, '👻', color=miss_pl_css, style=label.style_label_up, size=size.small, tooltip=str.tostring(min, '#.####'))
zigzag := line.new(px1, py1, min_x1, min, color=miss_ph_css, style=line.style_dashed)
px1 := min_x1, py1 := min
line.set_x2(ghost_level , px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_pl_css, 50), width=2)
else if ph < max
label.new(max_x1, max, '👻', color=miss_ph_css, style=label.style_label_down, size=size.small, tooltip=str.tostring(max, '#.####'))
label.new(follow_min_x1, follow_min, '👻', color=miss_pl_css, style=label.style_label_up, size=size.small, tooltip=str.tostring(min, '#.####'))
zigzag := line.new(px1, py1, max_x1, max, color=miss_pl_css, style=line.style_dashed)
px1 := max_x1, py1 := max
line.set_x2(ghost_level , px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_ph_css, 50), width=2)
zigzag := line.new(px1, py1, follow_min_x1, follow_min, color=miss_ph_css, style=line.style_dashed)
px1 := follow_min_x1, py1 := follow_min
line.set_x2(ghost_level, px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_pl_css, 50), width=2)
if show_reg
label.new(n - length, ph, '▼', textcolor=label_css, color=reg_ph_css, style=label.style_label_down, size=size.small, tooltip=str.tostring(ph, '#.####'))
zigzag := line.new(px1, py1, n - length, ph, color=miss_pl_css, style=ph < max or os == 1 ? line.style_dashed : line.style_solid)
py1 := ph, px1 := n - length, os := 1, max := ph, min := ph
if pl
if show_miss
if os == 0
label.new(max_x1, max, '👻', color=miss_ph_css, style=label.style_label_down, size=size.small, tooltip=str.tostring(max, '#.####'))
zigzag := line.new(px1, py1, max_x1, max, color=miss_pl_css, style=line.style_dashed)
px1 := max_x1, py1 := max
line.set_x2(ghost_level , px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_ph_css, 50), width=2)
else if pl > min
label.new(follow_max_x1, follow_max, '👻', color=miss_ph_css, style=label.style_label_down, size=size.small, tooltip=str.tostring(max, '#.####'))
label.new(min_x1, min, '👻', color=miss_pl_css, style=label.style_label_up, size=size.small, tooltip=str.tostring(min, '#.####'))
zigzag := line.new(px1, py1, min_x1, min, color=miss_ph_css, style=line.style_dashed)
px1 := min_x1, py1 := min
line.set_x2(ghost_level , px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_pl_css, 50), width=2)
zigzag := line.new(px1, py1, follow_max_x1, follow_max, color=miss_pl_css, style=line.style_dashed)
px1 := follow_max_x1, py1 := follow_max
line.set_x2(ghost_level, px1)
ghost_level := line.new(px1, py1, px1, py1, color=color.new(reg_pl_css, 50), width=2)
if show_reg
label.new(n - length, pl, '▲', textcolor=label_css, color=reg_pl_css, style=label.style_label_up, size=size.small, tooltip=str.tostring(pl, '#.####'))
zigzag := line.new(px1, py1, n - length, pl, color=miss_ph_css, style=pl > min or os == 0 ? line.style_dashed : line.style_solid)
py1 := pl, px1
Candle RangeCalculates the range of a candle in any given timeframe. While ATR and ADR work well and give you the data over a pre-determined period, knowing the range over one unit of time (day, week, month etc.) has value in some cases. For instance, understanding how price is contracting relative to the ATR has implications on understanding supply and demand dynamics and anticipating impulses, trends and direction.
Data is shown in the form of a plot (in blue at the bottom)
Use in combination with ATR or ADR.