Bi Trend signalauto bot MT5 for XAU, BTC ETH, liên hệ tôi để biết thêm chi tiết cho các hạng mục coppy trade
Bill Williams Indicators
Nadaraya-Watson Envelope Strategy//@version=6
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) creativecommons.org
// © LuxAlgo - Modified for strategy testing
strategy("Nadaraya-Watson Envelope Strategy", "NWE Strat", overlay = true, max_lines_count = 500, max_labels_count = 500, max_bars_back=500, initial_capital = 10000, commission_type = strategy.commission.percent, commission_value = 0.1, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true)
//------------------------------------------------------------------------------
//Settings
//-----------------------------------------------------------------------------{
h = input.float(8.,'Bandwidth', minval = 0)
mult = input.float(3., minval = 0)
src = input(close, 'Source')
repaint = input.bool(false, 'Repainting Smoothing', tooltip = 'Repainting is an effect where the indicators historical output is subject to change over time. Disabling repainting will cause the indicator to output the endpoints of the calculations')
// Strategy Settings
// 과거 날짜로 변경
startDate = input.time(timestamp("2020-01-01"), "Start Date")
endDate = input.time(timestamp("2023-12-31"), "End Date")
contractSize = input.float(1.0, "Contract Size", minval=0.1, step=0.1)
takeProfitPct = input.float(3.0, "Take Profit %", minval=0.1, step=0.1)
stopLossPct = input.float(2.0, "Stop Loss %", minval=0.1, step=0.1)
// Enable/disable take profit and stop loss
useTakeProfit = input.bool(true, "Use Take Profit")
useStopLoss = input.bool(true, "Use Stop Loss")
//Style
upCss = input.color(color.teal, 'Colors', inline = 'inline1', group = 'Style')
dnCss = input.color(color.red, '', inline = 'inline1', group = 'Style')
//-----------------------------------------------------------------------------}
//Functions
//-----------------------------------------------------------------------------{
//Gaussian window
gauss(x, h) => math.exp(-(math.pow(x, 2)/(h * h * 2)))
//-----------------------------------------------------------------------------}
//Append lines
//-----------------------------------------------------------------------------{
n = bar_index
var ln = array.new_line(0)
if barstate.isfirst and repaint
for i = 0 to 499
array.push(ln,line.new(na,na,na,na))
//-----------------------------------------------------------------------------}
//End point method
//-----------------------------------------------------------------------------{
var coefs = array.new_float(0)
var den = 0.
if barstate.isfirst and not repaint
for i = 0 to 499
w = gauss(i, h)
coefs.push(w)
den := coefs.sum()
out = 0.
float upper = na
float lower = na
float mae = na
if not repaint
for i = 0 to 499
out += src * coefs.get(i)
out /= den
mae := ta.sma(math.abs(src - out), 499) * mult
upper := out + mae
lower := out - mae
else
// 리페인팅 모드에서도 밴드 계산 수행
sma = ta.sma(src, 20)
stdev = ta.stdev(src, 20)
upper := sma + stdev * mult
lower := sma - stdev * mult
//-----------------------------------------------------------------------------}
//Compute and display NWE
//-----------------------------------------------------------------------------{
float y2 = na
float y1 = na
nwe = array.new(0)
if barstate.islast and repaint
sae = 0.
//Compute and set NWE point
for i = 0 to math.min(499,n - 1)
sum = 0.
sumw = 0.
//Compute weighted mean
for j = 0 to math.min(499,n - 1)
w = gauss(i - j, h)
sum += src * w
sumw += w
y2 := sum / sumw
sae += math.abs(src - y2)
nwe.push(y2)
sae := sae / math.min(499,n - 1) * mult
for i = 0 to math.min(499,n - 1)
// Fix for the bool vs int error - use modulo comparison instead of direct assignment
isEvenIndex = i % 2 == 0
if not isEvenIndex // This is equivalent to if i%2 but uses a proper boolean
line.new(n-i+1, y1 + sae, n-i, nwe.get(i) + sae, color = upCss)
line.new(n-i+1, y1 - sae, n-i, nwe.get(i) + sae, color = dnCss)
if src > nwe.get(i) + sae and src < nwe.get(i) + sae
label.new(n-i, src , '▼', color = color(na), style = label.style_label_down, textcolor = dnCss, textalign = text.align_center)
if src < nwe.get(i) - sae and src > nwe.get(i) - sae
label.new(n-i, src , '▲', color = color(na), style = label.style_label_up, textcolor = upCss, textalign = text.align_center)
y1 := nwe.get(i)
//-----------------------------------------------------------------------------}
//Dashboard
//-----------------------------------------------------------------------------{
var tb = table.new(position.top_right, 1, 1
, bgcolor = #1e222d
, border_color = #373a46
, border_width = 1
, frame_color = #373a46
, frame_width = 1)
if repaint
tb.cell(0, 0, 'Repainting Mode Enabled', text_color = color.white, text_size = size.small)
//-----------------------------------------------------------------------------}
//Plot
//-----------------------------------------------------------------------------{
float upperBand = na
float lowerBand = na
upperBand := upper
lowerBand := lower
plot(upperBand, 'Upper', upCss)
plot(lowerBand, 'Lower', dnCss)
//Crossing Arrows
plotshape(ta.crossunder(close, lowerBand) ? low : na, "Crossunder", shape.labelup, location.absolute, color(na), 0 , text = '▲', textcolor = upCss, size = size.tiny)
plotshape(ta.crossover(close, upperBand) ? high : na, "Crossover", shape.labeldown, location.absolute, color(na), 0 , text = '▼', textcolor = dnCss, size = size.tiny)
//-----------------------------------------------------------------------------}
// Strategy Implementation
//-----------------------------------------------------------------------------{
// Set date filter
inDateRange = time >= startDate and time <= endDate
// Trading Conditions
longCondition = ta.crossunder(close, lowerBand) and inDateRange
shortCondition = ta.crossover(close, upperBand) and inDateRange
// Entry conditions
if (longCondition)
strategy.entry("Long", strategy.long, qty=contractSize)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=contractSize)
// Calculate Take Profit and Stop Loss levels
longTakeProfit = strategy.position_avg_price * (1 + takeProfitPct / 100)
longStopLoss = strategy.position_avg_price * (1 - stopLossPct / 100)
shortTakeProfit = strategy.position_avg_price * (1 - takeProfitPct / 100)
shortStopLoss = strategy.position_avg_price * (1 + stopLossPct / 100)
// Exit conditions
isInLongPosition = strategy.position_size > 0
isInShortPosition = strategy.position_size < 0
// Apply take profit and stop loss if enabled
if (isInLongPosition)
if (useTakeProfit and useStopLoss)
strategy.exit("Long TP/SL", "Long", limit=longTakeProfit, stop=longStopLoss)
else if (useTakeProfit)
strategy.exit("Long TP", "Long", limit=longTakeProfit)
else if (useStopLoss)
strategy.exit("Long SL", "Long", stop=longStopLoss)
if (isInShortPosition)
if (useTakeProfit and useStopLoss)
strategy.exit("Short TP/SL", "Short", limit=shortTakeProfit, stop=shortStopLoss)
else if (useTakeProfit)
strategy.exit("Short TP", "Short", limit=shortTakeProfit)
else if (useStopLoss)
strategy.exit("Short SL", "Short", stop=shortStopLoss)
// Plot entry/exit signals
plotshape(longCondition, "Long Signal", shape.triangleup, location.belowbar, color.green, size=size.small)
plotshape(shortCondition, "Short Signal", shape.triangledown, location.abovebar, color.red, size=size.small)
//-----------------------------------------------------------------------------}
JPMorgan Collar LevelsJPMorgan Collar Levels – SPX/SPY Auto-Responsive (Quarterly Logic)
This script tracks the JPMorgan Hedged Equity Fund collar strategy, one of the most watched institutional positioning tools on SPX/SPY. The strategy rolls quarterly and often acts as a magnet or resistance/support zone for price.
[TABLE] Moving Average Stage Indicator Table📈 MA Stage Indicator Table
🧠 Overview:
This script analyzes market phases based on moving average (MA) crossovers, classifying them into 6 distinct stages and displaying statistical summaries for each.
🔍 Key Features:
• Classifies market condition into Stage 1 to Stage 6 based on the relationship between MA1 (short), MA2 (mid), and MA3 (long)
• Provides detailed stats for each stage:
• Average Duration
• Average Width (MA distance)
• Slope (Angle) - High / Low / Average
• Shows current stage details in real-time
• Supports custom date range filtering
• Choose MA type: SMA or EMA
• Optional background coloring for stages
• Clean summary table displayed on the chart
GainzAlgo Pro// © GainzAlgo
//@version=5
indicator('GainzAlgo Pro', overlay=true, max_labels_count=500)
candle_stability_index_param = input.float(0.5, 'Candle Stability Index', 0, 1, step=0.1, group='Technical', tooltip='Candle Stability Index measures the ratio between the body and the wicks of a candle. Higher - more stable.')
rsi_index_param = input.int(50, 'RSI Index', 0, 100, group='Technical', tooltip='RSI Index measures how overbought/oversold is the market. Higher - more overbought/oversold.')
candle_delta_length_param = input.int(5, 'Candle Delta Length', 3, group='Technical', tooltip='Candle Delta Length measures the period over how many candles the price increased/decreased. Higher - longer period.')
disable_repeating_signals_param = input.bool(false, 'Disable Repeating Signals', group='Technical', tooltip='Removes repeating signals. Useful for removing clusters of signals and general clarity')
GREEN = color.rgb(29, 255, 40)
RED = color.rgb(255, 0, 0)
TRANSPARENT = color.rgb(0, 0, 0, 100)
label_size = input.string('normal', 'Label Size', options= , group='Cosmetic')
label_style = input.string('text bubble', 'Label Style', , group='Cosmetic')
buy_label_color = input(GREEN, 'BUY Label Color', inline='Highlight', group='Cosmetic')
sell_label_color = input(RED, 'SELL Label Color', inline='Highlight', group='Cosmetic')
label_text_color = input(color.white, 'Label Text Color', inline='Highlight', group='Cosmetic')
stable_candle = math.abs(close - open) / ta.tr > candle_stability_index_param
rsi = ta.rsi(close, 14)
bullish_engulfing = close < open and close > open and close > open
rsi_below = rsi < rsi_index_param
decrease_over = close < close
bull = bullish_engulfing and stable_candle and rsi_below and decrease_over and barstate.isconfirmed
bearish_engulfing = close > open and close < open and close < open
rsi_above = rsi > 100 - rsi_index_param
increase_over = close > close
bear = bearish_engulfing and stable_candle and rsi_above and increase_over and barstate.isconfirmed
var last_signal = ''
if bull and (disable_repeating_signals_param ? (last_signal != 'buy' ? true : na) : true)
if label_style == 'text bubble'
label.new(bull ? bar_index : na, low, 'BUY', color=buy_label_color, style=label.style_label_up, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bull ? bar_index : na, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_triangleup, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bull ? bar_index : na, low, 'BUY', yloc=yloc.belowbar, color=buy_label_color, style=label.style_arrowup, textcolor=TRANSPARENT, size=label_size)
last_signal := 'buy'
if bear and (disable_repeating_signals_param ? (last_signal != 'sell' ? true : na) : true)
if label_style == 'text bubble'
label.new(bear ? bar_index : na, high, 'SELL', color=sell_label_color, style=label.style_label_down, textcolor=label_text_color, size=label_size)
else if label_style == 'triangle'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_triangledown, textcolor=TRANSPARENT, size=label_size)
else if label_style == 'arrow'
label.new(bear ? bar_index : na, high, 'SELL', yloc=yloc.abovebar, color=sell_label_color, style=label.style_arrowdown, textcolor=TRANSPARENT, size=label_size)
last_signal := 'sell'
alertcondition(bull, 'BUY Signals', 'New signal: BUY')
alertcondition(bear, 'SELL Signals', 'New signal: SELL')
ITACHI ExitHTC will have to get you up from the bottom is not going through all these questions can also provide us your thoughts
ITACHI EMASItachi in all I have is about what was this email will not let go about how you can see it as possible in order that was just a few things
ITACHIHitachi in your case in case you want a little more about what was a great time in this time to take
ITACHI ExitHitachi is the best thing to say is no longer available and if you are not going to have to do a few things for a while to
Supply & Demand Zones + Order Block (Pro Fusion) SuroLevel up your trading edge with this all-in-one Supply and Demand Zones + Order Block TradingView indicator, built for precision traders who focus on price action and smart money concepts.
🔍 Key Features:
Automatic detection of Supply & Demand Zones based on refined swing highs and lows
Dynamic Order Block recognition with customizable thresholds
Highlights Breakout signals with volume confirmation and trend filters
Built-in EMA 50 trend detection
Take Profit (TP1, TP2, TP3) projection levels
Clean visual labels for Demand, Supply, and OB zones
Uses smart box plotting with long extended zones for better zone visibility
🔥 Ideal for:
Traders who follow Smart Money Concepts (SMC)
Supply & Demand strategy practitioners
Breakout & Retest pattern traders
Scalpers, swing, and intraday traders using Order Flow logic
📈 Works on all markets: Forex, Crypto, Stocks, Indices
📊 Recommended timeframes: M15, H1, H4, Daily
✅ Enhance your trading strategy using this powerful zone-based script — bringing structure, clarity, and automation to your chart.
#SupplyAndDemand #OrderBlock #TradingViewScript #SmartMoney #BreakoutStrategy #TPProjection #ForexIndicator #SMC
Johnny 65I do this one base on ema 200 ,50 and rsi
The green triangle mean it have big percentage it will go up
RedK VADER - Volume-Accelerated Directional Energy RatioRedK VADER - Volume-Accelerated Directional Energy Ratio
Overview
RedK VADER is an indicator that analyzes market trends by calculating the energy ratio based on price movement and volume. It utilizes Zero Lag EMA smoothing to provide faster and more responsive signals.
Features
✅ Considers both price action and volume: Calculates the energy ratio of upward and downward movements to assess market strength.
✅ Zero Lag Smoothing: Uses EMA-based smoothing to minimize lag and improve responsiveness.
✅ Histogram Display: Helps visualize trend strength and potential reversals.
✅ Simple yet effective: Uses short-term and long-term energy differences to generate intuitive trade signals.
How to Use
📌 Blue Line (RedK VADER): Indicates trend direction and strength.
📌 Orange Line (Signal Line): A smoothed version of VADER; crossovers provide trade signals.
📌 Histogram (Green Bars): Represents the difference between VADER and the signal line. When crossing the zero line, it may indicate a trend reversal.
Trade Signals
🔵 Buy Signal: When RedK VADER crosses above the signal line.
🔴 Sell Signal: When RedK VADER crosses below the signal line.
⚡ Trend Strength: The larger the histogram bars, the stronger the trend.
Use this indicator to gain deeper market insights and enhance your trading decisions! 🚀
Cut Alert - Bullish & Bearish CrossesThis indicator detects trend reversal signals by tracking when a custom oscillator (based on the difference between short and long SMAs of price midpoints) crosses the zero line. It calculates how many bars (cut) have passed since the last cross and sends alerts for both bullish (negative to positive) and bearish (positive to negative) shifts. Each alert includes the direction label, interval, and reset cut value for automated screening or strategy integration.
Thien ThienFair Value Gap indicator: Paints FVGs and their midlines (CEs). Stops painting when CE is hit, or when fully filled; user choice of threshold. This threshold is also used in the Alert conditions.
~~Plotted here on ES1! (CME), on the 15m timeframe~~
-A FVG represents a 'naked' body where the wicks/tails on either side do not meet. This can be seen as a type of 'gap', which price will have a tendency to want to re-fill (in part or in full).
-The midline (CE, or 'Consequent encroachment') of FVGs also tend to show price sensitivity.
-This indicator paints all FVGs until priced into, and should give an idea of which are more meaningful and which are best ignored (based on context: location, Time of day, market structure, etc).
-This is a simpler and more efficient method of painting Fair value gaps which auto-stop painting when price reaches them.
//Aims of Publishing:
-Education of ICT concepts of Fair Value Gaps and their midlines (CEs): To easily see via forward testing or backtesting, the sensitivity that price shows to these areas & levels.
-Demonstration of a much more efficient way of plotting FVGs which terminate at price, thanks to a modification of @Bjorgums's clever looping method referenced below.
//Settings:
-Toggle on/off upward and downward FVGs independe
Volume Weighted Average PriceThis indicator calculates the Volume Weighted Average Price (VWAP) and its deviation bands based on user-defined periods. It allows traders to anchor VWAP to different timeframes (e.g., daily, weekly) and provides customizable bands using either standard deviation or percentage-based calculations. The indicator helps identify dynamic support and resistance levels based on volume-weighted price action.
Custom ADX with Range Highlightadx with range higlights. still backtesting this to see how it works well with my atr indicator.
Session & ATR Trailing Stopit highlights the time i want to trade, while combining fractals and atr into it with alerts.
Bullish Reversal Patterns (With Labels)**Title:** Bullish Reversal Patterns (With Labels)
**Description:**
This TradingView indicator detects strong bullish reversal candlestick patterns and plots them on the chart with labels. It combines key candlestick patterns with trend confirmation using the **50-period EMA** and **14-period RSI** to filter out weak signals.
### Features:
✅ **Identifies key bullish reversal patterns:**
- **Bullish Engulfing**
- **Hammer**
- **Morning Star**
- **Piercing Pattern**
- **Tweezer Bottom**
- **Three White Soldiers**
✅ **Filters signals for accuracy:**
- Price must be **above the 50 EMA** (indicating an uptrend).
- RSI must be **above 40** (showing strength).
✅ **Visual & Alerts:**
- Displays triangle markers below bars when a pattern is detected.
- Labels each pattern for easy identification.
- Alerts notify users when a strong bullish signal appears.
This script helps traders spot high-probability bullish reversals and make informed trading decisions. 🚀
My script
# Hash Ribbons with Buy Signal Forecast
## The Ultimate Bitcoin Mining Cycle Indicator
This advanced indicator combines Capriole Investments' proven Hash Ribbons strategy with a predictive algorithm to forecast upcoming buy signals. Perfect for Bitcoin investors looking to capitalize on miner capitulation cycles.
### Key Features:
- **Traditional Hash Ribbons Analysis**: Identifies miner capitulation, recovery periods, and the classic "blue dot" buy signals
- **Predictive Buy Signal Forecast**: Uses machine learning-inspired pattern recognition to predict when the next buy signal will appear
- **Customizable Settings**: Adjust forecast sensitivity, lookback periods, and probability thresholds to match your trading style
- **Multiple Display Options**: View as ribbons or oscillator for different analytical perspectives
- **Bitcoin Halving Markers**: Visual identification of halving events and their impact on hash rate cycles
### How It Works:
The indicator tracks hash rate momentum and price action to identify historically profitable entry points following miner capitulation. The forecast algorithm analyzes convergence patterns between short/long hash rate averages and price MAs to predict high-probability buy signals before they occur.
### Perfect For:
- Long-term Bitcoin investors seeking optimal entry points
- Cycle analysts tracking miner behavior
- Traders wanting advance notice of potential trend reversals
- Anyone looking to understand Bitcoin's fundamental supply-side dynamics
Based on Capriole Investments' research with enhanced prediction capabilities for proactive rather than reactive trading decisions.
Support & Resistance with RSI BreakoutsThe script is a TradingView Pine Script (v5) indicator that identifies support and resistance levels using RSI (Relative Strength Index) breakouts. Here’s a breakdown of what it does:
Features:
RSI Calculation:
The script calculates the 14-period RSI (default) using the closing price.
The user can modify the RSI period through an input setting.
Buy and Sell Signals:
A buy signal is triggered when RSI drops below 20 (indicating oversold conditions).
A sell signal is triggered when RSI rises above 80 (indicating overbought conditions).
Visual Representation:
Buy signals are marked with a green upward arrow (↑) below the price bars.
Sell signals are marked with a red downward arrow (↓) above the price bars.
The arrows help traders easily spot potential trade opportunities.
Usage:
This script is useful for traders looking to buy at oversold conditions and sell at overbought conditions based on RSI.
It works best when combined with other indicators or price action strategies to confirm signals.