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.
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.
Dix$on's Weighted Volume FlowDixson's Weighted Volume Flow
Dixson's Weighted Volume Flow is a technical indicator designed to analyze and visualize the distribution of buy and sell volume within a given timeframe. It dynamically calculates the proportional allocation of volume based on price action within each bar, providing insights into market sentiment and activity. This indicator displays horizontal volume bars in a separate pane and annotates them with precise volume values.
How It Works
1. Volume Allocation:
- The indicator calculates buy and sell volume using the following formulas:
- Buy Volume = (Close - Low) / (High - Low) Total Volume
- Sell Volume = (High - Close) / (High - Low) Total Volume
- These formulas allocate volume proportionally based on the bar's price range, attributing more volume to buying or selling depending on the relationship between the close, high, and low prices.
2. Dynamic Scaling:
- The buy and sell volumes are scaled relative to their combined total for the period.
- The resulting values determine the length of the horizontal bars, providing a comparative view of buy and sell activity.
3. Bar Visualization:
- Buy Volume Bars: Displayed as green horizontal bars.
- Sell Volume Bars: Displayed as red horizontal bars.
- The lengths of the bars represent the dominance of buy or sell volume, scaled dynamically within the pane.
4. Labels:
- Each bar is annotated with a label showing its calculated buy or sell volume value.
5. Timeframe Adjustment:
- The indicator uses the request.security() function to fetch data from the selected timeframe, allowing users to customize their analysis for intraday, daily, or longer-term trends.
6. Customization Options:
- Enable or disable the indicator using a toggle.
- Adjust colors for the buy/sell bars and text labels to suit your chart theme.
How to Use It
1. Enable the Indicator:
- Activate the indicator using the "Enable/Disable" toggle in the settings.
2. Select a Timeframe:
- Choose the timeframe for analysis (e.g., 1-minute, 1-hour, daily). The indicator fetches volume data specific to the selected timeframe.
3. Interpret the Visualization:
- Compare Bar Lengths:
- Longer buy volume bars (green) indicate stronger buying activity.
- Longer sell volume bars (red) suggest dominant selling pressure.
- Labels:
- Use the labels to view the exact buy and sell volume values for precise analysis.
4. Combine with Other Tools:
- Use the indicator alongside price action analysis, support/resistance levels, or trend indicators to confirm market sentiment and detect potential reversals.
5. Monitor Imbalances:
- Significant disparities between buy and sell volume can signal shifts in market sentiment, such as the end of a trend or the start of a breakout.
Practical Applications
- Trend Confirmation:
- Align the dominance of buy or sell volume with price trends to confirm market direction.
- Reversal Signals:
- Watch for volume imbalances or a sudden shift in the dominance of buy or sell volume to identify potential reversals.
- High-Activity Zones:
- Identify areas with increased volume to anticipate significant price movements or key support/resistance interactions.
Dixson's Weighted Volume Flow provides a clear and systematic way to analyze market activity by visualizing the dynamics of buy and sell volume. It is particularly useful for traders looking to enhance their understanding of volume-based sentiment and its impact on price movements.
Futures VWAP Cut-through StrategyThis strategy is based upon Futures, works best on 1min and 5min chart with entry through vwap. Works best along with daily change in OI.
-If the daily change in OI is high on call side, then we will sell futures below vwap.
-If the daily change in OI is high on put side, then we will buy futures above vwap.